:root{--font-main:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", monospace;--bg-primary:#f6f8f6;--bg-surface:#fff;--bg-surface-elevated:#fff;--bg-subtle:#edf3ee;--border-color:#e2ebe4;--border-focus:#4a7055;--text-primary:#192e21;--text-secondary:#4e6857;--text-muted:#7e9786;--sage-primary:#4a7055;--sage-light:#eaf2eb;--sage-dark:#2d4734;--sage-hover:#3d5e46;--sage-pill:#e2ece4;--ocean-primary:#0284c7;--ocean-light:#e0f2fe;--ocean-dark:#0369a1;--success:#166534;--success-bg:#dcfce7;--warning:#b45309;--warning-bg:#fef3c7;--danger:#b91c1c;--danger-bg:#fee2e2;--shadow-sm:0 1px 2px 0 #192e210d;--shadow-md:0 4px 6px -1px #192e2114, 0 2px 4px -2px #192e210a;--shadow-lg:0 10px 15px -3px #192e2114, 0 4px 6px -4px #192e210a;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px}body.theme-dark{--bg-primary:#0f1712;--bg-surface:#18231c;--bg-surface-elevated:#202e25;--bg-subtle:#24352b;--border-color:#2d4034;--border-focus:#7bae7f;--text-primary:#f1f7f3;--text-secondary:#a8c4b0;--text-muted:#6b8b74;--sage-primary:#659972;--sage-light:#203326;--sage-dark:#8ec49b;--sage-hover:#75ab83;--sage-pill:#273d2e;--ocean-primary:#38bdf8;--ocean-light:#0c4a6e;--ocean-dark:#7dd3fc;--success:#4ade80;--success-bg:#14532d;--warning:#fbbf24;--warning-bg:#78350f;--danger:#f87171;--danger-bg:#7f1d1d;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006;--shadow-lg:0 10px 15px -3px #00000080}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5;transition:background-color .25s,color .25s}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.container{max-width:1280px;margin:0 auto;padding:0 24px 60px}.btn{font-family:var(--font-main);border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .18s;display:inline-flex}.btn-primary{background:var(--sage-primary);color:#fff;border-color:var(--sage-primary)}.btn-primary:hover{background:var(--sage-hover);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover{background:var(--bg-subtle);border-color:var(--text-muted)}.btn-tonal{background:var(--sage-pill);color:var(--sage-dark)}.btn-tonal:hover{background:var(--border-color)}.btn-danger{background:var(--danger-bg);color:var(--danger)}.btn-danger:hover{filter:brightness(.95)}.btn-sm{border-radius:var(--radius-sm);padding:6px 12px;font-size:12px}.btn-icon{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:8px;transition:all .15s;display:inline-flex}.btn-icon:hover{background:var(--bg-subtle);color:var(--text-primary)}.card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px;transition:box-shadow .2s,border-color .2s}.card:hover{border-color:#4a70554d}.badge{border-radius:var(--radius-full);align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge-sage{background:var(--sage-pill);color:var(--sage-dark)}.badge-ocean{background:var(--ocean-light);color:var(--ocean-dark)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0f171299;justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:540px;max-height:90vh;box-shadow:var(--shadow-lg);padding:28px;animation:.2s scaleIn;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-label{color:var(--text-secondary);font-size:13px;font-weight:600}.form-input,.form-select,.form-textarea{width:100%;font-family:var(--font-main);background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);outline:none;padding:10px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #4a705526}.table-wrapper{border-radius:var(--radius-md);border:1px solid var(--border-color);overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:13.5px}.data-table th{background:var(--bg-subtle);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color);padding:12px 16px;font-size:12px;font-weight:700}.data-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:12px 16px}.data-table tbody tr:hover{background:var(--bg-subtle)}.data-table tbody tr:last-child td{border-bottom:none}@media print{body{color:#000!important;background:#fff!important}.no-print{display:none!important}.print-only{display:block!important}.card{break-inside:avoid;box-shadow:none!important;border:1px solid #ddd!important}}
