:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#17313a;background:#f4f7f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #50b69b;outline-offset:2px}.hidden{display:none!important}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:#12383d;color:#fff;padding:48px 10%;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;background-image:radial-gradient(circle at 84% 72%,#27665d 0,transparent 35%)}.brand{display:flex;align-items:center;gap:11px;font-size:20px;letter-spacing:-.04em}.brand-icon{display:grid;place-items:center;border-radius:10px;background:#a8e3c6;color:#153a3a;width:38px;height:38px;font-weight:800}.login-brand h1{font-size:clamp(42px,5vw,68px);line-height:1.08;letter-spacing:-.055em;font-weight:600}.login-brand h1 em{color:#a8e3c6;font-style:normal}.login-brand p{max-width:410px;line-height:1.7;color:#c0d7d1}.login-brand small{color:#9abbb2}.eyebrow,.side-label{font-size:10px;font-weight:750;letter-spacing:.16em;color:#68877f}.login-brand .eyebrow{color:#a8e3c6}.login-panel{display:grid;place-items:center;background:#f8faf9;padding:32px}.login-card{width:min(400px,100%)}h2{font-size:20px;letter-spacing:-.03em;margin:8px 0}p{color:#728881;line-height:1.5;font-size:14px}.login-card h2{font-size:32px}.login-card p{margin-bottom:30px}label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:650;color:#425f58}input,select,textarea{width:100%;border:1px solid #d9e4df;border-radius:8px;padding:11px 12px;background:#fff;color:#17313a;min-width:0}.login-card label{margin:18px 0}button{border:0}.primary,.secondary{border-radius:8px;padding:11px 15px;font-weight:650;font-size:13px}.primary{background:#16765f;color:white}.primary:hover{background:#105c4b}.login-card .primary{width:100%;display:flex;justify-content:space-between;margin-top:24px}.secondary{background:#f2f7f4;color:#28564c;border:1px solid #d6e6dd}.secondary:hover{background:#e4f2e9}.error{color:#b33636;font-size:13px;margin-top:12px}.shell{min-height:100vh;display:grid;grid-template-columns:242px 1fr}.sidebar{background:#143a3c;color:#e9f5ef;padding:30px 20px;display:flex;flex-direction:column;min-height:100vh}.sidebar .brand{padding:0 8px;margin-bottom:56px}.side-label{color:#86aaa0;margin:0 10px 16px}.sidebar nav{display:grid;gap:6px}.nav{color:#b9d2c8;text-align:left;padding:13px 12px;border-radius:8px;background:transparent;font-size:14px;display:flex;gap:12px;align-items:center}.nav:hover,.nav.active{background:#285b52;color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid #38645d;padding:22px 10px 0;display:grid;gap:7px}.sidebar-bottom .side-label{margin:0}.sidebar-bottom small{color:#a4c3b6}.text-button{color:#b7d7c8;background:none;text-align:left;padding:8px 0;font-size:12px}.main{padding:42px clamp(20px,4vw,64px);min-width:0;max-width:1600px;width:100%;margin:auto}header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:42px}header h1{font-size:32px;letter-spacing:-.045em;margin:14px 0 4px}header p{margin:0}.breadcrumb{font-size:12px;color:#839b91}.breadcrumb span{margin:0 5px}.section-head,.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-head{margin-bottom:20px}.section-head p,.panel-head p{margin:5px 0}.badge{background:#e1f1e7;color:#34715b;padding:8px 12px;border-radius:20px;font-size:12px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:25px}.card,.panel{background:#fff;border:1px solid #e0ebe5;border-radius:12px;box-shadow:0 5px 22px #20463908}.card{padding:22px}.card small{color:#718b81}.card strong{font-size:23px;display:block;margin:16px 0 5px;letter-spacing:-.04em}.card span{font-size:12px;color:#719086}.panel{padding:24px;margin-bottom:20px}.panel-head{margin-bottom:22px}.panel-head h2{margin:0}.link{background:none;color:#197b61;font-weight:700;font-size:12px}.filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:18px 0 24px}.filters label{min-width:140px;flex:1}.filters button{min-height:41px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;min-width:600px}th{font-size:10px;letter-spacing:.09em;color:#8ba199;text-transform:uppercase;font-weight:700}td,th{padding:14px 10px;border-bottom:1px solid #edf2ef}td{font-size:13px}td small{color:#849b91}.pill{display:inline-block;background:#e7f5ec;color:#347e60;border-radius:20px;padding:5px 9px;font-size:11px}.row-action{background:none;color:#16765f;padding:5px;font-size:12px}.empty{text-align:center;color:#839a90;padding:35px 12px;font-size:14px}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:15px;margin-top:20px;font-size:12px;color:#748b82}.pagination button:disabled{opacity:.45;cursor:not-allowed}#notice:not(:empty){padding:12px 16px;border-radius:8px;background:#e5f4eb;color:#21644f;margin-bottom:20px;font-size:13px}#notice.error-notice{background:#fcebe9;color:#9d3732}dialog{border:0;border-radius:14px;padding:26px;width:min(640px,calc(100% - 32px));box-shadow:0 20px 70px #0f312d40}dialog::backdrop{background:#102c2ccc}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:24px}.close{font-size:26px;color:#779288;background:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wide{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.member-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.member-row select{width:auto;min-width:140px}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-brand{min-height:260px;padding:28px}.login-brand h1{font-size:36px;margin:35px 0 15px}.login-brand small{display:none}.login-panel{padding:36px 24px}.shell{display:block}.sidebar{min-height:0;padding:14px 18px}.sidebar .brand{margin:0 0 14px}.sidebar nav{display:flex;overflow:auto}.nav{white-space:nowrap;padding:10px}.sidebar>.side-label,.sidebar-bottom small,.sidebar-bottom .side-label{display:none}.sidebar-bottom{display:flex;justify-content:space-between;align-items:center;padding:8px 0 0;margin-top:8px}.main{padding:28px 18px}header{align-items:flex-start}header h1{font-size:26px}.compact{font-size:0}.compact::first-letter{font-size:18px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}}

.theme-control{gap:6px;font-size:12px}.login-theme{margin-top:26px}.sidebar-theme{color:#d4e9df;margin-bottom:12px}.sidebar-theme select{background:#214c49;border-color:#4c766b;color:#fff}.theme-control select{cursor:pointer}
:root[data-theme="dark"]{color-scheme:dark;color:#e6f1ec;background:#101e1e}
:root[data-theme="dark"] .login-panel{background:#101e1e}
:root[data-theme="dark"] .card,:root[data-theme="dark"] .panel,:root[data-theme="dark"] dialog{background:#1a3030;border-color:#36504a;color:#e6f1ec}
:root[data-theme="dark"] p,:root[data-theme="dark"] .card small,:root[data-theme="dark"] .card span,:root[data-theme="dark"] .pagination,:root[data-theme="dark"] .empty,:root[data-theme="dark"] td small{color:#b4c9bd}
:root[data-theme="dark"] label{color:#c1d5ca}
:root[data-theme="dark"] input,:root[data-theme="dark"] select,:root[data-theme="dark"] textarea{background:#162b2a;border-color:#49655c;color:#edf7f1}
:root[data-theme="dark"] .sidebar-theme select{background:#214c49;color:#fff}
:root[data-theme="dark"] .secondary{background:#294a42;border-color:#55776a;color:#e0f2e6}
:root[data-theme="dark"] .secondary:hover{background:#396257}
:root[data-theme="dark"] .link,:root[data-theme="dark"] .row-action{color:#8ed9b4}
:root[data-theme="dark"] .pill,:root[data-theme="dark"] .badge{background:#294e40;color:#c1efd0}
:root[data-theme="dark"] td,:root[data-theme="dark"] th{border-color:#36504a}
:root[data-theme="dark"] th,:root[data-theme="dark"] .breadcrumb,:root[data-theme="dark"] .eyebrow{color:#abc6b8}
:root[data-theme="dark"] #notice:not(:empty){background:#264b3f;color:#cef2dc}
:root[data-theme="dark"] #notice.error-notice{background:#5a302e;color:#ffd5d0}
:root[data-theme="dark"] .error{color:#ffb6ad}
@media(max-width:760px){.sidebar-bottom .sidebar-theme{display:flex;flex-direction:row;align-items:center;margin:0;gap:8px}.sidebar-theme select{width:auto;padding:7px}.sidebar-bottom{gap:12px;flex-wrap:wrap}}
