:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172234;background:#f4f7f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,select,input{font:inherit}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,#e4f5f1,transparent 32%),linear-gradient(135deg,#f9fbfb,#e9f0f2)}.login-card{width:min(480px,100%);padding:46px;border:1px solid #dbe4e5;border-radius:24px;background:#fff;box-shadow:0 24px 70px #173b4530}.login-card img{width:210px;height:auto;margin-bottom:42px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:800;color:#18766d;margin:0 0 8px}.login-card h1,.topbar h1{margin:0;color:#172234;line-height:1.08}.login-card h1{font-size:38px}.lead{color:#596674;line-height:1.6;margin:22px 0 30px}.login-card button,.topbar button{border:0;border-radius:10px;padding:13px 18px;background:#14766d;color:white;font-weight:750;cursor:pointer;width:100%}.message,.notice{margin-top:18px;color:#a33131}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:#122d35;color:white;padding:24px 16px;display:flex;flex-direction:column}.logo{width:185px;padding:5px 8px 30px;filter:brightness(0) invert(1)}nav{display:grid;gap:6px}.nav-item{display:flex;gap:12px;align-items:center;border:0;border-radius:10px;background:transparent;color:#dce8ea;text-decoration:none;padding:12px 14px;text-align:left;cursor:pointer}.nav-item.active,.nav-item:hover{background:#ffffff14;color:white}.sidebar-foot{margin-top:auto;border-top:1px solid #ffffff1c;padding:20px 12px 0;display:grid;gap:5px;font-size:14px}.link-button{border:0;background:transparent;color:#9bd5cd;text-align:left;padding:0;cursor:pointer}main{padding:32px;min-width:0}.topbar{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:28px}.topbar h1{font-size:30px}.filters{display:flex;gap:12px;align-items:end}.filters label{display:grid;gap:6px;font-size:12px;color:#5c6874;font-weight:700}.filters select,.filters input{min-width:180px;border:1px solid #cfdadb;border-radius:9px;background:white;padding:10px}.filters .secondary{width:auto;padding:11px 16px}.notice{margin:0 0 18px;padding:13px 16px;border-radius:10px;background:#fff0ef;border:1px solid #f1cecb}.notice.success{background:#edf9f5;color:#176057;border-color:#bce4d8}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:14px;margin-bottom:18px}.summary-grid article{background:#fff;border:1px solid #dfe7e8;border-radius:14px;padding:18px}.summary-grid span{display:block;color:#687582;font-size:13px}.summary-grid strong{display:block;font-size:30px;margin-top:8px}.panel{background:white;border:1px solid #dfe7e8;border-radius:16px;overflow:hidden}.panel-head{padding:20px 22px;border-bottom:1px solid #e7eded}.panel-head h2{margin:0 0 4px;font-size:18px}.panel-head p{margin:0;color:#74808b;font-size:14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;background:#f8fafb;color:#64717e;text-transform:uppercase;letter-spacing:.05em;font-size:11px;padding:13px 16px}td{padding:16px;border-top:1px solid #eef2f2;vertical-align:middle}td strong,td small{display:block}td small{color:#7b8791;margin-top:6px}.badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800}.badge.ok{background:#dff5ec;color:#146a57}.badge.pending{background:#fff1cf;color:#8a5a00}.badge.danger{background:#ffe3e0;color:#a1302a}.pending-count{font-size:20px;color:#273643}.empty{text-align:center;padding:48px;color:#73808b}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.sidebar nav{display:flex;overflow:auto}.sidebar-foot{margin-top:20px}.topbar{align-items:stretch;flex-direction:column}.filters{flex-wrap:wrap}.summary-grid{grid-template-columns:repeat(2,1fr)}main{padding:20px}}@media(max-width:560px){.login-card{padding:30px}.login-card h1{font-size:30px}.summary-grid{grid-template-columns:1fr}.filters label,.filters select,.filters input{width:100%}.filters{display:grid}.app-shell{display:block}.sidebar{padding-bottom:16px}main{padding:16px}}
.empty button{width:auto;border:0;border-radius:9px;padding:10px 14px;background:#14766d;color:#fff;font-weight:700;cursor:pointer}dialog{border:0;border-radius:16px;padding:0;box-shadow:0 24px 70px #17223445;width:min(440px,calc(100% - 32px))}dialog::backdrop{background:#0e232d88}dialog form{padding:26px;display:grid;gap:16px}dialog h2,dialog p{margin:0}dialog p{color:#687582}dialog label{display:grid;gap:7px;font-size:13px;font-weight:700}dialog input{border:1px solid #cad6d8;border-radius:9px;padding:11px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.dialog-actions button{border:0;border-radius:9px;padding:11px 16px;background:#14766d;color:#fff;font-weight:700;cursor:pointer}.dialog-actions .secondary{background:#e9eff0;color:#263943}
.compact{padding:.45rem .7rem;font-size:.82rem;white-space:nowrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.check{display:flex;align-items:center;gap:.55rem}.check input{width:auto}.help{font-size:.85rem;color:var(--muted, #667085)}fieldset{border:1px solid #d9dfe8;border-radius:10px;padding:1rem;margin:.8rem 0}legend{font-weight:700;padding:0 .35rem}button:disabled{opacity:.5;cursor:not-allowed}
