:root{--bg:#f4f6fa;--panel:#fff;--ink:#172033;--muted:#667085;--line:#e4e7ec;--brand:#2457a6;--brand2:#173b75;--ok:#087f5b;--warn:#b35c00;--bad:#b42318;--shadow:0 8px 24px rgba(16,24,40,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit}.layout{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.sidebar{background:#111a2e;color:#dce5f5;padding:22px 16px;position:sticky;top:0;height:100vh}.brand{font-weight:800;font-size:20px;letter-spacing:.2px;margin-bottom:4px}.version{font-size:11px;color:#92a4c3;margin-bottom:24px}.nav a{display:block;text-decoration:none;padding:10px 12px;margin:3px 0;border-radius:9px;color:#cbd7ea;font-size:14px}.nav a:hover,.nav a.active{background:#243451;color:#fff}.sidebar-foot{position:absolute;left:16px;right:16px;bottom:18px;font-size:12px;color:#8da0bf}.main{min-width:0}.topbar{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:5}.topbar .title{font-weight:700}.userbox{font-size:13px;text-align:right}.content{padding:26px;max-width:1500px;margin:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.page-head h1{margin:0;font-size:25px}.page-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{appearance:none;border:1px solid #cfd5df;background:#fff;color:#24324a;border-radius:8px;padding:9px 13px;font-weight:650;font-size:13px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover{border-color:#9ba8bb}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.danger{background:#fff0ef;border-color:#ffd0cc;color:var(--bad)}.btn.small{padding:6px 9px;font-size:12px}.grid{display:grid;gap:16px}.grid.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px rgba(16,24,40,.03);padding:18px}.metric .label{font-size:12px;color:var(--muted);font-weight:650}.metric .value{font-size:27px;font-weight:800;margin-top:6px}.metric .sub{font-size:11px;color:var(--muted);margin-top:3px}.panel-title{font-size:15px;font-weight:750;margin:0 0 13px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.input,.select,textarea{border:1px solid #cfd5df;background:#fff;border-radius:8px;padding:9px 10px;font:inherit;font-size:13px;color:var(--ink);outline:none}.input:focus,.select:focus,textarea:focus{border-color:#6f94cf;box-shadow:0 0 0 3px rgba(36,87,166,.11)}textarea{width:100%;min-height:90px;resize:vertical}.input.wide{min-width:280px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}table{border-collapse:collapse;width:100%;font-size:12.5px}th{background:#f7f9fc;color:#475467;font-size:11px;text-transform:uppercase;letter-spacing:.03em;text-align:left;padding:10px 11px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:10px 11px;border-bottom:1px solid #eef1f5;vertical-align:top}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcfe}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.muted{color:var(--muted)}.badge{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:10.5px;font-weight:750;white-space:nowrap}.badge.ok{background:#e7f6ef;color:#087f5b}.badge.warn{background:#fff4e5;color:#a65300}.badge.bad{background:#ffebe9;color:#b42318}.badge.info{background:#eaf1fb;color:#2457a6}.badge.neutral{background:#f0f2f5;color:#475467}.progress{height:7px;border-radius:99px;background:#edf0f5;overflow:hidden;min-width:90px}.progress>span{height:100%;display:block;background:var(--brand)}.split{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:16px}.steps{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin-bottom:16px}.step{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px;min-height:64px}.step .n{width:22px;height:22px;border-radius:50%;background:#e8edf5;display:grid;place-items:center;font-size:11px;font-weight:800;margin-bottom:5px}.step.done{border-color:#b5ddcd;background:#f6fcf9}.step.done .n{background:#0a8b61;color:#fff}.step .name{font-size:10.5px;font-weight:700;line-height:1.2}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.kv{border:1px solid var(--line);border-radius:9px;padding:10px}.kv b{font-size:10px;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:4px}.kv span{font-size:13px}.section{margin-top:16px}.section h2{font-size:16px;margin:0 0 10px}.doc-row{display:grid;grid-template-columns:1.3fr .8fr .8fr .8fr auto;gap:8px;align-items:center;border-bottom:1px solid #edf0f4;padding:10px 0}.doc-row:last-child{border:0}.notice{border-radius:9px;padding:10px 12px;font-size:12.5px;margin-bottom:12px}.notice.warn{background:#fff5e8;border:1px solid #ffd59a;color:#844400}.notice.info{background:#edf4ff;border:1px solid #cfe0ff;color:#234b83}.notice.ok{background:#edf9f4;border:1px solid #c3ead8;color:#156246}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field label{display:block;font-size:11px;color:#667085;font-weight:700;margin-bottom:5px}.field.full{grid-column:1/-1}.checklist-group{margin-bottom:15px}.checklist-group h3{font-size:13px;color:#344054;margin:0 0 7px}.check-row{display:grid;grid-template-columns:minmax(220px,1fr) 130px minmax(170px,.8fr);gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #eef1f5}.check-row:last-child{border:0}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#111a2e,#21477e)}.login-card{width:min(430px,calc(100% - 34px));background:#fff;border-radius:16px;padding:30px;box-shadow:0 20px 60px rgba(0,0,0,.28)}.login-card h1{margin:0;font-size:25px}.login-card p{color:var(--muted);font-size:13px}.login-card .field{margin-top:13px}.login-card .input{width:100%}.login-card .btn{width:100%;margin-top:17px;padding:11px}.flash{padding:10px 12px;border-radius:8px;margin-bottom:14px;font-size:13px}.flash.error{background:#ffebe9;color:#a32b20}.flash.success{background:#e9f7f0;color:#116348}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:12px;color:var(--muted)}.pagination a{color:var(--brand);text-decoration:none}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow:auto}.tabs a{padding:9px 11px;text-decoration:none;font-size:12px;font-weight:700;color:#667085;border-bottom:2px solid transparent;white-space:nowrap}.tabs a.active{border-bottom-color:var(--brand);color:var(--brand)}.template-list{display:grid;gap:8px}.template-item{border:1px solid var(--line);border-radius:9px;padding:10px;display:flex;justify-content:space-between;gap:10px;align-items:center}.smalltext{font-size:11px;color:var(--muted)}@media(max-width:1050px){.layout{grid-template-columns:82px 1fr}.sidebar{padding:20px 10px}.brand{font-size:13px}.version,.nav a span,.sidebar-foot{display:none}.nav a{text-align:center;padding:11px 6px}.grid.kpis{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(4,1fr)}.split{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.layout{display:block}.sidebar{height:auto;position:static;display:flex;align-items:center;gap:8px;overflow:auto}.brand{min-width:105px;margin:0}.nav{display:flex}.nav a{min-width:46px;margin:0}.topbar{padding:0 14px}.content{padding:16px}.page-head{display:block}.actions{margin-top:12px}.grid.kpis{grid-template-columns:1fr 1fr}.steps{grid-template-columns:repeat(2,1fr)}.detail-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.doc-row{grid-template-columns:1fr 1fr}.check-row{grid-template-columns:1fr}.input.wide{min-width:0;width:100%}}
