@import "https://fonts.googleapis.com/css2?family=KoHo:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--fixiva-primary:#ff5722;--fixiva-primary-hover:#e64a19;--fixiva-primary-active:#d84315;--fixiva-primary-subtle:#ff57220f;--fixiva-primary-muted:#ff57221a;--color-primary:var(--fixiva-primary);--color-primary-end:#ff7043;--color-accent:#ff5722;--gradient-primary:linear-gradient(135deg, #ff5722 0%, #ff7043 100%);--gradient-primary-hover:linear-gradient(135deg, #e64a19 0%, #ff5722 100%);--success:#047857;--success-subtle:#ecfdf5;--success-muted:#0478571f;--warning:#92400e;--warning-subtle:#fffbeb;--warning-muted:#92400e1f;--danger:#be123c;--danger-subtle:#fff1f2;--danger-muted:#be123c1f;--info:#1d4ed8;--info-subtle:#eff6ff;--info-muted:#1d4ed81f;--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;--space-16:64px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--font-heading:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Consolas", monospace;--text-display:2rem;--text-section:1.25rem;--text-card:1rem;--text-body:.875rem;--text-secondary:.8125rem;--text-meta:.75rem;--text-micro:.6875rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 8px #0000000f, 0 2px 4px #0000000a;--shadow-lg:0 8px 24px #00000014, 0 4px 8px #0000000a;--shadow-overlay:0 16px 48px #0000001f, 0 4px 16px #0000000f;--transition-fast:.12s cubic-bezier(.4, 0, .2, 1);--transition-normal:.2s cubic-bezier(.4, 0, .2, 1);--transition-slow:.3s cubic-bezier(.4, 0, .2, 1);--sidebar-width:240px;--sidebar-collapsed-width:64px;--topbar-height:56px;--z-base:0;--z-dropdown:100;--z-sticky:200;--z-sidebar:300;--z-overlay:400;--z-modal:500;--z-toast:600}:root,[data-theme=dark]{--surface-app:#0c0c0c;--surface-primary:#141414;--surface-secondary:#1a1a1a;--surface-elevated:#202020;--surface-interactive:#262626;--bg-base:var(--surface-app);--bg-surface:var(--surface-primary);--bg-surface-2:var(--surface-secondary);--bg-elevated:var(--surface-elevated);--text-primary:#ededed;--text-secondary:#a0a0a0;--text-tertiary:#6b6b6b;--text-disabled:#454545;--text-inverse:#1a1a1a;--border-subtle:#ffffff0f;--border-default:#ffffff1a;--border-strong:#ffffff29;--border-color:var(--border-default);--sidebar-bg:var(--surface-primary);--sidebar-hover:#ffffff0a;--sidebar-active-bg:#ff57221f;--sidebar-text:var(--text-secondary);--sidebar-active-text:#f07030;--input-bg:var(--surface-secondary);--input-border:var(--border-default);--input-focus-ring:#ff572233;--scrollbar-track:var(--surface-secondary);--scrollbar-thumb:#363636;--scrollbar-thumb-hover:#4a4a4a;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-md:0 4px 8px #0000004d, 0 2px 4px #0003;--shadow-lg:0 8px 24px #0006, 0 4px 8px #0003;--shadow-overlay:0 16px 48px #00000080, 0 4px 16px #0000004d}[data-theme=light]{--surface-app:#f8fafc;--surface-primary:#fff;--surface-secondary:#f8fafc;--surface-elevated:#fff;--surface-interactive:#f1f5f9;--bg-base:var(--surface-app);--bg-surface:var(--surface-primary);--bg-surface-2:var(--surface-secondary);--bg-elevated:var(--surface-elevated);--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--text-disabled:#cbd5e1;--text-inverse:#fff;--border-subtle:#e2e8f0;--border-default:#e2e8f0;--border-strong:#cbd5e1;--border-color:var(--border-default);--sidebar-bg:#f1f5f9;--sidebar-hover:#e2e8f0;--sidebar-active-bg:#f1f5f9;--sidebar-text:var(--text-secondary);--sidebar-active-text:#0f172a;--input-bg:#f1f5f9;--input-border:#e2e8f0;--input-focus-ring:#ff57221f;--scrollbar-track:#f1f5f9;--scrollbar-thumb:#cbd5e1;--scrollbar-thumb-hover:#94a3b8;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 8px #0000000f, 0 2px 4px #0000000a;--shadow-lg:0 8px 24px #00000014, 0 4px 8px #0000000a;--shadow-overlay:0 16px 48px #0000001f, 0 4px 16px #0000000f}html{font-family:var(--font-body);font-size:16px;line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{background:var(--surface-app);color:var(--text-primary);min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::selection{color:var(--text-primary);background:#ff57221f}:focus-visible{outline:2px solid var(--fixiva-primary);outline-offset:2px;border-radius:var(--radius-xs)}.font-heading{font-family:var(--font-heading)}.font-body{font-family:var(--font-body)}.font-mono{font-family:var(--font-mono)}.text-gradient{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn-primary{justify-content:center;align-items:center;gap:var(--space-2);background:var(--fixiva-primary);color:#fff;border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-family:var(--font-body);font-size:var(--text-body);cursor:pointer;transition:background var(--transition-fast), box-shadow var(--transition-fast);white-space:nowrap;font-weight:600;line-height:var(--leading-tight);border:none;display:inline-flex}.btn-primary:hover{background:var(--fixiva-primary-hover);box-shadow:var(--shadow-sm)}.btn-primary:active{background:var(--fixiva-primary-active)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{justify-content:center;align-items:center;gap:var(--space-2);background:var(--surface-primary);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-family:var(--font-body);font-size:var(--text-body);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;font-weight:500;line-height:var(--leading-tight);display:inline-flex}.btn-secondary:hover{background:var(--surface-secondary);border-color:var(--border-strong)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{justify-content:center;align-items:center;gap:var(--space-2);color:var(--text-secondary);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--text-body);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;font-weight:500;line-height:var(--leading-tight);background:0 0;border:none;display:inline-flex}.btn-ghost:hover{background:var(--surface-interactive);color:var(--text-primary)}.btn-danger{justify-content:center;align-items:center;gap:var(--space-2);background:var(--danger);color:#fff;border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-family:var(--font-body);font-size:var(--text-body);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;font-weight:600;line-height:var(--leading-tight);border:none;display:inline-flex}.btn-danger:hover{opacity:.9}.card{background:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);transition:border-color var(--transition-fast)}.card:hover{border-color:var(--border-default)}.card-elevated{background:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.card-gradient-border{background:var(--surface-primary);border-radius:var(--radius-lg);padding:var(--space-6);position:relative}.card-gradient-border:before{content:"";border-radius:var(--radius-lg);background:var(--gradient-primary);-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.badge{border-radius:var(--radius-full);font-size:var(--text-micro);white-space:nowrap;font-weight:600;line-height:var(--leading-normal);align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.badge-success{background:var(--success-subtle);color:var(--success)}.badge-warning{background:var(--warning-subtle);color:var(--warning)}.badge-danger{background:var(--danger-subtle);color:var(--danger)}.badge-info{background:var(--info-subtle);color:var(--info)}.badge-primary{background:var(--fixiva-primary-subtle);color:var(--fixiva-primary)}.badge-neutral{background:var(--surface-interactive);color:var(--text-secondary)}.input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--text-body);color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);line-height:var(--leading-normal);outline:none}.input::placeholder{color:var(--text-tertiary)}.input:focus{border-color:var(--fixiva-primary);box-shadow:0 0 0 3px var(--input-focus-ring)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--surface-secondary) 25%, var(--surface-interactive) 50%, var(--surface-secondary) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in{animation:.25s cubic-bezier(.4,0,.2,1) both fadeIn}.animate-fade-in-scale{animation:.2s cubic-bezier(.4,0,.2,1) both fadeInScale}.animate-spin{animation:1s linear infinite spin}.stagger-1{animation-delay:40ms}.stagger-2{animation-delay:80ms}.stagger-3{animation-delay:.12s}.stagger-4{animation-delay:.16s}.stagger-5{animation-delay:.2s}.stagger-6{animation-delay:.24s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.skeleton{animation:none}}.page-layout{width:100vw;height:100dvh;display:flex;position:relative;overflow:hidden}.page-content{flex-direction:column;flex:1;min-width:0;height:100dvh;display:flex;overflow:hidden}.main-content{padding:var(--space-6);flex:1;overflow:hidden auto}.table-responsive{-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg);width:100%;overflow-x:auto}.modal-box-responsive{border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:90dvh;overflow-y:auto}.flex-shrink-0{flex-shrink:0}.min-w-0{min-width:0}.break-words{overflow-wrap:anywhere;word-break:break-word}@media (max-width:1023px){.main-content{padding:var(--space-5);padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom,0px))}}@media (max-width:767px){.main-content{padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px))}}@media (pointer:coarse){.btn-primary,.btn-secondary,.btn-ghost,.btn-danger,button{min-height:38px}}
