:root{--color-primary:#1c2230;--color-primary-hover:#12161f;--color-accent:#a9895c;--color-accent-hover:#96774d;--color-accent-subtle:#a9895c1f;--neutral-950:#0f1116;--neutral-800:#2c303a;--neutral-600:#6b7078;--neutral-400:#a8acb3;--neutral-200:#e4e5e8;--neutral-100:#f1f2f4;--neutral-50:#fafafb;--white:#fff;--bg-primary:var(--white);--bg-secondary:var(--neutral-50);--bg-tertiary:var(--neutral-100);--bg-hover:var(--neutral-100);--bg-active:var(--neutral-200);--bg-card:var(--white);--bg-surface:var(--white);--color-surface:var(--white);--bg-sidebar:#1c2230;--bg-sidebar-gradient:linear-gradient(180deg, #1c2230 0%, #171c27 100%);--bg-overlay:#0f111699;--text-primary:var(--neutral-950);--text-secondary:var(--neutral-800);--text-tertiary:var(--neutral-600);--text-muted:var(--neutral-600);--text-inverse:var(--white);--text-link:var(--color-accent);--border-primary:var(--neutral-200);--border-secondary:#edeef0;--border-focus:var(--color-accent);--color-bg-primary:var(--bg-primary);--color-bg-secondary:var(--bg-secondary);--color-bg-tertiary:var(--bg-tertiary);--color-bg-elevated:var(--white);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-muted:var(--text-muted);--color-border:var(--border-primary);--color-border-hover:var(--neutral-400);--color-primary-light:var(--color-accent);--color-success:#4e7a63;--color-success-bg:#4e7a631f;--color-success-border:#4e7a6340;--color-warning:#b08a3e;--color-warning-bg:#b08a3e1f;--color-warning-border:#b08a3e40;--color-danger:#a5473c;--color-danger-bg:#a5473c1f;--color-danger-border:#a5473c40;--color-info:#5b7083;--color-info-bg:#5b70831f;--color-info-border:#5b708340;--color-error-500:var(--color-danger);--color-error-600:var(--color-danger);--color-error-700:var(--color-danger);--color-error-50:var(--color-danger-bg);--color-error-400:var(--color-danger-border);--color-success-500:var(--color-success);--color-success-600:var(--color-success);--color-success-700:var(--color-success);--color-success-50:var(--color-success-bg);--color-success-400:var(--color-success-border);--color-warning-500:var(--color-warning);--color-warning-600:var(--color-warning);--color-warning-50:var(--color-warning-bg);--color-warning-400:var(--color-warning-border);--color-info-500:var(--color-info);--color-info-600:var(--color-info);--color-info-50:var(--color-info-bg);--color-info-400:var(--color-info-border);--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:.875rem;--text-lg:1rem;--text-xl:1.125rem;--text-2xl:1.375rem;--text-3xl:1.5rem;--font-normal:400;--font-medium:500;--font-semibold:500;--font-bold:500;--leading-tight:1.3;--leading-normal:1.5;--leading-relaxed:1.6;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--spacing-1:4px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:20px;--spacing-6:24px;--spacing-8:32px;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:8px;--radius-2xl:8px;--radius-full:9999px;--shadow-none:none;--shadow-xs:0 1px 2px #0f11160a;--shadow-sm:0 1px 2px #0f11160a;--shadow-md:0 4px 16px #0f11160f;--shadow-lg:0 4px 16px #0f111614;--shadow-xl:0 8px 24px #0f111614;--transition-fast:.12s ease;--transition-base:.18s ease;--transition-slow:.25s ease;--sidebar-width:250px;--header-height:56px;--content-max-width:1240px;--z-sticky:100}
.modal-backdrop{background-color:var(--bg-overlay,#0f111699);-webkit-backdrop-filter:blur(4px);z-index:1000;padding:var(--space-4,16px);justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-container{background-color:var(--bg-card,#fff);background:var(--bg-card,#fff);border:1px solid var(--border-primary,#e4e5e8);border-radius:var(--radius-lg,8px);width:100%;max-width:520px;box-shadow:var(--shadow-xl,0 8px 24px #0f111614);animation:.15s ease-out fadeInUp;overflow:hidden}.modal-header{padding:var(--space-4,16px) var(--space-5,20px);border-bottom:1px solid var(--border-secondary,#edeef0);justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--text-base,16px);font-weight:var(--font-medium,500);color:var(--text-primary,#0f1116);margin:0}.modal-close{color:var(--text-tertiary,#6b7078);cursor:pointer;padding:var(--space-1,4px);border-radius:var(--radius-sm,4px);transition:all var(--transition-fast,.12s ease);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.modal-close:hover{background-color:var(--bg-hover,#f1f2f4);color:var(--text-primary,#0f1116)}.modal-body{padding:var(--space-5,20px)}.modal-form{padding:var(--space-5,20px);gap:var(--space-4,16px);flex-direction:column;display:flex}.modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-3,12px);padding:var(--space-4,16px) var(--space-5,20px);border-top:1px solid var(--border-secondary,#edeef0);background:var(--bg-secondary,#fafafb);display:flex}@media (max-width:768px){.modal-backdrop{align-items:center;padding:10px}.modal-container{flex-direction:column;max-width:100%;max-height:92vh;margin:auto;display:flex}.modal-body,.modal-form{padding:var(--space-4,16px);-webkit-overflow-scrolling:touch;overflow-y:auto}.modal-footer{padding:var(--space-3,12px) var(--space-4,16px);flex-wrap:wrap}.modal-footer button,.modal-footer .btn{flex:120px;justify-content:center}}
