@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--primary:#4f46e5;--primary-light:#4f46e51f;--primary-hover:#4338ca;--secondary:#6366f1;--accent:#818cf8;--success:#10b981;--success-light:#10b98126;--warning:#f59e0b;--danger:#ef4444;--danger-light:#ef444426;--background:#f4f7f9;--surface:#fff;--surface-hover:#f8fafc;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border-radius-sm:8px;--border-radius:16px;--border-radius-lg:24px;--border-color:#e2e8f0;--border-light:#e2e8f099;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-smooth:.3s cubic-bezier(.25, .8, .25, 1);--shadow-sm:0 2px 8px -2px #0000000d;--shadow-md:0 8px 24px -4px #00000014;--shadow-lg:0 16px 40px -8px #0000001f;--shadow-glow:0 0 20px #4f46e54d}[data-theme=dark]{--primary:#6366f1;--primary-light:#6366f133;--primary-hover:#818cf8;--background:#09090b;--surface:#18181b;--surface-hover:#27272a;--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-muted:#71717a;--border-color:#27272a;--border-light:#27272a80;--shadow-sm:0 2px 8px -2px #0009;--shadow-md:0 8px 24px -4px #000c;--shadow-lg:0 16px 40px -8px #000000e6}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--background);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-smooth), color var(--transition-smooth);background-image:radial-gradient(at 0 0,#6366f10d 0,#0000 50%),radial-gradient(at 100% 100%,#10b98108 0,#0000 50%);background-attachment:fixed;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;overflow-x:hidden}a{color:var(--primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-hover)}button{cursor:pointer;background:0 0;border:none;font-family:inherit}h1{letter-spacing:-.03em;color:var(--text-primary);font-size:28px;font-weight:800}h2{letter-spacing:-.02em;color:var(--text-primary);font-size:20px;font-weight:700}h3{letter-spacing:-.01em;color:var(--text-primary);font-size:16px;font-weight:600}.text-small{color:var(--text-secondary);font-size:13px}.app-container{background:0 0;width:100vw;height:100vh;display:flex;overflow:hidden}.main-content{flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.scrollable{padding:32px 40px;overflow-y:auto}.scrollable::-webkit-scrollbar{width:8px;height:8px}.scrollable::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:10px}.scrollable::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.panel{background:var(--surface);border-radius:var(--border-radius);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:all var(--transition-smooth)}.glass-panel{-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-sm);background:#ffffffb3;border:1px solid #ffffff80}[data-theme=dark] .glass-panel{background:#18181bb3;border:1px solid #ffffff0d}.panel:hover.card-hover{box-shadow:var(--shadow-md);border-color:var(--primary-light);transform:translateY(-4px)}.panel-p{padding:24px}.input-base{background:var(--surface);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--border-radius-sm);width:100%;transition:all var(--transition-fast);outline:none;padding:10px 14px;font-size:14px;box-shadow:0 1px 2px #00000005}.input-base:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.btn-primary{background:linear-gradient(135deg, var(--secondary) 0%, var(--primary) 100%);color:#fff;border-radius:var(--border-radius-sm);transition:all var(--transition-fast);text-shadow:0 1px 2px #0000001a;border:1px solid #ffffff1a;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;display:inline-flex;box-shadow:0 2px 8px #4f46e54d}.btn-primary:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e566}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);transition:all var(--transition-fast);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;display:inline-flex}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--text-muted)}.btn-ghost{color:var(--text-secondary);border-radius:var(--border-radius-sm);transition:all var(--transition-fast);background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:8px 12px;font-size:14px;font-weight:500;display:inline-flex}.btn-ghost:hover{background:var(--surface-hover);color:var(--text-primary)}.badge{letter-spacing:.02em;border-radius:100px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-primary{background-color:var(--primary-light);color:var(--primary)}.badge-success{background-color:var(--success-light);color:var(--success)}.spreadsheet-container{border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--surface);width:100%;box-shadow:var(--shadow-sm);overflow:auto visible}.spreadsheet-table{border-collapse:collapse;width:100%;min-width:1200px}.spreadsheet-table th{color:var(--text-secondary);text-align:left;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border-color);border-right:1px solid var(--border-color);background:var(--surface-hover);z-index:10;-webkit-user-select:none;user-select:none;padding:16px 20px;font-size:12px;font-weight:600;position:sticky;top:0}.spreadsheet-table td{border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);transition:background-color var(--transition-fast);padding:0;position:relative}.spreadsheet-table tr:hover td{background-color:var(--primary-light)}.spreadsheet-input{width:100%;height:48px;color:var(--text-primary);transition:all var(--transition-fast);background:0 0;border:none;outline:none;padding:0 20px;font-family:inherit;font-size:14px}.spreadsheet-input:focus{background:var(--surface);box-shadow:inset 0 0 0 2px var(--primary);z-index:1;position:relative}.sticky-col{background:var(--surface);z-index:5;font-weight:500;position:sticky;left:0}th.sticky-col{z-index:11;background:var(--surface-hover)}tr:hover .sticky-col{background-color:var(--primary-light)}
