:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#132a42;background:#f3f7fb;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}h1,h2,h3,p{margin-top:0}h1{font-size:1.75rem;letter-spacing:-.04em}h2{font-size:1.15rem}h3{font-size:1rem}.muted,small{color:#6a7f92}small{font-size:.71rem;font-weight:750;letter-spacing:.11em}.login-wrap{display:grid;min-height:100vh;place-items:center;padding:20px;background:linear-gradient(140deg,#e8f4ff,#f8fbff)}.auth{width:min(420px,100%);padding:35px}.auth h1{margin:10px 0 3px}.auth h1 span,.brand b{color:#2c92d0}.auth p{color:#73869b;margin-bottom:27px}.logo{width:42px;height:42px;border-radius:12px;background:#156fa9;color:white;display:inline-grid;place-items:center;font-size:25px}.panel,.card{background:white;border:1px solid #e2eaf1;border-radius:18px;box-shadow:0 7px 24px rgba(26,57,91,.035)}.card{padding:20px}.sidebar{width:235px;position:fixed;left:0;top:0;bottom:0;background:#102c4b;color:#a8bdd2;padding:26px 14px;display:flex;flex-direction:column}.brand{font-size:1.2rem;font-weight:760;color:#fff;display:flex;align-items:center;gap:8px;margin:0 8px 40px}.brand .logo{width:32px;height:32px;font-size:20px}nav button,.logout{background:transparent;border:0;color:inherit;text-align:left}#nav{display:grid;gap:6px}#nav button{padding:13px 16px;border-radius:11px;font-size:1rem}#nav button span{margin-left:8px}#nav button.active,#nav button:hover{background:#214b70;color:#fff}.logout{margin-top:auto;padding:14px}.main{max-width:1450px;margin-left:235px;padding:34px 42px 90px}.main header{display:flex;justify-content:space-between;align-items:center;margin-bottom:29px}.main header h1{margin:4px 0}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#ddeefb;color:#1c6ea9;font-weight:700}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.gap{display:flex;gap:10px;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi .val{font-size:1.8rem;font-weight:800;margin-top:8px}.kpi small{letter-spacing:0}.section{margin-top:25px}.section h2{margin:0 0 14px}.btn{border:1px solid #cbdce9;background:#fff;color:#174668;padding:11px 15px;border-radius:10px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:#147cc0;color:white;border-color:#147cc0}.btn.primary:hover{background:#0e65a1}.btn.danger{color:#b53f43;border-color:#edc8c9}.btn.full{width:100%}.btn.small{padding:7px 10px;font-size:.83rem}.action{display:flex;flex-direction:column;align-items:flex-start;min-height:118px;gap:10px;font-size:1rem}.action .symbol{font-size:27px;color:#1d8bc8}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}td,th{padding:13px 12px;text-align:left;border-bottom:1px solid #edf1f5}th{color:#7a8999;font-size:.79rem;font-weight:650}td{font-size:.93rem}tr:last-child td{border:0}.pill{display:inline-flex;border-radius:20px;background:#e9f3fa;color:#286d98;padding:4px 10px;font-size:.76rem;font-weight:700}.pill.green{background:#e3f7ee;color:#237b57}.pill.gray{background:#f0f2f4;color:#64748b}.pill.orange{background:#fff2db;color:#9d6718}.empty{text-align:center;padding:45px 15px;color:#7890a5}.empty strong{display:block;color:#264360;font-size:1.1rem;margin-bottom:5px}form{display:grid;gap:14px}label{display:grid;gap:7px;font-weight:650;font-size:.87rem}input,select,textarea{width:100%;min-height:43px;border:1px solid #d4e0ec;border-radius:10px;background:white;color:#1b334a;padding:10px 12px}textarea{min-height:76px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #86c9f5;border-color:#2c92d0}input[type=checkbox]{width:18px;min-height:auto;accent-color:#1688ce}label.inline{display:flex;align-items:center;gap:8px}#modal{border:0;border-radius:18px;padding:0;width:min(560px,calc(100% - 22px));max-height:90dvh;box-shadow:0 20px 90px #081f3c55}#modal::backdrop{background:#142d4580}#modal .dialog-head{display:flex;justify-content:space-between;align-items:center;padding:22px 23px 8px}#modal .dialog-head h2{margin:0}#modalContent{padding:12px 23px 26px;max-height:75dvh;overflow:auto}.iconbtn{border:0;background:#edf4fb;border-radius:50%;width:32px;height:32px}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hint{color:#71869c;font-size:.85rem}.box-light{background:#f2f8fd;padding:13px;border-radius:12px}.box-light strong{font-size:1.1rem}.error{color:#c43b45;font-size:.85rem}.receipt-item{border:1px solid #e2eaf1;border-radius:12px;padding:13px;margin:10px 0;display:grid;gap:10px}.receipt-item .remove{justify-self:end}.buttonbar{display:flex;flex-wrap:wrap;gap:8px}.banner{padding:14px 17px;border-radius:13px;background:#e8f5fe;color:#216a97;margin-bottom:18px}.bottom-nav{display:none}#toast{position:fixed;z-index:50;bottom:95px;left:50%;transform:translateX(-50%);background:#173953;color:white;padding:11px 18px;border-radius:12px;box-shadow:0 6px 24px #0002;display:none;max-width:90%;text-align:center}.help{font-size:.8rem;color:#71869c}.itemline{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #eef2f6}.itemline:last-child{border:0}.nowrap{white-space:nowrap}
@media(max-width:950px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding:28px 22px 95px}}@media(max-width:680px){.sidebar{display:none}.main{margin:0;padding:23px 16px 105px}.main header{margin-bottom:19px}.main header h1{font-size:1.55rem}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-top:1px solid #e2eaf1;z-index:12;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -3px 20px #1434510d}.bottom-nav button{display:grid;justify-items:center;padding:10px 2px;gap:2px;font-size:23px;color:#8293a4}.bottom-nav button span{font-size:.66rem}.bottom-nav button.active{color:#087db9}.grid{gap:10px}.card{padding:15px;border-radius:14px}.formrow{grid-template-columns:1fr}.row.wrap{flex-wrap:wrap}.row.stack-mobile{align-items:flex-start;flex-direction:column}.action{min-height:108px;font-size:.9rem}.kpi .val{font-size:1.5rem}td,th{padding:11px 9px}#toast{bottom:90px}}

/* Ensure hidden screens remain hidden */
[hidden] { display: none !important; }
