:root,html[data-theme=light]{color-scheme:light;--bg:#f3f6fb;--bg-elevated:#ffffff;--surface-soft:#f7f9fc;--text:#172033;--text-muted:#697386;--brand:#1677e8;--brand-strong:#0f68d0;--brand-soft:#e8f2ff;--panel:#0969cf;--panel-strong:#0759b1;--panel-muted:rgba(255,255,255,0.72);--danger:#d84f4f;--danger-soft:#fff0ef;--ok:#218a56;--ok-soft:#eaf7ef;--warning:#9a6500;--warning-soft:#fff5df;--border:#dfe5ee;--radius:18px;--radius-small:12px;--shadow:0 1px 2px rgba(26,38,58,0.05),0 8px 24px rgba(26,38,58,0.07);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--tap:44px;--content-width:480px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}html[data-theme=dark]{color-scheme:dark;--bg:#141923;--bg-elevated:#1d2430;--surface-soft:#232c3a;--text:#f7f9fc;--text-muted:rgba(255,255,255,0.64);--brand:#5e9fe8;--brand-strong:#4a8fdc;--brand-soft:rgba(94,159,232,0.14);--panel:#1159ac;--panel-strong:#0c4a91;--panel-muted:rgba(255,255,255,0.7);--danger:#e97366;--danger-soft:rgba(233,115,102,0.12);--ok:#72bc8f;--ok-soft:rgba(114,188,143,0.12);--warning:#f1b37f;--warning-soft:rgba(222,146,85,0.13);--border:rgba(255,255,255,0.15);--shadow:none}*{box-sizing:border-box}body,html{min-height:100%;margin:0;background:var(--bg);color:var(--text)}body{min-height:100dvh;transition:background-color .16s ease,color .16s ease}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{width:100%;min-height:var(--tap);padding:11px 16px;border:1px solid transparent;border-radius:var(--radius-small);background:var(--brand);color:#ffffff;font-weight:700;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform 80ms ease}button:hover:not(:disabled){background:var(--brand-strong)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}button.ghost,button.secondary{border-color:var(--border);background:transparent;color:var(--text)}button.ghost:hover:not(:disabled),button.secondary:hover:not(:disabled){background:var(--surface-soft)}button.danger-btn{border-color:color-mix(in srgb,var(--danger) 30%,transparent);background:var(--danger-soft);color:var(--danger)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 35%,transparent);outline-offset:2px}input,select,textarea{font-size:max(16px,1rem);width:100%;min-height:var(--tap);padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-small);background:var(--bg-elevated);color:var(--text);transition:border-color .14s ease,box-shadow .14s ease,background-color .16s ease}textarea{min-height:96px;resize:vertical}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--text-muted) 76%,transparent)}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 14%,transparent)}label{gap:6px;color:var(--text-muted);font-size:14px;font-weight:600}.app-shell,label{display:flex;flex-direction:column}.app-shell{min-height:100dvh;padding-top:var(--safe-top);padding-bottom:calc(72px + var(--safe-bottom))}.app-shell.no-nav{padding-bottom:calc(16px + var(--safe-bottom))}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;padding:11px 16px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated) 90%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav-inner,.page,.topbar-inner{width:min(100%,var(--content-width));margin:0 auto}.topbar-inner{min-height:44px;justify-content:space-between;gap:12px}.brand-mark,.topbar-inner{display:flex;align-items:center}.brand-mark{min-width:0;gap:11px}.brand-logo{display:flex;width:38px;height:38px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:11px;background:linear-gradient(145deg,#1988f5,#075ec4);box-shadow:0 5px 14px rgba(22,119,232,.24)}.brand-logo-mark{color:#ffffff;font-size:17px;font-weight:900}.brand-copy{min-width:0;line-height:1.15}.brand-copy strong{display:block;font-size:14px;letter-spacing:.9px}.brand-copy span{display:block;margin-top:3px;overflow:hidden;color:var(--text-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.theme-toggle{display:flex;width:44px;min-width:44px;height:44px;padding:0;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);color:var(--text);font-size:20px}.theme-toggle:hover:not(:disabled){background:var(--brand-soft);color:var(--brand)}.page{display:flex;padding:16px;flex:1 1}.page>*{width:100%}.stack{display:flex;flex-direction:column;gap:16px}.app-shell.fill-panel .page>.stack,.stack.stretch{flex:1 1}.kicker,.page-kicker{margin:0 0 4px;color:var(--brand);font-size:12px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase}.page-title{margin:0;font-size:clamp(25px,7vw,32px);line-height:1.15;letter-spacing:-.7px}.muted,.page-sub{margin:0;color:var(--text-muted)}.back-link{display:inline-flex;min-height:36px;margin-bottom:3px;align-items:center;color:var(--text-muted);font-size:14px;font-weight:700}.back-link:hover{color:var(--brand)}.card,.hero,.hero-home,.panel{display:flex;padding:16px;flex-direction:column;gap:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow)}.hero,.hero-home{gap:11px;padding:20px}.hero h1,.hero-home h1{margin:0;font-size:clamp(23px,7vw,32px);line-height:1.15;letter-spacing:-.7px}.hero p{margin:0;color:var(--text-muted)}.hero-home{box-shadow:none}.card h2,.panel-heading{margin:0;font-size:16px}.panel-fill{min-height:320px;flex:1 1;border-color:transparent;background:linear-gradient(155deg,var(--panel),var(--panel-strong));color:#ffffff;box-shadow:0 14px 34px rgba(7,89,177,.2)}.app-shell.fill-panel .panel-fill{min-height:max(320px,calc(100dvh - 236px - var(--safe-top) - var(--safe-bottom)))}.panel-fill .muted{color:var(--panel-muted)}.panel-fill button.ghost,.panel-fill button.secondary{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#ffffff}.panel-fill button.ghost:hover:not(:disabled),.panel-fill button.secondary:hover:not(:disabled){background:rgba(255,255,255,.15)}.panel-fill button.danger-btn{border-color:rgba(255,255,255,.24);background:rgba(91,14,18,.22);color:#ffffff}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:40;padding:7px 12px calc(7px + var(--safe-bottom));border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated) 94%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav-inner{display:flex;gap:6px}.nav-link{display:flex;min-width:0;min-height:52px;flex:1 1;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:12px;color:var(--text-muted);font-size:12px;font-weight:700}.nav-link strong{font-size:17px;line-height:1}.nav-link[aria-current=page]{background:var(--brand-soft);color:var(--brand)}.hub-list{display:flex;margin:0;padding:0;flex-direction:column;gap:10px;list-style:none}.hub-link{display:flex;min-height:58px;padding:10px 12px;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.1);color:#ffffff;font-weight:750;transition:background-color .14s ease,transform 80ms ease}.hub-link:hover{background:rgba(255,255,255,.16)}.hub-link:active{transform:translateY(1px)}.hub-link>span:nth-child(2){min-width:0;flex:1 1}.hub-ico{display:flex;width:38px;height:38px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:11px;background:rgba(255,255,255,.14);font-size:17px}.chev{flex:0 0 auto;color:rgba(255,255,255,.72);font-size:23px;line-height:1}.inline-field-list{display:flex;flex-direction:column;gap:10px}.inline-field{position:relative;min-width:0;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.1);color:#ffffff}.inline-field.is-view{display:flex;min-height:64px;align-items:stretch}.inline-field-body{display:flex;min-width:0;padding:11px 13px;flex:1 1;flex-direction:column;justify-content:center;gap:2px}.inline-field-label{color:rgba(255,255,255,.68);font-size:12px;font-weight:700}.inline-field-value{overflow:hidden;color:#ffffff;font-size:15px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.inline-field-value.is-missing{color:rgba(255,255,255,.56);font-weight:600}.if-btn{display:flex;width:44px;min-width:44px;min-height:44px;padding:0;align-items:center;justify-content:center;border-radius:11px;font-size:16px}.if-edit{margin-right:7px;align-self:center;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.12);color:#ffffff}.if-edit:hover:not(:disabled){background:rgba(255,255,255,.2)}.inline-field.is-editing{display:flex;padding:12px;flex-direction:column;gap:9px;background:rgba(255,255,255,.13)}.inline-field-edit-label{color:rgba(255,255,255,.76);font-size:12px;font-weight:750}.inline-field-edit-row{display:flex;min-width:0;align-items:flex-start;gap:8px}.inline-field-input{min-width:0;flex:1 1;border-color:rgba(255,255,255,.4);background:#ffffff;color:#172033}.inline-field-input::placeholder{color:#8690a0}.inline-field-actions{display:flex;flex:0 0 auto;gap:6px}.if-ok{background:#168652;color:#ffffff}.if-ok:hover:not(:disabled){background:#117346}.if-cancel{border-color:rgba(255,255,255,.18);background:rgba(53,14,20,.38);color:#ffffff}.if-cancel:hover:not(:disabled){background:rgba(53,14,20,.52)}.inline-field-error{color:#ffe1de;font-size:13px;font-weight:650}.inline-field.is-bool{display:flex;flex-direction:column}.inline-bool-hit{display:flex;min-height:64px;padding:0;align-items:center;gap:6px;border:0;background:transparent;color:inherit;text-align:left}.inline-bool-hit:hover:not(:disabled){background:rgba(255,255,255,.05)}.inline-bool-box{display:flex;width:22px;height:22px;margin-left:13px;flex:0 0 auto;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.5);border-radius:7px;color:#ffffff;font-size:12px}.inline-bool-box.on{border-color:#ffffff;background:rgba(255,255,255,.2)}.profile-actions{display:flex;margin-top:auto;padding-top:16px;flex-direction:column;gap:11px}.pwd-form{padding:14px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.09)}.pwd-form label{color:rgba(255,255,255,.75)}.pwd-form input{border-color:rgba(255,255,255,.45);background:#ffffff;color:#172033}.admin-block,.admin-row{display:flex;min-width:0;flex-direction:column;gap:8px}.admin-toggle{min-height:40px;font-size:13px}.actions,.form-stack{display:flex;flex-direction:column;gap:14px}.field-row{display:flex;align-items:center;gap:10px}.field-row>:first-child{min-width:0;flex:1 1}.color-swatch{width:44px;height:44px;flex:0 0 auto;border:1px solid var(--border);border-radius:12px}.list{display:flex;margin:0;padding:0;flex-direction:column;gap:10px;list-style:none}.list li{display:flex;padding:13px;align-items:flex-start;gap:11px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.badge{display:inline-flex;min-height:24px;padding:2px 9px;align-items:center;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:750}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warning-soft);color:var(--warning)}.check-row{display:flex!important;padding:12px 14px;align-items:flex-start;gap:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.check-row input[type=checkbox]{width:20px;height:20px;min-height:0;margin:3px 0 0;flex:0 0 auto}.field-hint{margin-top:4px;font-size:12px}.block,.field-hint{display:block}.error-box,.ok-box{padding:12px 14px;border-radius:12px;font-size:14px;font-weight:650}.error-box{border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);background:var(--danger-soft);color:var(--danger)}.ok-box{border:1px solid color-mix(in srgb,var(--ok) 30%,transparent);background:var(--ok-soft);color:var(--ok)}.panel-fill .error-box,.panel-fill .ok-box{border-color:rgba(255,255,255,.24);color:#ffffff}.panel-fill .error-box{background:rgba(79,11,15,.28)}.panel-fill .ok-box{background:rgba(3,70,38,.28)}.modal-overlay{position:fixed;inset:0;z-index:80;display:flex;padding:16px;align-items:center;justify-content:center;background:rgba(10,16,26,.64);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-dialog{display:flex;width:min(100%,420px);max-height:min(90dvh,640px);padding:18px;overflow:auto;flex-direction:column;gap:14px;border:1px solid var(--border);border-radius:18px;background:var(--bg-elevated);color:var(--text);box-shadow:0 20px 50px rgba(0,0,0,.28)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-title{margin:0;font-size:18px}.modal-close{display:flex;width:40px!important;min-width:40px;min-height:40px;padding:0!important;align-items:center;justify-content:center;border:1px solid var(--border)!important;border-radius:10px!important;background:var(--surface-soft)!important;color:var(--text-muted)!important}.modal-close:hover:not(:disabled){background:var(--brand-soft)!important;color:var(--brand)!important}.modal-hint,.modal-support,.modal-text{margin:0;color:var(--text-muted);font-size:14px}.modal-support a{color:var(--brand);font-weight:750;word-break:break-word}.modal-actions,.modal-label{display:flex;flex-direction:column;gap:8px}button.link-btn{width:auto;min-height:32px;padding:0;border:0;border-radius:0;background:transparent;color:var(--brand);font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:3px}button.link-btn:hover:not(:disabled){background:transparent;color:var(--brand-strong)}@media (min-width:420px){.actions.row{flex-direction:row}.actions.row>*{flex:1 1}.page{padding:20px}.card,.panel{padding:18px}}@media (max-width:359px){.brand-copy strong{font-size:13px}.inline-field-edit-row{flex-direction:column}.inline-field-actions{align-self:flex-end}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}