:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#142c3b;background:#f2f6f8}*{box-sizing:border-box}body{margin:0}input,select,textarea,button{font:inherit}button{cursor:pointer}button:disabled{opacity:.5}button{background:white;border:1px solid #d4e2e6;border-radius:9px;padding:10px 12px;color:#183d4a;font-weight:650}button.primary{background:#25d366;color:#113b2a;border-color:#25d366}button.warn{color:#ab4750}.layout{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.side{background:linear-gradient(170deg,#102b3d,#174f4d);color:#fff;padding:22px 14px;display:flex;flex-direction:column;gap:25px}.brand{padding:8px 14px;font-size:19px;font-weight:800}.brand b{color:#25d366}.brand small{display:block;color:#a6cbca;font-size:12px;font-weight:400;margin-top:5px}.nav{display:grid;gap:7px}.nav button{width:100%;color:#d1e4e5;text-align:left;background:none;border:0;padding:14px}.nav button.on,.nav button:hover{background:#286854;color:#aff8cd}.side footer{margin-top:auto;color:#b6cecb;font-size:12px}.main{min-width:0}.top{padding:18px 28px;background:white;border-bottom:1px solid #e3ebef;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.top h1{font-size:20px;margin:0}.top small{color:#728590}.tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.top select{max-width:300px;padding:10px;border:1px solid #d2e1e5;border-radius:8px}.body{padding:25px 28px;max-width:1550px;margin:auto}.hero{background:linear-gradient(110deg,#163a4b,#226a58);border-radius:13px;padding:25px;color:white}.hero h2{font-size:24px;margin:0}.hero p{color:#d2e8e3;max-width:800px}.heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:16px}.heading h2{margin:0}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:16px 0}.card,.panel{border:1px solid #e1eaf0;background:white;border-radius:12px;padding:18px}.card small{color:#708694}.card b{display:block;font-size:26px;margin-top:10px}.panel{margin:14px 0}.panel h3{margin-top:0}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:15px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.field{display:grid;gap:5px}.field label{font-size:12px;color:#56707f;font-weight:700}.field input,.field select,.field textarea{border:1px solid #ccdce4;border-radius:8px;padding:10px;width:100%;min-width:0}.field textarea{height:75px}.table{overflow:auto}table{width:100%;border-collapse:collapse;min-width:750px}th{background:#f5f9fa;color:#6e8692;font-size:12px;text-align:left}td,th{padding:11px;border-bottom:1px solid #edf1f4;font-size:13px}td.num,th.num{text-align:right;white-space:nowrap}tfoot td{background:#f7faf8;font-weight:700}.tag{background:#e9f7f0;color:#266846;padding:5px 8px;border-radius:8px;font-size:12px}.note{border-left:4px solid #26c777;background:#edf9f3;padding:12px 15px;border-radius:7px;margin:14px 0;color:#266348;font-size:13px}.note.warn{border-color:#dda63a;background:#fff8e6;color:#725919}.note.err{border-color:#db5555;background:#fff0f0;color:#a03a3a}.empty{padding:30px;text-align:center;color:#768c96}.modalwrap{position:fixed;inset:0;background:#0b2029a8;z-index:5;display:grid;place-items:center;padding:20px}.modal{background:#fff;border-radius:16px;width:min(690px,100%);max-height:90vh;overflow:auto;padding:23px}.modal h2{margin:0}.modal .buttons{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.auth{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#102e40,#1f6c54);padding:20px}.authbox{background:white;border-radius:18px;padding:30px;width:min(450px,100%)}.authbox h1{margin-top:0}.authbox .field{margin:13px 0}.authbox button{width:100%;margin-top:10px}.muted{color:#768b93}.file{border:2px dashed #c5dfd2;padding:20px;border-radius:12px;background:#f6fcf7}.badge{font-size:12px;padding:6px 9px;border-radius:12px;background:#ecf8f1;color:#37754f}.badge.pending{background:#fff4df;color:#9b6c24}@media(max-width:1100px){.cards{grid-template-columns:1fr 1fr}.twocol{grid-template-columns:1fr}}@media(max-width:730px){.layout{display:block}.side{padding:12px;gap:10px}.side footer{display:none}.nav{display:flex;overflow:auto}.nav button{white-space:nowrap;padding:9px}.top,.body{padding:15px}.cards,.grid{grid-template-columns:1fr}}@media print{.side,.tools,button,.noprint,.modalwrap{display:none!important}.layout{display:block}.body{padding:0}.panel{break-inside:avoid}table{min-width:0}td,th{padding:5px}}