@charset "UTF-8";@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yyygA.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yyygA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yyygA.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;--primary: #0891b2;--primary-strong: #0e7490;--primary-glow: #22d3ee;--primary-soft: #e0f7fb;--accent: #6366f1;--gradient: linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);--success: #059669;--success-soft: #ecfdf5;--success-line: #a7f3d0;--danger: #e11d48;--danger-soft: #fff1f2;--danger-line: #fecdd3;--warning: #d97706;--warning-soft: #fffbeb;--warning-line: #fde68a;--bg: #f3f6fa;--grid-line: rgba(8, 145, 178, .06);--surface: #ffffff;--surface-2: #f8fafc;--surface-3: #eef2f7;--text: #0f172a;--text-2: #334155;--muted: #64748b;--border: #e2e8f0;--border-2: #cbd5e1;--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow: 0 1px 3px rgba(15, 23, 42, .06), 0 8px 24px -12px rgba(15, 23, 42, .14);--shadow-lg: 0 24px 48px -16px rgba(15, 23, 42, .28);--ring: 0 0 0 4px rgba(8, 145, 178, .18);--ease: cubic-bezier(.2, .8, .2, 1);--fast: .16s;--normal: .26s;color-scheme:light}:root[data-theme=dark]{--primary: #22d3ee;--primary-strong: #67e8f9;--primary-glow: #22d3ee;--primary-soft: rgba(34, 211, 238, .12);--success: #34d399;--success-soft: rgba(52, 211, 153, .1);--success-line: rgba(52, 211, 153, .3);--danger: #fb7185;--danger-soft: rgba(251, 113, 133, .1);--danger-line: rgba(251, 113, 133, .3);--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .1);--warning-line: rgba(251, 191, 36, .3);--bg: #0a0f1c;--grid-line: rgba(34, 211, 238, .045);--surface: #111827;--surface-2: #0f1623;--surface-3: #1a2335;--text: #e5edf7;--text-2: #c3cfdf;--muted: #8796ad;--border: #1f2a3d;--border-2: #2c3a52;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 3px rgba(0, 0, 0, .35), 0 12px 32px -16px rgba(0, 0, 0, .7);--shadow-lg: 0 24px 48px -12px rgba(0, 0, 0, .75);--ring: 0 0 0 4px rgba(34, 211, 238, .2);color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-sans);font-size:15px;line-height:1.5;background-color:var(--bg);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:28px 28px;color:var(--text);-webkit-font-smoothing:antialiased;transition:background-color var(--normal) ease,color var(--normal) ease}::selection{background:#22d3ee4d}.page-container svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:99px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--primary);background-clip:padding-box}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulseRing{0%{box-shadow:0 0 #22d3ee73}to{box-shadow:0 0 0 10px #22d3ee00}}.anim-in{animation:fadeUp .36s var(--ease) both}.anim-pop{animation:popIn .3s var(--ease) both}.stagger>*{animation:fadeUp .42s var(--ease) both}.stagger>*:nth-child(1){animation-delay:45ms}.stagger>*:nth-child(2){animation-delay:90ms}.stagger>*:nth-child(3){animation-delay:135ms}.stagger>*:nth-child(4){animation-delay:.18s}.stagger>*:nth-child(5){animation-delay:225ms}.stagger>*:nth-child(6){animation-delay:.27s}.stagger>*:nth-child(7){animation-delay:315ms}.stagger>*:nth-child(8){animation-delay:.36s}.stagger>*:nth-child(9){animation-delay:405ms}.stagger>*:nth-child(10){animation-delay:.45s}.stagger>*:nth-child(11){animation-delay:495ms}.stagger>*:nth-child(12){animation-delay:.54s}.rows-anim tbody tr{animation:fadeUp .32s var(--ease) both}.rows-anim tbody tr:nth-child(1){animation-delay:28ms}.rows-anim tbody tr:nth-child(2){animation-delay:56ms}.rows-anim tbody tr:nth-child(3){animation-delay:84ms}.rows-anim tbody tr:nth-child(4){animation-delay:112ms}.rows-anim tbody tr:nth-child(5){animation-delay:.14s}.rows-anim tbody tr:nth-child(6){animation-delay:168ms}.rows-anim tbody tr:nth-child(7){animation-delay:196ms}.rows-anim tbody tr:nth-child(8){animation-delay:224ms}.rows-anim tbody tr:nth-child(9){animation-delay:252ms}.rows-anim tbody tr:nth-child(10){animation-delay:.28s}.rows-anim tbody tr:nth-child(11){animation-delay:308ms}.rows-anim tbody tr:nth-child(12){animation-delay:336ms}.rows-anim tbody tr:nth-child(13){animation-delay:364ms}.rows-anim tbody tr:nth-child(14){animation-delay:392ms}.rows-anim tbody tr:nth-child(15){animation-delay:.42s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}}.page-container{width:100%;max-width:1120px;margin:0 auto;padding:2rem 2rem 3rem}.page-header{margin-bottom:1.5rem}.page-header .eyebrow{display:inline-flex;align-items:center;gap:.45rem;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--primary);margin-bottom:.4rem}.page-header .eyebrow:before{content:"";width:18px;height:2px;border-radius:2px;background:var(--gradient)}.title{font-size:1.7rem;font-weight:800;letter-spacing:-.025em;line-height:1.2;color:var(--text);display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.subtitle{margin-top:.35rem;color:var(--muted);font-size:.95rem;max-width:62ch}.card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.75rem;transition:box-shadow var(--normal) ease,border-color var(--normal) ease,background-color var(--normal) ease}.card:hover{border-color:var(--border-2)}.card-title{display:flex;align-items:center;gap:.6rem;font-size:1rem;font-weight:700;color:var(--text);margin-bottom:1.1rem}.card-title .card-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--primary-soft);color:var(--primary);flex-shrink:0}.card-title .card-icon svg{width:17px;height:17px}.card-title small{display:block;font-size:.8rem;font-weight:500;color:var(--muted)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:start}.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem}label,.label{font-size:.82rem;font-weight:650;color:var(--text-2);letter-spacing:.01em}input,select,textarea{font-family:inherit;font-size:.94rem;color:var(--text);background:var(--surface-2);border:1.5px solid var(--border);border-radius:var(--radius);padding:.7rem .9rem;width:100%;transition:border-color var(--fast) ease,box-shadow var(--fast) ease,background-color var(--fast) ease}input::placeholder,select::placeholder,textarea::placeholder{color:var(--muted);opacity:.75}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--border-2)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);background:var(--surface);box-shadow:var(--ring)}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.7;background:var(--surface-3)}input.error,select.error,textarea.error{border-color:var(--danger);box-shadow:0 0 0 4px var(--danger-soft)}select{appearance:none;cursor:pointer;padding-right:2.4rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center}textarea{resize:vertical;line-height:1.6}.error-msg{font-size:.8rem;font-weight:600;color:var(--danger);animation:fadeUp .22s var(--ease) both}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-family:inherit;font-size:.88rem;font-weight:650;line-height:1;padding:.7rem 1.15rem;border-radius:var(--radius);border:1.5px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;overflow:hidden;isolation:isolate;transition:transform var(--fast) ease,box-shadow var(--fast) ease,background-color var(--fast) ease,border-color var(--fast) ease,color var(--fast) ease}.btn svg{width:16px;height:16px;flex-shrink:0}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn:active:not(:disabled){transform:translateY(1px) scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-primary,.btn-send,.btn-import,.btn-process,.btn-generate{color:#fff;background:var(--gradient);box-shadow:0 6px 18px -8px #06b6d4b3}.btn-primary:after,.btn-send:after,.btn-import:after,.btn-process:after,.btn-generate:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);background-size:220% 100%;background-position:120% 0;transition:background-position .6s ease}.btn-primary:hover:not(:disabled),.btn-send:hover:not(:disabled),.btn-import:hover:not(:disabled),.btn-process:hover:not(:disabled),.btn-generate:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px -8px #06b6d4bf}.btn-primary:hover:not(:disabled):after,.btn-send:hover:not(:disabled):after,.btn-import:hover:not(:disabled):after,.btn-process:hover:not(:disabled):after,.btn-generate:hover:not(:disabled):after{background-position:-40% 0}.btn-secondary,.btn-outline,.btn-back,.btn-discard,.btn-export,.btn-download{color:var(--text-2);background:var(--surface);border-color:var(--border)}.btn-secondary:hover:not(:disabled),.btn-outline:hover:not(:disabled),.btn-back:hover:not(:disabled),.btn-discard:hover:not(:disabled),.btn-export:hover:not(:disabled),.btn-download:hover:not(:disabled){color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}.btn-download,.btn-export{color:var(--success);border-color:var(--success-line);background:var(--success-soft)}.btn-download:hover:not(:disabled),.btn-export:hover:not(:disabled){color:#fff;background:var(--success);border-color:var(--success)}.btn-danger{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-line)}.btn-danger:hover:not(:disabled){color:#fff;background:var(--danger);border-color:var(--danger)}.btn-add{color:var(--primary);background:var(--primary-soft);border:1.5px dashed color-mix(in srgb,var(--primary) 45%,transparent);padding:.45rem .8rem;font-size:.8rem}.btn-add:hover:not(:disabled){border-style:solid;border-color:var(--primary)}.btn-sm{padding:.5rem .85rem;font-size:.8rem}.btn-icon{display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border-radius:10px;color:var(--muted);background:transparent;border:1.5px solid transparent;cursor:pointer;transition:all var(--fast) ease}.btn-icon svg{width:18px;height:18px}.btn-icon:hover:not(:disabled){color:var(--text);background:var(--surface-3)}.btn-delete{display:inline-grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:9px;border:1.5px solid transparent;background:transparent;color:var(--muted);font-size:.85rem;cursor:pointer;transition:all var(--fast) ease}.btn-delete:hover:not(:disabled){color:var(--danger);background:var(--danger-soft);border-color:var(--danger-line);transform:rotate(90deg)}.btn-delete:disabled{opacity:.3;cursor:not-allowed}.actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.4rem}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:99px;font-family:var(--font-mono);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-eks{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.badge-lambda{color:#b45309;background:#fffbeb;border-color:#fde68a}.badge-fargate{color:#7c3aed;background:#f5f3ff;border-color:#ddd6fe}.badge-ec2{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.badge-default{color:var(--muted);background:var(--surface-3);border-color:var(--border)}:root[data-theme=dark] .badge-eks{color:#fdba74;background:#fb923c1a;border-color:#fb923c4d}:root[data-theme=dark] .badge-lambda{color:#fcd34d;background:#fbbf241a;border-color:#fbbf244d}:root[data-theme=dark] .badge-fargate{color:#c4b5fd;background:#a78bfa1a;border-color:#a78bfa4d}:root[data-theme=dark] .badge-ec2{color:#93c5fd;background:#60a5fa1a;border-color:#60a5fa4d}.count-badge{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 .5rem;border-radius:99px;font-size:.8rem;font-weight:700;color:#fff;background:var(--gradient);animation:popIn .3s var(--ease) both}.table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th{text-align:left;padding:.75rem 1rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border);color:var(--text-2);vertical-align:middle}.data-table tbody tr{transition:background-color var(--fast) ease}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--surface-2)}.data-table .idx{width:48px;font-family:var(--font-mono);font-size:.78rem;color:var(--muted)}.data-table .nombre{font-family:var(--font-mono);font-size:.86rem;font-weight:500;color:var(--text)}.api-status,.feedback,.excel-error{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-top:1rem;padding:.8rem 1rem;border-radius:var(--radius);font-size:.88rem;font-weight:600;border:1px solid transparent;animation:popIn .28s var(--ease) both}.api-status.status-ok,.feedback.status-ok,.excel-error.status-ok{color:var(--success);background:var(--success-soft);border-color:var(--success-line)}.api-status.status-error,.feedback.status-error,.excel-error.status-error{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-line)}.excel-error{color:var(--warning);background:var(--warning-soft);border-color:var(--warning-line)}.code-block{font-family:var(--font-mono);font-size:.82rem;line-height:1.65;color:#cde7f0;background:#0b1220;border:1px solid #1c2a40;border-radius:var(--radius);padding:1.1rem 1.25rem;overflow:auto;max-height:420px;white-space:pre}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite;flex-shrink:0}.spinner-dark{border-color:color-mix(in srgb,var(--primary) 25%,transparent);border-top-color:var(--primary)}@keyframes toastIn{0%{opacity:0;transform:translateY(16px) scale(.95)}60%{opacity:1;transform:translateY(-3px) scale(1.01)}to{opacity:1;transform:none}}.toast-ok{position:fixed;bottom:1.6rem;right:1.6rem;display:flex;align-items:center;gap:.55rem;color:#fff;background:linear-gradient(135deg,#059669,#0d9488);padding:.85rem 1.25rem;border-radius:var(--radius);font-size:.88rem;font-weight:650;box-shadow:0 12px 32px -8px #0596698c;animation:toastIn .42s var(--ease) both!important;z-index:9999;pointer-events:none}@media (max-width: 900px){.grid-2{grid-template-columns:1fr}}@media (max-width: 640px){.page-container{padding:1.25rem 1rem 2.5rem}.card{padding:1.25rem;border-radius:var(--radius)}.title{font-size:1.4rem}.actions .btn{flex:1 1 auto}}
