:root{--color-bg:#f5ead8;--color-surface:#ebddc5;--color-text:#201e1d;--color-accent:#c67139;--color-accent-2:#7a8a5e;--color-divider:#201e1d29;--color-neutral-100:#f9f4ed;--color-neutral-200:#eee7db;--color-neutral-300:#dcd3c4;--color-neutral-400:#c0b6a5;--color-neutral-500:#a19786;--color-neutral-600:#82796a;--color-neutral-700:#645c50;--color-neutral-800:#474238;--color-neutral-900:#2e2b25;--color-accent-100:#fff2eb;--color-accent-200:#ffe1d0;--color-accent-300:#ffc6a5;--color-accent-400:#f6a06b;--color-accent-500:#d67f48;--color-accent-600:#b2622d;--color-accent-700:#8c491a;--color-accent-800:#643312;--color-accent-900:#402310;--color-accent-2-100:#f0fae1;--color-accent-2-200:#e1eecc;--color-accent-2-300:#ccdbb2;--color-accent-2-400:#aebf92;--color-accent-2-500:#8fa073;--color-accent-2-600:#728157;--color-accent-2-700:#56633f;--color-accent-2-800:#3d472b;--color-accent-2-900:#272e1b;--font-heading:"Caprasimo", system-ui, sans-serif;--font-body:"Figtree", system-ui, sans-serif;--radius-sm:3px;--radius-md:5px;--radius-lg:8px;--shadow-sm:0 1px 2px #2e2b2524;--shadow-md:0 3px 10px #2e2b2529}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);margin:0;font-size:14px;line-height:1.55}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.015em;margin:0;font-weight:400;line-height:1.12}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--color-accent-900);color:var(--color-accent-200);flex-direction:column;gap:22px;padding:22px 16px;display:flex}.sidebar-brand{font-family:var(--font-heading);color:var(--color-bg);font-size:19px}.nav-group-title{letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-500);margin-bottom:6px;font-size:10px}.nav-item{border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:8px;margin-bottom:2px;padding:7px 11px;font-size:13.5px;display:flex}.nav-item:hover{background:color-mix(in srgb, var(--color-accent-200) 12%, transparent)}.nav-item.is-active{background:var(--color-accent-700);color:var(--color-bg)}.nav-badge{border-radius:var(--radius-sm);background:var(--color-accent-600);color:var(--color-bg);padding:1px 7px;font-size:10.5px}.nav-item.is-active .nav-badge{background:var(--color-accent-900);color:var(--color-accent-100)}.main{min-width:0;padding:30px 34px 64px}.page-title{font-size:32px}.page-sub{color:var(--color-neutral-700);margin-top:7px;font-size:13px}.chips{flex-wrap:wrap;gap:7px;display:flex}.chip{border-radius:var(--radius-md);border:1px solid var(--color-divider);color:var(--color-neutral-800);cursor:pointer;background:0 0;padding:5px 13px;font-size:12.5px}.chip.is-on{background:var(--color-accent-700);border-color:var(--color-accent-700);color:var(--color-bg)}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.kpi{border:1px solid var(--color-divider);border-radius:var(--radius-lg);background:var(--color-neutral-100);padding:15px 17px}.kpi-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-neutral-700);font-size:11.5px}.kpi-value{font-family:var(--font-heading);margin-top:6px;font-size:27px}.kpi-note{color:var(--color-neutral-700);margin-top:4px;font-size:11.5px}.panel{border:1px solid var(--color-divider);border-radius:var(--radius-lg);background:var(--color-neutral-100);margin-top:22px;overflow:hidden}.panel-head{border-bottom:1px solid var(--color-divider);padding:15px 18px}.panel-title{font-family:var(--font-heading);font-size:17px}.panel-note{color:var(--color-neutral-700);margin-top:3px;font-size:12px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-700);border-bottom:1px solid var(--color-divider);white-space:nowrap;padding:10px 14px;font-size:10.5px}td{border-bottom:1px solid color-mix(in srgb, var(--color-text) 7%, transparent);padding:11px 14px}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr.is-unmeasured{background:var(--color-neutral-200);color:var(--color-neutral-600)}.tag{border-radius:var(--radius-sm);white-space:nowrap;align-items:center;padding:2px 9px;font-size:10.5px;display:inline-flex}.bar{background:var(--color-neutral-300);border-radius:999px;min-width:60px;height:7px;overflow:hidden}.bar>span{border-radius:999px;height:100%;display:block}.callout{border:1px solid var(--color-accent-500);background:var(--color-accent-200);border-radius:var(--radius-lg);margin-top:22px;padding:15px 18px;font-size:13px}.empty{text-align:center;color:var(--color-neutral-700);padding:34px 18px;font-size:13px}.input{min-height:36px;font:inherit;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:6px 14px;font-size:14px}.btn{font-family:var(--font-heading);cursor:pointer;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-bg);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:9px 18px;font-size:14px;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-secondary{border-color:var(--color-divider);color:var(--color-text);background:0 0}.field-error{color:var(--color-accent-800);margin-top:6px;font-size:12.5px}.field{display:block}.field-label{color:var(--color-neutral-700);margin-bottom:5px;font-size:12px;display:block}.field-note{color:var(--color-neutral-700);max-width:62ch;margin-top:5px;font-size:12px;display:block}.field input,.field select,.field textarea{width:100%;font:inherit;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:8px 12px;font-size:14px}.field textarea{resize:vertical}.tag{background:var(--color-neutral-200);color:var(--color-neutral-800)}.tag-ok{background:var(--color-accent-2-200);color:var(--color-accent-2-900)}.btn-danger{background:var(--color-accent-800);color:var(--color-bg);border-color:#0000}@media (width<=900px){.shell{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;gap:14px;padding:12px 14px;overflow-x:auto}.main{padding:20px 16px 48px}}
