:root{background:#eef3f9;color:#101828;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{align-items:center;background:#fff;border:1px solid #d7deea;border-radius:8px;color:#344054;cursor:pointer;display:inline-flex;font-weight:800;justify-content:center;min-height:36px;padding:7px 13px}button:disabled{cursor:wait;opacity:.65}input{background:#fff;border:1px solid #d7deea;border-radius:8px;color:#101828;min-height:38px;outline:none;padding:9px 12px;width:100%}input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}h1,p{margin:0}.login-page{align-items:center;display:flex;min-height:100vh;padding:24px}.login-panel{background:#fff;border:1px solid #e3e8f2;border-radius:8px;box-shadow:0 22px 70px #1018281a;display:grid;gap:16px;margin:auto;max-width:420px;padding:28px;width:100%}.brand-mark,.sidebar-brand span{align-items:center;background:#0f172a;border-radius:8px;color:#fff;display:inline-flex;font-size:20px;font-weight:950;height:42px;justify-content:center;width:42px}.login-panel h1{font-size:28px}.login-panel p{color:#667085}label{color:#344054;display:grid;font-size:13px;font-weight:900;gap:7px}.primary{background:#2563eb;border-color:#2563eb;color:#fff;width:100%}.error{background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;color:#be123c;font-size:13px;font-weight:800;padding:10px 12px}.app-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid #dbe2eb;display:flex;flex-direction:column;gap:20px;padding:18px 12px}.sidebar-brand{align-items:center;display:flex;gap:12px;padding:4px 6px 12px}.sidebar-brand strong{color:#101828;font-size:16px}.sidebar nav{display:grid;gap:6px}.nav-item{border-color:transparent;justify-content:flex-start;min-height:40px;padding-left:12px;width:100%}.nav-item.active{background:#eef4ff;border-color:#c7d7fe;color:#1d4ed8}.workspace{display:block;min-width:0;padding:28px}.content-stack{display:grid;gap:16px;margin:0 auto;max-width:1440px;width:100%}.topbar,.toolbar{align-items:center;display:flex;gap:16px;justify-content:space-between}.topbar{min-height:46px}.topbar h1{font-size:25px;margin-top:4px}.topbar span{color:#2563eb;font-size:13px;font-weight:950}.topbar nav{display:flex;gap:10px}.toolbar{background:#fff;border:1px solid #e3e8f2;border-radius:8px;box-shadow:0 10px 30px #0f172a09;padding:12px 14px}.metric{display:grid;gap:2px;min-width:108px}.metric small,.metric-card small{color:#667085;font-weight:800}.metric strong{color:#101828;font-size:24px}.metric-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.metric-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid+.metric-grid{margin-top:2px}.metric-card{background:#fff;border:1px solid #e3e8f2;border-radius:8px;display:grid;gap:8px;min-height:108px;padding:16px;box-shadow:0 10px 30px #0f172a09}.metric-card strong{color:#101828;font-size:28px}.primary-metric{border-color:#bfdbfe}.primary-metric strong{color:#1d4ed8}.search{max-width:360px;width:100%}.table-wrap{background:#fff;border:1px solid #e3e8f2;border-radius:8px;box-shadow:0 10px 30px #0f172a09;overflow:auto}table{border-collapse:collapse;min-width:900px;width:100%}th,td{border-bottom:1px solid #edf1f7;padding:12px 14px;text-align:left;vertical-align:top}th{background:#f8fafc;color:#667085;font-size:12px;font-weight:950}td{color:#344054;font-size:13px}td strong,td span,td small{display:block}td strong{color:#101828}td small{color:#98a2b3;font-size:11px;margin-top:5px}td b{background:#eef4ff;border-radius:999px;color:#2563eb;display:inline-flex;font-size:12px;padding:4px 8px}td b.paid{background:#dcfce7;color:#15803d}td b.pending{background:#fff7ed;color:#c2410c}.empty{color:#98a2b3;font-weight:800;padding:38px;text-align:center}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #dbe2eb;border-right:0}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-item{justify-content:center}.metric-grid,.metric-grid.compact{grid-template-columns:1fr}}@media (max-width: 640px){.workspace{padding:18px}.topbar,.toolbar{align-items:stretch;flex-direction:column}.topbar nav,.search{width:100%}.topbar button{flex:1}}
