:root{--navy:#1a2744;--navy-light:#243459;--olive:#4a7c59;--olive-light:#5a9469;--amber:#e8a020;--danger:#c0392b;--canvas:#f5f6fa;--surface:#fff;--border:#dde1ea;--text-primary:#1a2744;--text-secondary:#5a6380;--text-muted:#8a93a8;--sidebar-width:240px;--header-height:56px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--canvas);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}.ant-layout{background:var(--canvas)!important}.ant-layout-sider,.ant-menu-dark{background:var(--navy)!important}.ant-menu-dark.ant-menu-root{border-inline-end:none!important}.ant-menu-dark .ant-menu-item-selected{background:var(--olive)!important}.ant-menu-dark .ant-menu-item:hover{background:var(--navy-light)!important}.ant-layout-header{background:var(--navy)!important;line-height:var(--header-height)!important;height:var(--header-height)!important;padding:0!important}.page-content{padding:24px}.page-title{color:var(--navy);margin-bottom:20px;font-size:20px;font-weight:600}.status-strip{background:var(--navy-light);color:#ffffffd9;white-space:nowrap;border-bottom:1px solid #ffffff14;flex-shrink:0;align-items:center;gap:28px;height:34px;padding:0 20px;font-size:12px;display:flex;overflow-x:auto}.status-strip .strip-item{align-items:center;gap:5px;display:flex}.status-strip .strip-label{opacity:.55}.status-strip .strip-value{font-weight:600}.status-strip .strip-value.warning{color:var(--amber)}.status-strip .strip-value.danger{color:#ff7875}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:18px 22px}.stat-card .stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.stat-card .stat-value{color:var(--navy);margin:4px 0;font-size:26px;font-weight:700}.stat-card .stat-sub{color:var(--text-secondary);font-size:12px}.stat-card.warning .stat-value{color:var(--amber)}.stat-card.danger .stat-value{color:var(--danger)}.stat-card.success .stat-value{color:var(--olive)}.tag-draft{color:#5a6380;background:#e8e8f0}.tag-issued{color:#0958d9;background:#e6f4ff}.tag-overdue{color:#c0392b;background:#fff1f0}.tag-paid{color:#389e0d;background:#f6ffed}.tag-cancelled{color:#8a93a8;background:#f5f5f5}.empty-state{color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;padding:60px 20px;display:flex}.empty-state .empty-icon{opacity:.25;font-size:44px}.empty-state .empty-title{color:var(--text-secondary);font-size:15px;font-weight:600}.login-wrapper{background:var(--navy);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border-radius:12px;width:100%;max-width:400px;padding:44px 40px;box-shadow:0 20px 60px #0006}.login-logo{flex-direction:column;align-items:center;gap:12px;margin-bottom:32px;display:flex}.login-logo-mark{background:var(--olive);color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:22px;font-weight:800;display:flex}.login-logo h1{color:var(--navy);text-align:center;margin:0;font-size:21px;font-weight:700}.login-logo p{color:var(--text-secondary);text-align:center;margin:0;font-size:12px}
