@import "https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";
:root{--blue-50:#eef4fb;--blue-100:#d6e6f5;--blue-200:#aecced;--blue-300:#7fb0e2;--blue-400:#5191d2;--blue-500:#2871b8;--blue-600:#21609f;--blue-700:#1c4f83;--blue-800:#1a4269;--blue-900:#15375a;--cafe-50:#f6f4f3;--cafe-100:#ebe7e6;--cafe-200:#d8d1cf;--cafe-300:#beb4b1;--cafe-400:#968a87;--cafe-500:#6f6462;--cafe-600:#5b5250;--cafe-700:#4f3f3f;--cafe-800:#3c3130;--cafe-900:#2a2322;--gray-0:#fff;--gray-50:#f7f8f9;--gray-100:#eef0f2;--gray-200:#e1e4e7;--gray-300:#cbd0d4;--gray-400:#999;--gray-500:#6e7378;--gray-600:#4f5458;--gray-700:#3a3e41;--gray-800:#333;--gray-900:#1d1f21;--success-50:#eaf5ee;--success-100:#cce8d6;--success-500:#2f8f5b;--success-700:#1f6b41;--warning-50:#fbf3e3;--warning-100:#f6e4c2;--warning-500:#d4922a;--warning-700:#9c6814;--danger-50:#fbecea;--danger-100:#f6d3ce;--danger-500:#c0392b;--danger-700:#8f261b;--brand-primary:var(--blue-500);--brand-primary-hover:var(--blue-600);--brand-ink:var(--cafe-700);--surface-page:var(--cafe-50);--surface-card:var(--gray-0);--surface-sunken:var(--cafe-100);--surface-hover:var(--cafe-100);--surface-selected:var(--blue-50);--text-strong:var(--gray-900);--text-body:var(--gray-800);--text-muted:var(--gray-500);--text-subtle:var(--gray-400);--text-link:var(--blue-600);--border-subtle:#e8e2df;--border-default:#d8d0cd;--border-strong:var(--cafe-400);--border-focus:var(--blue-500);--font-display:"Jost","Century Gothic","Futura",system-ui,sans-serif;--font-sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:18px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:30px;--ls-wider:.12em;--radius-sm:2px;--radius-md:2px;--radius-lg:3px;--shadow-xs:0 1px 2px #1d1f210f;--shadow-sm:0 1px 3px #1d1f2114,0 1px 2px #1d1f210f;--shadow-md:0 2px 6px #1d1f2114,0 4px 12px #1d1f210f;--shadow-focus:0 0 0 3px #2871b84d;--sidebar-w:248px;--topbar-h:60px;--container-max:1280px}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--fs-md);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.5}h1,h2,h3{font-family:var(--font-display);color:var(--text-strong);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.1}p{margin:0}a{color:var(--text-link);text-decoration:none}.num,[data-num]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--font-display);font-weight:600;font-size:var(--fs-xs);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--brand-primary)}.muted{color:var(--text-muted)}.subtle{color:var(--text-subtle)}::selection{background:var(--blue-200);color:var(--gray-900)}.shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);color:var(--gray-0);background:#1e1917;flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.sidebar-head{border-bottom:1px solid #ffffff1f;padding:18px 18px 14px}.sidebar-head .brand{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);color:#fff;letter-spacing:.02em}.sidebar-head .obra{font-size:var(--fs-sm);color:var(--cafe-200);margin-top:2px}.sidebar-head .cc{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--cafe-300);margin-top:2px}.nav{flex-direction:column;gap:2px;padding:10px 8px;display:flex}.nav a{border-radius:var(--radius-md);color:#ffffffb8;font-size:var(--fs-md);align-items:center;gap:10px;padding:9px 12px;font-weight:500;display:flex}.nav a:hover{color:#fff;background:#ffffff08;text-decoration:none}.nav a.active{color:#fff;box-shadow:inset 3px 0 0 var(--blue-500);background:#ffffff0f;font-weight:600}.nav a .ic{text-align:center;opacity:.9;width:18px}.sidebar-foot{font-size:var(--fs-2xs);color:var(--cafe-300);font-family:var(--font-mono);border-top:1px solid #ffffff1f;margin-top:auto;padding:14px 18px}.content{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{height:var(--topbar-h);background:var(--surface-card);border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:0 24px;display:flex}.topbar .brand{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-strong);font-weight:700}.topbar .spacer{flex:1}.topbar .back{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-muted)}.wrap{max-width:var(--container-max);width:100%;margin:0 auto;padding:24px}.page-title{font-size:var(--fs-2xl);margin:2px 0 4px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0;display:flex}.field{background:var(--gray-0);border:1px solid var(--border-default);border-radius:var(--radius-md);align-items:center;height:40px;padding:0 10px;display:flex}.field:focus-within{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.field input{font-family:var(--font-sans);font-size:var(--fs-md);color:var(--text-strong);background:0 0;border:none;outline:none;min-width:220px}.field .ic{color:var(--text-muted);margin-right:6px}.sel{position:relative}.sel select{appearance:none;background:var(--gray-0);border:1px solid var(--border-default);border-radius:var(--radius-md);height:40px;font-family:var(--font-sans);font-size:var(--fs-md);color:var(--text-strong);cursor:pointer;outline:none;padding:0 34px 0 12px}.sel:after{content:"▾";color:var(--text-muted);pointer-events:none;font-size:12px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.count{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-muted);margin-left:auto}.panel{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.tblwrap{overflow-x:auto}table.tbl{border-collapse:collapse;width:100%;font-size:var(--fs-md)}.tbl th{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);text-align:right;border-bottom:1.5px solid var(--border-default);white-space:nowrap;background:var(--gray-50);padding:11px 14px;font-weight:500}.tbl th:first-child,.tbl td:first-child{text-align:left}.tbl td{border-bottom:1px solid var(--border-subtle);text-align:right;font-variant-numeric:tabular-nums;color:var(--text-body);padding:11px 14px}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr.clickable{cursor:pointer}.tbl tbody tr.clickable:hover{background:var(--surface-selected)}.tbl tfoot td{border-top:1.5px solid var(--border-default);background:var(--gray-50);color:var(--text-strong);font-weight:700}.tbl .name{color:var(--text-strong);font-weight:600}.tbl .cc{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-subtle)}.code{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--blue-700);font-weight:500}.n{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.badge{height:21px;font-size:var(--fs-xs);border-radius:var(--radius-sm);white-space:nowrap;align-items:center;gap:6px;padding:0 8px;font-weight:600;display:inline-flex}.badge .dot{flex-shrink:0;width:7px;height:7px}.badge--neutral{background:var(--gray-100);color:var(--gray-700)}.badge--neutral .dot{background:var(--gray-500)}.badge--brand{background:var(--blue-50);color:var(--blue-700)}.badge--brand .dot{background:var(--blue-500)}.badge--success{background:var(--success-50);color:var(--success-700)}.badge--success .dot{background:var(--success-500)}.badge--warning{background:var(--warning-50);color:var(--warning-700)}.badge--warning .dot{background:var(--warning-500)}.badge--danger{background:var(--danger-50);color:var(--danger-700)}.badge--danger .dot{background:var(--danger-500)}.kpis{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.kpi{background:var(--surface-card);border:1px solid var(--border-default);border-top:2px solid var(--border-default);border-radius:var(--radius-sm);padding:16px 18px}.kpi.accent{border-top-color:var(--brand-primary)}.kpi .lab{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-muted);font-weight:500}.kpi .val{font-family:var(--font-mono);font-size:var(--fs-3xl);color:var(--text-strong);font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin-top:12px;font-weight:500;line-height:1}.kpi .val small{font-size:var(--fs-sm);color:var(--text-muted);font-weight:500}.kpi .note{font-family:var(--font-sans);font-size:var(--fs-xs);color:var(--text-muted);margin-top:8px}a.kpi{transition:box-shadow var(--dur-base,.2s) ease, border-color var(--dur-base,.2s) ease;text-decoration:none;display:block}a.kpi:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);text-decoration:none}.kpi .go{font-family:var(--font-sans);font-size:var(--fs-xs);color:var(--text-link);margin-top:10px;font-weight:600}.kpi.ok .val{color:var(--success-700)}.kpi.warn .val{color:var(--warning-700)}.kpi.crit .val{color:var(--danger-700)}.kpi.blue .val{color:var(--brand-primary)}.bar{background:var(--cafe-100);border-radius:var(--radius-sm);vertical-align:middle;width:110px;height:8px;display:inline-block;overflow:hidden}.bar>i{height:100%;display:block}.bar>i.t-brand{background:var(--brand-primary)}.bar>i.t-success{background:var(--success-500)}.bar>i.t-warning{background:var(--warning-500)}.bar>i.t-danger{background:var(--danger-500)}.btn{height:40px;font-family:var(--font-sans);font-size:var(--fs-md);border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;display:inline-flex}.btn--primary{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.btn--primary:hover{background:var(--brand-primary-hover)}.btn--secondary{background:var(--gray-0);color:var(--brand-ink);border-color:var(--border-default)}.empty{text-align:center;color:var(--text-muted);padding:40px 24px}@media (max-width:820px){.sidebar{display:none}.kpis{grid-template-columns:1fr 1fr}.field input{min-width:140px}}@media print{.sidebar,.topbar,.toolbar,.no-print{display:none!important}.content,.wrap{max-width:none!important;padding:0!important}body{background:#fff}.panel{break-inside:avoid;box-shadow:none!important;border-color:#cfcfcf!important}.kpi{border-color:#cfcfcf!important}a{color:inherit!important;text-decoration:none!important}.print-title{display:block!important}}.print-title{display:none}
