:root{color-scheme:light;--green-dark: #1b5e3a;--green-mid: #2d8f5a;--green-light: #c8ead4;--green-mint: #e8f5ec;--text: #1a1f1c;--text-muted: #5c6b62;--page-bg: #f6faf7;--card-bg: #ffffff;--shadow: 0 2px 12px rgba(27, 94, 58, .08);--radius: 10px;--font: "DM Sans", system-ui, -apple-system, sans-serif;--input-bg: #ffffff;--input-fg: var(--text);--input-border: var(--green-light);--danger: #b33a3a;--bar-track: #d8ebe0;--bar-fill: var(--green-mid)}:root[data-theme=dark]{color-scheme:dark;--green-dark: #152a20;--green-mid: #3a7a5c;--green-light: #2a4a3d;--green-mint: #0f1915;--green-ink: #8ecfaa;--text: #d6ebe0;--text-muted: #7a9d8c;--page-bg: #050807;--card-bg: #0c1310;--shadow: 0 2px 24px rgba(0, 0, 0, .55);--input-bg: #060c09;--input-fg: #eef8f3;--input-border: var(--green-light);--bar-track: #1a2a24;--bar-fill: var(--green-mid);--danger: #e07070}:root[data-theme=dark],:root[data-theme=dark] body,:root[data-theme=dark] #root{background:radial-gradient(ellipse 80% 50% at 10% 0%,#0f1a14 0%,transparent 55%),radial-gradient(ellipse 60% 40% at 100% 100%,#0c1511 0%,transparent 50%),var(--page-bg)}:root[data-theme=dark] .brand,:root[data-theme=dark] .login-card h1,:root[data-theme=dark] .panel h2,:root[data-theme=dark] .metric .value,:root[data-theme=dark] .modal__head h3,:root[data-theme=dark] .import-report__title,:root[data-theme=dark] .badge:not(.badge--warn),:root[data-theme=dark] .nav button:hover,:root[data-theme=dark] .nav a:hover:not(.active),:root[data-theme=dark] .btn:not(.btn-primary):not(.btn-danger),:root[data-theme=dark] .btn:not(.btn-primary):not(.btn-danger):hover{color:var(--green-ink)}:root[data-theme=dark] .nav button.active,:root[data-theme=dark] .nav a.active{color:#fff}:root[data-theme=dark] .btn-primary,:root[data-theme=dark] .btn-primary:hover{color:#fff}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;font-family:var(--font);background:radial-gradient(ellipse 80% 50% at 10% 0%,#dff0e6 0%,transparent 55%),radial-gradient(ellipse 60% 40% at 100% 100%,#e8f5ec 0%,transparent 50%),var(--page-bg);color:var(--text)}#app,#root{min-height:100vh}.login-wrap{position:relative;min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login-toolbar{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;gap:.5rem}.login-card{width:min(100%,380px);background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.75rem 1.5rem;border:1px solid var(--green-light)}.login-card h1{margin:0 0 .25rem;font-size:1.5rem;color:var(--green-dark)}.login-card .sub{margin:0 0 1.25rem;color:var(--text-muted);font-size:.9rem}label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.35rem;color:var(--text-muted)}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=button]),select,textarea{width:100%;padding:.65rem .75rem;border:1px solid var(--input-border);border-radius:8px;background:var(--input-bg);color:var(--input-fg);font:inherit;margin-bottom:1rem;box-sizing:border-box;-moz-appearance:none;appearance:none;-webkit-appearance:none}select{-moz-appearance:auto;appearance:auto;-webkit-appearance:auto;cursor:pointer}textarea{min-height:80px;resize:vertical;margin-bottom:1rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--green-mid);outline-offset:1px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid var(--green-light);background:var(--card-bg);color:var(--green-dark);font:inherit;font-weight:600;padding:.55rem 1rem;border-radius:8px;cursor:pointer}.btn:hover{background:var(--green-mint)}.btn-primary{background:var(--green-dark);border-color:var(--green-dark);color:#fff;width:100%}.btn-primary:hover{background:var(--green-mid);border-color:var(--green-mid)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-icon{width:2.25rem;height:2.25rem;padding:0;display:inline-flex;align-items:center;justify-content:center}.theme-toggle-icon{display:block;width:.58rem;height:.58rem;border-radius:50%;border:2px solid currentColor;background:transparent;box-sizing:border-box}.theme-toggle-btn--dark .theme-toggle-icon{background:currentColor;border-color:currentColor}.topbar-actions{display:flex;align-items:center;gap:.5rem}.error{color:var(--danger);font-size:.85rem;margin:0 0 .75rem;min-height:1.2em}.shell{max-width:1100px;margin:0 auto;padding:1.25rem 1.25rem 2.5rem}.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1.25rem}.brand{font-weight:700;font-size:1.25rem;color:var(--green-dark);margin-right:auto}.nav{display:flex;gap:.35rem;flex-wrap:wrap}.nav button{border:none;background:transparent;font:inherit;font-weight:600;color:var(--text-muted);padding:.4rem .75rem;border-radius:8px;cursor:pointer}.nav button:hover{background:var(--green-mint);color:var(--green-dark)}.nav button.active{background:var(--green-dark);color:#fff}.panel{background:var(--card-bg);border:1px solid var(--green-light);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.panel h2{margin:0 0 .35rem;font-size:1.15rem;color:var(--green-dark)}.panel .hint{margin:0 0 1rem;color:var(--text-muted);font-size:.9rem}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1.25rem}.metric{background:var(--green-mint);border-radius:8px;padding:.85rem 1rem}.metric .label{font-size:.8rem;color:var(--text-muted);margin-bottom:.25rem}.metric .value{font-size:1.5rem;font-weight:700;color:var(--green-dark)}.section-title{font-size:.95rem;font-weight:600;margin:0 0 .65rem;color:var(--text)}.bar-row{margin-bottom:.85rem}.bar-row .meta{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.3rem;color:var(--text-muted)}.bar{height:8px;background:var(--bar-track);border-radius:999px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--bar-fill);border-radius:inherit}.kv{display:grid;grid-template-columns:8rem 1fr;gap:.35rem .75rem;font-size:.9rem;margin-bottom:1rem}.kv dt{color:var(--text-muted);margin:0}.kv dd{margin:0;font-weight:500}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.55rem .65rem;border-bottom:1px solid var(--green-light)}th{color:var(--text-muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.02em}.online-list{list-style:none;margin:0 0 1rem;padding:0;font-size:.9rem}.online-list li{padding:.3rem 0;border-bottom:1px solid var(--green-light)}.status-line{font-size:.8rem;color:var(--text-muted);margin-top:1rem}.status-line.error{color:var(--danger)}.setup-form{max-width:320px}.setup-form .btn{width:auto}.hidden{display:none!important}.btn-danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent)}.btn-sm{padding:.35rem .65rem;font-size:.85rem}.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end;margin-bottom:1rem}.toolbar .field{flex:1 1 160px;min-width:140px}.toolbar .field label{margin-bottom:.25rem}.toolbar .field input,.toolbar .field select{margin-bottom:0}.toolbar .btn{width:auto}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 .75rem;margin-bottom:.75rem}.form-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.form-actions .btn{width:auto}.metric-link{display:block;text-decoration:none;color:inherit;cursor:pointer;transition:transform .1s ease}.metric-link:hover{transform:translateY(-1px)}.nav a{border:none;background:transparent;font:inherit;font-weight:600;color:var(--text-muted);padding:.4rem .75rem;border-radius:8px;cursor:pointer;text-decoration:none;display:inline-block}.nav a:hover{background:var(--green-mint);color:var(--green-dark)}.nav a.active{background:var(--green-dark);color:#fff}.badge{display:inline-block;padding:.15rem .45rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--green-mint);color:var(--green-dark)}.badge--warn{background:color-mix(in srgb,var(--danger) 18%,transparent);color:var(--danger)}.row-actions{display:flex;flex-wrap:wrap;gap:.35rem}.import-report{font-size:.9rem}.import-report p{margin:0 0 .75rem}.import-report__title{margin:.75rem 0 .35rem;font-size:.95rem;color:var(--green-dark)}.import-report__list{margin:0;padding-left:1.2rem;max-height:min(40vh,320px);overflow:auto}.import-report__list--errors{color:var(--danger, #a33)}.modal--import{width:min(100%,560px)}.checkbox-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.85rem}.checkbox-row input{width:auto;margin:0}.pager{display:flex;align-items:center;gap:.75rem;margin-top:1rem;font-size:.9rem;color:var(--text-muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0a140e73;display:grid;place-items:center;padding:1rem}.modal{width:min(100%,720px);max-height:min(90vh,900px);overflow:auto;background:var(--card-bg);border:1px solid var(--green-light);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.35rem 1.35rem}.modal__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.modal__head h3{margin:0;font-size:1.1rem;color:var(--green-dark)}.modal .form-actions{margin-top:.25rem}
