*{box-sizing:border-box}
:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#202020;background:#f4f5f7;font-synthesis:none}
body{margin:0;min-width:320px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}
.sidebar{background:#171717;color:#fff;padding:22px 14px;display:flex;flex-direction:column;gap:26px}
.brand{display:flex;align-items:center;gap:12px;padding:0 8px}
.brand-mark{display:grid;place-items:center;background:#f3c847;color:#171717;font-weight:900;width:43px;height:43px;border-radius:12px}
.brand strong,.brand small{display:block}.brand strong{font-size:15px;letter-spacing:.3px}.brand small{font-size:10px;color:#c6c6c6;margin-top:4px;letter-spacing:1.2px}
.navigation{display:grid;gap:6px}
.nav-item{width:100%;border:0;text-align:left;background:transparent;color:#d8d8d8;padding:12px 14px;border-radius:9px;font-weight:600}
.nav-item:hover,.nav-item.active{background:#f3c847;color:#171717}
.sidebar-footer{margin-top:auto;padding:12px 8px;color:#b7b7b7;font-size:11px}
.main-content{min-width:0;padding:26px clamp(16px,3vw,38px)}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:26px}
.eyebrow{font-size:11px;letter-spacing:1.3px;color:#777;font-weight:800}
h1{font-size:clamp(25px,3vw,34px);margin:7px 0 0}
h2{font-size:20px;margin:0}
h3{font-size:17px;margin:0 0 16px}
.topbar-actions{display:flex;align-items:center;gap:12px;color:#555;font-size:13px}
.panel,.stat-card{background:white;border:1px solid #e7e7e7;border-radius:14px;padding:20px;margin-bottom:18px;box-shadow:0 4px 16px #11100005}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}
.stat-card{margin:0;padding:18px}.stat-label{font-size:12px;color:#6d6d6d;font-weight:700}.stat-value{font-size:25px;font-weight:850;margin-top:9px;overflow-wrap:anywhere}.gold{color:#b28700}.danger{color:#b42318}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 14px}.page-heading h3{margin:0}
.btn{border:1px solid #d6d6d6;background:#fff;color:#222;padding:9px 13px;border-radius:8px;font-weight:700;font-size:13px}
.btn:hover{filter:brightness(.97)}.btn-primary{background:#f3c847;border-color:#f3c847;color:#171717}.btn-outline{background:#fff}
.action-row{display:flex;gap:8px;flex-wrap:wrap}
.toolbar{display:flex;gap:10px;margin-bottom:14px}.toolbar input{flex:1}
input,select,textarea{width:100%;min-width:0;padding:10px 11px;border:1px solid #d7d7d7;border-radius:8px;background:#fff;color:#222}
textarea{min-height:90px;resize:vertical}
.field{display:grid;gap:7px;font-size:12px;font-weight:750;color:#4b4b4b}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}
th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #ededed;vertical-align:middle}
th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#777;background:#fafafa}
tbody tr:last-child td{border-bottom:0}.muted{color:#737373}.small{font-size:12px}
.badge{display:inline-block;padding:5px 8px;border-radius:20px;background:#eee;color:#444;font-size:11px;font-weight:800;text-transform:capitalize}
.badge.paid,.badge.delivered,.badge.active{background:#e2f7e9;color:#16713a}.badge.partial,.badge.substituted{background:#fff1c8;color:#7c5a00}.badge.overdue,.badge.inactive,.badge.missed,.badge.cancelled{background:#ffe3e0;color:#a1261b}
.empty-state{text-align:center;padding:28px;color:#666}.empty-state strong{color:#222}
.app-dialog{width:min(760px,calc(100% - 24px));max-height:88vh;overflow:auto;border:0;border-radius:16px;padding:0;box-shadow:0 24px 80px #0004}
.app-dialog::backdrop{background:#1119;backdrop-filter:blur(3px)}
.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 22px;border-bottom:1px solid #eee;position:sticky;top:0;background:#fff;z-index:1}
.dialog-content{padding:20px}.dialog-content .panel{padding:14px}
.toast{position:fixed;right:20px;bottom:20px;z-index:20;background:#222;color:white;padding:13px 17px;border-radius:10px;box-shadow:0 8px 28px #0003;max-width:min(420px,calc(100% - 40px))}
.error-toast{background:#a1261b}.hidden{display:none!important}
.app-footer{text-align:center;color:#888;font-size:11px;padding:18px}
hr{border:0;border-top:1px solid #eee;margin:15px 0}
@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell{grid-template-columns:215px minmax(0,1fr)}}
@media(max-width:760px){.app-shell{display:block}.sidebar{padding:13px;gap:14px}.brand{padding:3px}.navigation{display:flex;overflow:auto;padding-bottom:4px}.nav-item{width:auto;white-space:nowrap;padding:10px 12px}.sidebar-footer{display:none}.main-content{padding:18px 13px}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;justify-content:space-between}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat-card{padding:13px}.stat-value{font-size:21px}.form-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start;flex-wrap:wrap}.panel{padding:15px}.toolbar{flex-direction:column}}
