:root{--ea-purple: #582C83;--ea-deep-purple: #2F0557;--ea-gold: #FFCB40;--ea-lime: #B2D235;--ea-magenta: #B71E81;--ea-indigo: #5E6ADB;--ea-orange: #F68D39;--ea-lavender: #DDD0E8;--ea-blue: #4F4FFF;--bg: #FBFBFB;--surface: #FFFFFF;--surface-alt: #F7F5FA;--surface-2: #F7F7F7;--border: #EEEEEE;--border-mid: #D0DDDD;--border-accent: #582C83;--text: #141414;--text-dim: #595959;--text-muted: #888888;--accent: #582C83;--accent-light: #EDE7F3;--highlight: #FFCB40;--card-shadow: 0 1px 4px rgba(47,5,87,.08), 0 0 0 1px rgba(88,44,131,.04);--chart-1: #582C83;--chart-2: #5E6ADB;--chart-3: #B2D235;--chart-4: #FFCB40;--chart-5: #F68D39;--chart-6: #B71E81;--success: #2D8A5E;--success-bg: #E8F5EE;--warning: #D48000;--warning-bg: #FFF5E6;--danger: #CC3333;--danger-bg: #FEE;--info: #509CA7;--info-bg: #E8F4F6}[data-theme=dark]{--bg: #0F0A18;--surface: #1A1226;--surface-alt: #211838;--surface-2: #2A1F3D;--border: #342A4A;--border-mid: #4A3D66;--text: #EDE7F3;--text-dim: #B8AECF;--text-muted: #7A6E96;--accent: #B2A0D4;--accent-light: rgba(88,44,131,.3);--card-shadow: 0 2px 8px rgba(0,0,0,.3), 0 0 0 1px rgba(88,44,131,.15)}[data-theme=purple]{--bg: #2F0557;--surface: rgba(255,255,255,.06);--surface-alt: rgba(255,255,255,.04);--surface-2: rgba(255,255,255,.08);--border: rgba(255,255,255,.1);--border-mid: rgba(255,255,255,.15);--text: #FFFFFF;--text-dim: rgba(255,255,255,.8);--text-muted: rgba(255,255,255,.5);--accent: #FFCB40;--accent-light: rgba(255,203,64,.15);--card-shadow: 0 2px 8px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.06)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:Lato,system-ui,sans-serif;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background .4s,color .4s}::selection{background:var(--ea-gold);color:var(--ea-deep-purple)}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.section{padding:3rem 0;border-bottom:1px solid var(--border)}.section:last-child{border-bottom:none}.section-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);margin-bottom:.5rem}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}h1{font-size:2.5rem;font-weight:900;letter-spacing:-.02em;line-height:1.1;color:var(--text);margin-bottom:.75rem}h2{font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:.5rem}h3{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:.4rem}p{font-size:.95rem;line-height:1.65;color:var(--text);margin-bottom:.75rem}.lead{font-size:1.1rem;color:var(--text-dim);max-width:640px}strong{font-weight:700;color:var(--ea-deep-purple)}[data-theme=dark] strong,[data-theme=purple] strong{color:var(--ea-gold)}code{background:var(--accent-light);padding:.1em .4em;border-radius:4px;font-size:.85em;color:var(--ea-purple);border:1px solid var(--border)}[data-theme=dark] code{background:#5e6adb26;color:#b8a0d4;border-color:var(--border)}[data-theme=purple] code{background:#ffffff1a;color:var(--ea-gold);border-color:#ffffff26}.ea-logo{display:flex;align-items:center;gap:.6rem}.ea-logo-mark{background:var(--ea-purple);color:#fff;font-weight:900;font-size:.75rem;padding:.3rem .5rem;border-radius:4px;letter-spacing:.05em}[data-theme=purple] .ea-logo-mark{background:var(--ea-gold);color:var(--ea-deep-purple)}.ea-logo-text{font-weight:700;font-size:.85rem;letter-spacing:.02em}.masthead{padding:1rem 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.hero{background:linear-gradient(135deg,#3b1660,#582c83 40%,#4a2575);color:#fff;padding:4rem 0;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-20%;right:-5%;width:60%;height:140%;background:radial-gradient(16px 16px at 20% 30%,rgba(255,203,64,.12) 50%,transparent 51%),radial-gradient(12px 12px at 60% 20%,rgba(178,210,53,.1) 50%,transparent 51%),radial-gradient(20px 20px at 80% 60%,rgba(94,106,219,.1) 50%,transparent 51%),radial-gradient(14px 14px at 40% 70%,rgba(183,30,129,.08) 50%,transparent 51%),radial-gradient(10px 10px at 70% 40%,rgba(255,255,255,.04) 50%,transparent 51%),radial-gradient(18px 18px at 30% 50%,rgba(255,203,64,.06) 50%,transparent 51%);pointer-events:none}.hero h1{color:#fff;font-size:3rem;position:relative;z-index:1}.hero .lead{color:#ffffffd9;position:relative;z-index:1}.hero-gold-bar{width:200px;height:3px;background:var(--ea-gold);margin-bottom:2rem;border-radius:2px;position:relative;z-index:1}.section-break{background:linear-gradient(135deg,#3b1660,#582c83,#4a2575);color:#fff;padding:3rem 0;text-align:left}.section-break h2{color:#fff;font-size:2rem}.section-break p{color:#ffffffd9}.section-break strong{color:var(--ea-gold)}.gold-rule{width:48px;height:3px;background:var(--ea-gold);border:none;border-radius:2px;margin:1rem 0}.purple-rule{width:48px;height:3px;background:var(--ea-purple);border:none;border-radius:2px;margin:1rem 0}.metric-grid{display:grid;gap:8px;margin:1rem 0}.metric-grid.cols-2{grid-template-columns:repeat(2,1fr)}.metric-grid.cols-3{grid-template-columns:repeat(3,1fr)}.metric-grid.cols-4{grid-template-columns:repeat(4,1fr)}.metric-card{background:var(--surface);box-shadow:var(--card-shadow);border-radius:8px;padding:1.25rem;position:relative;overflow:hidden}.metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.metric-card.purple:before{background:var(--ea-purple)}.metric-card.gold:before{background:var(--ea-gold)}.metric-card.lime:before{background:var(--ea-lime)}.metric-card.indigo:before{background:var(--ea-indigo)}.metric-card.magenta:before{background:var(--ea-magenta)}.metric-card.orange:before{background:var(--ea-orange)}.metric-value{font-size:2rem;font-weight:900;line-height:1;margin-bottom:.25rem;color:var(--ea-purple)}[data-theme=dark] .metric-value,[data-theme=purple] .metric-value{color:var(--ea-gold)}.metric-label{font-size:.75rem;color:var(--text-dim);font-weight:400}.metric-detail{font-size:.82rem;color:var(--text-muted);margin-top:.4rem;line-height:1.5}.metric-delta{margin-top:.5rem;font-size:.7rem;font-weight:700}.metric-delta.up{color:var(--success)}.metric-delta.down{color:var(--danger)}.chart-row{display:grid;grid-template-columns:140px 1fr 50px;gap:.75rem;align-items:center;padding:.4rem 0}.chart-label{font-size:.85rem;font-weight:600}.chart-bar-track{height:28px;background:var(--surface-2);border-radius:4px;overflow:hidden}.chart-bar-fill{height:100%;border-radius:4px;display:flex;align-items:center;padding-left:10px;font-size:.7rem;font-weight:700;color:#fff;transition:width .8s cubic-bezier(.16,1,.3,1)}.chart-bar-fill.purple{background:var(--ea-purple)}.chart-bar-fill.indigo{background:var(--ea-indigo)}.chart-bar-fill.lime{background:var(--ea-lime);color:var(--ea-deep-purple)}.chart-bar-fill.gold{background:var(--ea-gold);color:var(--ea-deep-purple)}.chart-bar-fill.magenta{background:var(--ea-magenta)}.chart-bar-fill.orange{background:var(--ea-orange);color:var(--ea-deep-purple)}.chart-value{font-size:.85rem;font-weight:700;text-align:right;font-family:monospace}.ea-table{width:100%;border-collapse:collapse;font-size:.85rem;margin:1rem 0}.ea-table th{font-weight:700;text-transform:uppercase;font-size:.65rem;letter-spacing:.08em;color:#fff;padding:.6rem .75rem;background:var(--ea-purple);text-align:left;border:none}.ea-table th:first-child{border-radius:4px 0 0}.ea-table th:last-child{border-radius:0 4px 0 0}.ea-table td{padding:.55rem .75rem;color:var(--text);vertical-align:top;line-height:1.4}.ea-table tr:nth-child(2n) td{background:var(--surface-2)}.ea-table tr:hover td{background:var(--accent-light)}.insight-card{border-left:4px solid var(--ea-gold);padding:1rem 1.25rem;background:var(--surface-alt);border-radius:0 6px 6px 0;box-shadow:var(--card-shadow);margin:.75rem 0;font-size:.9rem;line-height:1.6;color:var(--text-dim);font-style:italic}.insight-card.purple{border-left-color:var(--ea-purple)}.insight-card.lime{border-left-color:var(--ea-lime)}.insight-card.danger{border-left-color:var(--danger)}.insight-card strong{font-style:normal}.status{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:700}.status-dot{width:8px;height:8px;border-radius:50%}.status.active .status-dot{background:var(--success)}.status.active{color:var(--success)}.status.warning .status-dot{background:var(--warning)}.status.warning{color:var(--warning)}.status.danger .status-dot{background:var(--danger)}.status.danger{color:var(--danger)}.status.info .status-dot{background:var(--info)}.status.info{color:var(--info)}.tag{display:inline-block;padding:.2rem .65rem;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.tag.purple{background:var(--accent-light);color:var(--ea-purple)}.tag.gold{background:#ffcb4033;color:#8b6914}.tag.lime{background:#b2d23533;color:#5a6a1a}.tag.magenta{background:#b71e8126;color:var(--ea-magenta)}.tag.indigo{background:#5e6adb26;color:var(--ea-indigo)}.tag.orange{background:#f68d3926;color:#9a5a0a}[data-theme=dark] .tag.purple{background:#582c834d;color:#b8a0d4}[data-theme=dark] .tag.gold{background:#ffcb4026;color:var(--ea-gold)}[data-theme=dark] .tag.lime{background:#b2d23526;color:var(--ea-lime)}[data-theme=dark] .tag.magenta{background:#b71e8133;color:#e06eb8}[data-theme=dark] .tag.indigo{background:#5e6adb33;color:#8b95ed}[data-theme=dark] .tag.orange{background:#f68d3926;color:var(--ea-orange)}.theme-switcher{display:flex;gap:.35rem}.theme-btn{width:28px;height:28px;border-radius:6px;border:2px solid var(--border);cursor:pointer;transition:all .2s}.theme-btn:hover{transform:scale(1.1)}.theme-btn.active{border-color:var(--ea-purple);box-shadow:0 0 0 2px var(--accent-light)}.theme-btn[data-set=light]{background:#fbfbfb}.theme-btn[data-set=dark]{background:#0f0a18}.theme-btn[data-set=purple]{background:linear-gradient(135deg,#3b1660,#582c83)}@media (max-width: 768px){.metric-grid{grid-template-columns:repeat(2,1fr)!important}.chart-row{grid-template-columns:100px 1fr 40px}.two-col{grid-template-columns:1fr}h1{font-size:2rem}.hero h1{font-size:2.2rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-size:.85rem;font-weight:700;color:var(--text-dim);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.05em}.form-input,.form-select{width:100%;padding:.65rem .9rem;border:1.5px solid var(--border-mid);border-radius:6px;background:var(--surface);color:var(--text);font-family:Lato,sans-serif;font-size:.95rem;transition:border-color .2s,box-shadow .2s;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.form-input:focus,.form-select:focus{outline:none;border-color:var(--ea-purple);box-shadow:0 0 0 3px var(--accent-light)}[data-theme=purple] .form-input:focus,[data-theme=purple] .form-select:focus{border-color:var(--ea-gold);box-shadow:0 0 0 3px #ffcb4033}.form-input::placeholder{color:var(--text-muted)}.form-input.error,.form-select.error{border-color:var(--danger)}.form-select-button{display:flex;align-items:center;justify-content:space-between;gap:.5rem;cursor:pointer}.form-select-button[data-disabled]{opacity:.6;cursor:not-allowed}.select-popover{width:var(--trigger-width);max-height:240px;overflow:auto;background:var(--surface);border:1.5px solid var(--border-mid);border-radius:6px;box-shadow:0 4px 16px #00000026;z-index:50}.select-listbox{outline:none;padding:.25rem}.select-item{padding:.5rem .75rem;border-radius:4px;font-size:.95rem;cursor:pointer;outline:none}.select-item[data-focused],.select-item[data-hovered]{background:var(--accent-light)}.select-item[data-selected]{font-weight:700;color:var(--ea-purple)}.select-item[data-disabled]{color:var(--text-muted);cursor:not-allowed}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;background:var(--ea-purple);color:#fff;border:none;border-radius:6px;font-family:Lato,sans-serif;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s,transform .1s}.btn-primary:hover:not(:disabled){background:var(--ea-deep-purple);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}[data-theme=purple] .btn-primary{background:var(--ea-gold);color:var(--ea-deep-purple)}[data-theme=purple] .btn-primary:hover:not(:disabled){background:#e6b830}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--surface);color:var(--accent);border:1.5px solid var(--border-mid);border-radius:6px;font-family:Lato,sans-serif;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .1s}.btn-secondary:hover:not(:disabled){border-color:var(--accent);background:var(--accent-light);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-secondary:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-light)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}[data-theme=purple] .btn-secondary{color:var(--ea-gold)}.error-banner{background:var(--danger-bg);border:1.5px solid var(--danger);border-radius:6px;padding:1rem 1.25rem;display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem}.error-banner-icon{color:var(--danger);font-weight:900;font-size:1.1rem;flex-shrink:0}.error-banner-text{color:var(--danger);font-size:.9rem;line-height:1.5}.template-picker{margin-bottom:2rem}.template-picker-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.pill-group{display:flex;flex-wrap:wrap;gap:.5rem;outline:none}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .9rem;border-radius:999px;border:1.5px solid var(--border-mid);background:var(--surface);color:var(--text-dim);font-size:.8rem;font-weight:700;cursor:pointer;transition:all .15s;outline:none}.pill[data-hovered]{border-color:var(--ea-purple);color:var(--ea-purple)}.pill[data-selected]{background:var(--accent-light);border-color:var(--ea-purple);color:var(--ea-purple)}[data-theme=purple] .pill[data-selected]{background:#ffcb4026;border-color:var(--ea-gold);color:var(--ea-gold)}.pill[data-focus-visible]{box-shadow:0 0 0 3px var(--accent-light)}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;outline:none;list-style:none}.template-card{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem;background:var(--surface);border:1.5px solid var(--border-mid);border-radius:10px;border-top:4px solid var(--ea-purple);box-shadow:var(--card-shadow);cursor:pointer;outline:none;transition:transform .15s,box-shadow .15s,border-color .15s}.template-card[data-hovered]{transform:translateY(-2px);box-shadow:0 4px 14px #2f05571f,0 0 0 1px #582c830f}.template-card[data-focus-visible]{box-shadow:0 0 0 3px var(--accent-light)}.template-card[data-selected]{border-color:var(--ea-purple);background:var(--accent-light)}[data-theme=purple] .template-card[data-selected]{border-color:var(--ea-gold);background:#ffcb401a}.template-card-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:8px;background:var(--accent-light);font-size:1.2rem}.template-card-title{font-weight:700;font-size:1rem;color:var(--text)}.template-card-desc{font-size:.8rem;color:var(--text-dim)}.template-picker-selection{margin-top:.75rem;font-size:.85rem;color:var(--text-dim)}.report-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--card-shadow);overflow-x:auto}.report-table{width:100%;border-collapse:collapse;font-size:.9rem}.report-table th{text-align:left;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:.75rem 1rem;border-bottom:1.5px solid var(--border);white-space:nowrap}.report-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border);vertical-align:top}.report-table tr:last-child td{border-bottom:none}.report-table tr:hover td{background:var(--surface-alt)}.report-table-name{font-weight:700;color:var(--text)}.report-table-muted{color:var(--text-muted);font-size:.85rem}.job-card{background:var(--surface);box-shadow:var(--card-shadow);border-radius:8px;padding:1.5rem;margin-top:2rem}.job-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.job-id{font-family:monospace;font-size:.8rem;color:var(--text-muted)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--ea-purple);border-radius:50%;animation:spin .8s linear infinite;display:inline-block;vertical-align:middle}[data-theme=purple] .spinner{border-top-color:var(--ea-gold)}.page-content{padding:2.5rem 0}:root{--ea-purple: #4F4FFF;--ea-deep-purple: #2B2B8E;--border: #EEEEEE;--border-mid: #DDDDDD;--accent: #4F4FFF;--accent-light: #E3E3FF;--surface-alt: #F7F7F7;--text-muted: #595959;--card-shadow: 0 1px 2px rgba(16,24,40,.06);--success: #28A745;--warning: #FFC107;--danger: #EF4444;--info: #17A2B8}.template-card{border-top:1.5px solid var(--border-mid)}.app-shell{display:flex;height:100dvh;overflow:hidden}.sidebar{width:15rem;flex-shrink:0;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);box-shadow:3px 0 6px #1018280f;position:relative;transition:width .18s ease;z-index:20}.sidebar.collapsed{width:4.25rem}.sidebar.collapsed .nav-item-label,.sidebar.collapsed .nav-section-label,.sidebar.collapsed .ea-logo-text{display:none}.sidebar.collapsed .nav-item{justify-content:center}.sidebar-collapse-toggle{position:absolute;top:4.35rem;right:-.85rem;width:1.35rem;height:2.75rem;border-radius:0 8px 8px 0;border:1px solid var(--border-mid);border-left:0;background:#cbcbcb;color:#fff;cursor:pointer;z-index:5}.sidebar-collapse-toggle:hover{background:var(--ea-purple)}.sidebar-logo{min-height:4.5rem;display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem .8rem;border-bottom:1px solid var(--border)}.ea-logo-mark{width:2.35rem;height:2.35rem;display:block;object-fit:cover;border-radius:.7rem;flex-shrink:0;background:transparent;border:0;box-shadow:none;padding:0}.ea-logo-text{min-width:0;font-size:1.05rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.sidebar-nav{flex:1;padding:.9rem .65rem}.sidebar-footer{padding:.65rem;border-top:1px solid var(--border)}.nav-section-label{margin:.65rem .65rem .25rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.nav-item{display:flex;align-items:center;gap:.65rem;min-height:2.5rem;padding:.5rem .65rem;border-radius:4px;color:var(--text-dim);text-decoration:none;font-size:.875rem;font-weight:600}.nav-item:hover{background:var(--surface-alt);color:var(--text)}.nav-item.active{color:var(--ea-purple);font-weight:700}.nav-item-icon{display:inline-flex;flex-shrink:0}.nav-item-icon svg{width:1.1rem;height:1.1rem}.skip-link{position:fixed;top:-4rem;left:1rem;z-index:100;padding:.6rem .9rem;background:var(--ea-deep-purple);color:#fff}.skip-link:focus{top:.5rem}.main-content{flex:1;min-width:0;height:100dvh;overflow-y:auto}.page-header{padding:1.35rem clamp(1.25rem,3vw,2.5rem);border-bottom:1px solid var(--border)}.eyebrow,.page-header .eyebrow{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.35rem}.page-header h1{font-size:1.65rem;margin-bottom:.2rem}.page-header .lead{margin-bottom:0}.page-body{width:100%;max-width:1500px;margin:0 auto;padding:2rem clamp(1.25rem,3vw,2.5rem) 3rem}.report-builder-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;align-items:start}.report-builder-section{min-width:0;animation:workspace-enter .35s ease-out both}.report-builder-section:nth-child(2){animation-delay:.06s}.report-builder-heading{margin-bottom:1.25rem}.report-builder-heading h2{margin:0 0 .25rem;font-size:1.1rem}.report-builder-heading p{margin:0;color:var(--text-dim);font-size:.9rem}.report-options-panel{border-top:1px solid var(--border);padding-top:2rem;width:min(100%,52rem)}.report-builder-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.report-preview-error{display:block;margin-top:.75rem;color:var(--danger);font-size:.85rem}@keyframes workspace-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-toprow{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem}.page-toprow h1{font-size:1.4rem;margin-bottom:0}.page-toprow-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.page-toprow-help{font-size:.85rem;font-weight:600;color:var(--text-dim);text-decoration:none}.page-toprow-help:hover{color:var(--ea-purple)}.section-toprow{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1.25rem;margin-bottom:.85rem}.section-toprow .eyebrow{margin-bottom:0}.section-toprow-links{display:flex;gap:1.1rem;font-size:.8rem}.section-toprow-links a,.section-toprow-links button{background:none;border:none;padding:0;cursor:pointer;color:var(--ea-purple);font-weight:600;font-size:.8rem;text-decoration:none;font-family:inherit}.section-toprow-links a:hover,.section-toprow-links button:hover{text-decoration:underline}.section-toprow-links button.active{color:var(--text-muted);cursor:default}.section-toprow-links button.active:hover{text-decoration:none}.pill.pill-market{background:var(--accent-light);border-color:var(--accent-light);color:#2b2b8e}.pill.pill-camping{background:#b2d23533;border-color:#b2d23533;color:#5a6a1a}.pill[data-selected].pill-market{border-color:var(--ea-purple)}.pill[data-selected].pill-camping{border-color:#5a6a1a}.template-card{padding:0;overflow:hidden}.template-card-header{position:relative;background:var(--surface-alt);padding:1.75rem .75rem 1.25rem;display:flex;align-items:center;justify-content:center}.template-card-body{display:flex;flex-direction:column;gap:.4rem;padding:.9rem 1rem 1.1rem}.template-card-icon-lg{display:flex;align-items:center;justify-content:center;font-size:1.7rem;color:var(--ea-purple)}.tile-v2-eyebrow{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.template-search{width:220px;padding:.4rem .75rem;font-size:.85rem}.template-carousel{position:relative;display:flex;align-items:center;gap:.5rem}.template-carousel .template-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-left:.25rem;gap:1rem;padding:.25rem;scrollbar-width:none}.template-carousel .template-grid::-webkit-scrollbar{display:none}.template-carousel .template-card{flex:0 0 220px;scroll-snap-align:start}.carousel-nav{flex:0 0 auto;background:none;border:none;color:var(--text-muted);font-size:1.5rem;line-height:1;cursor:pointer;padding:.25rem}.carousel-nav:hover{color:var(--ea-purple)}.recent-report-table{width:100%;border-collapse:separate;border-spacing:0 .6rem}.report-table-scroll{width:100%;overflow-x:auto}.recent-report-table thead th{text-align:left;padding:0 1rem .5rem;font-size:.85rem;font-weight:700;text-transform:none;letter-spacing:normal;color:var(--text)}.recent-report-table tbody tr{background:var(--surface-alt)}.recent-report-table tbody td{padding:1rem;border-top:1.5px solid var(--border);border-bottom:1.5px solid var(--border);vertical-align:middle;font-size:.85rem;color:var(--text)}.recent-report-table tbody td:first-child{border-left:1.5px solid var(--border);border-radius:8px 0 0 8px}.recent-report-table tbody td:last-child{border-right:1.5px solid var(--border);border-radius:0 8px 8px 0}.recent-report-table .col-name{width:16%}.recent-report-table .col-details{width:34%}.recent-report-table .col-edited{width:12%}.recent-report-table .col-owner{width:8%}.recent-report-table .col-status{width:14%}.recent-report-table .col-download{width:8%}.recent-report-table .col-select{width:2.5rem}.recent-report-table th input[type=checkbox],.recent-report-table td input[type=checkbox]{width:1.05rem;height:1.05rem;cursor:pointer}.recent-report-name{font-weight:700}.recent-report-table td.text-dim{color:var(--text-dim)}.recent-report-toolbar{display:flex;align-items:center;gap:1.1rem}.btn-delete-selected{display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;padding:0;color:var(--danger);font-weight:600;font-size:.85rem;font-family:inherit;cursor:pointer}.btn-delete-selected svg{width:1rem;height:1rem}.btn-delete-selected:hover{text-decoration:underline}.search-input-wrap{position:relative;display:inline-flex;align-items:center}.search-input-icon{position:absolute;left:.7rem;width:.95rem;height:.95rem;color:var(--text-muted);pointer-events:none}.search-input{padding:.35rem .75rem .35rem 2rem;border:1px solid var(--border-mid);border-radius:999px;font-size:.8rem;width:12rem;background:var(--surface)}.search-input:focus{outline:none;border-color:var(--ea-purple)}.status-failed-toggle{background:none;border:none;padding:0;font:inherit;cursor:pointer;color:var(--danger)}.status-failed-toggle svg{width:.8em;height:.8em;transition:transform .15s ease}.status-failed-toggle:hover{text-decoration:underline}.sort-header{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;padding:0;cursor:pointer;font:inherit;font-weight:700;font-size:.85rem;text-transform:none;letter-spacing:normal;color:var(--text)}.sort-header:hover,.sort-header.active{color:var(--ea-purple)}.sort-arrow{width:.9em;height:.9em;color:var(--text-muted);flex-shrink:0}.sort-header.active .sort-arrow{color:inherit}.avatar-circle{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--accent-light);border:1px solid rgba(79,79,255,.18);color:var(--ea-deep-purple);font-size:.7rem;font-weight:700;letter-spacing:.02em;box-shadow:none}.status-text{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text)}.icon-btn-download{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:none;border:none;padding:0;color:var(--text-muted);cursor:pointer}.icon-btn-download svg{width:1.5rem;height:1.5rem}.icon-btn-download:hover:not(:disabled){color:var(--text-dim)}.icon-btn-download:disabled{opacity:.5;cursor:not-allowed}.logout-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.report-table-empty{font-size:.9rem;color:var(--text-dim)}.not-provisioned{max-width:640px;padding:2rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.not-provisioned-title{margin:0 0 .75rem;font-size:1.1rem;font-weight:700}.not-provisioned-body{margin:0 0 .75rem;font-size:.9rem;line-height:1.6;color:var(--text-dim)}.not-provisioned-body:last-child{margin-bottom:0}.pagination-bar{display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin-top:1rem;font-size:.8rem;color:var(--text-dim)}.pagination-nav{background:none;border:1.5px solid var(--border-mid);border-radius:4px;width:1.6rem;height:1.6rem;line-height:1;color:var(--text-dim);cursor:pointer}.pagination-nav:hover:not(:disabled){border-color:var(--ea-purple);color:var(--ea-purple)}.pagination-nav:disabled{opacity:.4;cursor:not-allowed}.pagination-size{display:flex;align-items:center;gap:.5rem}.pagination-size select{padding:.2rem .4rem;border:1.5px solid var(--border-mid);border-radius:4px;font-size:.8rem}.report-type-rail{position:relative;display:grid;grid-template-columns:2rem minmax(0,1fr) 2rem;align-items:center;gap:.5rem}.report-type-rail-static{display:block}.report-type-grid{display:flex;min-width:0;width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:.25rem;scrollbar-width:thin;gap:1rem;padding:.25rem;outline:none;list-style:none;margin-bottom:0}.report-type-rail-static{grid-template-columns:minmax(0,1fr)}.report-type-grid .template-card{flex:0 0 clamp(17rem,30vw,22rem);min-height:13rem;scroll-snap-align:start}.report-type-rail-nav{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:0;background:none;color:var(--text-dim);cursor:pointer}.report-type-rail-nav:hover:not(:disabled){color:var(--ea-purple)}.report-type-rail-nav:focus-visible{outline:3px solid var(--accent-light);outline-offset:2px}.report-type-rail-nav:disabled{opacity:.25;cursor:default}.report-type-rail-nav svg{width:1.35rem;height:1.35rem}.report-type-rail-nav-back svg{transform:rotate(180deg)}.template-view-toggle{padding:0;border:0;background:none;color:var(--ea-purple);font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}.template-view-toggle:hover{text-decoration:underline}.template-view-toggle:focus-visible{outline:3px solid var(--accent-light);outline-offset:3px}.report-type-rail-expanded{display:block}.report-type-grid-expanded{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));overflow:visible;scroll-snap-type:none}.report-type-grid-expanded .template-card{min-width:0}.park-combobox{display:flex;flex-direction:column;gap:.4rem;max-width:none;margin-bottom:.5rem}.park-combobox-group{position:relative;display:flex;align-items:center}.park-combobox-search-icon{position:absolute;left:.75rem;width:1rem;height:1rem;color:var(--text-muted);pointer-events:none}.park-combobox-input{padding-left:2.25rem;padding-right:2.5rem}.park-combobox-toggle{position:absolute;right:.4rem;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer}.park-combobox-toggle[data-hovered],.park-combobox-toggle:hover{color:var(--ea-purple)}.park-combobox-toggle svg{width:1.1rem;height:1.1rem}.btn-split{padding:.6rem .5rem .6rem .9rem;gap:0}.btn-split-caret{display:inline-flex;align-items:center;justify-content:center;padding-left:.5rem;margin-left:.5rem;border-left:1px solid rgba(255,255,255,.3)}.btn-split-caret svg{width:1rem;height:1rem}.menu-popover{min-width:240px;background:var(--surface);border:1px solid var(--border-mid);border-radius:8px;box-shadow:0 8px 24px #10182824;overflow:hidden}.menu-list{outline:none;padding:.35rem}.menu-section{outline:none}.menu-section-label{display:block;padding:.5rem .6rem .3rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.menu-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:6px;font-size:.9rem;font-weight:600;color:var(--text);cursor:pointer;outline:none}.menu-item[data-focused],.menu-item[data-hovered]{background:var(--accent-light);color:var(--ea-purple)}.menu-item-icon{display:inline-flex;font-size:1rem;color:var(--text-muted)}.menu-item[data-focused] .menu-item-icon,.menu-item[data-hovered] .menu-item-icon{color:var(--ea-purple)}.input-data-disclosure{margin-top:1rem;border-block:1px solid var(--border)}.input-data-disclosure-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:.9rem 0;border:0;background:none;color:var(--text);text-align:left;cursor:pointer}.input-data-disclosure-toggle>span{display:flex;align-items:baseline;gap:.75rem;min-width:0}.input-data-disclosure-toggle svg{width:1rem;height:1rem;flex-shrink:0;transition:transform .18s ease}.input-data-disclosure.open .input-data-disclosure-toggle svg{transform:rotate(180deg)}.input-data-summary{color:var(--text-dim);font-size:.82rem;overflow-wrap:anywhere}.input-data-disclosure-content{padding:0 0 1rem}.input-data-configured{display:flex;align-items:flex-start;gap:.65rem;padding:.85rem;background:var(--surface-alt)}.input-data-configured svg{width:1rem;height:1rem;color:var(--success);flex-shrink:0;margin-top:.1rem}.input-data-configured strong,.input-data-configured span{display:block;font-size:.8rem}.input-data-configured span{margin-top:.15rem;color:var(--text-dim)}.saved-input-section{padding-top:.25rem}.saved-input-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.saved-input-heading p{margin:.2rem 0 0;color:var(--text-dim);font-size:.82rem}.saved-input-empty{padding:1.25rem;border:1px dashed var(--border-mid);color:var(--text-dim);font-size:.85rem;text-align:center}.saved-input-table-wrap{overflow-x:auto}.saved-input-table{width:100%;border-collapse:collapse;font-size:.8rem}.saved-input-table th{padding:.55rem .65rem;border:0;background:var(--ea-purple);color:#fff;font-size:.68rem;text-align:left;text-transform:uppercase}.saved-input-table td{padding:.65rem;border:0;vertical-align:middle}.saved-input-table tr:nth-child(2n) td{background:var(--surface-alt)}.saved-input-table tr.selected td{background:var(--accent-light)}.saved-input-table strong,.input-library-item strong{display:block;color:var(--text);font-size:.82rem}.saved-input-table small{display:block;color:var(--text-dim);font-size:.72rem;margin-top:.12rem}.saved-input-radio{width:1rem;height:1rem;padding:0;border:1.5px solid var(--border-mid);border-radius:50%;background:var(--surface);cursor:pointer}.saved-input-radio[aria-pressed=true]{border:4px solid var(--ea-purple)}.saved-input-radio:focus-visible{outline:3px solid var(--accent-light);outline-offset:2px}.saved-input-radio:disabled{opacity:.45;cursor:not-allowed}.saved-input-ready{display:inline-flex;align-items:center;gap:.35rem;color:var(--success);font-weight:700}.saved-input-ready span{width:.4rem;height:.4rem;border-radius:50%;background:currentColor}.saved-input-note{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .85rem;border-left:3px solid var(--ea-gold);background:var(--surface-alt);margin-top:.75rem}.saved-input-note strong,.saved-input-note span{display:block;font-size:.75rem}.saved-input-note span{color:var(--text-dim);margin-top:.1rem}.saved-input-manage{border:0;background:none;padding:.25rem;color:var(--ea-purple);font-size:.78rem;font-weight:700;cursor:pointer;flex-shrink:0}.saved-input-manage:hover{text-decoration:underline}.input-library-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#14141459;display:flex;justify-content:flex-end}.input-library-modal{width:min(34rem,92vw);height:100%;background:var(--surface);box-shadow:-12px 0 36px #2f05572e}.input-library-dialog{height:100%;display:flex;flex-direction:column;outline:none}.input-library-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.4rem;border-bottom:1px solid var(--border)}.input-library-header h2{margin:0;font-size:1.1rem}.input-library-header p{margin:.2rem 0 0;color:var(--text-dim);font-size:.8rem}.input-library-close{width:2rem;height:2rem;border:1px solid var(--border-mid);border-radius:4px;background:var(--surface);cursor:pointer;font-size:1.1rem}.input-library-search{margin:1rem 1.4rem .65rem;width:auto}.input-library-list{overflow-y:auto;padding:0 1.4rem;flex:1}.input-library-item{display:grid;grid-template-columns:1rem minmax(0,1fr) 2rem;gap:.75rem;align-items:center;padding:.85rem .65rem;border-bottom:1px solid var(--border)}.input-library-item.selected{background:var(--accent-light);border-radius:4px}.input-library-item span{display:block;color:var(--text-dim);font-size:.72rem;margin-top:.15rem}.input-library-delete{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:0;background:none;color:var(--text-muted);cursor:pointer}.input-library-delete:hover:not(:disabled){color:var(--danger)}.input-library-delete svg{width:1rem;height:1rem}.input-library-footer{display:flex;justify-content:space-between;gap:.75rem;padding:1rem 1.4rem;border-top:1px solid var(--border)}.disclosure-hint{font-weight:400;color:var(--text-muted);font-size:.8rem}.language-select-row{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin:1rem 0}.language-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.language-toggle button{background:var(--surface);border:none;padding:.45rem .9rem;font-size:.85rem;font-weight:600;color:var(--text-dim);cursor:pointer}.language-toggle button+button{border-left:1px solid var(--border)}.language-toggle button.active{background:var(--ea-purple);color:#fff}.language-badge{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.02em;padding:.05rem .4rem;border-radius:999px;background:#5e6adb26;border:1px solid transparent;color:var(--ea-indigo);vertical-align:middle}.language-badge-fr{background:var(--accent-light);color:var(--ea-purple)}button.language-badge{cursor:pointer;font:inherit}button.language-badge:hover{border-color:currentColor}button.language-badge[aria-pressed=true]{border-color:currentColor;box-shadow:0 0 0 1px currentColor inset}[data-theme=dark] .language-badge{background:#5e6adb33;color:#8b95ed}[data-theme=dark] .language-badge-fr{background:#582c834d;color:#b8a0d4}.filter-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin:.6rem 0 .9rem;padding:.55rem .7rem;background:var(--surface-alt);border:1px solid var(--border);border-radius:8px}.lang-toggle-group{display:inline-flex;border:1px solid var(--border-mid);border-radius:7px;overflow:hidden;background:var(--surface)}.lang-toggle-btn{border:none;background:none;padding:.35rem .8rem;font-size:.78rem;font-weight:700;color:var(--text-dim);cursor:pointer}.lang-toggle-btn:not(:last-child){border-right:1px solid var(--border-mid)}.lang-toggle-btn:hover{color:var(--ea-purple)}.lang-toggle-btn[aria-pressed=true]{background:var(--ea-purple);color:#fff}.facet-btn{display:inline-flex;align-items:center;gap:.4rem;border:1px dashed var(--border-mid);background:var(--surface);color:var(--text-dim);border-radius:7px;padding:.35rem .7rem;font-size:.78rem;font-weight:600;cursor:pointer}.facet-btn:hover{border-color:var(--ea-purple);color:var(--ea-purple)}.facet-btn-active{border-style:solid;border-color:var(--ea-purple);color:var(--ea-deep-purple);background:var(--accent-light)}.facet-btn-caret{width:.85em;height:.85em;opacity:.6}.facet-badge{background:var(--ea-purple);color:#fff;font-size:.68rem;font-weight:700;border-radius:999px;padding:.05rem .45rem;line-height:1.4}.facet-popover{min-width:210px}.facet-menu-item{justify-content:space-between}.facet-checkbox{width:15px;height:15px;flex-shrink:0;border-radius:4px;border:1.5px solid var(--border-mid);display:inline-flex;align-items:center;justify-content:center;color:#fff}.menu-item[data-selected] .facet-checkbox{background:var(--ea-purple);border-color:var(--ea-purple)}.facet-checkbox svg{width:10px;height:10px}.facet-menu-item-label{flex:1;text-align:left}.facet-menu-item-count{color:var(--text-muted);font-size:.72rem}.filter-reset-btn{display:inline-flex;align-items:center;gap:.3rem;border:none;background:none;color:var(--text-muted);font-size:.78rem;font-weight:600;cursor:pointer;padding:.35rem .3rem}.filter-reset-btn:hover{color:var(--ea-purple)}.disclosure-panel{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;padding:.9rem;background:var(--surface-alt);border:1px solid var(--border);border-radius:8px}.disclosure-remove{background:none;border:none;padding:0;color:var(--danger);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.disclosure-remove:hover{text-decoration:underline}.row-actions{display:inline-flex;align-items:center;gap:.25rem}.icon-btn-download.active{color:var(--ea-purple)}.artifact-download-btn{min-width:2.7rem;height:1.75rem;padding:0 .4rem;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text-dim);font:inherit;font-size:.68rem;font-weight:700;cursor:pointer}.artifact-download-btn:hover:not(:disabled){border-color:var(--ea-purple);color:var(--ea-purple)}.artifact-download-btn:disabled{opacity:.5;cursor:not-allowed}.report-preview-row td{padding:0!important;border:none!important;background:none!important}.report-preview-panel{margin:0 0 .6rem;border:1.5px solid var(--border);border-radius:8px;background:var(--surface-alt);overflow:hidden}.report-preview-head{display:flex;align-items:center;justify-content:space-between;padding:.6rem .9rem;border-bottom:1px solid var(--border);background:var(--surface)}.report-preview-title{font-size:.85rem;font-weight:700;color:var(--text)}.report-preview-close{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1rem;line-height:1;padding:.15rem .4rem;border-radius:4px}.report-preview-close:hover{color:var(--text);background:var(--surface-alt)}.report-preview-status{display:flex;align-items:center;gap:.5rem;padding:1.5rem;font-size:.9rem;color:var(--text-dim)}.report-preview-frame{width:100%;height:70vh;border:none;display:block;background:#fff}.qc-job-row{cursor:pointer}.qc-job-row:hover td{background:var(--surface-alt)}.qc-job-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;color:var(--text-dim)}.qc-duration{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;font-variant-numeric:tabular-nums}.qc-duration svg{width:.85em;height:.85em;flex-shrink:0}.qc-duration.ok{color:var(--success)}.qc-duration.warn{color:var(--warning)}.qc-duration.bad{color:var(--danger)}.qc-empty{padding:3rem 1.5rem;text-align:center;color:var(--text-muted);font-size:.9rem}.qc-trace-toprow{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.85rem;margin-bottom:1.5rem}.qc-trace-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.qc-trace-meta h2{font-size:1.1rem;margin:0}.qc-section-heading{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;margin:0 0 .35rem}.qc-section-heading svg{color:var(--accent);width:1.05em;height:1.05em}.qc-section-hint{color:var(--text-muted);font-size:.82rem;margin:0 0 .85rem}.qc-preview-card{border:1px solid var(--border);border-radius:12px;padding:1rem;background:var(--surface, #fff);margin-bottom:2rem}.qc-steps{display:flex;flex-direction:column;gap:.6rem}.qc-step{border:1px solid var(--border);border-radius:10px;background:var(--surface, #fff);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.qc-step[open]{box-shadow:var(--card-shadow)}.qc-step.flagged{border-color:var(--danger)}.qc-step.warn-flagged{border-color:var(--warning)}.qc-step-summary{cursor:pointer;display:flex;align-items:center;gap:.85rem;padding:.7rem 1rem;list-style:none}.qc-step-summary::-webkit-details-marker{display:none}.qc-step-summary:hover{background:var(--surface-alt)}.qc-step-summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.qc-step-index{background:var(--text-dim);color:#fff;border-radius:999px;width:1.6rem;height:1.6rem;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700}.qc-step.flagged .qc-step-index,.qc-step.warn-flagged .qc-step-index{background:var(--accent)}.qc-step-name{font-weight:700;font-size:.9rem}.qc-step-module{color:var(--text-muted);font-size:.78rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.qc-step-chevron{margin-left:auto;color:var(--text-muted);transition:transform .15s ease;display:inline-flex}.qc-step[open] .qc-step-chevron{transform:rotate(90deg)}.qc-step-body{padding:0 1rem 1rem;border-top:1px solid var(--border)}.qc-step-error{display:flex;align-items:flex-start;gap:.5rem;margin:.85rem 0 .75rem;padding:.6rem .75rem;background:#ef444414;border-left:3px solid var(--danger);border-radius:6px;color:var(--danger);font-size:.85rem}.qc-step-error svg{flex-shrink:0;margin-top:.1rem}.qc-step-io{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.85rem}.qc-step-io-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.35rem}.qc-step-io pre{overflow:auto;max-height:300px;background:var(--surface-alt);border:1px solid var(--border);padding:.6rem .7rem;border-radius:6px;font-size:.78rem;margin:0}@media (max-width: 760px){.sidebar{width:4.25rem}.sidebar .nav-item-label,.sidebar .nav-section-label,.sidebar .ea-logo-text,.sidebar-collapse-toggle{display:none}.sidebar .nav-item{justify-content:center}.report-type-rail{display:block}.report-type-rail-nav,.template-view-toggle{display:none}.report-type-grid,.report-type-grid-expanded{display:grid;grid-template-columns:1fr;overflow:visible;scroll-snap-type:none}.report-type-grid .template-card{min-width:0}.recent-report-table{min-width:760px}.qc-step-io{grid-template-columns:1fr}}@media (min-width: 761px) and (max-width: 1050px){.report-type-grid .template-card{flex-basis:clamp(17rem,42vw,21rem)}}@media (prefers-reduced-motion: reduce){.report-builder-section{animation:none}}.data-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000080;display:flex;align-items:center;justify-content:center;padding:2rem}.data-preview-modal{background:var(--surface, #fff);border-radius:.75rem;box-shadow:0 8px 32px #0003;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.data-preview-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border, #e2e2e2)}.data-preview-title{font-weight:600;font-size:.95rem}.data-preview-meta{font-size:.8rem;color:var(--text-dim, #777);margin-left:auto}.data-preview-close{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.25rem .5rem;color:var(--text-dim, #777)}.data-preview-close:hover{color:var(--text, #333)}.data-preview-table-wrap{overflow:auto;flex:1;padding:.5rem}.data-preview-table{width:100%;border-collapse:collapse;font-size:.8rem;white-space:nowrap}.data-preview-table th{position:sticky;top:0;background:var(--surface-alt, #f7f7f7);font-weight:600;text-align:left;padding:.4rem .6rem;border-bottom:2px solid var(--border, #e2e2e2)}.data-preview-table td{padding:.3rem .6rem;border-bottom:1px solid var(--border-light, #eee);max-width:200px;overflow:hidden;text-overflow:ellipsis}.readonly-hint{display:block;margin-top:.75rem;font-size:.8rem;color:var(--text-muted, #6B7280)}.auth-error{max-width:32rem;margin:4rem auto;padding:2rem;background:#fff;border:1px solid var(--border, #E5E7EB);border-radius:8px;text-align:center}.auth-error-title{margin:0 0 .75rem;font-size:1.25rem;font-weight:700}.auth-error-body{margin:0 0 1.5rem;color:var(--text-muted, #6B7280);line-height:1.5}.auth-error-actions{display:flex;justify-content:center}.auth-error-code{margin:1.5rem 0 0;font-size:.75rem;color:var(--text-muted, #6B7280)}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}
