:root{--brand-petrol:#0f2e3d;--brand-petrol-hover:#16465d;--brand-link:#004276;--brand-link-hover:#0069b3;--white:#fff;--black:#000;--surface-page:#fff;--surface-chrome:var(--brand-petrol);--surface-muted:#00000005;--text-primary:#000c;--text-secondary:#0009;--text-tertiary:#00000080;--text-link:var(--brand-link);--text-on-dark:#fffc;--text-on-dark-strong:#fff;--text-on-dark-muted:#ffffff80;--border-hairline:#0000001a;--border-underline:#0006;--border-underline-hover:#000000bf;--border-on-dark:#ffffff26;--accent-tag:#0000008c}[data-theme=dark]{--brand-petrol-hover:#21617f;--surface-page:#0b1f29;--surface-chrome:#071720;--surface-muted:#ffffff08;--text-primary:#ffffffd1;--text-secondary:#fff9;--text-tertiary:#ffffff73;--text-link:#7fc4f0;--brand-link:#7fc4f0;--brand-link-hover:#a9d9f7;--text-on-dark:#fffc;--text-on-dark-strong:#fff;--text-on-dark-muted:#ffffff80;--border-hairline:#ffffff1f;--border-underline:#ffffff59;--border-underline-hover:#ffffffb3;--border-on-dark:#ffffff1a;--accent-tag:#ffffff8c}
:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"SF Mono", "SFMono-Regular", ui-monospace, "Menlo", "Consolas", monospace;--weight-ultralight:200;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--text-h1:44px;--text-h2:28px;--text-h3:21px;--text-lead:20px;--text-body:17px;--text-body-sm:15px;--text-meta:13px;--text-caption:12px;--leading-tight:1.25;--leading-snug:1.4;--leading-body:1.7;--tracking-caps:.08em;--tracking-tight:-.01em}
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--reading-width:700px;--wide-width:984px;--page-gutter:24px;--header-height:60px;--radius-none:0;--radius-sm:2px;--radius-md:3px}
:root{--status-success:#2f6844;--status-warning:#8a6100;--status-danger:#a13a3a}[data-theme=dark]{--status-success:#7cc79a;--status-warning:#e0b84d;--status-danger:#e08585}
:root{--surface-control:#dfe9e9;--surface-control-hover:#d0dddd;--control-border:#0000002e;--control-border-hover:#0000006b;--button-primary-bg:var(--brand-petrol);--button-primary-bg-hover:#17495f;--button-primary-text:#fffffff5}[data-theme=dark]{--surface-control:#1d4354;--surface-control-hover:#265368;--control-border:#ffffff38;--control-border-hover:#ffffff80;--button-primary-bg:#24708f;--button-primary-bg-hover:#2d87ab;--button-primary-text:#fff}
:root{--bg:var(--surface-page);--bg-elevated:var(--surface-muted);--bg-input:var(--surface-page);--border:var(--border-hairline);--text:var(--text-primary);--text-muted:var(--text-tertiary);--accent:var(--brand-petrol);--accent-strong:var(--brand-petrol-hover);--ok:var(--status-success);--warn:var(--status-warning);--error:var(--status-danger);--radius:var(--radius-md);font-family:var(--font-sans)}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;transition:background .12s,color .12s}body{min-height:100vh;font-size:var(--text-body-sm);line-height:var(--leading-body)}a{color:var(--text-link);border-bottom:1px solid var(--border-underline);text-decoration:none;transition:border-color .12s}a:hover{border-color:var(--border-underline-hover)}button{font-family:inherit}.container{max-width:880px;margin:0 auto;padding:32px 20px 80px}header.app-header{margin-bottom:28px}header.app-header h1{font-size:26px;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin:0}.logo-title{align-items:center;gap:var(--space-2);margin:0 0 6px;display:flex}.app-logo{flex-shrink:0;width:auto;height:36px;display:block}@media (max-width:480px){.app-logo{height:28px}header.app-header h1{font-size:21px}}header.app-header p{color:var(--text-secondary);font-size:var(--text-body-sm);font-weight:var(--weight-light);margin:0}.header-top{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.warning-banner{background:var(--surface-muted);border:1px solid var(--status-warning);color:var(--warn);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin:0 0 var(--space-4);font-size:var(--text-body-sm);line-height:var(--leading-snug)}.warning-banner code{background:var(--surface-muted);border-radius:var(--radius-sm);font-family:var(--font-mono);padding:1px 5px}.model-row{align-items:flex-end;gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.model-select{flex-direction:column;flex:160px;gap:4px;min-width:160px;display:flex}.model-select-label{font-size:var(--text-caption);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-tertiary)}.model-select select{background:var(--surface-control);border:1px solid var(--control-border);border-radius:var(--radius-md);width:100%;height:38px;color:var(--text-primary);font-size:var(--text-body-sm);font-family:var(--font-sans);cursor:pointer;padding:0 10px;transition:background-color .12s,border-color .12s}.model-select select:hover:not(:disabled){background:var(--surface-control-hover)}.model-select select:focus{border-color:var(--control-border-hover);outline:none}.model-select .hint{font-size:var(--text-caption);color:var(--warn);cursor:help}.settings-toggle{white-space:nowrap;align-self:stretch}.settings-panel{background:var(--surface-muted);border:1px solid var(--border-hairline);border-radius:var(--radius-md);padding:var(--space-5);margin-bottom:var(--space-5)}.settings-panel h3{font-size:var(--text-h3);font-weight:var(--weight-semibold);color:var(--text-primary);margin:0 0 4px}.settings-controls{align-items:center;gap:var(--space-4);margin:var(--space-3) 0 4px;flex-wrap:wrap;display:flex}.checkbox-label{font-size:var(--text-body-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;display:flex}.checkbox-label input{cursor:pointer}.theme-toggle{border:1px solid var(--control-border);border-radius:var(--radius-md);background:var(--surface-control);gap:2px;padding:3px;display:inline-flex}.theme-toggle button{color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-medium);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;padding:6px 12px;transition:background-color .12s,color .12s}.theme-toggle button:hover:not(.active){color:var(--text-primary)}.theme-toggle button.active{background:var(--button-primary-bg);border-color:var(--button-primary-bg);color:var(--button-primary-text)}.settings-grid{gap:var(--space-4);margin:var(--space-4) 0 4px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.input-card{background:var(--surface-page);border:1px solid var(--border-hairline);border-radius:var(--radius-md);padding:var(--space-5)}textarea{resize:vertical;background:var(--surface-control);border:1px solid var(--control-border);border-radius:var(--radius-md);width:100%;min-height:120px;color:var(--text-primary);padding:var(--space-3) var(--space-4);font-size:var(--text-body-sm);font-family:var(--font-sans);line-height:var(--leading-snug);transition:border-color .12s}textarea:focus{border-color:var(--control-border-hover);outline:none}.actions-row{margin-top:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.hint{color:var(--text-tertiary);font-size:var(--text-caption)}button.primary{background:var(--button-primary-bg);color:var(--button-primary-text);border:1px solid var(--button-primary-bg);border-radius:var(--radius-md);font-size:var(--text-body-sm);font-weight:var(--weight-medium);cursor:pointer;padding:9px 20px;transition:background-color .12s,border-color .12s}button.primary:hover:not(:disabled){background:var(--button-primary-bg-hover);border-color:var(--button-primary-bg-hover)}button.primary:disabled{opacity:.45;cursor:not-allowed}button.secondary{background:var(--surface-control);color:var(--text-primary);border:1px solid var(--control-border);border-radius:var(--radius-md);font-size:var(--text-caption);font-weight:var(--weight-medium);cursor:pointer;padding:8px 14px;transition:background-color .12s,border-color .12s}button.secondary:hover:not(:disabled){background:var(--surface-control-hover);border-color:var(--control-border-hover)}button.secondary:disabled{opacity:.45;cursor:not-allowed}.progress{gap:var(--space-2);margin:var(--space-6) 0 var(--space-2);flex-wrap:wrap;display:flex}.step{align-items:center;gap:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--border-hairline);background:var(--surface-page);font-size:var(--text-caption);font-weight:var(--weight-medium);color:var(--text-tertiary);padding:7px 14px;display:flex}.step .dot{background:var(--text-tertiary);border-radius:50%;flex-shrink:0;width:7px;height:7px}.step.active{border-color:var(--brand-petrol);color:var(--text-primary)}.step.active .dot{background:var(--brand-petrol)}.step.done{color:var(--text-primary)}.step.done .dot{background:var(--status-success)}.step.skipped{opacity:.5}.step.error .dot{background:var(--status-danger)}.providers-grid{gap:var(--space-3);margin:var(--space-4) 0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.provider-card{background:var(--surface-page);border:1px solid var(--border-hairline);border-radius:var(--radius-md);padding:var(--space-4)}.provider-card h4{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary);align-items:center;gap:6px;margin:0 0 8px;display:flex}.provider-card p{font-size:var(--text-body-sm);color:var(--text-secondary);line-height:var(--leading-snug);margin:4px 0}.badge{font-size:var(--text-caption);letter-spacing:var(--tracking-caps);text-transform:uppercase;font-weight:var(--weight-semibold);border-radius:var(--radius-sm);border:1px solid #0000;padding:2px 7px;display:inline-block}.badge.ok{color:var(--status-success);border-color:var(--status-success)}.badge.error{color:var(--status-danger);border-color:var(--status-danger)}.confianza{font-size:var(--text-caption);color:var(--text-tertiary)}.report-card{background:var(--surface-page);border:1px solid var(--border-hairline);border-radius:var(--radius-md);padding:var(--space-5);margin-top:var(--space-5)}.report-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.report-header h3{font-size:var(--text-h3);font-weight:var(--weight-semibold);color:var(--text-primary);margin:0}.report-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.markdown-body h2{font-size:var(--text-h2);font-weight:var(--weight-semibold);line-height:var(--leading-tight);margin-top:var(--space-6);margin-bottom:var(--space-2);color:var(--text-primary);border-bottom:1px solid var(--border-hairline);padding-bottom:6px}.markdown-body h2:first-child{margin-top:0}.markdown-body p{font-size:var(--text-body);font-weight:var(--weight-light);line-height:var(--leading-body);color:var(--text-primary)}.markdown-body ul,.markdown-body ol{line-height:var(--leading-body);color:var(--text-primary);padding-left:1.3em}.markdown-body code{background:var(--surface-muted);border-radius:var(--radius-sm);font-family:var(--font-mono);padding:1px 5px;font-size:.9em}.cost-summary{margin-top:var(--space-5);background:var(--surface-muted);border:1px solid var(--border-hairline);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5)}.cost-summary h4{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary);margin:0 0 10px}table.cost-table{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:var(--text-caption)}table.cost-table th,table.cost-table td{text-align:left;border-bottom:1px solid var(--border-hairline);color:var(--text-secondary);padding:6px 8px}table.cost-table th{color:var(--text-primary);font-family:var(--font-sans);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:11px}table.cost-table tr:last-child td{border-bottom:none}.cost-total{margin-top:var(--space-3);font-weight:var(--weight-semibold);color:var(--text-primary);font-family:var(--font-sans)}.email-error{color:var(--status-danger)}.error-banner{background:var(--surface-muted);border:1px solid var(--status-danger);color:var(--status-danger);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin:var(--space-4) 0;font-size:var(--text-body-sm)}.disclaimer{color:var(--text-tertiary);font-size:var(--text-caption);margin-top:var(--space-6);line-height:var(--leading-snug)}
