:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--border:#d5d5da;--text:#1a1a1e;--muted:#666;--accent:#2f5fdd;--error:#c62828;font-family:system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}body{color:var(--text);background:#fafafa;margin:0}.auth-page,.splash,.dashboard{background:#f6f7f9;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:#fff;border:1px solid #e3e5ea;border-radius:16px;width:100%;max-width:380px;padding:36px 32px;animation:.3s both auth-card-in;box-shadow:0 20px 48px #14161a14}@keyframes auth-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.auth-card h1{color:#14161a;letter-spacing:-.01em;margin:0 0 10px;font-size:1.35rem;font-weight:700}.auth-card p{color:#565b66;font-size:.92rem;line-height:1.5}.auth-card form{flex-direction:column;gap:16px;margin-top:18px;display:flex}.auth-card label{color:#565b66;flex-direction:column;gap:6px;font-size:.86rem;font-weight:500;display:flex}.auth-card input{font:inherit;border:1px solid #e3e5ea;border-radius:10px;padding:11px 13px;transition:border-color .15s,box-shadow .15s}.auth-card input:focus{border-color:#2451e0;outline:none;box-shadow:0 0 0 3px #eef2fe}.auth-card button{font:inherit;color:#fff;cursor:pointer;background:#2451e0;border:none;border-radius:999px;margin-top:6px;padding:12px;font-weight:600;transition:background-color .15s,transform .1s;box-shadow:0 1px 2px #14161a14}.auth-card button:hover:not(:disabled){background:#1b3fb8}.auth-card button:active:not(:disabled){transform:translateY(1px)}.auth-card button:disabled{opacity:.6;cursor:default}.auth-error{color:var(--error);margin:0;font-size:.85rem;font-weight:500}.auth-links{justify-content:space-between;margin-top:20px;font-size:.85rem;display:flex}.auth-links a{color:#2451e0;font-weight:600;text-decoration:none}.auth-links a:hover{text-decoration:underline}@media (prefers-reduced-motion:reduce){.auth-card{animation:none}}.admin-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.admin-page-header h1{color:var(--app-ink);letter-spacing:-.01em;margin:0;font-size:1.5rem;font-weight:700}.admin-button{background:var(--app-blue);color:#fff;border-radius:999px;align-items:center;gap:6px;padding:10px 18px;font-size:.87rem;font-weight:600;text-decoration:none;transition:background-color .15s,transform .1s;display:inline-flex;box-shadow:0 1px 2px #14161a14}.admin-button:hover{background:var(--app-blue-dark)}.admin-button:active{transform:translateY(1px)}.admin-table{border-collapse:collapse;width:100%;font-size:.89rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--app-line);padding:12px 14px}.admin-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--app-slate);font-size:.72rem;font-weight:700}.admin-table tbody tr{transition:background-color .12s}.admin-table tbody tr:hover{background:var(--app-surface-alt)}.admin-table-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-table-actions button{font:inherit;border:1px solid var(--app-line);background:var(--app-surface);color:var(--app-ink);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:500;transition:border-color .15s,color .15s}.admin-table-actions button:hover{border-color:var(--app-blue);color:var(--app-blue)}.admin-form{flex-direction:column;gap:20px;max-width:480px;display:flex}.admin-form fieldset{border:1px solid var(--app-line);background:var(--app-surface);border-radius:12px;flex-direction:column;gap:14px;padding:18px;display:flex}.admin-form legend{color:var(--app-ink);padding:0 8px;font-size:.86rem;font-weight:700}.admin-form label{color:var(--app-slate);flex-direction:column;gap:6px;font-size:.86rem;font-weight:500;display:flex}.quick-add-row{align-items:center;gap:8px;display:flex}.quick-add-row select{flex:1;min-width:0}.quick-add-row button{white-space:nowrap;font:inherit;border:1px solid var(--app-line);background:var(--app-surface);color:var(--app-blue);cursor:pointer;border-radius:8px;flex-shrink:0;padding:9px 12px;font-size:.82rem;font-weight:600;transition:border-color .15s,background-color .15s}.quick-add-row button:hover{border-color:var(--app-blue);background:var(--app-blue-tint)}.admin-form input,.admin-form select,.admin-form textarea{font:inherit;border:1px solid var(--app-line);background:var(--app-surface);color:var(--app-ink);border-radius:8px;padding:9px 12px;transition:border-color .15s,box-shadow .15s}.admin-form textarea{resize:vertical;box-sizing:border-box;width:100%;min-height:84px}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:var(--app-blue);box-shadow:0 0 0 3px var(--app-blue-tint);outline:none}.admin-form>button{font:inherit;background:var(--app-blue);color:#fff;cursor:pointer;border:none;border-radius:999px;align-self:flex-start;padding:11px 20px;font-size:.87rem;font-weight:600;transition:background-color .15s,transform .1s;box-shadow:0 1px 2px #14161a14}.admin-form>button:hover{background:var(--app-blue-dark)}.admin-form>button:active{transform:translateY(1px)}.admin-form>button:disabled{opacity:.55;cursor:default;transform:none}.item-table-scroll{-webkit-overflow-scrolling:touch;border-top:1px solid var(--app-line);overflow-x:auto}.item-table-scroll .admin-table{min-width:640px}.admin-hint{color:var(--app-slate);margin:0;font-size:.82rem}.admin-shell{--adm-housing:#12140f;--adm-panel:#1a1c15;--adm-paper:#f1ecdd;--adm-ink:#1c1a12;--adm-line:#d9d1b8;--adm-signal:#ff8a3d;--adm-signal-dim:#8a5426;--adm-ok:#4c8c5b;--adm-warn:#c98a2e;--adm-danger:#b23a2e;--adm-radius-sm:4px;--adm-radius-md:6px;--adm-font-display:"Space Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;--adm-font-body:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--adm-font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;background:var(--adm-paper);min-height:100vh;color:var(--adm-ink);font-family:var(--adm-font-body);display:flex}.admin-content{flex:1;min-width:0;max-width:1080px;margin:0 auto;padding:40px 40px 64px}.admin-sidebar{background:var(--adm-housing);width:232px;color:var(--adm-paper);flex-direction:column;flex-shrink:0;padding:20px 0;display:flex}.admin-sidebar-brand{font-family:var(--adm-font-display);letter-spacing:-.01em;border-bottom:1px solid #f1ecdd1a;align-items:center;gap:10px;margin-bottom:10px;padding:0 18px 18px;font-size:.92rem;font-weight:700;display:flex}.admin-sidebar-mark{border-radius:var(--adm-radius-sm);width:28px;height:28px;font-family:var(--adm-font-mono);letter-spacing:.02em;color:var(--adm-signal);border:1px solid #ff8a3d73;flex-shrink:0;justify-content:center;align-items:center;font-size:.68rem;font-weight:500;display:inline-flex}.admin-sidebar-nav{flex-direction:column;flex:1;gap:1px;padding:4px 10px;display:flex}.admin-sidebar-link{border-radius:var(--adm-radius-sm);color:#f1ecdd9e;align-items:center;gap:10px;padding:9px 10px;font-size:.88rem;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.admin-sidebar-link:hover{background:var(--adm-panel);color:var(--adm-paper)}.admin-sidebar-link-active{background:var(--adm-panel);color:var(--adm-paper);font-weight:500}.admin-sidebar-led{background:#f1ecdd33;border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:background-color .2s,box-shadow .2s}.admin-sidebar-link-active .admin-sidebar-led{background:var(--adm-signal);box-shadow:0 0 6px 1px #ff8a3da6}.admin-sidebar-code{font-family:var(--adm-font-mono);color:#f1ecdd66;flex-shrink:0;width:18px;font-size:.72rem}.admin-sidebar-link-active .admin-sidebar-code{color:var(--adm-signal)}.admin-sidebar-footer{border-top:1px solid #f1ecdd1a;flex-direction:column;gap:12px;margin-top:10px;padding:16px 18px 2px;display:flex}.admin-sidebar-user{overflow-wrap:anywhere;flex-direction:column;gap:3px;font-size:.82rem;display:flex}.admin-sidebar-user strong{color:var(--adm-paper);font-weight:500}.admin-sidebar-user small{font-family:var(--adm-font-mono);color:#f1ecdd6b;letter-spacing:.04em;text-transform:uppercase;font-size:.68rem}.admin-sidebar-footer button{font:inherit;border-radius:var(--adm-radius-sm);color:var(--adm-paper);cursor:pointer;background:0 0;border:1px solid #f1ecdd26;padding:8px 10px;font-size:.82rem;transition:background-color .15s,border-color .15s}.admin-sidebar-footer button:hover{background:var(--adm-panel);border-color:#f1ecdd47}.admin-shell h1{font-family:var(--adm-font-display);color:var(--adm-ink);letter-spacing:-.01em;margin:0 0 6px;font-size:1.5rem;font-weight:700}.admin-shell h2{font-family:var(--adm-font-display);color:var(--adm-ink);margin:0 0 16px;font-size:.98rem;font-weight:700}.admin-shell .admin-page{animation:.25s both admin-page-in}@keyframes admin-page-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.admin-shell .admin-back-link{color:var(--adm-ink);opacity:.55;font-family:var(--adm-font-mono);letter-spacing:.02em;align-items:center;gap:6px;margin-bottom:18px;font-size:.78rem;text-decoration:none;transition:opacity .15s;display:inline-flex}.admin-shell .admin-back-link:hover{opacity:1}.admin-shell .admin-page-header{border-bottom:1px solid var(--adm-line);align-items:flex-start;margin-bottom:24px;padding-bottom:18px}.admin-shell .admin-card{border:none;border-top:1px solid var(--adm-line);box-shadow:none;background:0 0;border-radius:0;margin-bottom:0;padding:24px 0}.admin-shell .admin-card+.admin-card{margin-top:0}.admin-shell .admin-button{border-radius:var(--adm-radius-sm);background:var(--adm-signal);box-shadow:none;padding:9px 16px;font-size:.85rem;font-weight:600;transition:background-color .15s}.admin-shell .admin-button:hover{background:var(--adm-signal-dim)}.admin-shell .admin-table{border-top:1px solid var(--adm-ink);font-size:.86rem}.admin-shell .admin-table th{text-transform:uppercase;font-family:var(--adm-font-mono);letter-spacing:.06em;color:var(--adm-ink);opacity:.55;border-bottom:1px solid var(--adm-line);text-align:left;padding:10px 12px;font-size:.68rem;font-weight:500}.admin-shell .admin-table td{color:var(--adm-ink);border-bottom:1px solid var(--adm-line);font-variant-numeric:tabular-nums;padding:13px 12px}.admin-shell .admin-table tbody tr:hover{background:#1c1a120a}.admin-shell .admin-table a{color:var(--adm-ink);text-decoration:underline;-webkit-text-decoration-color:var(--adm-line);text-decoration-color:var(--adm-line);text-underline-offset:3px;font-weight:600}.admin-shell .admin-table a:hover{-webkit-text-decoration-color:var(--adm-signal);text-decoration-color:var(--adm-signal)}.admin-shell .admin-table-actions{flex-wrap:wrap}.admin-shell .admin-table-actions button{border-radius:var(--adm-radius-sm);border:1px solid var(--adm-line);color:var(--adm-ink);background:0 0;padding:5px 10px;font-size:.74rem;font-weight:500;transition:all .15s}.admin-shell .admin-table-actions button:hover{border-color:var(--adm-signal);color:var(--adm-signal-dim)}.admin-shell .admin-form{max-width:620px}.admin-shell .admin-form fieldset{border:1px solid var(--adm-line);border-radius:var(--adm-radius-md);background:#1c1a1205;padding:18px}.admin-shell .admin-form legend{font-family:var(--adm-font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--adm-ink);opacity:.7;padding:0 8px;font-size:.72rem;font-weight:500}.admin-shell .admin-form label{color:var(--adm-ink);opacity:.75;font-size:.83rem;font-weight:500}.admin-shell .admin-form input,.admin-shell .admin-form select{font-family:var(--adm-font-mono);border-radius:var(--adm-radius-sm);border:1px solid var(--adm-line);background:var(--adm-paper);color:var(--adm-ink);padding:9px 10px;transition:border-color .15s,box-shadow .15s}.admin-shell .admin-form input:focus,.admin-shell .admin-form select:focus{border-color:var(--adm-signal);outline:none;box-shadow:0 0 0 3px #ff8a3d2e}.admin-shell .admin-form>button{border-radius:var(--adm-radius-sm);background:var(--adm-signal);box-shadow:none;padding:11px 20px;font-size:.85rem;font-weight:600;transition:background-color .15s}.admin-shell .admin-form>button:hover{background:var(--adm-signal-dim)}.admin-shell .admin-form>button:disabled{opacity:.4;cursor:default}.admin-shell .admin-hint{color:var(--adm-ink);opacity:.55}.admin-shell .auth-error{color:var(--adm-danger);font-weight:600}.admin-shell .admin-inline-field{gap:8px;display:flex}.admin-shell .admin-inline-field input{flex:1}.admin-shell .admin-inline-field button{font:inherit;border-radius:var(--adm-radius-sm);border:1px solid var(--adm-line);cursor:pointer;white-space:nowrap;background:0 0;padding:9px 14px;font-size:.82rem;font-weight:600;transition:border-color .15s}.admin-shell .admin-inline-field button:hover{border-color:var(--adm-signal);color:var(--adm-signal-dim)}.admin-shell .admin-created-credentials{max-width:480px}.admin-shell .badge{font-family:var(--adm-font-mono);text-transform:lowercase;color:var(--adm-ink);white-space:nowrap;align-items:center;gap:7px;font-size:.76rem;font-weight:500;display:inline-flex}.admin-shell .badge:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 5px .5px}.admin-shell .badge-success{color:var(--adm-ok)}.admin-shell .badge-warning{color:var(--adm-warn)}.admin-shell .badge-danger{color:var(--adm-danger)}.admin-shell .badge-neutral{color:var(--adm-ink);opacity:.55}.admin-shell .badge-neutral:before{box-shadow:none}.admin-shell .admin-stat-grid{background:var(--adm-line);border:1px solid var(--adm-line);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;display:grid}.admin-shell .admin-stat{background:var(--adm-paper);padding:16px 18px}.admin-shell .admin-stat dt{font-family:var(--adm-font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--adm-ink);opacity:.5;margin:0 0 6px;font-size:.68rem;font-weight:500}.admin-shell .admin-stat dd{font-family:var(--adm-font-mono);color:var(--adm-ink);font-variant-numeric:tabular-nums;margin:0;font-size:1.4rem;font-weight:500}@media (width<=860px){.admin-shell{display:block}.admin-shell .admin-sidebar{flex-direction:row;align-items:center;width:auto;padding:12px 16px}.admin-shell .admin-sidebar-nav{flex-direction:row;padding:0;overflow-x:auto}.admin-shell .admin-sidebar-footer{border-top:none;border-left:1px solid #f1ecdd1a;flex-direction:row;align-items:center;margin-top:0;padding:0 0 0 12px}.admin-shell .admin-sidebar-user{display:none}.admin-shell .admin-content{padding:24px 20px 48px}}@media (prefers-reduced-motion:reduce){.admin-shell .admin-page{animation:none}.admin-shell *{transition:none!important}}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0;display:flex}.toolbar input,.toolbar select{font:inherit;border:1px solid var(--app-line);background:var(--app-surface);color:var(--app-ink);border-radius:999px;padding:9px 14px;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.toolbar input:focus,.toolbar select:focus{border-color:var(--app-blue);box-shadow:0 0 0 3px var(--app-blue-tint);outline:none}.toolbar button{font:inherit;border:1px solid var(--app-line);background:var(--app-surface);color:var(--app-ink);cursor:pointer;border-radius:999px;padding:9px 16px;font-size:.86rem;font-weight:600;transition:border-color .15s,color .15s,transform .1s}.toolbar button:hover{border-color:var(--app-blue);color:var(--app-blue)}.toolbar button:active{transform:translateY(1px)}.kpi-card{border:1px solid var(--app-line);background:var(--app-surface);border-radius:12px;min-width:160px;padding:16px 18px;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden;box-shadow:0 1px 2px #14161a0a}.kpi-card:before{content:"";background:var(--app-blue);height:3px;position:absolute;inset:0 0 auto}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #14161a14}.kpi-card small{color:var(--app-slate);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:600}.kpi-card h2{color:var(--app-ink);letter-spacing:-.01em;margin:6px 0 0;font-size:1.6rem;font-weight:700}.admin-back-link-plain{color:var(--app-slate);margin-bottom:16px;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-block}.admin-back-link-plain:hover{color:var(--app-blue)}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;max-width:760px;margin-top:20px;display:grid}.settings-card{border:1px solid var(--app-line);background:var(--app-surface);color:inherit;border-radius:12px;padding:20px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:block;box-shadow:0 1px 2px #14161a0a}.settings-card:hover{border-color:var(--app-blue);transform:translateY(-2px);box-shadow:0 10px 24px #14161a14}.settings-card h2{color:var(--app-ink);margin:0 0 6px;font-size:1.02rem;font-weight:700}.settings-card p{color:var(--app-slate);margin:0;font-size:.86rem;line-height:1.5}.app-shell-outer{--app-ink:#14161a;--app-charcoal:#20232b;--app-slate:#565b66;--app-line:#e3e5ea;--app-surface:#fff;--app-surface-alt:#f6f7f9;--app-blue:#2451e0;--app-blue-dark:#1b3fb8;--app-blue-tint:#eef2fe;--app-amber:#b3690f;--app-amber-tint:#fbf0dd;--app-success:#1f8a52;--app-success-tint:#e5f5ec;--app-danger:#c62828;--app-danger-tint:#fdecea;--app-topbar-height:60px;background:var(--app-surface-alt);min-height:100dvh;color:var(--app-ink)}.impersonation-banner{background:var(--app-amber-tint);color:var(--app-amber);text-align:center;border-bottom:1px solid #b3690f4d;padding:10px 16px;font-size:.88rem;font-weight:500}.impersonation-banner button{background:var(--app-amber);color:#fff;cursor:pointer;border:none;border-radius:999px;margin-left:6px;padding:5px 12px;font-weight:600}.impersonation-banner-error{color:var(--app-danger);margin-top:6px;font-weight:600;display:block}.app-topbar{height:var(--app-topbar-height);padding:0 16px;padding-top:env(safe-area-inset-top);background:var(--app-surface);border-bottom:1px solid var(--app-line);z-index:20;box-sizing:content-box;justify-content:space-between;align-items:center;gap:12px;display:none;position:sticky;top:0}.app-topbar-brand{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.95rem;font-weight:700;overflow:hidden}.app-topbar-avatar{background:var(--app-blue-tint);width:30px;height:30px;color:var(--app-blue-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.74rem;font-weight:700;display:inline-flex}.app-shell{min-height:100dvh;display:flex}.app-sidebar-backdrop{display:none}.app-sidebar{background:var(--app-surface);border-right:1px solid var(--app-line);flex-direction:column;flex-shrink:0;width:240px;padding:18px 0;display:flex}.app-sidebar-brand{border-bottom:1px solid var(--app-line);letter-spacing:-.01em;align-items:center;gap:10px;margin-bottom:8px;padding:0 18px 18px;font-size:.94rem;font-weight:700;display:flex;overflow:hidden}.app-sidebar-brand>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-sidebar-mark{background:var(--app-charcoal);color:#fff;letter-spacing:.02em;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.68rem;font-weight:800;display:inline-flex}.app-sidebar-nav{flex-direction:column;flex:1;gap:1px;padding:6px 12px;display:flex;overflow-y:auto}.app-sidebar-link{color:var(--app-slate);border-radius:8px;align-items:center;gap:11px;padding:9px 12px 9px 14px;font-size:.89rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:flex;position:relative}.app-sidebar-link:before{content:"";background:var(--app-blue);transform-origin:50%;border-radius:0 4px 4px 0;width:4px;height:18px;transition:transform .2s cubic-bezier(.34,1.56,.64,1);position:absolute;top:50%;left:-12px;transform:translateY(-50%)scaleY(0)}.app-sidebar-link:hover{background:var(--app-surface-alt);color:var(--app-ink)}.app-sidebar-link-active{background:var(--app-blue-tint);color:var(--app-blue-dark);font-weight:600}.app-sidebar-link-active:before{transform:translateY(-50%)scaleY(1)}.app-sidebar-link-disabled{color:#b6b9c2;cursor:default}.app-sidebar-link-disabled:hover{color:#b6b9c2;background:0 0}.app-sidebar-icon{text-align:center;flex-shrink:0;width:18px}.app-sidebar-badge{background:var(--app-surface-alt);color:var(--app-slate);border-radius:999px;flex-shrink:0;margin-left:auto;padding:2px 8px;font-size:.68rem;font-weight:600}.app-sidebar-footer{border-top:1px solid var(--app-line);flex-direction:column;gap:10px;margin-top:8px;padding:16px 18px 2px;display:flex}.app-sidebar-user{overflow-wrap:anywhere;flex-direction:column;gap:2px;font-size:.85rem;display:flex}.app-sidebar-user strong{color:var(--app-ink);font-weight:600}.app-sidebar-user small{color:var(--app-slate);font-size:.76rem}.app-sidebar-footer button{font:inherit;border:1px solid var(--app-line);background:var(--app-surface);color:var(--app-ink);cursor:pointer;border-radius:8px;padding:8px 12px;font-size:.85rem;font-weight:500;transition:border-color .15s,color .15s}.app-sidebar-footer button:hover{border-color:var(--app-danger);color:var(--app-danger)}.app-content{flex:1;min-width:0;max-width:1180px;padding:36px 40px 64px}.app-content .admin-page{animation:.28s both app-page-in}@keyframes app-page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.app-tabbar{z-index:25;background:var(--app-surface);border-top:1px solid var(--app-line);padding-bottom:env(safe-area-inset-bottom);display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #14161a0f}.app-tabbar-link{font:inherit;color:var(--app-slate);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 4px 6px;font-size:.66rem;font-weight:600;text-decoration:none;display:flex}.app-tabbar-icon{font-size:1.2rem;line-height:1;transition:transform .15s cubic-bezier(.34,1.56,.64,1)}.app-tabbar-link-active{color:var(--app-blue)}.app-tabbar-link-active .app-tabbar-icon{transform:translateY(-2px)scale(1.08)}.app-tabbar-more{font-family:inherit}@media (width<=860px){.app-topbar,.app-tabbar{display:flex}.app-sidebar-backdrop{z-index:29;background:#14161a73;animation:.15s both app-backdrop-in;display:block;position:fixed;inset:0}@keyframes app-backdrop-in{0%{opacity:0}to{opacity:1}}.app-sidebar{z-index:30;width:100%;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);transition:transform .22s;position:fixed;inset:0;transform:translate(-100%)}.app-sidebar-open{transform:translate(0)}.app-sidebar-link{padding:13px 12px 13px 14px;font-size:.98rem}.app-sidebar-footer button{min-height:46px}.app-content{padding:16px 16px calc(86px + env(safe-area-inset-bottom))}.app-content .admin-page-header{top:calc(var(--app-topbar-height) + env(safe-area-inset-top));z-index:10;background:var(--app-surface-alt);flex-wrap:nowrap;margin:-16px -16px 16px;padding:16px 16px 12px;position:sticky}.app-content .admin-page-header h1{font-size:1.2rem}.app-content .toolbar button,.app-content .toolbar input,.app-content .toolbar select,:is(.app-content,.import-wizard-panel) .admin-table-actions button,:is(.app-content,.import-wizard-panel) .admin-form input,:is(.app-content,.import-wizard-panel) .admin-form select,:is(.app-content,.import-wizard-panel) .admin-form textarea,:is(.app-content,.import-wizard-panel) .admin-form>button,.app-content .admin-button{min-height:44px}.app-content .toolbar{flex-direction:column;align-items:stretch}.app-content .toolbar input,.app-content .toolbar select,.app-content .toolbar button{width:100%}:is(.app-content,.import-wizard-panel) .admin-form{max-width:none}:is(.app-content,.import-wizard-panel) .admin-form .admin-table-actions{flex-direction:column-reverse}:is(.app-content,.import-wizard-panel) .admin-form .admin-table-actions button{width:100%}.app-content .admin-table{border-top:none}.app-content .admin-table thead{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-content .admin-table,.app-content .admin-table tbody,.app-content .admin-table tr,.app-content .admin-table td{width:100%;display:block}.app-content .admin-table tr{border:1px solid var(--app-line);background:var(--app-surface);border-radius:12px;margin-bottom:12px;padding:4px 14px;box-shadow:0 1px 2px #14161a0a}.app-content .admin-table td{border-bottom:1px solid var(--app-surface-alt);text-align:right;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.app-content .admin-table td:last-child{border-bottom:none}.app-content .admin-table td[data-label]:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.03em;color:var(--app-slate);text-align:left;flex-shrink:0;font-size:.72rem;font-weight:700}.app-content .admin-table td:not([data-label]){justify-content:flex-start}.app-content .admin-table-actions{justify-content:flex-end;width:100%}.import-wizard-backdrop{align-items:stretch;padding:0}.import-wizard-panel{width:100%;max-width:none;height:100%;max-height:none;padding:calc(20px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom));border-radius:0}}@media (prefers-reduced-motion:reduce){.app-content .admin-page{animation:none}.app-sidebar,.app-sidebar-backdrop,.kpi-card,.app-sidebar-link:before,.app-tabbar-icon{transition:none!important;animation:none!important}}.credential-reveal{border:1px solid var(--border);background:color-mix(in srgb, var(--accent) 6%, transparent);border-radius:8px;flex-direction:column;gap:12px;max-width:480px;padding:16px;display:flex}.credential-reveal-warning{margin:0;font-size:.85rem;font-weight:600}.credential-reveal-fields{grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;margin:0;display:grid}.credential-reveal-fields dt{color:var(--muted);font-size:.8rem}.credential-reveal-fields dd{margin:0;font-weight:600}.credential-reveal-password{align-items:center;gap:8px;display:flex}.credential-reveal-password code{background:var(--border);border-radius:4px;padding:2px 6px;font-size:.95rem}.credential-reveal-password button{font:inherit;border:1px solid var(--border);color:#14161a;cursor:pointer;background:#fff;border-radius:6px;padding:4px 10px;font-size:.8rem}.credential-reveal-password button:hover{background:#f5f6f8}.landing-page{--lp-ink:#14161a;--lp-charcoal:#20232b;--lp-slate:#565b66;--lp-line:#e3e5ea;--lp-surface:#fff;--lp-surface-alt:#f5f6f8;--lp-blue:#2451e0;--lp-blue-dark:#1b3fb8;--lp-blue-tint:#eef2fe;--lp-amber:#b3690f;--lp-amber-tint:#fbf0dd;--lp-success:#1f8a52;--lp-success-tint:#e5f5ec;--lp-radius-sm:8px;--lp-radius-md:14px;--lp-radius-lg:20px;--lp-shadow-sm:0 1px 2px #14161a0f;--lp-shadow-lg:0 30px 70px #14161a24;--lp-max:1180px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-height:100vh;color:var(--lp-ink);background:var(--lp-surface);-webkit-font-smoothing:antialiased;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;display:flex}.landing-page h1{color:var(--lp-ink);letter-spacing:-.01em;font-family:inherit;line-height:1.15}.landing-page .btn{font:inherit;border-radius:var(--lp-radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,transform .15s;display:inline-flex}.landing-page .btn:active{transform:translateY(1px)}.landing-page .btn-primary{background:var(--lp-blue);color:#fff;box-shadow:var(--lp-shadow-sm)}.landing-page .btn-primary:hover{background:var(--lp-blue-dark)}.landing-page .btn-secondary{color:var(--lp-ink);border-color:var(--lp-line);background:#fff}.landing-page .btn-secondary:hover{border-color:var(--lp-slate);background:var(--lp-surface-alt)}.landing-page .btn:disabled{opacity:.5;cursor:default}.landing-page .btn-sm{padding:8px 16px;font-size:.88rem}.landing-page .btn-lg{padding:13px 26px;font-size:1rem}.landing-page .btn:focus-visible{outline:2px solid var(--lp-blue);outline-offset:2px}.landing-nav{border-bottom:1px solid var(--lp-line);flex-shrink:0}.landing-nav-inner{max-width:var(--lp-max);justify-content:space-between;align-items:center;margin:0 auto;padding:16px 32px;display:flex}.landing-brand{color:var(--lp-ink);align-items:center;gap:10px;font-size:1.02rem;font-weight:700;display:inline-flex}.landing-brand-mark{background:var(--lp-charcoal);color:#fff;letter-spacing:.02em;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.72rem;font-weight:800;display:inline-flex}.landing-hero{width:100%;max-width:var(--lp-max);flex:1;grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:center;gap:64px;margin:0 auto;padding:40px 32px;display:grid}.landing-hero-copy{max-width:44ch}.landing-hero h1{margin:0 0 18px;font-size:clamp(2rem,2.9vw,2.75rem);font-weight:700}.landing-hero-sub{color:var(--lp-slate);margin:0 0 30px;font-size:1.08rem}.landing-cta-row{flex-wrap:wrap;gap:12px;display:flex}.landing-hero-note{color:var(--lp-slate);margin:18px 0 0;font-size:.84rem}.landing-hero-visual{position:relative}.hero-panel{border:1px solid var(--lp-line);border-radius:var(--lp-radius-lg);box-shadow:var(--lp-shadow-lg);background:#fff;flex-direction:column;gap:4px;padding:22px;display:flex}.hero-panel-head{align-items:center;gap:6px;margin-bottom:12px;display:flex}.hero-panel-title{color:var(--lp-slate);text-transform:uppercase;letter-spacing:.06em;margin-right:auto;font-size:.76rem;font-weight:700}.hero-dot{background:var(--lp-line);border-radius:50%;width:7px;height:7px}.hero-row{align-items:center;gap:12px;padding:10px 4px;display:flex}.hero-row+.hero-row{border-top:1px solid var(--lp-line)}.hero-row-icon{background:var(--lp-surface-alt);width:32px;height:32px;color:var(--lp-slate);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.hero-row-icon svg{width:17px;height:17px}.hero-row-icon--accent{background:var(--lp-blue-tint);color:var(--lp-blue-dark)}.hero-row-icon--success{background:var(--lp-success-tint);color:var(--lp-success)}.hero-row-icon--warning{background:var(--lp-amber-tint);color:var(--lp-amber)}.hero-row-label{color:var(--lp-ink);margin-right:auto;font-size:.88rem;font-weight:600}.hero-badge{background:var(--lp-surface-alt);color:var(--lp-slate);border-radius:999px;flex-shrink:0;align-items:center;padding:3px 10px;font-size:.7rem;font-weight:700;display:inline-flex}.hero-badge--accent{background:var(--lp-blue-tint);color:var(--lp-blue-dark)}.hero-badge--success{background:var(--lp-success-tint);color:var(--lp-success)}.hero-badge--warning{background:var(--lp-amber-tint);color:var(--lp-amber)}.landing-highlights{border-top:1px solid var(--lp-line);background:var(--lp-surface-alt);flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:40px;padding:18px 32px;display:flex}.landing-highlight{color:var(--lp-slate);align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:inline-flex}.landing-highlight svg{width:16px;height:16px;color:var(--lp-success);flex-shrink:0}@media (width<=900px){.landing-page{min-height:0}.landing-hero{grid-template-columns:1fr;gap:40px;padding:48px 24px}.landing-hero-copy{max-width:none}.landing-highlights{gap:24px;padding:16px 24px}}@media (width<=560px){.landing-hero h1{font-size:1.8rem}.landing-cta-row{flex-direction:column;align-items:stretch}.landing-highlights{flex-direction:column;gap:12px}}.maintenance-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.maintenance-card{text-align:center;flex-direction:column;gap:12px;max-width:420px;display:flex}.maintenance-card h1{margin:0;font-size:1.4rem}.maintenance-card p{color:var(--muted);margin:0}.login-form{--lf-ink:#14161a;--lf-charcoal:#20232b;--lf-slate:#565b66;--lf-line:#e3e5ea;--lf-blue:#2451e0;--lf-blue-dark:#1b3fb8;--lf-error:#b91c1c;--lf-error-tint:#fdeeee;text-align:center;width:100%;max-width:380px;color:var(--lf-ink);flex-direction:column;align-items:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica,Arial,sans-serif;display:flex}.login-form-mark{background:var(--lf-charcoal);color:#fff;letter-spacing:.02em;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:18px;font-size:.94rem;font-weight:800;display:inline-flex}.login-form-title{letter-spacing:-.01em;margin:0 0 26px;font-size:1.4rem;font-weight:700}.login-form form{text-align:left;flex-direction:column;gap:16px;width:100%;display:flex}.login-form label{color:var(--lf-slate);flex-direction:column;gap:6px;font-size:.86rem;font-weight:600;display:flex}.login-form input{font:inherit;border:1px solid var(--lf-line);color:var(--lf-ink);border-radius:8px;padding:11px 14px;transition:border-color .15s,box-shadow .15s}.login-form input:focus-visible{border-color:var(--lf-blue);outline:none;box-shadow:0 0 0 3px #2451e024}.login-form-submit{font:inherit;background:var(--lf-blue);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:12px;font-weight:600;transition:background-color .15s,transform .15s}.login-form-submit:hover:not(:disabled){background:var(--lf-blue-dark)}.login-form-submit:active:not(:disabled){transform:translateY(1px)}.login-form-submit:disabled{opacity:.6;cursor:default}.login-form-submit:focus-visible{outline:2px solid var(--lf-blue);outline-offset:2px}.login-form-error{background:var(--lf-error-tint);color:var(--lf-error);border-radius:8px;margin:0;padding:9px 12px;font-size:.85rem}.login-form-forgot{color:var(--lf-blue);margin-top:18px;font-size:.86rem;font-weight:600;text-decoration:none}.login-form-forgot:hover{text-decoration:underline}.login-form-hint{border-top:1px solid var(--lf-line);color:var(--lf-slate);margin:22px 0 0;padding-top:18px;font-size:.78rem;line-height:1.5}.login-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#14161a8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.login-modal-panel{background:#fff;border-radius:18px;width:100%;max-width:420px;padding:40px 36px 32px;position:relative;box-shadow:0 40px 90px #14161a47}.login-modal-close{color:#565b66;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;line-height:1;display:flex;position:absolute;top:14px;right:14px}.login-modal-close:hover{color:#14161a;background:#f5f6f8}.login-modal-backdrop-enter-active{transition:opacity .18s}.login-modal-backdrop-leave-active{transition:opacity .15s}.login-modal-backdrop-enter-from,.login-modal-backdrop-leave-to{opacity:0}.login-modal-panel-enter-active{transition:opacity .22s,transform .22s cubic-bezier(.16,1,.3,1)}.login-modal-panel-leave-active{transition:opacity .15s,transform .15s}.login-modal-panel-enter-from,.login-modal-panel-leave-to{opacity:0;transform:translateY(10px)scale(.98)}@media (prefers-reduced-motion:reduce){.login-modal-backdrop-enter-active,.login-modal-backdrop-leave-active,.login-modal-panel-enter-active,.login-modal-panel-leave-active{transition:none}}.import-wizard-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#14161a8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.import-wizard-panel{background:#fff;border-radius:18px;width:100%;max-width:720px;max-height:calc(100vh - 48px);padding:28px 32px 32px;position:relative;overflow-y:auto;box-shadow:0 40px 90px #14161a47}.import-wizard-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.import-wizard-header h2{color:var(--app-ink,#14161a);margin:0;font-size:1.25rem;font-weight:700}.import-wizard-close{color:#565b66;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;line-height:1;display:flex}.import-wizard-close:hover{color:#14161a;background:#f5f6f8}.import-wizard-steps{color:#b6b9c2;gap:8px;margin:0 0 24px;padding:0;font-size:.8rem;font-weight:600;list-style:none;display:flex}.import-wizard-steps li{border-top:3px solid #e3e5ea;flex:1;padding:6px 0;transition:border-color .2s,color .2s}.import-wizard-steps li.active{border-color:var(--app-blue,#2451e0);color:var(--app-blue,#2451e0)}.import-wizard-steps li.done{border-color:var(--app-success,#1f8a52);color:var(--app-success,#1f8a52)}.import-wizard-step-block{border-bottom:1px solid #e3e5ea;padding:18px 0}.import-wizard-step-block:last-of-type{border-bottom:none}.import-wizard-step-block h3{color:#14161a;margin:0 0 4px;font-size:.98rem;font-weight:700}.import-wizard-step-block .admin-button{margin-top:10px}.import-wizard-upload{color:#14161a;cursor:pointer;border:1px dashed #b6b9c2;border-radius:999px;align-items:center;gap:8px;margin-top:10px;padding:10px 18px;font-size:.86rem;font-weight:600;transition:border-color .15s;display:inline-flex}.import-wizard-upload:hover{border-color:var(--app-blue,#2451e0)}.import-wizard-upload input{display:none}.import-wizard-loading{color:#565b66;flex-direction:column;align-items:center;gap:16px;padding:48px 0;display:flex}.import-wizard-spinner{border:3px solid #e3e5ea;border-top-color:var(--app-blue,#2451e0);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite import-wizard-spin}@keyframes import-wizard-spin{to{transform:rotate(360deg)}}.import-wizard-summary{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin-bottom:18px;display:grid}.import-wizard-stat{background:#f6f7f9;border-radius:12px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.import-wizard-stat strong{color:#14161a;font-size:1.4rem;font-weight:700}.import-wizard-stat span{color:#565b66;text-transform:uppercase;letter-spacing:.03em;font-size:.76rem;font-weight:600}.import-wizard-stat-ok strong{color:var(--app-success,#1f8a52)}.import-wizard-stat-bad strong{color:var(--error,#c62828)}.import-wizard-stat-warn strong{color:var(--app-amber,#b3690f)}.import-wizard-errors{margin-bottom:18px}.import-wizard-errors-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.import-wizard-errors-header h3{color:var(--error,#c62828);margin:0;font-size:.92rem;font-weight:700}.import-wizard-errors table{max-height:260px;display:block;overflow-y:auto}.import-wizard-note{color:#565b66;margin:0 0 18px;font-size:.86rem}.import-wizard-actions{justify-content:flex-end;gap:10px;display:flex}.import-wizard-actions button,.import-wizard-errors-header button{font:inherit;color:#14161a;cursor:pointer;background:#fff;border:1px solid #e3e5ea;border-radius:999px;font-weight:600;transition:border-color .15s}.import-wizard-actions button{padding:10px 18px;font-size:.86rem}.import-wizard-errors-header button{padding:6px 14px;font-size:.78rem}.import-wizard-actions button:hover,.import-wizard-errors-header button:hover{border-color:var(--app-blue,#2451e0);color:var(--app-blue,#2451e0)}.import-wizard-backdrop-enter-active{transition:opacity .18s}.import-wizard-backdrop-leave-active{transition:opacity .15s}.import-wizard-backdrop-enter-from,.import-wizard-backdrop-leave-to{opacity:0}.import-wizard-panel-enter-active{transition:opacity .22s,transform .22s cubic-bezier(.16,1,.3,1)}.import-wizard-panel-leave-active{transition:opacity .15s,transform .15s}.import-wizard-panel-enter-from,.import-wizard-panel-leave-to{opacity:0;transform:translateY(10px)scale(.98)}@media (prefers-reduced-motion:reduce){.import-wizard-backdrop-enter-active,.import-wizard-backdrop-leave-active,.import-wizard-panel-enter-active,.import-wizard-panel-leave-active,.import-wizard-spinner{transition:none;animation:none}}.login-page{background:#fafafa;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-page .login-form{background:#fff;border:1px solid #e3e5ea;border-radius:18px;padding:40px 36px 32px;box-shadow:0 1px 2px #14161a0f}
