:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-olive:#a8c020;--brand-olive-dark:#8ba319;--brand-maroon:#7a1f2b;--text:#17170f;--text-secondary:#52514e;--muted:#8b897f;--border:#e1e0d5;--surface:#fff;--surface-subtle:#f8f7f2;--surface-sidebar:#1c1f16;--surface-sidebar-hover:#2a2e1f;--danger:#c0392b;--success:#0ca30c;--radius:10px;--shadow-sm:0 1px 2px #17170f0f, 0 1px 1px #17170f0a;--shadow-md:0 4px 12px #17170f14, 0 2px 4px #17170f0a;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{color:var(--text);background:var(--surface-subtle);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{letter-spacing:-.01em;margin:0}a{color:var(--brand-olive-dark)}button{cursor:pointer;font-family:inherit}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:.5rem 1rem;font-size:.88rem;font-weight:500;transition:background-color .12s,border-color .12s}.btn:hover{background:var(--surface-subtle);border-color:#cfcdbf}.btn-primary{background:var(--brand-olive-dark);color:#fff;border-color:var(--brand-olive-dark)}.btn-primary:hover{background:#799013}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-danger{color:var(--danger);background:#fff;border-color:#e8c4bf}.btn-danger:hover{border-color:var(--danger);background:#fdf1ef}.btn-sm{padding:.3rem .65rem;font-size:.8rem}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--surface-sidebar);color:#e8e7de;flex-direction:column;flex-shrink:0;width:232px;padding:1.25rem 1rem;display:flex}.sidebar nav{flex-direction:column;gap:.15rem;display:flex}.sidebar nav a{color:#c9c8bc;border-left:3px solid #0000;border-radius:7px;padding:.5rem .7rem;font-size:.9rem;font-weight:500;text-decoration:none;display:block}.sidebar nav a:hover{background:var(--surface-sidebar-hover);color:#fff}.sidebar nav a.active{background:var(--surface-sidebar-hover);color:#fff;border-left-color:var(--brand-olive)}.sidebar .nav-heading{text-transform:uppercase;letter-spacing:.06em;color:#77765f;margin:1.1rem 0 .35rem .7rem;font-size:.7rem}.sidebar-footer{color:#a5a394;border-top:1px solid #33362a;margin-top:auto;padding-top:1rem;font-size:.82rem}.sidebar-footer .btn{color:#d5d4c8;background:0 0;border-color:#3c3f30;margin-top:.6rem}.sidebar-footer .btn:hover{background:var(--surface-sidebar-hover)}.main-content{flex:1;max-width:1280px;padding:1.75rem 2.25rem 3rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.page-header h1{font-size:1.5rem;font-weight:700}.section{margin-bottom:1.75rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.25rem 1.4rem}.card-row{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex:180px;min-width:180px;padding:1rem 1.25rem}.stat-card .label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:600}.stat-card .value{font-variant-numeric:tabular-nums;margin-top:.15rem;font-size:1.6rem;font-weight:700}.stat-card .sub-value{color:var(--text-secondary);margin-top:.1rem;font-size:.82rem}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:1.25rem;padding:1.1rem 1.3rem .6rem}.chart-card h3{margin-bottom:.75rem;font-size:.95rem;font-weight:600}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1.25rem;display:grid}.filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:flex-end;gap:.6rem;margin-bottom:1.25rem;padding:.85rem 1rem;display:flex}.filter-bar label{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;flex-direction:column;gap:.2rem;font-size:.76rem;font-weight:600;display:flex}.filter-bar select,.filter-bar input{border:1px solid var(--border);border-radius:7px;min-width:130px;padding:.4rem .55rem;font-family:inherit;font-size:.85rem}table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;font-size:.87rem;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .75rem}th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;background:var(--surface-subtle);font-size:.74rem;font-weight:600}tbody tr:hover{background:var(--surface-subtle)}tbody tr:last-child td{border-bottom:none}.form-grid{gap:.85rem;max-width:480px;display:grid}.form-grid label{color:var(--text-secondary);flex-direction:column;gap:.3rem;font-size:.83rem;font-weight:500;display:flex}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--border);background:var(--surface);border-radius:7px;padding:.55rem .65rem;font-family:inherit;font-size:.9rem}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid var(--brand-olive);outline-offset:-1px;border-color:var(--brand-olive-dark)}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:.6rem;display:flex}.inline-form label{color:var(--text-secondary);flex-direction:column;gap:.25rem;margin:0;font-size:.8rem;font-weight:500;display:flex}.inline-form input,.inline-form select,.inline-form textarea{border:1px solid var(--border);background:var(--surface);border-radius:7px;padding:.5rem .6rem;font-family:inherit;font-size:.87rem}.inline-form input:focus,.inline-form select:focus,.inline-form textarea:focus{outline:2px solid var(--brand-olive);outline-offset:-1px;border-color:var(--brand-olive-dark)}.checkbox-grid{border:1px solid var(--border);background:var(--surface-subtle);border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.4rem .75rem;max-height:220px;padding:.65rem .75rem;display:grid;overflow-y:auto}.checkbox-grid label{color:var(--text);flex-direction:row;align-items:center;gap:.4rem;font-size:.85rem;font-weight:400}.checkbox-grid input[type=checkbox]{width:auto;padding:0}.empty-state{text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface);padding:2.5rem 1.5rem}.error-text{color:var(--danger);font-size:.85rem}.badge{border-radius:999px;padding:.18rem .55rem;font-size:.74rem;font-weight:700;display:inline-block}.badge-warn{color:#8a5a00;background:#fff3d6}.badge-ok{color:#146316;background:#e1f6df}.badge-overdue{color:#a3271b;background:#fbe3e0}.badge-neutral{background:var(--surface-subtle);color:var(--text-secondary)}.tabs{border-bottom:1px solid var(--border);gap:.25rem;margin-bottom:1.25rem;display:flex}.tabs button{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.55rem .9rem;font-size:.88rem;font-weight:500}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--brand-olive-dark);border-bottom-color:var(--brand-olive-dark);font-weight:600}.icon-btn{color:var(--muted);background:0 0;border:none;border-radius:5px;padding:.2rem .4rem;font-size:.85rem}.icon-btn:hover{background:var(--surface-subtle);color:var(--text)}.text-muted{color:var(--muted)}.text-secondary{color:var(--text-secondary)}
