:root{--ink:#111318;--muted:#626a76;--blue:#e6212a;--line:#e7e9ee;--paper:#f6f8fb;--green:#147051;font:16px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}a{color:var(--blue);text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}h1,h2,p{margin-top:0}h1{font-size:clamp(2rem,4vw,3rem);line-height:1.15;letter-spacing:-.04em;margin-bottom:14px}h2{font-size:1.35rem;line-height:1.3}p{color:var(--muted)}.topbar{height:auto;min-height:88px;display:flex;justify-content:space-between;align-items:center;padding:20px max(24px,calc((100vw - 1180px)/2));background:white;border-bottom:1px solid var(--line);gap:20px}.brand,.card-brand{font-size:2rem;font-weight:800;letter-spacing:-.06em;color:var(--ink);text-decoration:none}.brand span,.card-brand span{color:var(--blue)}.brand small{display:inline-block;font-size:.7rem;letter-spacing:.16em;margin-left:20px;border-left:1px solid var(--line);padding-left:20px;vertical-align:middle}.identity{font-size:.9rem}.identity a{margin-left:20px}.workspace{max-width:1230px;margin:0 auto;padding:44px 24px 72px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:12px 0 32px}.page-heading p{margin-bottom:0}.eyebrow{display:block;font-size:.75rem;font-weight:750;letter-spacing:.16em;color:var(--blue);margin-bottom:16px}.badge{border:1px solid #f2c5c8;background:#fff0f1;color:#a81b23;padding:8px 14px;border-radius:50px;white-space:nowrap;font-size:.85rem;font-weight:650}.desk-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:24px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:8px;padding:30px;box-shadow:none}.panel-heading{display:flex;gap:12px;align-items:center;margin-bottom:24px}.panel-heading h2{margin:0}.step{background:#fff0f1;color:var(--blue);font-size:.8rem;padding:8px 10px;border-radius:8px;font-weight:700}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:.9rem;font-weight:650;margin-bottom:18px}input:not([type=checkbox]),select{display:block;width:100%;background:white;border:1px solid #bac8d9;color:var(--ink);border-radius:8px;min-height:48px;padding:10px 12px;margin-top:8px}input::placeholder{color:#768294;font-size:.88rem}select{max-width:100%}.hint{font-size:.875rem;line-height:1.6}.package-heading{border-top:1px solid var(--line);padding-top:24px;margin-top:26px}.consent{display:flex;align-items:flex-start;font-weight:400;gap:10px;margin-top:24px}.consent input{width:18px;height:18px;flex-shrink:0;margin-top:3px;accent-color:var(--blue)}.button,input[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--blue);border-radius:8px;padding:12px 20px;background:var(--blue);color:white;font-size:.94rem;font-weight:700;text-decoration:none;cursor:pointer;margin:0 0 12px;max-width:100%}.button:hover{background:#c81720}.button.secondary{background:white;color:var(--blue)}.button.quiet{background:white;color:var(--muted);border-color:var(--line)}.summary-panel{border-top:4px solid var(--blue)}.summary-panel h2{font-size:1.8rem}.summary-panel hr{border:0;border-top:1px solid var(--line);margin:24px 0}.journey{list-style:none;padding:0;counter-reset:journey}.journey li{counter-increment:journey;position:relative;padding-left:38px;margin-bottom:24px}.journey li:before{content:counter(journey);position:absolute;left:0;top:1px;border:1px solid var(--line);border-radius:50%;width:25px;height:25px;text-align:center;font-size:.85rem}.journey strong,.journey span{display:block}.journey span{font-size:.9rem;color:var(--muted);margin-top:4px}.history{margin-top:28px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.9rem;text-align:left}th{color:var(--muted);font-weight:600}th,td{padding:16px 12px;border-bottom:1px solid var(--line)}th:first-child,td:first-child{padding-left:0}.status{background:var(--paper);padding:5px 9px;border-radius:6px}.login-panel{max-width:500px;margin:40px auto;background:white;border:1px solid var(--line);border-radius:8px;padding:40px}.login-panel h1{font-size:2.6rem}.text-link{display:inline-block;font-size:.9rem;margin-bottom:16px}.notice{padding:18px 20px;background:#fff6df;border:1px solid #e7d6a3;border-radius:10px;margin-bottom:24px}.notice p{margin:6px 0 0}.notice.success{background:#edf9f2;border-color:#b9dec8}.totals{margin:28px 0}.totals>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0}.totals dd{margin:0;white-space:nowrap;font-weight:700}.saving{color:var(--green)}.grand-total{border-top:1px solid var(--line);margin-top:12px;padding-top:24px!important;font-size:1.3rem}.reference{overflow-wrap:anywhere;margin-top:20px}.stack{display:grid;gap:8px}.print-toolbar{max-width:850px;margin:0 auto 30px}.print-toolbar .text-link{margin-left:20px}.handover-card{max-width:850px;background:white;border:1px solid var(--line);border-top:8px solid var(--blue);border-radius:12px;padding:38px;margin:0 auto;break-inside:avoid}.card-brand{margin-bottom:24px}.handover-card h2{font-size:2rem;margin-bottom:10px}.card-package{font-size:1.15rem}.card-details{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0;padding:20px 0}.card-details dt{color:var(--muted);font-size:.8rem;margin-bottom:6px}.card-details dd{font-size:1.15rem;margin:0 0 18px;overflow-wrap:anywhere}.password{font-family:ui-monospace,monospace;font-weight:650}.qr-block{text-align:center;align-self:center;font-size:.8rem}.qr-block svg{width:160px;height:160px;display:block;margin:auto}.card-footer{font-size:.8rem;border-top:1px solid var(--line);padding-top:18px;margin-bottom:0}.handover-card li{padding:4px 0}@media(max-width:800px){.desk-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start;flex-direction:column;gap:12px}.field-grid{grid-template-columns:1fr;gap:0}.workspace{padding:24px 16px}.topbar{padding:16px;flex-wrap:wrap}.brand small{margin-left:12px;padding-left:12px}.panel,.login-panel{padding:24px}.login-panel{margin:20px auto}.identity{font-size:.8rem}.card-details{grid-template-columns:1fr}.handover-card{padding:24px}.print-toolbar .text-link{display:block;margin-left:0}}@media print{@page{size:A5 landscape;margin:10mm}:root,body{background:white;font-size:12px}.topbar,.print-toolbar{display:none!important}.workspace{padding:0;max-width:none}.handover-card{border:1px solid #aaa;border-top:5px solid #e6212a;border-radius:0;max-width:none;padding:6mm}.card-brand{margin-bottom:8px}.handover-card .eyebrow{margin-bottom:8px}.handover-card h2{font-size:22px}.card-details{grid-template-columns:minmax(0,1fr) 135px;margin:12px 0;padding:10px 0}.qr-block svg{width:115px;height:115px}.card-details dd{font-size:14px;margin-bottom:10px}.card-footer{padding-top:8px}.handover-card ol{margin:8px 0}}

#plan-select{min-height:230px;padding:6px}#plan-select option{padding:10px 8px;white-space:normal}#plan-results{margin-top:-6px}

/* Match holafone-travel: original logo, red actions, dark secondary buttons, 8px surfaces. */
:root{background:#fff}h1{font-size:clamp(1.85rem,3vw,2.5rem);letter-spacing:-.035em}h3{font-size:1rem;margin:0 0 12px}
.topbar{min-height:76px;padding-top:16px;padding-bottom:16px;background:#fff}.brand{display:flex;align-items:center;gap:24px;letter-spacing:normal}.holafone-logo{display:block;width:174px;height:auto;max-height:52px;object-fit:contain}.brand small{font-size:15px;letter-spacing:normal;text-transform:none;margin:0;padding-left:24px;color:#626a76;font-weight:700}
.workspace{padding-top:36px;min-height:calc(100vh - 230px)}.page-heading{margin-bottom:28px}.eyebrow{letter-spacing:.08em;font-weight:800}.panel{border-radius:8px}.summary-panel{border-top:1px solid var(--line);background:var(--paper)}.summary-panel h2{font-size:1.5rem}.step{border-radius:4px;background:var(--paper);color:var(--ink)}.button,input[type=submit]{font-weight:800;border-color:transparent}.button.secondary{background:var(--ink);color:#fff}.button.secondary:hover{background:#2c3138}.button.quiet{border-color:var(--line);color:var(--muted);background:#fff}.button.quiet:hover{color:var(--ink);background:var(--paper)}.table-scroll .button{min-height:36px;padding:7px 10px;font-size:.85rem;margin:10px 0 0}.login-panel h1{font-size:2rem}.login-panel{box-shadow:none;border-radius:8px}.identity a{color:var(--ink);font-weight:700}.identity a:hover{color:var(--blue)}.card-brand .holafone-logo{width:200px}.handover-card{border-top-width:4px;border-radius:8px}.card-footer{color:var(--muted)}
.partner-footer{background:var(--ink);color:#fff;padding:28px max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px}.partner-footer p{color:#c7ced8;font-size:.875rem;margin:12px 0 0}.partner-footer a{color:#c7ced8;font-size:.9rem;font-weight:700}.partner-footer .holafone-logo{width:150px}
@media(max-width:600px){.brand{gap:16px}.brand small{padding-left:16px}.holafone-logo{width:150px}.panel,.login-panel{padding:20px}.partner-footer{align-items:flex-start;flex-direction:column}}
@media print{.partner-footer{display:none!important}.card-brand .holafone-logo{width:150px}.handover-card{border-radius:0}.workspace{min-height:0}}

.purchase-search{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}.purchase-search label{flex:1;min-width:220px;margin:0}.purchase-search input{margin-bottom:0}.purchase-search .button{margin:0}.purchase-search .text-link{padding-bottom:12px}.customer-email{font-size:.85rem;color:var(--muted);overflow-wrap:anywhere}.purchase-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.purchase-pagination .button{margin:0}.purchase-pagination .pagination-disabled{background:#f1f2f4;color:#777;cursor:default}.purchase-pagination>span:not(.button){color:var(--muted);font-size:.9rem}@media(max-width:600px){.purchase-search label{flex-basis:100%}.purchase-pagination .button{padding:10px 12px}}
