*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}:root{--color-bg:#eef0f7;--color-surface:#fff;--color-surface-alt:#f3f4fa;--color-sidebar:#161233;--color-border:#dcdfec;--color-border-row:#e7e9f3;--color-border-input:#c9cee0;--color-text:#1a1a2e;--color-text-secondary:#5c5f78;--color-text-tertiary:#8b8ea6;--color-text-disabled:#b3b5c9;--color-text-neutral-btn:#2a2a44;--color-primary:#2e2273;--color-primary-hover:#201852;--color-primary-tint:#e9e6f6;--color-focus-ring:#c3bce6;--color-terracotta:#b4532a;--color-ochre:#c79a3c;--status-open-bg:#e5f0e3;--status-open-text:#3d6135;--status-open-solid:#4a7038;--status-closed-bg:#e6e7f0;--status-closed-text:#4c4e66;--status-closed-solid:#7a7d9a;--status-danger-bg:#f7e3e8;--status-danger-text:#9c2247;--status-danger-solid:#9c2247;--status-info-bg:#e9e6f6;--status-info-text:#2e2273;--status-info-solid:#2e2273;--status-pending-bg:#f8edd6;--status-pending-text:#8a5a00;--status-pending-solid:#c79a3c;--status-warning-bg:#faead9;--status-warning-text:#8a4b0f;--status-warning-solid:#d17a22;--destructive-bg:#fbeef2;--destructive-border:#e0acc0;--destructive-text:#9c2247;--destructive-bg-hover:#f7e3e8;--destructive-solid:#9c2247;--destructive-solid-disabled:#dcb4c6;--radius-card:5px;--radius-modal:6px;--radius-control:4px;--radius-badge:3px;--shadow-modal:0 24px 60px #16123359;--shadow-toast:0 12px 32px #1612334d;--overlay-modal:#1612338c}body{background:var(--color-bg);color:var(--color-text);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover);text-decoration:underline}input,select,textarea,button{font-family:inherit;font-size:inherit;color:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-focus-ring);outline-offset:-1px}table{border-collapse:collapse;width:100%}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);overflow:hidden}.card-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.card-title{margin:0;font-size:13.5px;font-weight:600}.card-body{padding:16px 18px}.card-footer-note{border-top:1px solid var(--color-border);color:var(--color-text-tertiary);padding:12px 18px;font-size:12px}.kpi-grid{gap:14px;display:grid}.kpi-card{padding:16px 18px}.kpi-label{letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-secondary);font-size:11px;font-weight:600}.kpi-value{letter-spacing:-.02em;margin-top:8px;font-size:30px;font-weight:600}.kpi-hint{color:var(--color-text-tertiary);margin-top:2px;font-size:12px}.table th{text-align:left;letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);background:var(--color-surface-alt);white-space:nowrap;padding:9px 14px;font-size:10.5px;font-weight:600}.table th:first-child,.table td:first-child{padding-left:18px}.table th:last-child,.table td:last-child{padding-right:18px}.table td{border-bottom:1px solid var(--color-border-row);padding:12px 14px;font-size:13.5px}.table tbody tr:last-child td{border-bottom:none}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table th.num{text-align:right}.row-muted td{color:var(--color-text-tertiary)!important}.badge{border-radius:var(--radius-badge);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;padding:3px 9px;font-size:10.5px;font-weight:600;display:inline-block}.badge--open{background:var(--status-open-bg);color:var(--status-open-text)}.badge--closed{background:var(--status-closed-bg);color:var(--status-closed-text)}.badge--danger{background:var(--status-danger-bg);color:var(--status-danger-text)}.badge--info{background:var(--status-info-bg);color:var(--status-info-text)}.badge--pending{background:var(--status-pending-bg);color:var(--status-pending-text)}.badge--warning{background:var(--status-warning-bg);color:var(--status-warning-text)}.dot{border-radius:50%;width:6px;height:6px;display:inline-block}.btn{appearance:none;cursor:pointer;border-radius:var(--radius-control);font:inherit;border:none;padding:9px 14px;font-size:12.5px;font-weight:600;transition:background .12s,color .12s,border-color .12s}.btn:disabled{cursor:not-allowed}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--secondary{border:1px solid var(--color-border-input);color:var(--color-text-neutral-btn);background:0 0;font-weight:500}.btn--secondary:hover:not(:disabled){background:var(--color-bg)}.btn--ghost{color:var(--color-primary);background:0 0;padding:0;font-size:12.5px;font-weight:500}.btn--danger-outline{background:var(--destructive-bg);border:1px solid var(--destructive-border);color:var(--destructive-text);padding:6px 11px;font-size:12px;font-weight:600}.btn--danger-outline:hover:not(:disabled){background:var(--destructive-bg-hover)}.btn--danger-solid{background:var(--destructive-solid);color:#fff}.btn--danger-solid:disabled{background:var(--destructive-solid-disabled)}.btn--small{padding:6px 11px;font-size:12px;font-weight:500}.field{display:block}.field-label{letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:6px;font-size:11px;font-weight:600;display:block}.field input,.field select,.field textarea{border:1px solid var(--color-border-input);border-radius:var(--radius-control);background:var(--color-surface);width:100%;padding:9px 11px;font-size:13.5px}.field textarea{resize:vertical}.progress-track{background:var(--color-border-row);border-radius:3px;height:6px;overflow:hidden}.progress-bar{height:100%}.chip{border-radius:var(--radius-control);align-items:center;gap:7px;padding:5px 11px;font-size:12px;display:inline-flex}.chip--outline{border:1px solid var(--color-border);color:var(--color-text-secondary)}.chip--pending{background:var(--status-pending-bg);color:var(--status-pending-text);border:1px solid #e7d3a8;font-weight:500}.pending-note{color:var(--status-pending-text);background:var(--status-pending-bg);border-radius:var(--radius-control);border:1px solid #e7d3a8;align-items:center;gap:6px;padding:4px 9px;font-size:11.5px;font-weight:500;display:inline-flex}
