:root{--blue:#2563eb;--blue-dk:#1d4ed8;--blue-soft:#eff4ff;--ink:#0f172a;--muted:#64748b;--line:#e6ebf2;--bg:#f4f7fb;--card:#fff;--green:#0f9d58;--green-soft:#e9f7ef;--amber:#c2680c;--amber-soft:#fff6ec;--red:#d64545;--red-soft:#fdeeee;--shadow:0 1px 2px rgba(15,23,42,.05),0 1px 3px rgba(15,23,42,.04);--shadow-lg:0 8px 30px rgba(15,23,42,.1);--radius:12px}*{box-sizing:border-box;margin:0;padding:0}body,html{max-width:100%;overflow-x:hidden}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:14px}a{color:inherit;text-decoration:none}.shell{display:flex;min-height:100vh}.sidebar{width:236px;flex-shrink:0;background:var(--card);border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;z-index:40}.brand{display:flex;gap:11px;align-items:center;padding:6px 8px 16px}.logo{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--blue),var(--blue-dk));display:grid;place-items:center;color:#fff;font-weight:800;box-shadow:0 4px 12px rgba(37,99,235,.3)}.brand b{font-size:15.5px;letter-spacing:-.02em}.brand span{display:block;font-size:11px;color:var(--muted)}.nav{flex-direction:column;overflow-y:auto;gap:1px}.nav,.nav a{display:flex}.nav a{align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-radius:9px;font-size:13.5px;font-weight:500;color:#475569}.nav a.active,.nav a:hover{background:var(--blue-soft);color:var(--blue-dk)}.nav a.active{font-weight:600}.nav .navbadge{background:var(--amber);color:#fff;font-size:10.5px;font-weight:700;border-radius:20px;padding:1px 7px;min-width:18px;text-align:center}.main{flex:1 1;min-width:0;display:flex;flex-direction:column}.topbar{min-height:56px;background:var(--card);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 20px;font-size:13px;color:#475569;position:-webkit-sticky;position:sticky;top:0;z-index:30}.content{padding:22px clamp(14px,3vw,30px);max-width:1180px;width:100%}.hamburger{display:none;background:none;border:1px solid var(--line);border-radius:8px;width:38px;height:34px;cursor:pointer;align-items:center;justify-content:center}.hamburger span,.hamburger span:after,.hamburger span:before{content:"";display:block;width:17px;height:2px;background:#334155;border-radius:2px;position:relative}.hamburger span:before{position:absolute;top:-5px}.hamburger span:after{position:absolute;top:5px}.scrim{display:none}h1{font-size:21px;letter-spacing:-.02em;font-weight:700}.sub{font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.5}.kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin:18px 0}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:15px 17px;box-shadow:var(--shadow);position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue)}.kpi.g:before{background:var(--green)}.kpi.a:before{background:var(--amber)}.kpi.r:before{background:var(--red)}.kpi.n:before{background:#64748b}.kpi .l{font-size:11.5px;color:var(--muted);font-weight:500}.kpi .v{font-size:18px;font-weight:700;letter-spacing:-.03em;margin-top:6px;white-space:nowrap}.kpi .d{font-size:11px;color:var(--muted);margin-top:3px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);margin-bottom:16px}.card h2{font-size:14.5px;font-weight:650}.card h2,.card-hd{margin-bottom:12px}.card-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.card-hd h2{margin-bottom:0}.tablewrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;border-bottom:1px solid var(--line);white-space:nowrap;font-weight:700}td,th{padding:9px 10px}td{border-bottom:1px solid #f1f5f9}tbody tr:hover{background:#fafbfe}.r{text-align:right}.r,.r.mono,td.mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,monospace;color:var(--blue-dk);font-weight:600;font-size:12.5px}tfoot td{border-top:2px solid var(--line);border-bottom:none}.tie{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;font-weight:600;color:var(--green);background:var(--green-soft);border:1px solid #0f9d5833;padding:7px 13px;border-radius:20px}.pill{font-weight:600;color:var(--blue-dk);background:var(--blue-soft)}.badge,.pill{font-size:10.5px;border-radius:20px;padding:2px 9px;display:inline-block}.badge{font-weight:700;white-space:nowrap}.badge.paid{background:var(--green-soft);color:var(--green)}.badge.partial{background:var(--blue-soft);color:var(--blue-dk)}.badge.unpaid{background:var(--amber-soft);color:var(--amber)}.btn{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,var(--blue),var(--blue-dk));color:#fff;border:none;padding:10px 18px;border-radius:9px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit;box-shadow:0 2px 6px rgba(37,99,235,.25)}.btn:hover{filter:brightness(1.05)}.btn:disabled{opacity:.55;cursor:default;box-shadow:none}.btn.sec{background:#f1f5f9;color:#475569;box-shadow:none}.btn.sec:hover{background:#e9eef6}.btn.ok{background:#16794a;box-shadow:0 2px 6px rgba(22,121,74,.25)}.btn.danger{background:var(--red);box-shadow:none}.btn.sm{padding:6px 12px;font-size:12.5px}.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:12px;gap:12px}.cat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}.cat b{font-size:13.5px}.cat .m{font-size:11.5px;color:var(--muted);margin-top:3px}.replink{display:block;color:#475569;border-radius:6px;padding:3px 6px;margin:0 -6px}.replink:hover{background:var(--blue-soft);color:var(--blue-dk)}.link{color:var(--blue-dk);font-size:13px;font-weight:600}.link:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit}input:focus,select:focus,textarea:focus{outline:2px solid #2563eb33;outline-offset:0;border-color:var(--blue)!important}@media (max-width:920px){.kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.hamburger{display:inline-flex}.sidebar{position:fixed;left:0;top:0;height:100vh;transform:translateX(-104%);transition:transform .22s ease;box-shadow:var(--shadow-lg);width:260px}.sidebar.open{transform:translateX(0)}.scrim.show{display:block;position:fixed;inset:0;background:rgba(15,23,42,.4);z-index:35}.content{padding:16px}.kpis{grid-template-columns:1fr 1fr;gap:10px}.kpi .v{font-size:18px}.content [style*=grid-template-columns]{grid-template-columns:1fr!important}.card>.tablewrap>table,.card>table{min-width:520px}.card{overflow-x:auto}h1{font-size:19px}}@media (max-width:420px){.kpis{grid-template-columns:1fr}}