:root{color-scheme:dark;--color-background: #081015;--color-surface: #12202a;--color-primary: #2ed3ff;--color-secondary: #5bffb2;--color-text-primary: #edf6fb;--color-text-muted: #89a2b2;--color-danger: #ff6b6b;--color-border: rgba(237, 246, 251, .1);--glass-solid: rgba(18, 32, 42, .72);--glass-blur: rgba(18, 32, 42, .42);--glass-sheer: rgba(18, 32, 42, .28)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-background);color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:var(--color-primary)}button,input,select,textarea{font-family:inherit;font-size:14px;color:var(--color-text-primary)}.app-shell{display:flex;min-height:100vh}.app-nav{width:220px;flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--glass-solid);border-right:1px solid var(--color-border);padding:24px 16px;display:flex;flex-direction:column;gap:4px}.app-nav__brand{font-size:18px;font-weight:700;margin:0 0 24px 4px;letter-spacing:.02em}.app-nav__link{display:block;padding:10px 12px;border-radius:8px;color:var(--color-text-muted);text-decoration:none;font-weight:500}.app-nav__link:hover{background:#edf6fb0f;color:var(--color-text-primary)}.app-nav__link--active{background:#2ed3ff24;color:var(--color-primary)}.app-nav__spacer{flex:1}.app-nav__logout{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:8px;padding:10px 12px;cursor:pointer;text-align:left}.app-nav__logout:hover{color:var(--color-danger);border-color:var(--color-danger)}.app-main{flex:1;padding:32px 40px;min-width:0}.page-title{margin:0 0 20px;font-size:22px;font-weight:700}.card{background:var(--glass-solid);border:1px solid var(--color-border);border-radius:12px;padding:20px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:24px}.stat-card__label{margin:0 0 8px;font-size:12px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.stat-card__value{margin:0;font-size:26px;font-weight:700}.date-filter{display:flex;align-items:flex-end;gap:12px;margin-bottom:20px}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:12px;color:var(--color-text-muted)}.field input,.field select{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;padding:8px 10px;min-width:160px}.field input::placeholder{color:var(--color-text-muted);opacity:1}.btn{background:var(--color-primary);color:#06121a;border:none;border-radius:8px;padding:9px 16px;font-weight:600;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--secondary{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border)}.btn--danger{background:var(--color-danger);color:#250505}.btn--ghost{background:transparent;color:var(--color-primary);border:1px solid rgba(46,211,255,.4);padding:4px 10px;font-weight:600;font-size:13px}.toggle{display:inline-flex;align-items:center;justify-content:center;min-width:84px;padding:6px 12px;border-radius:999px;font-weight:600;font-size:13px;cursor:pointer;border:1px solid transparent}.toggle:disabled{opacity:.5;cursor:not-allowed}.toggle--on{background:#5bffb229;color:var(--color-secondary);border-color:#5bffb266}.toggle--off{background:#edf6fb0f;color:var(--color-text-muted);border-color:var(--color-border)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-border)}th{color:var(--color-text-muted);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.03em}.muted{color:var(--color-text-muted)}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-caption{margin:10px 2px 0;font-size:12px;color:var(--color-text-muted)}.error-note{background:#ff6b6b1f;border:1px solid rgba(255,107,107,.4);color:var(--color-danger);border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:13px;white-space:pre-wrap}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.badge--ok{background:#5bffb229;color:var(--color-secondary)}.badge--fail{background:#ff6b6b29;color:var(--color-danger)}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{width:100%;max-width:360px}.login-card h1{margin:0 0 4px;font-size:20px}.login-card p.muted{margin:0 0 24px}.login-form{display:flex;flex-direction:column;gap:14px}.login-form .field input{width:100%}.config-form{display:flex;flex-direction:column;gap:24px;max-width:980px}.config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}.config-field{display:flex;flex-direction:column;gap:6px;background:var(--glass-solid);border:1px solid var(--color-border);border-radius:10px;padding:14px 16px}.config-field--wide{grid-column:1 / -1}.config-field__label{margin:0;font-size:12px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.config-field__input{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;padding:8px 10px;width:100%}.config-field__effective{margin:0;font-size:12px;color:var(--color-text-muted)}.config-field__effective strong{color:var(--color-text-primary);font-weight:600}.config-field__override{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600}.config-field__fieldset:disabled{opacity:.5}.config-form__save{width:100%}.config-form__row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.checkbox-list{display:flex;flex-wrap:wrap;gap:10px}.checkbox-list label{display:flex;align-items:center;gap:6px;font-size:13px}.section-title{margin:0 0 4px;font-size:14px;font-weight:600}.hint{font-size:12px;color:var(--color-text-muted);margin:0 0 12px}.stat-card__sub{margin:4px 0 0;font-size:12px}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.pager__controls{display:flex;align-items:center;gap:10px}.pager__controls button{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:8px;padding:6px 12px;cursor:pointer}.pager__controls button:hover:not(:disabled){border-color:var(--color-primary)}.pager__controls button:disabled{opacity:.4;cursor:not-allowed}.particle-field{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none}.table-glass{background:var(--glass-solid);border:1px solid var(--color-border);border-radius:12px;overflow-x:auto}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.app-nav,.card,.config-field,.table-glass{background:var(--glass-sheer);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.card--chart{background:var(--glass-blur)}}.table-glass table{margin:0}.table-glass tr:last-child td{border-bottom:none}.btn--tall{padding:14px 16px}.login-error-slot{min-height:72px;margin-top:14px}.login-error-slot .error-note{margin:0}
