:root{--app-font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--app-focus-color: rgba(125, 211, 252, .95);--app-focus-shadow: 0 0 0 3px rgba(56, 189, 248, .28);--app-scrollbar-track: rgba(2, 6, 23, .38);--app-scrollbar-thumb: rgba(100, 116, 139, .72);--app-scrollbar-thumb-hover: rgba(56, 189, 248, .58);--app-scrollbar-thumb-active: rgba(56, 189, 248, .78)}*,*:before,*:after{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--app-scrollbar-thumb) var(--app-scrollbar-track)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:var(--app-scrollbar-track);border-left:1px solid rgba(255,255,255,.05)}*::-webkit-scrollbar-thumb{background:var(--app-scrollbar-thumb);border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--app-scrollbar-thumb-hover)}*::-webkit-scrollbar-thumb:active{background:var(--app-scrollbar-thumb-active)}*::-webkit-scrollbar-corner{background:var(--app-scrollbar-track)}html,body,#root{height:100dvh;min-height:100dvh;margin:0;padding:0}body{overflow:hidden;background:#0f172a;font-family:var(--app-font-family);overscroll-behavior:none;-webkit-text-size-adjust:100%}button,input,select,textarea{font-family:inherit}button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--app-focus-color);outline-offset:2px}body.admin-scroll{overflow:auto}body.admin-scroll,body.admin-scroll #root,body.admin-scroll .app-root{height:auto;min-height:100vh}.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-bottom-left{margin:8px}@media(max-width:768px){input,select,textarea{font-size:16px}}html,body,#root,.app-root{height:100%;margin:0}.app-root{position:relative}.app-route-loading{min-height:100%;display:grid;place-items:center;padding:24px;color:#334155;background:#f8fafc;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:14px}:root{--sp-width: 240px}.map-wrap{position:fixed;inset:var(--tb-height) 0 0 var(--sp-width);z-index:1}.map-attrib{position:absolute;right:8px;bottom:6px;z-index:5;padding:2px 6px;border-radius:6px;background:#0f172acc;color:#e2e8f0;font-size:11px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.map-attrib a{color:#c7d2fe;text-decoration:none}.map-attrib a:hover{text-decoration:underline}.live-user-cursor{--live-user-color: #2563eb;position:relative;width:max-content;height:34px;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(15,23,42,.35));transform:translate(-2px,-2px);z-index:20}.live-user-cursor__pointer{display:block;width:28px;height:34px;overflow:visible}.live-user-cursor__pointer path{fill:var(--live-user-color);stroke:#fff;stroke-width:2;stroke-linejoin:round}.live-user-cursor__label{position:absolute;top:24px;left:17px;max-width:220px;overflow:hidden;padding:4px 8px;border:2px solid #fff;border-radius:5px 10px 10px;background:var(--live-user-color);color:#fff;font:700 12px/1.2 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;text-overflow:ellipsis;text-shadow:0 1px 1px rgba(15,23,42,.35);white-space:nowrap}.layer-panel{position:fixed;top:calc(var(--tb-height) + 8px);left:calc(var(--sp-width) + 8px);z-index:10;background:#1d2129eb;color:#eef2f8;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px;max-height:70vh;max-width:min(320px,calc(100vw - 24px));overflow:auto;box-shadow:0 6px 16px #00000040;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:13px}.service-header .btn{border:0;background:#ffffff14;color:#fff;border-radius:6px;height:22px;padding:0 8px;cursor:pointer}.layer-item{display:flex;align-items:center;gap:6px;padding:4px 2px}.layer-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-note{color:#cbd3e1;font-size:12px;padding:2px 0}.map-hover-info,.map-hover-info-dwa{position:fixed;left:50%;transform:translate(-50%);padding:6px 10px;border-radius:8px;font-size:13px;font-weight:500;background:#0f172af2;color:#f9fafb;box-shadow:0 6px 18px #0f172a99;pointer-events:none;z-index:999}.map-hover-info{bottom:16px}.map-hover-info-dwa{bottom:48px}.network-analysis-panel{position:fixed;top:calc(var(--tb-height) + 12px);right:16px;z-index:1001;width:min(450px,calc(100vw - var(--sp-width) - 40px));max-height:calc(100vh - var(--tb-height) - 32px);overflow:auto;padding:12px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#0f172af5;color:#e5e7eb;box-shadow:0 12px 28px #0000006b;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:13px;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.42) rgba(2,6,23,.35);scrollbar-gutter:stable}.network-analysis-panel::-webkit-scrollbar{width:10px}.network-analysis-panel::-webkit-scrollbar-track{background:#02061759;border-left:1px solid rgba(255,255,255,.05)}.network-analysis-panel::-webkit-scrollbar-thumb{background:#94a3b86b;border-radius:999px;border:2px solid transparent;background-clip:padding-box}.network-analysis-panel::-webkit-scrollbar-thumb:hover{background:#38bdf88c}.network-analysis-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.network-analysis-title{font-size:15px;font-weight:800;color:#f8fafc}.network-analysis-subtitle{margin-top:2px;color:#94a3b8;font-size:12px}.network-analysis-clear{flex:0 0 auto;border:1px solid rgba(148,163,184,.35);border-radius:8px;background:#1e293bd9;color:#e2e8f0;padding:6px 10px;font-size:12px;cursor:pointer}.network-analysis-clear:hover{border-color:#38bdf8b3;background:#1e293b}.network-analysis-options{display:grid;gap:8px;margin-bottom:12px;padding:8px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:#02061752}.network-analysis-switch{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start;cursor:pointer}.network-analysis-switch input{position:absolute;width:1px;height:1px;opacity:0}.network-analysis-switch-ui{position:relative;width:34px;height:20px;margin-top:1px;border:1px solid rgba(148,163,184,.45);border-radius:999px;background:#0f172af2;transition:background .14s ease,border-color .14s ease}.network-analysis-switch-ui:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:999px;background:#cbd5e1;transition:transform .14s ease,background .14s ease}.network-analysis-switch input:checked+.network-analysis-switch-ui{border-color:#22c55ec7;background:#16653480}.network-analysis-switch input:checked+.network-analysis-switch-ui:after{transform:translate(14px);background:#dcfce7}.network-analysis-switch input:focus-visible+.network-analysis-switch-ui{box-shadow:0 0 0 3px #38bdf847}.network-analysis-switch-text{min-width:0}.network-analysis-switch-text span{display:block;color:#e2e8f0;font-size:12px;font-weight:800;line-height:1.25}.network-analysis-switch-text small{display:block;margin-top:2px;color:#94a3b8;font-size:11px;line-height:1.3}.network-analysis-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.network-analysis-kpi{min-width:0;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:#02061775;padding:8px}.network-analysis-kpi span{display:block;color:#94a3b8;font-size:11px;line-height:1.2}.network-analysis-kpi strong{display:block;margin-top:4px;color:#f8fafc;font-size:17px;line-height:1.1;overflow-wrap:anywhere}.network-analysis-section{border:1px solid rgba(148,163,184,.2);border-left:3px solid rgba(56,189,248,.72);border-radius:8px;padding:10px;margin-top:10px;background:#02061747}.network-analysis-section--lines{border-left-color:#22c55ec7}.network-analysis-section--support{border-left-color:#f59e0bd1}.network-analysis-section-head{margin-bottom:8px}.network-analysis-section-title{color:#bae6fd;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase}.network-analysis-section-description,.network-analysis-subsection-description{margin:3px 0 0;color:#94a3b8;font-size:11px;line-height:1.35}.network-analysis-subsection{border-top:1px solid rgba(148,163,184,.14);padding-top:9px;margin-top:9px}.network-analysis-section-head+.network-analysis-subsection{border-top:0;padding-top:0}.network-analysis-subsection-title{color:#e2e8f0;font-size:12px;font-weight:800}.network-analysis-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:6px 0;border-bottom:1px solid rgba(148,163,184,.08)}.network-analysis-row:last-child{border-bottom:0}.network-analysis-row-label{color:#cbd5e1;min-width:0}.network-analysis-row-title{display:block;color:#cbd5e1;line-height:1.25}.network-analysis-row-label small{display:block;margin-top:2px;color:#94a3b8;font-size:11px;line-height:1.28}.network-analysis-row strong{align-self:start;color:#f8fafc;font-weight:800;text-align:right;white-space:nowrap}.network-analysis-empty{border:1px dashed rgba(148,163,184,.28);border-radius:8px;padding:10px;color:#cbd5e1;line-height:1.35;background:#0206174d}.move-mode-indicator{position:fixed;top:calc(var(--tb-height) + 12px);left:50%;transform:translate(-50%);padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.2px;background:#d97706f2;color:#0b1220;box-shadow:0 8px 18px #00000059;border:1px solid rgba(255,255,255,.22);pointer-events:auto;cursor:pointer;-webkit-user-select:none;user-select:none;z-index:1000}.edit-lock-indicator{position:fixed;top:calc(var(--tb-height) + 44px);left:50%;transform:translate(-50%);padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.2px;background:#dc2626f2;color:#f9fafb;box-shadow:0 8px 18px #00000059;border:1px solid rgba(255,255,255,.22);pointer-events:none;z-index:1000}@media(max-width:1200px){:root{--sp-width: 220px}}@media(max-width:900px){:root{--sp-width: 200px}}@media(max-width:700px){:root{--sp-width: 180px}.layer-panel{left:8px;right:8px;max-width:calc(100vw - 16px)}}select,select option{background-color:#020617;color:#e5e7eb}@media(max-width:768px){:root{--sp-width: 0px;--sp-mobile-height: 42dvh;--sp-mobile-collapsed-height: calc(58px + env(safe-area-inset-bottom)) ;--sp-mobile-current-height: var(--sp-mobile-height)}.app-root.sp-tools-collapsed{--sp-mobile-current-height: var(--sp-mobile-collapsed-height)}.map-wrap{left:0;bottom:var(--sp-mobile-current-height);transition:bottom .18s ease}.layer-panel{left:8px;right:8px;max-width:calc(100vw - 16px)}.map-hover-info{bottom:calc(var(--sp-mobile-current-height) + 16px)}.map-hover-info-dwa{bottom:calc(var(--sp-mobile-current-height) + 48px)}.network-analysis-panel{top:calc(var(--tb-height) + 8px);left:8px;right:8px;width:auto;max-height:calc(100dvh - var(--tb-height) - var(--sp-mobile-current-height) - 20px)}.move-mode-indicator{top:calc(var(--tb-height) + 8px)}}@media(max-width:768px)and (prefers-reduced-motion:reduce){.map-wrap{transition:none}}@media(max-width:420px){:root{--sp-mobile-height: 38dvh}}.admin-page{min-height:100vh;padding:24px 24px 56px;background:radial-gradient(circle at 20% 20%,#1e293b,#0b1220 55%,#0b1220);color:#e5e7eb;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;overflow-y:auto}.admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.admin-subtitle{margin:4px 0 0;color:#cbd5f5}.admin-meta{text-align:right;color:#94a3b8;font-size:14px;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.admin-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;gap:12px;align-items:end;margin-bottom:16px}.admin-toolbar-hint{border-radius:8px;border:1px solid rgba(148,163,184,.25);background:#0206178c;color:#cbd5f5;padding:8px 10px;font-size:13px;min-height:38px;display:flex;align-items:center}.admin-workspace-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.admin-workspace-tab{border:1px solid rgba(148,163,184,.35);background:#0f172ad9;color:#e2e8f0;border-radius:999px;padding:7px 14px;font-size:13px;cursor:pointer}.admin-workspace-tab.is-active{border-color:#3b82f6cc;background:#2563eb59;color:#dbeafe}.admin-field{display:flex;flex-direction:column;gap:6px}.admin-grid{display:grid;grid-template-columns:minmax(520px,1.2fr) minmax(420px,1fr);gap:20px}.admin-grid.admin-grid-users{grid-template-areas:"users users" "add-user edit-user"}.admin-grid.admin-grid-institutions{grid-template-areas:"institutions institutions" "add-inst edit-inst"}.admin-card-users-list{grid-area:users;border-color:#38bdf859}.admin-card-institutions-list{grid-area:institutions;border-color:#4ade8059}.admin-card-add-user{grid-area:add-user}.admin-card-add-institution{grid-area:add-inst}.admin-card-edit-institution{grid-area:edit-inst}.admin-card-edit-user{grid-area:edit-user}.admin-card{background:#0f172aeb;border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:16px;box-shadow:0 10px 22px #00000040}.admin-card h2{margin-top:0;margin-bottom:12px;font-size:18px}.admin-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.admin-card-head h2{margin:0}.admin-card-toggle{white-space:nowrap}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th,.admin-table td{padding:8px 10px;border-bottom:1px solid rgba(148,163,184,.18);text-align:left;vertical-align:top}.admin-table th{color:#cbd5f5;font-weight:600;font-size:13px;letter-spacing:.2px}.admin-table tr.is-inactive td{color:#94a3b8}.admin-table tr.is-selected td{background:#2563eb2e}.admin-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-form{display:flex;flex-direction:column;gap:10px}.admin-permission-category{margin:10px 0 14px;padding:12px;border-radius:12px;border:1px solid rgba(148,163,184,.25);background:#0f172ab3}.admin-permission-segment{margin-top:10px;padding:10px 12px;border-radius:10px;border:1px solid rgba(148,163,184,.2);background:#020617a6}.admin-permission-segment .admin-form{margin-top:6px;gap:8px}.admin-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#cbd5f5}.admin-form input,.admin-form select,.admin-form textarea,.admin-field input,.admin-field select{border-radius:8px;border:1px solid rgba(148,163,184,.3);background:#020617cc;color:#e2e8f0;padding:8px 10px;font-size:14px}.admin-form textarea{resize:vertical;min-height:110px}.admin-check{flex-direction:row;align-items:center;gap:8px;font-size:14px}.admin-check input{width:16px;height:16px}.admin-btn{border:1px solid rgba(59,130,246,.7);background:#2563ebd9;color:#fff;border-radius:8px;padding:8px 14px;font-size:14px;cursor:pointer}.admin-btn:disabled{opacity:.6;cursor:not-allowed}.admin-btn-ghost{background:transparent;border-color:#94a3b880;color:#e2e8f0}.admin-switch-btn{margin-top:6px}.admin-btn-danger{border-color:#f87171cc;background:#ef4444d9}.admin-alert{border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:14px}.admin-alert-error{background:#f8717133;border:1px solid rgba(248,113,113,.6);color:#fecaca}.admin-alert-ok{background:#22c55e33;border:1px solid rgba(34,197,94,.6);color:#bbf7d0}.admin-muted{color:#94a3b8;margin:0}.admin-pill{background:#1e293bcc;border:1px solid rgba(148,163,184,.3);border-radius:999px;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:12px;color:#e2e8f0;width:fit-content}.admin-status-badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(148,163,184,.4);padding:2px 8px;font-size:12px;color:#e2e8f0;background:#1e293bb3;white-space:nowrap}.admin-status-badge-success{background:#22c55e38;border-color:#22c55ea6;color:#bbf7d0}.admin-status-badge-danger{background:#f8717138;border-color:#f87171a6;color:#fecaca}.admin-status-badge-warning{background:#fbbf2433;border-color:#fbbf248c;color:#fde68a}.admin-status-badge-info{background:#38bdf833;border-color:#38bdf88c;color:#bae6fd}.admin-transaction-summary{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.admin-transaction-details{margin-top:14px;padding-top:14px;border-top:1px solid rgba(148,163,184,.25)}.admin-kv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:10px 0 12px}.admin-kv{padding:10px;border-radius:10px;border:1px solid rgba(148,163,184,.22);background:#0206178c}.admin-kv-label{color:#94a3b8;font-size:12px;margin-bottom:4px}.admin-kv-value{color:#e2e8f0;font-size:13px;overflow-wrap:anywhere}.admin-inline-actions{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.admin-support-message-cell{white-space:pre-wrap;overflow-wrap:break-word;max-width:520px}.admin-code-block{border-radius:10px;border:1px solid rgba(148,163,184,.3);background:#020617d9;color:#cbd5f5;padding:12px;font-size:12px;line-height:1.4;max-height:360px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0}.admin-divider{height:1px;background:#94a3b840;margin:4px 0}@media(max-width:1100px){.admin-grid.admin-grid-users{grid-template-columns:1fr;grid-template-areas:"users" "add-user" "edit-user"}.admin-grid.admin-grid-institutions{grid-template-columns:1fr;grid-template-areas:"institutions" "add-inst" "edit-inst"}}@media(max-width:700px){.admin-toolbar{grid-template-columns:1fr}.admin-meta{text-align:left;align-items:flex-start}.admin-card-head{flex-direction:column;align-items:flex-start}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(800px 400px at 15% 10%,rgba(37,99,235,.22),transparent 60%),radial-gradient(600px 300px at 85% 20%,rgba(16,185,129,.18),transparent 60%),repeating-linear-gradient(135deg,rgba(148,163,184,.08) 0,rgba(148,163,184,.08) 1px,transparent 1px,transparent 12px),#0f172a;padding:16px;box-sizing:border-box}.register-page{align-items:flex-start;overflow-y:auto}.login-card{background:#020617;border-radius:12px;padding:20px 24px;width:100%;max-width:380px;box-shadow:0 20px 40px #00000080;color:#e5e7eb;display:flex;flex-direction:column;gap:12px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;box-sizing:border-box}.login-card h1{margin:0 0 8px;font-size:20px}.login-logo{display:block;width:100%;max-width:360px;height:auto;align-self:center;margin:2px 0 8px;padding:10px 12px;border:1px solid rgba(148,163,184,.32);border-radius:12px;background:#fff;box-shadow:0 10px 28px #0000003d;object-fit:contain}.login-card label{display:flex;flex-direction:column;font-size:13px;gap:4px}.login-card input{padding:6px 8px;border-radius:6px;border:1px solid #4b5563;background:#020617;color:#e5e7eb}.login-card button{margin-top:8px;padding:8px 10px;border-radius:8px;border:none;cursor:pointer;background:#2563eb;color:#fff;font-weight:500}.login-card button:disabled{opacity:.6;cursor:default}.login-card button:focus-visible,.login-card input:focus-visible,.login-card a:focus-visible{outline:2px solid var(--app-focus-color);outline-offset:2px;box-shadow:var(--app-focus-shadow)}.login-error{font-size:12px;color:#fecaca;background:#dc262633;padding:6px 8px;border-radius:8px}.login-status{font-size:12px;color:#d1fae5;background:#0596692e;border:1px solid rgba(16,185,129,.35);padding:6px 8px;border-radius:8px}.login-info{font-size:12px;color:#cbd5e1;background:#1e293b99;border:1px solid rgba(148,163,184,.2);padding:8px 10px;border-radius:8px}.register-card{max-width:560px;margin-top:8px;margin-bottom:8px;gap:14px;border:1px solid rgba(148,163,184,.22);background:linear-gradient(180deg,#0f172af0,#020617f5),#020617}.register-heading h1{margin:0}.register-subtitle{margin:4px 0 0;font-size:12px;color:#93c5fd}.register-highlights{display:grid;grid-template-columns:1fr;gap:8px}.register-highlight-item{font-size:12px;line-height:1.5;color:#dbeafe;background:#1e3a8a33;border:1px solid rgba(96,165,250,.25);border-radius:8px;padding:8px 10px}.register-section{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:10px;border:1px solid rgba(148,163,184,.24);background:linear-gradient(180deg,#0f172a99,#0f172a6b);box-shadow:inset 0 1px #bfdbfe0d}.register-section-title{margin:0;font-size:12px;font-weight:700;color:#bfdbfe;text-transform:uppercase;letter-spacing:.06em}.register-section label{color:#dbeafe}.register-section input{border-color:#94a3b873;background:#020617c7}.register-section input:focus{outline:2px solid rgba(59,130,246,.45);outline-offset:1px;border-color:#60a5fa}.login-row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.login-card label.login-checkbox-row{display:flex;flex-direction:row;align-items:flex-start;gap:8px;font-size:12px;color:#cbd5e1}.login-card label.login-checkbox-row input{width:16px;height:16px;margin:1px 0 0;accent-color:#2563eb}.register-checkbox-row{padding:8px 10px;border-radius:8px;border:1px solid rgba(148,163,184,.24);background:#0f172a8c}.login-switch-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px;font-size:12px;color:#cbd5e1}.login-actions-group{display:flex;flex-direction:column;gap:4px;margin-top:4px}.login-documents-section{margin-top:12px;padding-top:10px;border-top:1px solid rgba(148,163,184,.24)}.login-documents-row{margin-top:0;align-items:flex-start;flex-direction:column;gap:6px}.login-switch-link{color:#93c5fd;text-decoration:none;font-weight:600}.login-switch-link:hover{color:#bfdbfe;text-decoration:underline}.login-legal-links{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.login-hint{margin-top:6px;font-size:11px;color:#94a3b8}.register-actions{margin-top:4px;padding-top:10px;border-top:1px solid rgba(148,163,184,.24)}.register-actions button{margin-top:0}.register-login-row{margin-top:10px}@media(max-width:480px){.login-page{padding:12px}.register-page{align-items:flex-start}.login-card{padding:16px 18px;gap:10px}.login-card h1{font-size:18px}.login-card label{font-size:12px}.register-card{max-width:100%;margin-top:0;margin-bottom:0;gap:12px}.register-section{padding:10px;gap:8px}.register-checkbox-row{padding:8px}.register-actions{padding-top:8px}.login-row-2{grid-template-columns:1fr;gap:8px}}.auth-status-screen{height:100%;overflow-y:auto}.auth-status-card{max-width:440px;padding:28px;border:1px solid rgba(148,163,184,.2)}.auth-status-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px 0;text-align:center}.auth-status-card .login-logo{width:220px;max-width:100%;box-sizing:border-box}.auth-status-content h1,.auth-status-content p{margin:0}.auth-status-content p{color:#94a3b8;font-size:14px;line-height:1.7}.auth-status-spinner{width:32px;height:32px;border:3px solid #1e293b;border-top-color:#60a5fa;border-radius:50%;animation:auth-status-spin .9s linear infinite}.auth-status-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(251,191,36,.3);border-radius:14px;background:#fbbf241a;color:#fcd34d;font-size:26px;font-weight:600}.auth-status-actions{display:flex;flex-direction:column;gap:10px}.auth-status-actions button{min-height:42px;margin-top:0}.auth-status-actions .auth-status-secondary{border:1px solid #334155;background:transparent;color:#cbd5e1}@keyframes auth-status-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.auth-status-spinner{animation:none}}.recovery-screen{display:grid;min-height:100vh;place-items:center;padding:24px;background:#0f172a;color:#e2e8f0}.recovery-card{max-width:640px;padding:24px;border:1px solid #475569;border-radius:12px;background:#1e293b}.recovery-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.recovery-actions button,.recovery-actions a{padding:6px 10px;border:1px solid #64748b;border-radius:4px;background:#334155;color:#f1f5f9;cursor:pointer}.recovery-notice{margin:8px 0;padding:10px;border:1px solid #64748b;border-radius:6px;background:#1e293b;color:#e2e8f0;font-size:12px}.recovery-notice p{margin:0 0 8px}.import-report{width:min(900px,90vw);max-height:80vh;overflow:auto;padding:24px;border:1px solid #64748b;border-radius:12px;background:#0f172a;color:#e2e8f0}.import-report::backdrop{background:#0009}.import-report table{width:100%;margin:12px 0;border-collapse:collapse;font-size:13px}.import-report th,.import-report td{padding:6px;border-bottom:1px solid #334155;text-align:left;overflow-wrap:anywhere}.mfa-flow{display:flex;flex-direction:column;gap:16px;color:#e2e8f0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:14px;line-height:1.6}.mfa-flow h1,.mfa-flow h2,.mfa-flow h3,.mfa-flow p{margin:0}.mfa-flow h1{font-size:24px}.mfa-flow h2{font-size:18px}.mfa-flow h3{font-size:16px}.mfa-flow p{color:#cbd5e1;overflow-wrap:anywhere}.mfa-flow a{color:#93c5fd}.mfa-flow form,.mfa-flow label{display:flex;flex-direction:column;gap:10px}.mfa-flow label{gap:6px;font-size:13px}.mfa-flow input{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #475569;border-radius:8px;background:#020617;color:#f1f5f9;font:inherit}.mfa-flow input[autocomplete=one-time-code]{text-align:center;font-size:24px;font-variant-numeric:tabular-nums;letter-spacing:.3em}.mfa-flow button{min-height:42px;margin:0;padding:10px 14px;border:1px solid transparent;border-radius:8px;background:#2563eb;color:#fff;font:inherit;font-weight:600;cursor:pointer}.mfa-flow button:hover:not(:disabled){background:#1d4ed8}.mfa-flow button:disabled{cursor:default;opacity:.5}.mfa-flow .mfa-secondary{border-color:#334155;background:transparent;color:#cbd5e1}.mfa-flow .mfa-secondary:hover:not(:disabled){background:#1e293b}.mfa-flow input:focus-visible,.mfa-flow button:focus-visible,.mfa-flow summary:focus-visible,.mfa-flow a:focus-visible{outline:2px solid #60a5fa;outline-offset:3px}.mfa-flow .mfa-notice,.mfa-flow .mfa-error{padding:12px 14px;border:1px solid rgba(96,165,250,.3);border-radius:10px;background:#2563eb1a;color:#bfdbfe;font-size:13px}.mfa-flow .mfa-error{border-color:#f871714d;background:#dc26261f;color:#fecaca}.mfa-flow .mfa-timer{color:#94a3b8;font-size:12px;text-align:center}.mfa-flow details{padding-top:12px;border-top:1px solid #334155}.mfa-flow summary{color:#93c5fd;cursor:pointer}.mfa-flow details[open]>p{margin-block:12px}.account-security-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.account-security-form{padding:16px;border:1px solid #334155;border-radius:12px;background:#02061766}.account-security-form button{margin-top:auto}.account-security>h2{margin:0}.mfa-policy{padding:16px;border:1px solid rgba(52,211,153,.25);border-radius:10px;background:#10b98114}.mfa-recovery-item{padding-block:16px;border-bottom:1px solid #334155}.mfa-recovery-item button{margin-top:12px}.mfa-session-notice{position:fixed;bottom:16px;left:16px;right:16px;z-index:10000;display:flex;align-items:center;justify-content:space-between;gap:20px;box-sizing:border-box;padding:16px 20px;border:1px solid rgba(251,191,36,.4);border-radius:12px;background:#1e293b;color:#fef3c7;box-shadow:0 8px 32px #0000004d;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6}.mfa-session-notice p{margin:4px 0 0;color:#cbd5e1;font-size:13px}.mfa-session-notice a{flex-shrink:0;padding:10px 14px;border:1px solid #fbbf24;border-radius:8px;color:#fef3c7;font-size:14px;font-weight:600;text-decoration:none}.mfa-session-notice a:hover{background:#fbbf241a}.mfa-session-notice a:focus-visible{outline:2px solid #fbbf24;outline-offset:3px}.mfa-confirm-backdrop{position:fixed;inset:0;z-index:11000;display:flex;justify-content:center;align-items:center;padding:20px;background:#020617cc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mfa-confirm-dialog{width:min(440px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;box-sizing:border-box;padding:28px;border:1px solid #475569;border-radius:16px;background:#0f172a;box-shadow:0 24px 64px #00000080}@media(max-width:480px){.mfa-confirm-dialog{padding:20px}.mfa-session-notice{flex-direction:column;align-items:stretch;gap:12px}.mfa-session-notice a{text-align:center}}@media(max-width:700px){.account-security-forms{grid-template-columns:1fr}}
