*{box-sizing:border-box}body{margin:0;background:#edf2f5;color:#193547;font:17px Arial,sans-serif}header{background:#193547;color:white;padding:18px 4%;display:flex;align-items:center;justify-content:space-between}h1{font-size:25px}h2{font-size:22px}nav{display:flex;flex-wrap:wrap;gap:8px;background:#23485f;padding:10px 4%}main{max-width:1280px;margin:24px auto;padding:0 16px 80px}button,input,select,textarea{font:inherit;border:1px solid #9eb7c6;border-radius:7px;padding:12px;background:#fff;color:#193547;min-height:46px}button{cursor:pointer;background:#edf4f8}button.primary,.active{background:#116fc1;color:white}button:disabled{opacity:.55;cursor:wait}nav button:last-child{margin-inline-start:auto}label{display:flex;flex-direction:column;gap:7px}input[type=number],input[type=date]{direction:ltr;text-align:center}input,select,textarea{width:100%}.card{padding:24px;background:white;border:1px solid #c4d4df;border-radius:12px;margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.line{display:grid;grid-template-columns:1fr 1.6fr 1fr 1fr auto;gap:12px;padding:16px 0;border-bottom:1px solid #d9e3e8}.line button{align-self:end}.muted{font-size:14px;color:#526e7d}.error{color:#a22420;white-space:pre-wrap}.badge{padding:5px 9px;border-radius:5px;background:#edf2f6;display:inline-block;font-size:14px;margin:3px}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}th,td{padding:14px;text-align:right;border-bottom:1px solid #dae4ea}th{background:#f0f5f8}.auth{max-width:450px;margin:50px auto}.auth label{margin:18px 0}dialog{border:1px solid #abc1ce;border-radius:12px;padding:24px;max-width:500px;width:90%}dialog::backdrop{background:#17314677}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#193547;color:white;padding:16px 25px;border-radius:9px;z-index:99;max-width:90%}.summary{font-weight:bold;background:#e8f3eb;padding:18px;border-radius:8px}.bottom{position:sticky;bottom:0;background:#fff;padding:10px;border-top:1px solid #b9ccd8}.pending{background:#fff4d4}@media(max-width:800px){.grid{grid-template-columns:1fr 1fr}.line{grid-template-columns:1fr 1fr}.line button{grid-column:2}.card{padding:16px}header h1{font-size:20px}}@media(max-width:450px){.grid{grid-template-columns:1fr}nav{padding:8px}nav button{padding:9px;font-size:15px}}
