:root{font-family:Inter,system-ui,Arial;color:#172033;background:#f5f7fb}body{margin:0}header{background:#13233f;color:white;padding:20px 28px;box-shadow:0 2px 10px #0002}header h1{margin:0 0 4px}button,select{border:1px solid #b8c2d6;background:white;border-radius:8px;padding:8px 10px;margin:4px;cursor:pointer}main{display:grid;grid-template-columns:290px 1fr;min-height:calc(100vh - 130px)}nav{background:#fff;border-right:1px solid #d8deea;padding:12px;overflow:auto}nav button{display:block;width:100%;text-align:left;margin:3px 0}.active{background:#dbeafe;border-color:#2563eb;color:#173b78;font-weight:700}article{padding:24px;overflow:auto}.hero,.notice{background:white;border-left:5px solid #2563eb;border-radius:12px;padding:18px;margin-bottom:18px;box-shadow:0 1px 4px #0001}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:16px 0}.card{background:white;border-radius:14px;padding:16px;border-top:5px solid #cbd5e1;box-shadow:0 1px 5px #0001}.card span{display:block;color:#526070;font-size:.85rem}.card strong{font-size:1.35rem}.green{border-color:#16a34a}.yellow{border-color:#dca10b}.red{border-color:#dc2626}.gray{border-color:#94a3b8}.warn{background:white;border-left:5px solid #dca10b;border-radius:8px;padding:10px 12px;margin:8px 0}.warn.red{border-left-color:#dc2626}.ok{color:#166534}table{width:100%;border-collapse:collapse;background:white;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #0001}th,td{border-bottom:1px solid #e5e7eb;padding:9px;text-align:left;vertical-align:top}th{background:#edf2fb;color:#24324b;position:sticky;top:0}@media print{nav,header button,header select{display:none}main{display:block}article{padding:0}.card,table,.hero{box-shadow:none}}
.login{display:grid;grid-template-columns:1fr;place-items:center;min-height:100vh;width:100%;background:linear-gradient(135deg,#13233f,#315174)}.login-card{width:min(440px,90vw);background:white;border-radius:18px;padding:28px;box-shadow:0 24px 80px #0005}.login-card label{display:grid;gap:8px;margin:18px 0}.login-card input{font:inherit;border:1px solid #b8c2d6;border-radius:10px;padding:12px}.login-card button{width:100%;background:#13233f;color:white;border-color:#13233f;font-weight:700}.muted{color:#64748b;font-size:.9rem}
header{padding-top:max(20px,env(safe-area-inset-top))}
@media(max-width:820px){header{padding:14px 16px;padding-top:max(14px,env(safe-area-inset-top))}header h1{font-size:1.2rem}main{grid-template-columns:1fr;min-height:auto}nav{border-right:none;border-bottom:1px solid #d8deea;display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;padding:8px;position:sticky;top:0;z-index:5}nav button{display:inline-block;width:auto;flex:0 0 auto;margin:0}article{padding:16px}.grid{grid-template-columns:1fr 1fr;gap:10px}.card{padding:13px}.card strong{font-size:1.15rem}table{display:block;overflow-x:auto;white-space:nowrap}th{position:static}}
@media(max-width:520px){.grid{grid-template-columns:1fr}button,select{padding:11px 13px}}
/* header chrome */
header{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.brand h1{margin:0}.brand .muted{color:#c7d2e6;font-size:.78rem}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.chip{font-size:.78rem;padding:5px 10px;border-radius:999px;background:#e5edfb;color:#24324b}.chip.ok{background:#dcfce7;color:#166534}.chip.warn{background:#fef3c7;color:#92600a}
/* editable field rows */
.panel{background:white;border-radius:14px;padding:16px 18px;margin:14px 0;box-shadow:0 1px 5px #0001}.panel h3{margin:0 0 10px}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px 20px}.field{display:flex;flex-direction:column;gap:5px}.flabel{font-size:.85rem;color:#41506a;font-weight:600}.hint{display:block;font-weight:400;color:#7a879c;font-size:.76rem;margin-top:2px}.field input[type=text],.field input[type=number],.field input[type=date],.field select{font:inherit;border:1px solid #c2ccdd;border-radius:8px;padding:9px 10px;width:100%;box-sizing:border-box}.field input[type=checkbox]{width:22px;height:22px;align-self:start}.control{position:relative;display:flex;align-items:center}.control .unit{position:absolute;color:#8592a6;font-size:.85rem;pointer-events:none}.control.money .unit{left:10px}.control.money input{padding-left:22px}.control.pct .unit{right:10px}.control.pct input{padding-right:24px}
/* labeled fact rows */
.facts{display:grid;gap:6px;margin:12px 0}.fact{display:flex;justify-content:space-between;gap:12px;align-items:baseline;background:white;border-radius:9px;padding:9px 13px;box-shadow:0 1px 3px #0001}.fact span{color:#526070}.fact b{font-variant-numeric:tabular-nums;font-size:1.02rem}.fact.good b{color:#166534}.fact.warn b{color:#92600a}.fact.bad b{color:#b91c1c}
.tablewrap{overflow-x:auto;margin:10px 0}.tablewrap input.cell{font:inherit;border:1px solid #c2ccdd;border-radius:6px;padding:6px 7px;width:120px}.tablewrap input[type=checkbox]{width:20px;height:20px}
@media(max-width:520px){.fields{grid-template-columns:1fr}}
