:root{font-family:Arial,sans-serif;color:#182838;background:#eef3f7}*{box-sizing:border-box}body{margin:0}header{background:#18517a;color:#fff;padding:18px max(20px,calc((100% - 1180px)/2));display:flex;justify-content:space-between;align-items:center}header div{display:flex;gap:18px;align-items:center}header span{opacity:.85}main{max-width:1180px;margin:22px auto;padding:0 16px}.card{background:#fff;border-radius:14px;padding:20px;margin-bottom:18px;box-shadow:0 4px 20px #16384d14}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wide{grid-column:1/-1}label{font-size:13px;font-weight:700;display:flex;flex-direction:column;gap:6px}input,select{padding:11px;border:1px solid #c7d2dc;border-radius:8px;font:inherit}button{background:#1b6696;color:#fff;border:0;border-radius:8px;padding:11px 16px;font-weight:700;cursor:pointer}.secondary{background:#dfeaf1;color:#174867}.title{display:flex;justify-content:space-between;align-items:center}.item{border:1px solid #dce5eb;border-radius:10px;padding:14px;margin:10px 0}.top{display:flex;justify-content:space-between;gap:12px}.status{font-size:12px;background:#edf4f8;padding:6px 9px;border-radius:999px;white-space:nowrap}.meta{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0;font-size:13px}.actions{display:flex;flex-wrap:wrap;gap:8px}.actions button{padding:8px 11px}.danger{background:#a63c3c}.ok{background:#2e7d4d}#msg{margin-left:10px;font-size:13px}@media(max-width:760px){.grid,.meta{grid-template-columns:1fr}.wide{grid-column:auto}.top{flex-direction:column}header span{display:none}}
.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:14px 0 22px}.kpi{border:1px solid #dbe3ec;border-radius:10px;padding:14px;background:#f8fafc}.kpi b{display:block;font-size:26px;color:#173a5e}.kpi span{font-size:13px;color:#5a6876}.kpi.warn b,.over{color:#b54708;font-weight:700}.over-card{border-left:5px solid #f79009}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:9px 10px;border-bottom:1px solid #e5e9ef;text-align:left;white-space:nowrap}th{background:#f5f7fa}label small{display:block;margin-top:4px;color:#667085;font-weight:400}
.month-panel{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.month-panel label{min-width:180px}.hint{color:#667085;font-size:13px}.month-title{margin:14px 0 8px}.empty-note{padding:14px;background:#f8fafc;border-radius:8px;color:#667085}
