:root{--bg: #eeeeee;--bg-subtle: #f7f7f7;--surface: #f5f5f6;--card: #ffffff;--shadow-shell: 0 4px 24px rgba(0, 0, 0, .06), 0 1px 3px rgba(0, 0, 0, .04);--shadow-card: 0 2px 8px rgba(0, 0, 0, .03), 0 1px 2px rgba(0, 0, 0, .02);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .05);--radius-shell: 14px;--text: #1a1a1a;--text-muted: #5c5c5c;--accent: #2d2d2d;--accent-hover: #404040;--danger: #8b2942;--radius: 10px;--font-display: "Jost", system-ui, sans-serif;--font-body: "Nunito Sans", "Avenir Next", Avenir, system-ui, sans-serif;--chart-purple: #8b5cf6;--chart-blue: #3b82f6;--chart-teal: #14b8a6;--chart-pink: #ec4899;--chart-amber: #f59e0b;--chart-green: #22c55e;--chart-red: #ef4444}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);background:linear-gradient(180deg,var(--bg) 0%,var(--bg-subtle) 50%,#ebebed 100%);background-attachment:fixed;min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;position:relative}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:var(--app-logo-url, url(/logo.png?v=2025));background-repeat:no-repeat;background-position:center 42%;background-size:min(88vw,720px);opacity:.06}#root{position:relative;z-index:1;min-height:100vh}h1,h2,h3,.header-title{font-family:var(--font-display);font-weight:600}.layout{min-height:100vh;display:flex;flex-direction:column;padding:1.25rem 1.5rem 2rem;box-sizing:border-box}.layout-shell{flex:1;display:flex;flex-direction:column;max-width:1200px;width:100%;margin:0 auto;background:#ffffffb8;backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%);border-radius:var(--radius-shell);box-shadow:var(--shadow-shell);overflow:hidden;border:1px solid rgba(255,255,255,.65)}.header{display:flex;align-items:center;gap:2rem;padding:.75rem 1.5rem;background:#ffffff8c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.06)}.header-brand{display:flex;align-items:center;gap:.75rem}.header-logo{height:36px;width:auto;padding:6px 10px;border-radius:12px;border:1px solid rgba(0,0,0,.12);background:#fff;display:block;object-fit:contain}.header-title{display:block;font-size:1.1rem}.header-sub{display:block;font-size:.8rem;color:var(--text-muted)}.nav{display:flex;gap:.25rem;flex:1}.nav-link{padding:.5rem 1rem;border-radius:6px;text-decoration:none;color:var(--text);font-family:var(--font-display);font-size:.95rem;transition:background .2s,color .2s}.nav-link:hover{background:#0000000d}.nav-link.active{background:var(--accent);color:#fff}.header-actions{margin-left:auto}.main{flex:1;padding:1.5rem 2rem 2rem;width:100%;margin:0;background:transparent}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{background:#ffffffbf;backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%);padding:2rem 2.25rem;border-radius:var(--radius-shell);box-shadow:var(--shadow-shell);width:100%;max-width:400px;border:1px solid rgba(255,255,255,.75)}.login-logo{display:block;height:48px;max-width:120px;width:auto;margin:0 auto 1rem;padding:10px 14px;border-radius:14px;border:1px solid rgba(0,0,0,.12);background:#fff;object-fit:contain;box-sizing:content-box}.login-card h1{text-align:center;margin:0 0 .25rem;font-size:1.5rem}.login-sub{text-align:center;color:var(--text-muted);margin:0 0 1.5rem;font-size:.9rem}.login-card form label{display:block;margin-bottom:1rem}.login-card form label span{display:block;font-size:.85rem;margin-bottom:.35rem;color:var(--text-muted)}.login-card input{width:100%;padding:.6rem .75rem;border:1px solid #ccc;border-radius:6px;font-size:1rem}.login-error{color:var(--danger);font-size:.9rem;margin-bottom:1rem}.login-card button[type=submit]{width:100%;padding:.65rem;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:1rem;font-family:var(--font-display);cursor:pointer}.login-card button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.dashboard-lead{color:var(--text-muted);margin-top:0}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin-top:1.25rem}.card{background:#ffffffad;backdrop-filter:blur(10px) saturate(115%);-webkit-backdrop-filter:blur(10px) saturate(115%);padding:1.25rem;border-radius:var(--radius);box-shadow:var(--shadow-card);border:1px solid rgba(255,255,255,.7);transition:box-shadow .2s ease}.card:hover{box-shadow:var(--shadow-card-hover)}.card-wide{grid-column:1 / -1}.card h3{margin:0 0 .5rem;font-size:.95rem;color:var(--text-muted);font-weight:500}.card-metric{font-size:1.5rem;font-weight:600;margin:0;font-family:var(--font-display)}.card-meta{font-size:.85rem;color:var(--text-muted);margin:.5rem 0 0}.badge{display:inline-block;margin-top:.5rem;padding:.2rem .5rem;border-radius:4px;font-size:.75rem}.badge-warn{background:#fff3cd;color:#856404}.badge-ok{background:#d4edda;color:#155724}.btn-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.btn{padding:.5rem 1rem;border-radius:6px;border:1px solid #ccc;background:var(--surface);cursor:pointer;font-family:var(--font-display);font-size:.9rem;transition:background .2s}.btn:hover:not(:disabled){background:#e8e8ea}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.active,.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-danger{border-color:var(--danger);color:var(--danger);background:#fff}.btn-ghost{background:transparent;border:none;color:var(--text)}.card-message{margin-top:.75rem;font-size:.9rem;color:var(--text-muted)}.log-section{margin-top:2rem}.log-section h3{font-size:1rem;margin-bottom:.5rem}.log-pre{background:#1a1a1a;color:#e8e8e8;padding:1rem;border-radius:var(--radius);overflow:auto;font-size:.8rem;max-height:280px}.sync-status-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem 1rem;align-items:start}.sync-status-item{min-width:0}.sync-status-k{font-size:.8rem;color:var(--text-muted);margin-bottom:.25rem}.sync-status-v{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sync-status-sub{font-weight:500;font-size:.9rem;color:var(--text-muted)}.sync-stepper{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-top:.75rem}.sync-step{display:flex;gap:.75rem;align-items:flex-start;padding:.75rem;border-radius:calc(var(--radius) - 4px);border:1px solid rgba(0,0,0,.08);background:#ffffff80}[data-theme=dark] .sync-step{border-color:#ffffff14;background:#1a1a1a59}.sync-step-dot{width:10px;height:10px;border-radius:999px;background:#00000040;margin-top:.3rem;flex:0 0 auto}[data-theme=dark] .sync-step-dot{background:#ffffff2e}.sync-step-running .sync-step-dot{background:var(--accent)}.sync-step-complete .sync-step-dot{background:#28a745}.sync-step-failed .sync-step-dot{background:var(--danger)}.sync-step-warning .sync-step-dot{background:#ffc107}.sync-step-label{font-weight:600;font-family:var(--font-display);margin-bottom:.15rem}.sync-step-meta{font-size:.85rem;color:var(--text-muted)}.sync-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-top:.75rem}.sync-metric{padding:.75rem;border-radius:calc(var(--radius) - 4px);border:1px solid rgba(0,0,0,.08);background:#ffffff80}[data-theme=dark] .sync-metric{border-color:#ffffff14;background:#1a1a1a59}.sync-metric-wide{grid-column:1 / -1}.sync-metric-k{font-size:.8rem;color:var(--text-muted);margin-bottom:.2rem}.sync-metric-v{font-family:var(--font-display);font-weight:700;font-size:1.1rem;overflow:hidden;text-overflow:ellipsis}.sync-metric-file{font-weight:600;font-size:.95rem;white-space:nowrap}.sync-kv{display:grid;gap:.5rem;margin-top:.5rem}.sync-k{display:inline-block;width:110px;color:var(--text-muted);font-size:.85rem}.sync-v{font-family:var(--font-display);font-weight:600}.sync-we-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:.75rem}.sync-we-h{font-weight:600;font-family:var(--font-display);margin-bottom:.35rem}.sync-we-list{margin:0;padding-left:1.1rem;color:var(--text-muted);font-size:.9rem}.sync-table-wrap{overflow:auto;margin-top:.75rem;border-radius:calc(var(--radius) - 4px);border:1px solid rgba(0,0,0,.08)}[data-theme=dark] .sync-table-wrap{border-color:#ffffff14}.sync-table{width:100%;border-collapse:collapse;min-width:720px}.sync-table th,.sync-table td{padding:.65rem .75rem;font-size:.9rem;border-bottom:1px solid rgba(0,0,0,.06);vertical-align:top}[data-theme=dark] .sync-table th,[data-theme=dark] .sync-table td{border-bottom-color:#ffffff0f}.sync-table th{text-align:left;color:var(--text-muted);font-weight:600;background:#ffffff59}[data-theme=dark] .sync-table th{background:#1a1a1a59}.sync-td-key{max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.header-toolbar-inline{flex:0 0 auto}.toolbar-group{display:flex;align-items:center;gap:.35rem}.toolbar-pill{padding:.4rem .85rem;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:var(--surface);color:var(--text);font-family:var(--font-display);font-size:.85rem;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.toolbar-pill:hover{background:#e8e8ea}.toolbar-pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}.toolbar-label{font-size:.8rem;color:var(--text-muted)}.theme-switch{width:44px;height:24px;border-radius:999px;border:1px solid rgba(0,0,0,.15);background:var(--surface);cursor:pointer;position:relative;padding:0;transition:background .2s}.theme-switch:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:var(--accent);top:2px;left:3px;transition:transform .2s}.theme-switch.on:after{transform:translate(18px)}.nav-pills .nav-pill{border-radius:999px}.login-toolbar{position:absolute;top:1rem;right:1rem}.login-page{position:relative}[data-theme=dark]{--bg: #1a1a1a;--bg-subtle: #1e1e1e;--surface: rgba(44, 44, 44, .75);--card: rgba(44, 44, 44, .85);--shadow-shell: 0 8px 32px rgba(0, 0, 0, .4);--shadow-card: 0 2px 12px rgba(0, 0, 0, .25);--shadow-card-hover: 0 4px 16px rgba(0, 0, 0, .35);--text: #eeeeee;--text-muted: #a0a0a0;--accent: #5e5e5e;--accent-hover: #6e6e6e;--danger: #c75a6e;--success: #66cc66}[data-theme=dark] body{background:linear-gradient(180deg,#1a1a1a,#222,#1a1a1a);color:var(--text)}[data-theme=dark] body:before{filter:invert(1) brightness(1.25);opacity:.18;background-position:center 38%;background-size:min(92vw,780px)}[data-theme=dark] .layout-shell{background:#1c1c1c52;backdrop-filter:blur(10px) saturate(105%);-webkit-backdrop-filter:blur(10px) saturate(105%);border-color:#ffffff1a}[data-theme=dark] .header{background:#18181847;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom-color:#ffffff1a}[data-theme=dark] .main{background:transparent}[data-theme=dark] .card{background:#20202057;backdrop-filter:blur(8px) saturate(105%);-webkit-backdrop-filter:blur(8px) saturate(105%);border-color:#ffffff17}[data-theme=dark] .nav-link:hover{background:#ffffff14}[data-theme=dark] .nav-link.active{background:#4a4a4a;color:#fff}[data-theme=dark] .toolbar-pill{border-color:#ffffff1f;background:#2c2c2c80;color:var(--text)}[data-theme=dark] .toolbar-pill:hover{background:#ffffff14}[data-theme=dark] .toolbar-pill.active{background:#5e5e5e;border-color:#5e5e5e}[data-theme=dark] .theme-switch{border-color:#ffffff26;background:#2c2c2c80}[data-theme=dark] .theme-switch:after{background:#8a8a8a}[data-theme=dark] .btn{border-color:#ffffff26;background:#2c2c2c80;color:var(--text)}[data-theme=dark] .btn:hover:not(:disabled){background:#ffffff1a}[data-theme=dark] .btn.active{background:#4a4a4a;border-color:#4a4a4a}[data-theme=dark] .btn-primary{background:#5e5e5e;border-color:#5e5e5e}[data-theme=dark] .btn-danger{background:#2c2c2c80;color:var(--danger)}[data-theme=dark] .header-logo,[data-theme=dark] .login-logo{border-color:#ffffff40;background:#fff}[data-theme=dark] .login-card{background:#1c1c1c61;backdrop-filter:blur(10px) saturate(105%);-webkit-backdrop-filter:blur(10px) saturate(105%);border-color:#ffffff1f}[data-theme=dark] .login-card input{border-color:#ffffff26;background:#1a1a1a99;color:var(--text)}[data-theme=dark] .badge-warn{background:#ffc10733;color:#ffc107}[data-theme=dark] .badge-ok{background:#28a74540;color:#5dd879}[data-theme=dark] .log-pre{background:#0d0d0d;color:#ccc;border:1px solid rgba(255,255,255,.06)}.header{flex-wrap:wrap;gap:.75rem 1rem}.nav-pills{flex:1 1 auto;justify-content:center;min-width:0}.roadmap-page h3{margin-top:0;font-size:1.1rem}.roadmap-section{margin-top:1.5rem}.roadmap-section.card{padding:1.25rem 1.5rem}.roadmap-prose{margin:.75rem 0 0;line-height:1.55;color:var(--text)}.roadmap-muted{color:var(--text-muted);font-size:.9rem}.roadmap-list{margin:.75rem 0 0;padding-left:1.25rem;line-height:1.5;color:var(--text)}.roadmap-diagram{margin-top:1rem;padding:1rem;border-radius:var(--radius);background:#ffffff80;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.6);overflow:auto}[data-theme=dark] .roadmap-diagram{background:#1a1a1a59;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-color:#ffffff17}.roadmap-diagram-inner{display:flex;justify-content:center;min-height:120px}.roadmap-diagram-inner svg{max-width:100%;height:auto}.roadmap-diagram-error{margin:0;padding:1rem;font-size:.85rem;color:var(--danger);background:#8b294214;border-radius:var(--radius)}.avatar-bubble{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent);color:#fff;font-family:var(--font-display);font-weight:600;flex-shrink:0;overflow:hidden}.avatar-bubble-placeholder{background:var(--text-muted)}.avatar-bubble-img{padding:0;background:transparent}.avatar-bubble-img img{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-upload-wrap{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.25rem}.avatar-upload-btn{position:relative;padding:0;border:none;background:none;cursor:pointer;border-radius:50%;line-height:0}.avatar-upload-btn:hover .avatar-bubble{opacity:.9;box-shadow:0 0 0 2px var(--accent)}.avatar-upload-btn:disabled{cursor:wait;opacity:.7}.avatar-upload-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.avatar-upload-spinner{position:absolute;inset:0;border-radius:50%;background:#00000059}.avatar-upload-error{font-size:.7rem;color:var(--danger);max-width:120px}.header-actions-user{display:flex;align-items:center;gap:.75rem}.header-user{display:flex;align-items:center;gap:.5rem;max-width:200px}.header-user-email{font-size:.8rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.users-table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid rgba(0,0,0,.08)}[data-theme=dark] .users-table-wrap{border-color:#ffffff14}.users-table{width:100%;border-collapse:collapse;font-size:.9rem}.users-table th,.users-table td{padding:.65rem .85rem;text-align:left;border-bottom:1px solid rgba(0,0,0,.06)}[data-theme=dark] .users-table th,[data-theme=dark] .users-table td{border-bottom-color:#ffffff0f}.users-table th{font-weight:600;color:var(--text-muted);background:var(--surface)}.modal-backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-card{width:100%;max-width:420px;max-height:90vh;overflow-y:auto}.modal-card form label{display:block;margin-bottom:.85rem}.modal-card form label span{display:block;font-size:.85rem;margin-bottom:.35rem;color:var(--text-muted)}.modal-card input,.modal-card select{width:100%;padding:.5rem .65rem;border:1px solid #ccc;border-radius:6px;font-size:1rem;background:var(--card);color:var(--text)}[data-theme=dark] .modal-card input,[data-theme=dark] .modal-card select{border-color:#ffffff26;background:#1a1a1a99}.roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin-top:1rem}.roles-id code{font-size:.8rem;color:var(--text-muted)}.sync-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-bottom:1rem}.sync-chart-card{min-height:200px}.sync-chart-card--compact{min-height:auto}.sync-chart-canvas{height:160px;width:100%}.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:var(--surface);cursor:pointer;flex-shrink:0}.nav-toggle-icon{display:block;width:20px;height:2px;background:var(--text);position:relative}.nav-toggle-icon:before,.nav-toggle-icon:after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--text)}.nav-toggle-icon:before{top:-6px}.nav-toggle-icon:after{top:6px}.nav-desktop{display:flex}.mobile-nav-backdrop{display:none;position:fixed;inset:0;z-index:1100;background:#00000073;border:none;padding:0;cursor:pointer}.mobile-nav-backdrop.is-open{display:block}.mobile-nav-drawer{position:fixed;top:0;right:0;z-index:1101;width:min(320px,100vw);height:100%;height:100dvh;padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom));padding-right:max(1rem,env(safe-area-inset-right));box-sizing:border-box;background:#fffffffa;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:-4px 0 24px #0000001f;transform:translate(100%);transition:transform .25s ease;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.mobile-nav-drawer.is-open{transform:translate(0)}.mobile-nav-drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.mobile-nav-drawer-title{font-family:var(--font-display);font-weight:600;font-size:1rem}.mobile-nav-close{width:44px;height:44px;border:none;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--text)}.mobile-nav-link{display:block;padding:.75rem 1rem;border-radius:8px;text-decoration:none;color:var(--text);font-family:var(--font-display);font-size:1rem;min-height:44px;box-sizing:border-box;display:flex;align-items:center}.mobile-nav-link:hover{background:#0000000d}.mobile-nav-link.active{background:var(--accent);color:#fff}.mobile-nav-footer{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(0,0,0,.08)}[data-theme=dark] .mobile-nav-drawer{background:#1c1c1cfa;border-left:1px solid rgba(255,255,255,.1)}[data-theme=dark] .nav-toggle{border-color:#ffffff26;background:#2c2c2c80}[data-theme=dark] .mobile-nav-link:hover{background:#ffffff14}[data-theme=dark] .mobile-nav-footer{border-top-color:#ffffff14}.stack-on-mobile{display:flex}.assets-browse-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}@media(max-width:1023px){.layout{padding:1rem 1rem 1.5rem}.main{padding:1.25rem 1.25rem 1.5rem}.cards{grid-template-columns:repeat(2,1fr)}.nav-desktop{flex:1 1 100%;order:3;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:thin;justify-content:flex-start;padding-bottom:.25rem}.header-toolbar-inline{order:2}.header-actions-user{order:4}}@media(max-width:639px){.layout{padding:max(.5rem,env(safe-area-inset-top)) max(.5rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left))}.layout-shell{border-radius:10px}.header{padding:.65rem .75rem;padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right));gap:.5rem .75rem;align-items:center}.header-brand{flex:1;min-width:0}.header-title{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.header-sub{display:none}.header-logo{height:32px;padding:4px 8px}.header-user-email,.header-toolbar-inline{display:none}.nav-toggle{display:inline-flex}.nav-desktop{display:none}.header-actions-user{margin-left:0;gap:.35rem}.main{padding:.85rem .75rem 1.25rem}.cards,.sync-status-strip,.sync-metrics-grid,.sync-stepper,.sync-charts{grid-template-columns:1fr}.assets-browse-grid{grid-template-columns:1fr!important}.sync-table-wrap,.users-table-wrap,.roadmap-diagram{-webkit-overflow-scrolling:touch}.sync-table{min-width:600px;font-size:.8rem}.sync-table th,.sync-table td{padding:.5rem .6rem}.users-table{font-size:.85rem}.users-table th,.users-table td{padding:.5rem .65rem}.btn,.nav-link,.toolbar-pill{min-height:44px;padding-top:.55rem;padding-bottom:.55rem}.theme-switch{min-width:44px;min-height:44px}input,select,textarea,.login-card input,.modal-card input,.modal-card select{font-size:16px}.btn-row{flex-direction:column;align-items:stretch}.btn-row .btn{width:100%;justify-content:center}.modal-backdrop{align-items:flex-end;padding:0}.modal-card{max-width:100%;width:100%;border-radius:14px 14px 0 0;max-height:92dvh;margin:0}.login-page{padding:max(1rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));align-items:flex-start;padding-top:3.5rem}.login-toolbar{top:max(.75rem,env(safe-area-inset-top));right:max(.75rem,env(safe-area-inset-right));left:auto}.login-card{width:100%;max-width:none;margin:0;padding:1.5rem 1.25rem}.login-card button[type=submit]{min-height:48px;font-size:1rem}body:before{background-size:min(70vw,420px);background-position:center 35%}.stack-on-mobile{flex-direction:column!important;align-items:stretch!important}.stack-on-mobile>.btn,.stack-on-mobile>div>.btn{width:100%}.stack-on-mobile>div[style*="display: flex"]{flex-direction:column!important;align-items:stretch!important;width:100%}.stack-on-mobile>div[style*="display: flex"] .btn{width:100%}.users-page-header{flex-direction:column;align-items:stretch}.users-page-header .btn{width:100%}}
