@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap");@tailwind base;@tailwind components;@tailwind utilities;:root{--bg-primary:#050815;--bg-secondary:#0a1022;--glass:rgba(10,18,38,.58);--glass-border:rgba(180,218,255,.18);--glass-heavy:rgba(8,15,33,.74);--brand:#38bdf8;--brand-deep:#2563eb;--brand-violet:#8b5cf6;--brand-glow:rgba(56,189,248,.35);--text-primary:#f8fbff;--text-secondary:#b8c6dc;--text-muted:#6c7890}*{box-sizing:border-box;margin:0;padding:0}body,html{min-height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{overflow-x:hidden}button,input{font:inherit}@layer components{.brand-btn,.danger-btn,.glass-btn,.glass-card,.glass-card-heavy,.glass-input,.glow-ring,.label-xs,.marker-gray,.marker-green,.marker-red,.marker-yellow,.status-dot{@apply bg-[#6b7280]}}.storm-login-shell{position:relative;min-height:100vh;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:48px 24px;background:radial-gradient(circle at 20% 18%,rgba(59,130,246,.28),transparent 34%),radial-gradient(circle at 80% 8%,rgba(124,58,237,.22),transparent 30%),linear-gradient(135deg,#030712,#07111f 45%,#111827)}.lightning,.storm-bg,.storm-clouds,.storm-grid,.storm-rain,.storm-vignette{position:fixed;inset:0;pointer-events:none}.storm-bg-a{background:radial-gradient(circle at 50% 50%,rgba(14,165,233,.14),transparent 38%);filter:blur(8px);animation:stormDrift 18s ease-in-out infinite alternate}.storm-bg-b{background:radial-gradient(circle at 68% 74%,rgba(99,102,241,.22),transparent 32%);filter:blur(14px);animation:stormDrift 22s ease-in-out infinite alternate-reverse}.storm-clouds{opacity:.62;background:radial-gradient(ellipse at 16% 20%,rgba(148,163,184,.16),transparent 34%),radial-gradient(ellipse at 60% 15%,rgba(203,213,225,.1),transparent 38%),radial-gradient(ellipse at 92% 38%,rgba(71,85,105,.24),transparent 30%),linear-gradient(180deg,rgba(15,23,42,.4),transparent 46%);animation:cloudRoll 28s linear infinite alternate}.storm-rain{opacity:.16;background-image:linear-gradient(115deg,rgba(191,219,254,.35) 0 1px,transparent 1px 14px);background-size:90px 90px;transform:skewX(-14deg);animation:rainFall .9s linear infinite}.storm-grid{opacity:.08;background-image:linear-gradient(rgba(125,211,252,.65) 1px,transparent 0),linear-gradient(90deg,rgba(125,211,252,.65) 1px,transparent 0);background-size:82px 82px;-webkit-mask-image:radial-gradient(circle at center,#000,transparent 72%);mask-image:radial-gradient(circle at center,#000,transparent 72%)}.storm-vignette{background:radial-gradient(circle at 50% 45%,transparent 0,rgba(2,6,23,.3) 54%,rgba(2,6,23,.88) 100%)}.lightning{opacity:0;mix-blend-mode:screen;filter:drop-shadow(0 0 18px rgba(125,211,252,.95))}.lightning:before{content:"";position:absolute;width:3px;height:44vh;top:-2vh;background:linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(125,211,252,.88),transparent);-webkit-clip-path:polygon(45% 0,80% 24%,58% 24%,95% 53%,55% 45%,78% 100%,18% 40%,42% 43%,8% 18%,36% 22%);clip-path:polygon(45% 0,80% 24%,58% 24%,95% 53%,55% 45%,78% 100%,18% 40%,42% 43%,8% 18%,36% 22%)}.lightning-one:before{left:72%}.lightning-two:before{left:18%;height:34vh;opacity:.8}.lightning-one{animation:lightningFlash 9s infinite}.lightning-two{animation:lightningFlash 13s 3.5s infinite}.login-stage{position:relative;z-index:3;width:min(1120px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,440px);grid-gap:44px;gap:44px;align-items:center}.login-copy-panel{min-height:440px;border:1px solid rgba(148,163,184,.18);border-radius:34px;padding:44px;background:linear-gradient(145deg,rgba(15,23,42,.62),rgba(15,23,42,.24)),radial-gradient(circle at 20% 20%,rgba(56,189,248,.18),transparent 36%);box-shadow:0 26px 90px rgba(0,0,0,.38),inset 0 1px 0 hsla(0,0%,100%,.08);-webkit-backdrop-filter:blur(22px) saturate(130%);backdrop-filter:blur(22px) saturate(130%)}.eyebrow,.mini-label{color:#7dd3fc;font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase}.login-copy-panel h1{margin-top:18px;max-width:720px;font-size:clamp(56px,7vw,96px);line-height:.88;font-weight:900;letter-spacing:-.08em;background:linear-gradient(120deg,#fff,#bae6fd 42%,#60a5fa 72%,#c4b5fd);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 44px rgba(56,189,248,.2)}.login-copy-panel p{margin-top:22px;max-width:610px;color:#cbd5e1;font-size:18px;line-height:1.75}.feature-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.feature-row span{padding:10px 14px;border-radius:999px;color:#dbeafe;border:1px solid rgba(125,211,252,.26);background:rgba(15,23,42,.48);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-card-wrap{position:relative}.storm-badge{position:absolute;top:-28px;left:50%;transform:translateX(-50%);width:72px;height:72px;border-radius:24px;display:grid;place-items:center;z-index:2;background:linear-gradient(145deg,rgba(14,165,233,.36),rgba(124,58,237,.24));border:1px solid rgba(186,230,253,.34);box-shadow:0 0 52px rgba(56,189,248,.36),inset 0 1px 0 hsla(0,0%,100%,.16);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.storm-badge-icon{font-size:34px;animation:badgePulse 2.8s ease-in-out infinite}.login-card{position:relative;padding:48px 34px 30px;border-radius:32px;overflow:hidden;border:1px solid rgba(186,230,253,.2);background:linear-gradient(145deg,rgba(15,23,42,.78),rgba(8,13,28,.66)),radial-gradient(circle at 50% 0,rgba(56,189,248,.18),transparent 38%);box-shadow:0 30px 110px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(30px) saturate(160%);backdrop-filter:blur(30px) saturate(160%)}.login-card:before{content:"";position:absolute;inset:0;padding:1px;border-radius:inherit;background:linear-gradient(135deg,rgba(125,211,252,.42),transparent 28%,rgba(167,139,250,.38));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}.card-header h2{margin-top:6px;font-size:36px;line-height:1;letter-spacing:-.04em;color:#fff}.status-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;color:#bae6fd;background:rgba(14,165,233,.1);border:1px solid rgba(125,211,252,.22);font-size:12px;font-weight:700}.status-pill span{width:7px;height:7px;border-radius:999px;background:#22c55e;box-shadow:0 0 16px rgba(34,197,94,.9)}.login-alert{display:flex;gap:10px;padding:13px 14px;margin-bottom:18px;border-radius:18px;color:#fecaca;background:rgba(127,29,29,.28);border:1px solid hsla(0,91%,71%,.25)}.login-form{display:grid;grid-gap:18px;gap:18px}.field-group span{display:block;margin-bottom:8px;color:#9fb2cc;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.field-group input,.password-shell input{width:100%;height:52px;border-radius:18px;color:#f8fafc;outline:none;padding:0 16px;border:1px solid rgba(148,163,184,.2);background:rgba(2,6,23,.42);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.field-group input::placeholder,.password-shell input::placeholder{color:rgba(148,163,184,.58)}.field-group input:focus,.password-shell input:focus{border-color:rgba(56,189,248,.7);background:rgba(8,18,39,.58);box-shadow:0 0 0 4px rgba(56,189,248,.1),inset 0 1px 0 hsla(0,0%,100%,.08)}.password-shell{position:relative}.password-shell input{padding-right:76px}.show-password{position:absolute;right:8px;top:8px;height:36px;padding:0 12px;border-radius:12px;color:#bae6fd;cursor:pointer;border:1px solid rgba(125,211,252,.14);background:rgba(14,165,233,.08)}.storm-submit{position:relative;height:54px;margin-top:4px;border:0;border-radius:18px;color:#fff;font-weight:900;letter-spacing:-.01em;cursor:pointer;overflow:hidden;background:linear-gradient(135deg,#0284c7,#2563eb 54%,#7c3aed);box-shadow:0 18px 44px rgba(37,99,235,.38),0 0 38px rgba(56,189,248,.18);transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.storm-submit:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.28),transparent);transform:translateX(-120%);transition:transform .6s ease}.storm-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 22px 60px rgba(37,99,235,.46),0 0 48px rgba(56,189,248,.24)}.storm-submit:hover:before{transform:translateX(120%)}.storm-submit:disabled{cursor:not-allowed;opacity:.68}.submit-loading{display:inline-flex;align-items:center;justify-content:center;gap:10px}.submit-loading i{width:15px;height:15px;border-radius:999px;border:2px solid hsla(0,0%,100%,.32);border-top-color:#fff;animation:spin .85s linear infinite}.login-meta{margin-top:24px;padding-top:20px;border-top:1px solid rgba(148,163,184,.14);color:#7f8da6;text-align:center;font-size:12px;line-height:1.7}.login-meta strong{color:#7dd3fc}.brand-footer{margin-top:18px;color:rgba(203,213,225,.58);text-align:center;font-size:12px;letter-spacing:.02em}.ol-viewport{background:#050815!important}.ol-zoom{background:rgba(13,21,40,.85)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.1)!important;border-radius:12px!important;overflow:hidden}.ol-zoom button{background:transparent!important;color:#94a3b8!important;font-size:18px!important;border:none!important}.ol-zoom button:hover{background:hsla(0,0%,100%,.1)!important;color:#f1f5f9!important}.ol-attribution{background:rgba(10,15,30,.8)!important;color:#475569!important;font-size:10px!important;border-radius:8px!important}.ol-attribution a{color:#38bdf8!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:hsla(0,0%,100%,.03)}::-webkit-scrollbar-thumb{background:rgba(125,211,252,.16);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(125,211,252,.3)}@keyframes stormDrift{0%{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(2%,2%,0) scale(1.08)}}@keyframes cloudRoll{0%{transform:translateX(-3%)}to{transform:translateX(3%)}}@keyframes rainFall{0%{background-position:0 0}to{background-position:-90px 90px}}@keyframes lightningFlash{0%,84%,to{opacity:0}85%{opacity:.95}86%{opacity:.12}87%{opacity:1}89%{opacity:0}}@keyframes badgePulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 8px rgba(125,211,252,.45))}50%{transform:scale(1.08);filter:drop-shadow(0 0 18px rgba(125,211,252,.95))}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse-ring{0%{transform:scale(1);opacity:.8}to{transform:scale(2.5);opacity:0}}.pulse-ring:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid;animation:pulse-ring 1.5s ease-out infinite}@media (max-width:900px){.storm-login-shell{padding:28px 16px}.login-stage{grid-template-columns:1fr;gap:28px}.login-copy-panel{min-height:auto;padding:28px}.login-copy-panel h1{font-size:clamp(44px,16vw,68px)}.login-copy-panel p{font-size:15px}.login-card{padding:46px 22px 26px;border-radius:26px}.card-header h2{font-size:30px}}