:root{--color-primary:#4338ca;--color-primary-hover:#3730a3;--color-primary-light:#eef2ff;--color-success:#16a34a;--color-success-light:#f0fdf4;--color-success-border:#bbf7d0;--color-danger:#dc2626;--color-danger-light:#fef2f2;--color-danger-border:#fecaca;--color-warning:#d97706;--color-warning-light:#fffbeb;--color-warning-border:#fde68a;--color-info:#0369a1;--color-info-light:#f0f9ff;--color-info-border:#bae6fd;--color-bg:#f8fafc;--color-surface:#fff;--color-text:#1e293b;--color-text-muted:#64748b;--color-text-faint:#94a3b8;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Manrope", var(--font-sans);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 4px 12px #0f172a14;--shadow-lg:0 12px 32px #0f172a1f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.55}#root{min-height:100vh}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.01em;margin:0 0 8px;font-weight:700}h1{font-size:30px}h2{font-size:22px}h3{font-size:17px}p{margin:0 0 8px}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.page{max-width:900px;margin:0 auto;padding:32px 20px 64px}.page-wide{max-width:1080px;margin:0 auto;padding:32px 20px 64px}.page-narrow{max-width:440px;margin:64px auto;padding:0 20px}.page-header{margin-bottom:28px}.page-subtitle{color:var(--color-text-muted);margin-top:-4px;font-size:14px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}.btn{font-family:var(--font-sans);border-radius:var(--radius-pill);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;transition:background .15s,border-color .15s,transform 50ms;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled){background:var(--color-bg)}.btn-danger{background:var(--color-surface);color:var(--color-danger);border-color:var(--color-danger-border)}.btn-danger:hover:not(:disabled){background:var(--color-danger-light)}.btn-sm{padding:6px 14px;font-size:13px}.btn-block{width:100%}.badge{border-radius:var(--radius-pill);white-space:nowrap;border:1px solid #0000;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-success{background:var(--color-success-light);color:var(--color-success);border-color:var(--color-success-border)}.badge-danger{background:var(--color-danger-light);color:var(--color-danger);border-color:var(--color-danger-border)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning);border-color:var(--color-warning-border)}.badge-info{background:var(--color-info-light);color:var(--color-info);border-color:var(--color-info-border)}.badge-neutral{background:var(--color-bg);color:var(--color-text-muted);border-color:var(--color-border)}.alert{border-radius:var(--radius-md);border:1px solid #0000;padding:10px 14px;font-size:13.5px;display:block}.alert-danger{background:var(--color-danger-light);border-color:var(--color-danger-border);color:#991b1b}.alert-success{background:var(--color-success-light);border-color:var(--color-success-border);color:#166534}.alert-warning{background:var(--color-warning-light);border-color:var(--color-warning-border);color:#92400e}.alert-info{background:var(--color-info-light);border-color:var(--color-info-border);color:#075985}.field{margin-bottom:16px}.field label{color:var(--color-text-muted);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.input,select.input,textarea.input{width:100%;font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:10px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.input:focus,select.input:focus,textarea.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-faint);border-bottom:1px solid var(--color-border);padding:10px 12px;font-size:12px}.table td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:12px}.table tr:last-child td{border-bottom:none}.risparmio{font-family:var(--font-display);font-weight:800}.risparmio-positivo{color:var(--color-success)}.risparmio-negativo{color:var(--color-danger)}.offer-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:20px 22px}.offer-card-top{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.offer-card-rank{background:var(--color-primary-light);width:34px;height:34px;color:var(--color-primary);font-family:var(--font-display);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.offer-card-heading{flex:260px;min-width:0}.offer-card-heading h3{margin:0 0 2px;font-size:17px}.offer-card-code{color:var(--color-text-muted);font-size:14px;font-weight:400}.offer-card-meta{color:var(--color-text-faint);flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;font-size:12.5px;display:flex}.offer-card-savings{text-align:right;border-radius:var(--radius-md);flex:none;min-width:140px;padding:8px 16px}.offer-card-savings.is-positivo{background:var(--color-success-light)}.offer-card-savings.is-negativo{background:var(--color-danger-light)}.offer-card-savings-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:11px;display:block}.offer-card-savings-value{font-family:var(--font-display);font-size:22px;font-weight:800;line-height:1.3}.offer-card-price{margin:14px 0 4px;font-size:14px}.offer-card-discounts{color:var(--color-text-muted);margin:8px 0;font-size:13px}.offer-card-discounts ul{margin:4px 0 0;padding-left:18px}.offer-card-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.offer-scenario-toggle{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-pill);gap:4px;margin-bottom:12px;padding:3px;display:inline-flex}.offer-scenario-toggle button{font-family:var(--font-sans);border-radius:var(--radius-pill);cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:5px 12px;font-size:12.5px;font-weight:600}.offer-scenario-toggle button.is-active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.offer-compare-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=560px){.offer-compare-grid{grid-template-columns:1fr}}.offer-compare-box{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px 16px}.offer-compare-box.is-highlight{background:var(--color-success-light);border-color:var(--color-success-border)}.offer-compare-box-eyebrow{color:var(--color-text-faint);margin:0 0 2px;font-size:11.5px}.offer-compare-box-sub{color:var(--color-text-muted);margin:0 0 10px;font-size:12.5px}.offer-compare-total{border-top:1px solid var(--color-border-strong);justify-content:space-between;align-items:baseline;margin-top:8px;padding-top:8px;display:flex}.offer-compare-total strong:first-child{color:var(--color-text-muted);font-size:13px;font-weight:600}.offer-compare-total strong:last-child{font-family:var(--font-display);font-size:17px}.tooltip{vertical-align:middle;align-items:center;margin-left:4px;display:inline-flex;position:relative}.tooltip-icon{background:var(--color-border);width:16px;height:16px;color:var(--color-text-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:11px;line-height:1;display:inline-flex}.tooltip-icon:hover,.tooltip-icon:focus{background:var(--color-primary-light);color:var(--color-primary);outline:none}.tooltip-bubble{background:var(--color-text);color:#fff;border-radius:var(--radius-md);width:max-content;max-width:280px;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;z-index:50;text-align:left;pointer-events:none;padding:10px 12px;font-size:12.5px;font-weight:400;line-height:1.45;transition:opacity .12s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip-bubble:after{content:"";border:6px solid #0000;border-top-color:var(--color-text);position:absolute;top:100%;left:50%;transform:translate(-50%)}.tooltip:hover .tooltip-bubble,.tooltip-icon:focus+.tooltip-bubble,.tooltip-bubble.is-open{opacity:1;visibility:visible}.app-header{z-index:100;background:var(--color-surface);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:4px 14px;padding:12px 24px;font-size:13.5px;display:flex;position:sticky;top:0}.app-header-brand{font-family:var(--font-display);color:var(--color-text);white-space:nowrap;margin-right:4px;font-size:15px;font-weight:800}.app-header-brand span{color:var(--color-primary)}.app-header-nav{flex-wrap:wrap;align-items:center;gap:4px 14px;margin-left:auto;display:flex}.app-header a{color:var(--color-text-muted);font-weight:500}.app-header a:hover{color:var(--color-primary);text-decoration:none}.app-header-status{color:var(--color-text-muted)}.app-header-error{background:var(--color-danger-light);border-bottom:1px solid var(--color-danger-border);color:#991b1b}.app-header-warning{background:var(--color-warning-light);border-bottom:1px solid var(--color-warning-border);color:#92400e}
