:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#18283f;background:#f5f7fa;font-size:14px;font-synthesis:none;--navy:#142844;--blue:#3979df;--line:#e4e9f0;--muted:#7e8a9b}*{box-sizing:border-box}body{margin:0;background:#f5f7fa}a{color:#3674ce;text-decoration:none}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--navy);color:#f6f9fd;display:flex;flex-direction:column;padding:20px 14px}.brand{color:#fff;display:flex;align-items:center;gap:10px;padding:2px 8px 20px;font-size:14px;font-weight:700}.brand small{display:block;margin-top:4px;color:#9fb0c7;font-size:9px;letter-spacing:1.4px}.brand-mark{width:39px;height:39px;border:1px solid #6b91c1;border-radius:11px;display:grid;place-items:center;font-size:12px;letter-spacing:.4px}.signed-user{padding:12px 11px;margin-bottom:12px;background:#203856;border-radius:8px;font-size:12px}.signed-user small{display:block;color:#a3b2c7;margin-top:4px;font-size:10px}.sidebar nav{display:flex;flex-direction:column;gap:3px;overflow:auto}.nav-link{padding:10px 11px;border-radius:7px;color:#b9c5d5;font-size:12px}.nav-link:hover,.nav-link.active{color:#fff;background:#284260}.logout{margin-top:auto;border-top:1px solid #35506e;padding-top:12px}.logout button{width:100%;text-align:left;border:0;background:none;color:#c4cfdd;padding:9px 11px;font:inherit;font-size:12px;cursor:pointer}.main{margin-left:248px;min-width:0}.topbar{height:58px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;color:#617087;font-size:11px;position:sticky;top:0;z-index:2}.content{max-width:1500px;margin:0 auto;padding:28px 30px 44px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-head h1{font-size:23px;letter-spacing:-.5px;margin:0 0 6px}.page-head p,.panel p{font-size:12px;color:var(--muted);margin:0;line-height:1.55}.button{display:inline-flex;align-items:center;justify-content:center;min-height:35px;padding:0 12px;border:1px solid #dce3ec;background:#fff;border-radius:7px;color:#425269;font:inherit;font-size:11px;font-weight:600;cursor:pointer}.button:hover{background:#f8fafc}.button.primary,.primary{background:var(--blue);border-color:var(--blue);color:#fff}.button.tiny{min-height:27px;padding:0 9px;font-size:10px}.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.kpi,.panel{background:#fff;border:1px solid var(--line);border-radius:9px}.kpi{padding:16px}.kpi span{display:block;color:#748195;font-size:11px}.kpi strong{display:block;margin-top:9px;font-size:23px;letter-spacing:-.5px}.panel{margin:0 0 16px;padding:18px}.panel h2{font-size:14px;margin:0 0 8px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.table-panel{padding:0;overflow:hidden}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;background:#fafbfd;padding:11px 13px;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:.45px;color:#8b97a7;text-transform:uppercase}td{padding:12px 13px;border-bottom:1px solid #edf0f4;color:#48576d;font-size:11px;vertical-align:middle}tbody tr:last-child td{border-bottom:0}.empty{text-align:center;color:#8b97a7;padding:40px!important}.toolbar{display:flex;gap:8px;margin:0 0 13px}.toolbar input{flex:1}.field{display:flex;flex-direction:column;gap:6px;color:#536176;font-size:10px;font-weight:600}.field input,.field textarea,.field select,.toolbar input,.inline-form select{font:inherit;color:#35445a;border:1px solid #dfe5ed;border-radius:6px;background:#fff;padding:9px 10px;min-width:0}.field textarea{resize:vertical;line-height:1.6}.form-panel{margin-top:15px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid .full{grid-column:1/-1}.inline-form{display:flex;align-items:center;gap:5px}.inline-form select{padding:6px;max-width:180px;font-size:10px}.notice{padding:11px 13px;border-radius:7px;background:#eaf5ef;color:#287251;font-size:11px;margin-bottom:14px}.notice.error{background:#fff0ed;color:#a74939}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:#f3f6fa}.auth-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:14px;padding:27px;box-shadow:0 12px 35px #1528440c}.auth-card h1{font-size:21px;margin:17px 0 5px}.auth-card p{font-size:11px;color:var(--muted);line-height:1.55;margin:0 0 18px}.auth-card .field{margin-bottom:13px}.auth-card .primary{width:100%;min-height:40px;border:0;border-radius:7px;font-weight:700;cursor:pointer}.auth-card .brand-mark{width:42px;height:42px;background:#edf4ff;color:#326bbf;border-radius:11px;display:grid;place-items:center;font-size:12px;font-weight:800}.logout button:hover{background:#284260;border-radius:7px}footer{padding:17px 2px;color:#99a4b2;font-size:10px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stack-form{display:grid;gap:10px;margin-top:13px}.section-title{font-size:14px;color:#27374e;margin:0 0 9px}.check-field{display:flex;align-items:center;gap:7px;font-size:11px;color:#5a687d}.upload-inline{display:inline-flex;align-items:center;gap:5px;margin:3px}.upload-inline input{max-width:160px;font-size:10px}.auth-card .field{margin-bottom:13px}@media(max-width:950px){.sidebar{width:205px}.main{margin-left:205px}.content{padding:22px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.sidebar{position:static;width:auto;min-height:0;padding:9px 12px}.brand{padding:0}.signed-user,.logout{display:none}.sidebar nav{flex-direction:row;overflow:auto;margin-top:9px}.nav-link{white-space:nowrap;font-size:10px;padding:8px}.shell{display:block}.main{margin-left:0}.topbar{position:static;height:48px;padding:0 14px}.topbar span:last-child{display:none}.content{padding:17px 12px}.page-head{flex-direction:column}.page-head h1{font-size:20px}.kpi-grid{gap:8px}.kpi{padding:12px}.kpi strong{font-size:20px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.toolbar{flex-wrap:wrap}.toolbar input{flex-basis:100%}.settings-grid{grid-template-columns:1fr}table{min-width:720px}}
