.toast-container[data-v-223976dc]{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast[data-v-223976dc]{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:300px;max-width:500px;pointer-events:auto;animation:slideIn-223976dc .3s ease-out}@keyframes slideIn-223976dc{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-icon[data-v-223976dc]{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.toast-success .toast-icon[data-v-223976dc]{background:#4caf50;color:#fff}.toast-error .toast-icon[data-v-223976dc]{background:#f44336;color:#fff}.toast-info .toast-icon[data-v-223976dc]{background:#2196f3;color:#fff}.toast-content[data-v-223976dc]{flex:1;color:#333;font-size:.875rem;line-height:1.5}.toast-success[data-v-223976dc]{border-left:4px solid #4caf50}.toast-error[data-v-223976dc]{border-left:4px solid #f44336}.toast-info[data-v-223976dc]{border-left:4px solid #2196f3}.confirm-dialog[data-v-82b9d5a8]{max-width:450px}.modal-body[data-v-82b9d5a8]{padding:1.5rem}.modal-body p[data-v-82b9d5a8]{margin:0;color:#666;line-height:1.6}.app[data-v-8dbdda9a]{min-height:100vh;background:var(--color-bg-subtle)}.container[data-v-8dbdda9a]{max-width:var(--max-width-wide);margin:0 auto;padding:0 var(--space-8)}.navbar-badge[data-v-8dbdda9a]{padding:2px var(--space-2);background:var(--color-primary-600);color:var(--color-text-inverse);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold)}.dashboard h1[data-v-74e19cf0]{margin-bottom:2rem}.error-card[data-v-74e19cf0]{display:flex;gap:1.5rem;align-items:center;background:#fff3f3;border:2px solid #ff4444;padding:2rem;margin-bottom:2rem}.error-icon[data-v-74e19cf0]{font-size:4rem}.error-content[data-v-74e19cf0]{flex:1}.error-content h2[data-v-74e19cf0]{margin:0 0 .5rem;color:#c33}.error-content p[data-v-74e19cf0]{margin:.5rem 0;color:#666}.error-content .help-text[data-v-74e19cf0]{font-size:.875rem;font-style:italic;color:#999}.stats-grid[data-v-74e19cf0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card[data-v-74e19cf0]{display:flex;gap:1rem;align-items:center}.stat-icon[data-v-74e19cf0]{font-size:3rem}.stat-content[data-v-74e19cf0]{flex:1}.stat-label[data-v-74e19cf0]{color:#666;font-size:.875rem;margin-bottom:.25rem}.stat-value[data-v-74e19cf0]{font-size:2rem;font-weight:600;color:#1976d2}.actions[data-v-74e19cf0]{display:flex;gap:1rem;margin-top:1rem}.error-card[data-v-2a269cda]{display:flex;gap:1.5rem;align-items:center;background:#fff3f3;border:2px solid #ff4444;padding:2rem;margin-bottom:2rem}.error-icon[data-v-2a269cda]{font-size:4rem}.error-content[data-v-2a269cda]{flex:1}.error-content h2[data-v-2a269cda]{margin:0 0 .5rem;color:#c33}.error-content p[data-v-2a269cda]{margin:.5rem 0;color:#666}.error-content .help-text[data-v-2a269cda]{font-size:.875rem;font-style:italic;color:#999}.role-list[data-v-2a269cda]{display:flex;flex-wrap:wrap;gap:.25rem}.text-muted[data-v-2a269cda]{color:#999}.ml-2[data-v-2a269cda]{margin-left:.5rem}.action-buttons[data-v-2a269cda]{display:flex;gap:.5rem;align-items:center}.small[data-v-2a269cda]{font-size:.75rem}.modal-body[data-v-2a269cda]{padding:1.5rem}.modal-body p[data-v-2a269cda]{margin-bottom:1rem;color:#666}.error-card[data-v-86d1f388]{display:flex;gap:1.5rem;align-items:center;background:#fff3f3;border:2px solid #ff4444;padding:2rem;margin-bottom:2rem}.error-icon[data-v-86d1f388]{font-size:4rem}.error-content[data-v-86d1f388]{flex:1}.error-content h2[data-v-86d1f388]{margin:0 0 .5rem;color:#c33}.error-content p[data-v-86d1f388]{margin:.5rem 0;color:#666}.error-content .help-text[data-v-86d1f388]{font-size:.875rem;font-style:italic;color:#999}.role-list[data-v-86d1f388]{display:flex;flex-wrap:wrap;gap:.25rem}.text-muted[data-v-86d1f388]{color:#999;font-size:.875rem}.btn+.btn[data-v-86d1f388]{margin-left:.5rem}.tabs[data-v-c449dc30]{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e5e7eb}.tab[data-v-c449dc30]{padding:.75rem 1.5rem;border:none;background:transparent;color:#6b7280;cursor:pointer;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.tab[data-v-c449dc30]:hover{color:#8b5cf6}.tab.active[data-v-c449dc30]{color:#8b5cf6;border-bottom-color:#8b5cf6}code[data-v-c449dc30]{background:#f3f4f6;padding:.25rem .5rem;border-radius:.25rem;font-family:Monaco,monospace;font-size:.875rem}.badge-system[data-v-c449dc30]{background:#ef4444}.badge-blog[data-v-c449dc30]{background:#10b981}.badge-hcie[data-v-c449dc30]{background:#3b82f6}.badge-info[data-v-c449dc30]{background:#6366f1;color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem}.description[data-v-c449dc30]{font-size:.875rem;line-height:1.4}.form-row[data-v-c449dc30]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-row .form-group[data-v-c449dc30]{margin-bottom:0}.error-card[data-v-f4ac4c8b]{display:flex;gap:1.5rem;align-items:center;background:#fff3f3;border:2px solid #ff4444;padding:2rem;margin-bottom:2rem}.error-icon[data-v-f4ac4c8b]{font-size:4rem}.error-content[data-v-f4ac4c8b]{flex:1}.error-content h2[data-v-f4ac4c8b]{margin:0 0 .5rem;color:#c33}.error-content p[data-v-f4ac4c8b]{margin:.5rem 0;color:#666}.error-content .help-text[data-v-f4ac4c8b]{font-size:.875rem;font-style:italic;color:#999}code[data-v-f4ac4c8b]{background:#f5f5f5;padding:.25rem .5rem;border-radius:4px;font-size:.875rem}.text-muted[data-v-f4ac4c8b]{color:#999;font-size:.875rem;display:block;margin-top:.25rem}.btn+.btn[data-v-f4ac4c8b]{margin-left:.5rem}.checkbox-group[data-v-f4ac4c8b]{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem;max-height:300px;overflow-y:auto;padding:.5rem;border:1px solid #e0e0e0;border-radius:4px;background:#fafafa}.checkbox-item[data-v-f4ac4c8b]{display:flex;align-items:flex-start;gap:.5rem}.checkbox-item input[type=checkbox][data-v-f4ac4c8b]{margin-top:.25rem;cursor:pointer}.checkbox-item input[type=checkbox][data-v-f4ac4c8b]:disabled{cursor:not-allowed}.checkbox-item label[data-v-f4ac4c8b]{cursor:pointer;flex:1;font-size:.9rem}.checkbox-item label.text-muted[data-v-f4ac4c8b]{color:#999}.permission-note[data-v-f4ac4c8b]{font-size:.75rem;color:#f44336;font-style:italic}.role-badges[data-v-f4ac4c8b],.group-badges[data-v-f4ac4c8b]{display:flex;flex-wrap:wrap;gap:.25rem}.badge-system[data-v-f4ac4c8b]{background:#ef4444;color:#fff}.badge-blog[data-v-f4ac4c8b]{background:#10b981;color:#fff}.badge-hcie[data-v-f4ac4c8b]{background:#3b82f6;color:#fff}.badge-secondary[data-v-f4ac4c8b]{background:#6b7280;color:#fff}.login-container[data-v-9850dae9]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.login-card[data-v-9850dae9]{background:#fff;border-radius:12px;padding:3rem;width:100%;max-width:450px;box-shadow:0 20px 60px #0000004d}h1[data-v-9850dae9]{margin:0 0 .5rem;font-size:2rem;text-align:center;color:#333}.subtitle[data-v-9850dae9]{margin:0 0 2rem;text-align:center;color:#666;font-size:.95rem}.form-group[data-v-9850dae9]{margin-bottom:1.5rem}label[data-v-9850dae9]{display:block;margin-bottom:.5rem;font-weight:500;color:#333}input[data-v-9850dae9]{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s;box-sizing:border-box}input[data-v-9850dae9]:focus{outline:none;border-color:#667eea}.error-message[data-v-9850dae9]{background:#fee;color:#c33;padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.btn-primary[data-v-9850dae9]{width:100%;padding:.875rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-primary[data-v-9850dae9]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-primary[data-v-9850dae9]:disabled{opacity:.6;cursor:not-allowed}.info-box[data-v-9850dae9]{margin-top:2rem;padding:1rem;background:#f5f5f5;border-radius:8px;text-align:center}.info-box p[data-v-9850dae9]{margin:.25rem 0;font-size:.85rem;color:#666}.info-box p[data-v-9850dae9]:first-child{font-weight:600;color:#333}.not-found[data-v-8c2035b1]{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:2rem}.error-container[data-v-8c2035b1]{text-align:center;max-width:600px}.error-code[data-v-8c2035b1]{font-size:8rem;font-weight:700;color:#1976d2;line-height:1;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.not-found h1[data-v-8c2035b1]{font-size:2rem;margin:0 0 1rem;color:#333}.error-message[data-v-8c2035b1]{font-size:1.125rem;color:#666;margin-bottom:2rem;line-height:1.6}.actions[data-v-8c2035b1]{display:flex;gap:1rem;justify-content:center;margin-bottom:3rem}.btn[data-v-8c2035b1]{padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;text-decoration:none;border:none;transition:all .2s;display:inline-block}.btn-primary[data-v-8c2035b1]{background:#1976d2;color:#fff}.btn-primary[data-v-8c2035b1]:hover{background:#1565c0;transform:translateY(-2px);box-shadow:0 4px 12px #1976d24d}.btn-secondary[data-v-8c2035b1]{background:#f5f5f5;color:#333;border:1px solid #ddd}.btn-secondary[data-v-8c2035b1]:hover{background:#e0e0e0}.help-links[data-v-8c2035b1]{padding-top:2rem;border-top:1px solid #e0e0e0}.help-text[data-v-8c2035b1]{color:#999;font-size:.875rem;margin-bottom:1rem}.link-grid[data-v-8c2035b1]{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.link-grid a[data-v-8c2035b1]{color:#1976d2;text-decoration:none;font-weight:500;transition:color .2s}.link-grid a[data-v-8c2035b1]:hover{color:#1565c0;text-decoration:underline}@media (max-width: 600px){.error-code[data-v-8c2035b1]{font-size:5rem}.not-found h1[data-v-8c2035b1]{font-size:1.5rem}.actions[data-v-8c2035b1]{flex-direction:column}.btn[data-v-8c2035b1]{width:100%}}:root{--color-primary-50: #eef2ff;--color-primary-100: #e0e7ff;--color-primary-200: #c7d2fe;--color-primary-300: #a5b4fc;--color-primary-400: #818cf8;--color-primary-500: #6366f1;--color-primary-600: #4f46e5;--color-primary-700: #4338ca;--color-primary-800: #3730a3;--color-primary-900: #312e81;--color-neutral-50: #f8fafc;--color-neutral-100: #f1f5f9;--color-neutral-200: #e2e8f0;--color-neutral-300: #cbd5e1;--color-neutral-400: #94a3b8;--color-neutral-500: #64748b;--color-neutral-600: #475569;--color-neutral-700: #334155;--color-neutral-800: #1e293b;--color-neutral-900: #0f172a;--color-success-50: #ecfdf5;--color-success: #10b981;--color-success-700: #047857;--color-warning-50: #fffbeb;--color-warning: #f59e0b;--color-warning-700: #b45309;--color-danger-50: #fef2f2;--color-danger: #ef4444;--color-danger-700: #b91c1c;--color-info-50: #eff6ff;--color-info: #3b82f6;--color-info-700: #1d4ed8;--color-bg: #ffffff;--color-bg-subtle: var(--color-neutral-50);--color-bg-muted: var(--color-neutral-100);--color-surface: #ffffff;--color-overlay: rgba(15, 23, 42, .5);--color-text: var(--color-neutral-900);--color-text-secondary: var(--color-neutral-500);--color-text-tertiary: var(--color-neutral-400);--color-text-inverse: #ffffff;--color-text-link: var(--color-primary-600);--color-text-link-hover: var(--color-primary-700);--color-border: var(--color-neutral-200);--color-border-hover: var(--color-neutral-300);--color-border-focus: var(--color-primary-500);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-mono: "SF Mono", "Cascadia Code", "JetBrains Mono", Consolas, "Liberation Mono", Menlo, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .04);--ring-focus: 0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-primary-500);--max-width-prose: 768px;--max-width-content: 1200px;--max-width-wide: 1400px;--navbar-height: 56px;--transition-fast: .15s ease;--transition-base: .2s ease;--z-sticky: 20;--z-navbar: 30;--z-modal: 40;--z-toast: 50}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text);background:var(--color-bg-subtle);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}.sdh-navbar{height:var(--navbar-height);background:var(--color-neutral-900);border-bottom:1px solid var(--color-neutral-800);position:sticky;top:0;z-index:var(--z-navbar);display:flex;align-items:center;padding:0 var(--space-6)}.sdh-navbar-inner{width:100%;max-width:var(--max-width-wide);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.sdh-navbar-brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--color-text-inverse);font-family:var(--font-sans);font-weight:var(--font-semibold);font-size:var(--text-base);white-space:nowrap;transition:opacity var(--transition-fast)}.sdh-navbar-brand:hover{opacity:.85}.sdh-navbar-nav{display:flex;align-items:center;gap:var(--space-1)}.sdh-navbar-link{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-neutral-400);font-size:var(--text-sm);font-weight:var(--font-medium);text-decoration:none;transition:color var(--transition-fast),background var(--transition-fast)}.sdh-navbar-link:hover{color:var(--color-text-inverse);background:#ffffff14}.sdh-navbar-link.active,.sdh-navbar-link[aria-current=page]{color:var(--color-text-inverse);background:#ffffff1f}.sdh-navbar-right{display:flex;align-items:center;gap:var(--space-3);margin-left:auto}.sdh-navbar-user{color:var(--color-neutral-400);font-size:var(--text-sm)}.sdh-navbar-divider{width:1px;height:20px;background:var(--color-neutral-700)}.sdh-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);line-height:1;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap}.sdh-btn:focus-visible{outline:none;box-shadow:var(--ring-focus)}.sdh-btn-primary{background:var(--color-primary-600);color:var(--color-text-inverse);border-color:var(--color-primary-600)}.sdh-btn-primary:hover{background:var(--color-primary-700);border-color:var(--color-primary-700)}.sdh-btn-secondary{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}.sdh-btn-secondary:hover{background:var(--color-bg-subtle);border-color:var(--color-border-hover)}.sdh-btn-danger{background:var(--color-danger);color:var(--color-text-inverse);border-color:var(--color-danger)}.sdh-btn-danger:hover{background:var(--color-danger-700);border-color:var(--color-danger-700)}.sdh-btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.sdh-btn-ghost:hover{background:var(--color-bg-muted);color:var(--color-text)}.sdh-btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.sdh-btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.sdh-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.sdh-card-elevated{box-shadow:var(--shadow-sm);border-color:transparent}.sdh-card-interactive{transition:box-shadow var(--transition-base),border-color var(--transition-base),transform var(--transition-base);cursor:pointer}.sdh-card-interactive:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-200);transform:translateY(-1px)}.sdh-badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.02em}.sdh-badge-primary{background:var(--color-primary-50);color:var(--color-primary-700)}.sdh-badge-success{background:var(--color-success-50);color:var(--color-success-700)}.sdh-badge-warning{background:var(--color-warning-50);color:var(--color-warning-700)}.sdh-badge-danger{background:var(--color-danger-50);color:var(--color-danger-700)}.sdh-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text);background:var(--color-bg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.sdh-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-50)}.sdh-input::placeholder{color:var(--color-text-tertiary)}.sdh-label{display:block;margin-bottom:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text)}.sdh-table{width:100%;border-collapse:collapse}.sdh-table th{text-align:left;padding:var(--space-3);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border)}.sdh-table td{padding:var(--space-3);font-size:var(--text-sm);border-bottom:1px solid var(--color-neutral-100)}.sdh-table tbody tr:hover{background:var(--color-bg-subtle)}.sdh-container{max-width:var(--max-width-content);margin:0 auto;padding:0 var(--space-6)}.sdh-container-wide{max-width:var(--max-width-wide)}.sdh-container-prose{max-width:var(--max-width-prose)}.sdh-heading{font-family:var(--font-sans);font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--color-text);letter-spacing:-.02em}@media (max-width: 768px){.sdh-navbar{padding:0 var(--space-4)}.sdh-navbar-nav{gap:0}.sdh-navbar-link{padding:var(--space-2)}.sdh-navbar-user{display:none}.sdh-container{padding:0 var(--space-4)}}.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-md);margin-bottom:1.5rem}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-title{font-size:1.25rem;font-weight:600;margin:0}.btn{padding:.5rem 1rem;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:500;transition:all var(--transition-base);text-decoration:none;display:inline-block}.btn-primary{background:var(--color-primary-600);color:#fff}.btn-primary:hover{background:var(--color-primary-700)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:var(--color-danger-700)}.btn-secondary{background:var(--color-neutral-500);color:#fff}.btn-secondary:hover{background:var(--color-neutral-600)}.btn-small{padding:.25rem .75rem;font-size:.875rem}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.75rem;border-bottom:1px solid var(--color-border)}.table th{font-weight:600;color:var(--color-text-secondary);font-size:.875rem;text-transform:uppercase}.table tbody tr:hover{background:var(--color-bg-subtle)}.badge{padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;display:inline-block}.badge-primary{background:var(--color-primary-50);color:var(--color-primary-600)}.badge-success{background:var(--color-success-50);color:var(--color-success-700)}.badge-warning{background:var(--color-warning-50);color:var(--color-warning-700)}.badge-danger{background:var(--color-danger-50);color:var(--color-danger)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.form-control{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem}.form-control:focus{outline:none;border-color:var(--color-primary-600);box-shadow:0 0 0 3px var(--color-primary-50)}select.form-control{cursor:pointer}.checkbox-group{display:flex;flex-wrap:wrap;gap:1rem}.checkbox-item{display:flex;align-items:center;gap:.5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal{background:var(--color-surface);border-radius:var(--radius-lg);padding:2rem;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-title{font-size:1.5rem;font-weight:600;margin:0}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.loading{text-align:center;padding:2rem;color:var(--color-text-secondary)}.error{background:var(--color-danger-50);color:var(--color-danger);padding:1rem;border-radius:var(--radius-sm);margin-bottom:1rem}.success{background:var(--color-success-50);color:var(--color-success-700);padding:1rem;border-radius:var(--radius-sm);margin-bottom:1rem}.empty-state{text-align:center;padding:3rem;color:var(--color-text-tertiary)}.empty-state-icon{font-size:3rem;margin-bottom:1rem}
