
.renewal-app .rp { --rp-bg:light-dark(#f6f6f7,#191919); --rp-panel:light-dark(#ffffff,#242424); --rp-text:light-dark(#303030,#f1f1f1); --rp-muted:light-dark(#6b6b70,#bcbcc1); --rp-border:light-dark(#e1e1e5,#414145); --rp-accent:light-dark(#de1f26,#ff696e); --rp-accent-text:light-dark(#ffffff,#241112); --rp-soft:light-dark(#fceced,#3a2425); --rp-success:light-dark(#256642,#97d6b1); --rp-warn:light-dark(#815419,#ebc28a); color:var(--rp-text); background:var(--rp-bg); font:14px/1.5 'Segoe UI',Arial,sans-serif; border:1px solid var(--rp-border); border-radius:14px; overflow:hidden; min-height:690px; display:flex; flex-direction:column; }
.renewal-app .rp * { box-sizing:border-box; }
.renewal-app .rp header { padding:25px 28px 19px; background:var(--rp-panel); border-bottom:1px solid var(--rp-border); }
.renewal-app .rp header { border-top:4px solid var(--rp-accent); }
.renewal-app .rp .brand-row { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; padding-right:70px; }
.renewal-app .rp .brand-logo { width:170px; max-width:100%; height:auto; display:block; background:#fff; padding:5px 7px; border-radius:3px; }
.renewal-app .rp .brand-label { font-size:11px; color:var(--rp-muted); text-align:right; }
.renewal-app .rp .primary:hover:not(:disabled) { filter:brightness(.92); }
@media(max-width:400px) { .renewal-app .rp .brand-row { padding-right:0; } .renewal-app .rp .brand-label { display:none; } }
.renewal-app .rp .eyebrow { font-size:11px; letter-spacing:1.6px; text-transform:uppercase; color:var(--rp-muted); font-weight:600; }
.renewal-app .rp h1 { font-size:25px; line-height:1.2; font-weight:600; margin:5px 0 8px; letter-spacing:-.6px; }
.renewal-app .rp h2 { font-size:16px; line-height:1.4; font-weight:600; margin:0; }
.renewal-app .rp h3 { font-size:14px; font-weight:600; margin:0; }
.renewal-app .rp p { margin:0; }
.renewal-app .rp .sub { color:var(--rp-muted); font-size:12px; }
.renewal-app .rp .meta { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.renewal-app .rp .tag { padding:3px 8px; border-radius:5px; background:var(--rp-soft); color:var(--rp-accent); font-size:11px; }
.renewal-app .rp main { padding:24px 28px; display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:24px; flex:1; align-items:start; }
.renewal-app .rp .reference { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:25px; padding-bottom:22px; border-bottom:1px solid var(--rp-border); }
.renewal-app .rp .reference .amount { font-size:21px; font-weight:600; margin:7px 0 1px; font-variant-numeric:tabular-nums; }
.renewal-app .rp .reference .amount span { font-size:12px; font-weight:400; color:var(--rp-muted); }
.renewal-app .rp .reference .product { margin-top:9px; font-size:13px; }
.renewal-app .rp .section-label { display:flex; gap:9px; align-items:center; margin-bottom:15px; }
.renewal-app .rp .step { display:grid; place-items:center; width:23px; height:23px; border-radius:50%; background:var(--rp-soft); color:var(--rp-accent); font-size:12px; font-weight:600; }
.renewal-app .rp label { display:block; font-size:12px; font-weight:600; margin-bottom:7px; }
.renewal-app .rp select,.renewal-app .rp input { width:100%; min-width:0; border:1px solid var(--rp-border); background:var(--rp-panel); color:var(--rp-text); border-radius:7px; padding:11px 12px; font:inherit; }
.renewal-app .rp select { font-size:13px; }
.renewal-app .rp .helper { margin-top:8px; font-size:12px; color:var(--rp-muted); }
.renewal-app .rp .cover { margin-top:20px; padding:17px 18px; background:var(--rp-panel); border:1px solid var(--rp-border); border-radius:9px; }
.renewal-app .rp .cover-title { display:flex; gap:8px; align-items:center; }
.renewal-app .rp .cover-title i { width:17px; height:17px; color:var(--rp-accent); }
.renewal-app .rp .cover ul { padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:9px 15px; margin:13px 0 0; }
.renewal-app .rp .cover li { font-size:12px; display:flex; gap:7px; align-items:start; }
.renewal-app .rp .cover li i { width:14px; height:14px; flex-shrink:0; margin-top:2px; color:var(--rp-success); }
.renewal-app .rp .adjust { margin-top:24px; }
.renewal-app .rp .adjust .premium-input { max-width:175px; position:relative; }
.renewal-app .rp .adjust .premium-input span { position:absolute; top:11px; left:12px; color:var(--rp-muted); }
.renewal-app .rp .adjust input { padding-left:29px; font-variant-numeric:tabular-nums; }
.renewal-app .rp .adjust .field-row { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.renewal-app .rp .adjust .discount-fields { display:grid; grid-template-columns:125px minmax(0,175px); gap:16px; }
.renewal-app .rp .adjust .discount-input { position:relative; }
.renewal-app .rp .adjust .discount-input input { padding:11px 30px 11px 12px; }
.renewal-app .rp .adjust .discount-input span { position:absolute; right:12px; top:11px; color:var(--rp-muted); }
@media(max-width:400px) { .renewal-app .rp .adjust .discount-fields { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:12px; } }
.renewal-app .rp .link { border:0; padding:0; background:none; color:var(--rp-accent); font:inherit; font-size:12px; text-decoration:underline; }
.renewal-app .rp .summary { border:1px solid var(--rp-border); border-radius:10px; background:var(--rp-panel); padding:20px; }
.renewal-app .rp .summary .total { font-size:35px; font-weight:600; margin-top:12px; letter-spacing:-1.2px; font-variant-numeric:tabular-nums; }
.renewal-app .rp .summary .unit { font-size:12px; color:var(--rp-muted); }
.renewal-app .rp .summary .annual { margin:3px 0 17px; font-size:12px; color:var(--rp-muted); }
.renewal-app .rp .summary dl { margin:0; display:grid; grid-template-columns:1fr auto; gap:9px 12px; padding-top:15px; border-top:1px solid var(--rp-border); font-size:12px; }
.renewal-app .rp .summary dt { color:var(--rp-muted); }
.renewal-app .rp .summary dd { margin:0; text-align:right; max-width:150px; font-variant-numeric:tabular-nums; }
.renewal-app .rp .renewal-comparison { margin-top:18px; padding-top:16px; border-top:1px solid var(--rp-border); }
.renewal-app .rp .renewal-comparison strong { font-size:14px; font-weight:600; }
.renewal-app .rp .renewal-comparison.saving strong { color:var(--rp-success); }
.renewal-app .rp .renewal-comparison p { margin-top:4px; }
.renewal-app .rp .status { display:flex; gap:7px; align-items:start; font-size:12px; color:var(--rp-success); padding-top:17px; margin-top:17px; border-top:1px solid var(--rp-border); }
.renewal-app .rp .status i { flex-shrink:0; width:15px; height:15px; margin-top:2px; }
.renewal-app .rp .status.warning { color:var(--rp-warn); }
.renewal-app .rp .error { color:var(--rp-warn); font-size:12px; margin-top:8px; }
.renewal-app .rp footer { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; padding:18px 28px; border-top:1px solid var(--rp-border); background:var(--rp-panel); }
.renewal-app .rp footer .actions { display:flex; flex-wrap:wrap; gap:9px; }
.renewal-app .rp .action { padding:10px 15px; font:inherit; font-size:13px; border-radius:7px; border:1px solid var(--rp-border); background:var(--rp-panel); color:var(--rp-text); }
.renewal-app .rp .primary { color:var(--rp-accent-text); background:var(--rp-accent); border-color:var(--rp-accent); }
.renewal-app .rp .action:disabled { opacity:.55; }
.renewal-app .rp .notice { margin:0 28px 18px; font-size:12px; color:var(--rp-success); }
.renewal-app .rp .compact main { grid-template-columns:minmax(0,1fr); gap:20px; }
.renewal-app .rp.compact main { grid-template-columns:minmax(0,1fr); gap:20px; }
.renewal-app .rp.compact .cover { padding:13px 16px; margin-top:15px; }
.renewal-app .rp.compact .cover ul { grid-template-columns:repeat(3,minmax(0,1fr)); }
.renewal-app .rp.compact .summary { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
.renewal-app .rp.compact .summary dl { grid-column:2; grid-row:1 / span 4; border-top:0; border-left:1px solid var(--rp-border); padding:0 0 0 20px; align-content:center; }
.renewal-app .rp.compact .summary .status { grid-column:1 / -1; }
.renewal-app .rp.compact .summary .total { font-size:29px; margin-top:7px; }
.renewal-app .rp.compact .summary .annual { margin-bottom:0; }
@media(max-width:680px) { .renewal-app .rp main { grid-template-columns:minmax(0,1fr); padding:20px; } .renewal-app .rp header { padding:21px 20px 16px; } .renewal-app .rp footer { padding:16px 20px; } .renewal-app .rp.compact .cover ul { grid-template-columns:1fr 1fr; } .renewal-app .rp { min-height:690px; } .renewal-app .rp .notice { margin-left:20px; margin-right:20px; } }
@media(max-width:400px) { .renewal-app .rp .reference { gap:13px; } .renewal-app .rp .cover ul { grid-template-columns:1fr; } .renewal-app .rp.compact .summary { display:block; } .renewal-app .rp.compact .summary dl { border-left:0; border-top:1px solid var(--rp-border); padding:15px 0 0; margin-top:15px; } .renewal-app .rp footer .actions { width:100%; } .renewal-app .rp footer .action { flex:1; } }

body { margin:0; background:#f6f6f7; color:#303030; font-family:'Segoe UI',Arial,sans-serif; color-scheme:light; }
.renewal-app { max-width:1100px; margin:24px auto; padding:0 20px; }
.renewal-app .rp button,.renewal-app .rp select { cursor:pointer; }
.renewal-app .rp button:disabled { cursor:default; }
.renewal-app .rp .launchpad { padding:30px; max-width:640px; }
.renewal-app .rp .launchpad form { margin-top:24px; }
.renewal-app .rp .launchpad label { margin-top:18px; }
.renewal-app .rp .launchpad button { margin-top:24px; }
.renewal-app .rp .cover li span { color:var(--rp-success); }
.renewal-app .rp #renewal-token { display:none; }
.renewal-app .rp.embedded { border-radius:0; }
.renewal-app .rp .notice.error { color:var(--rp-warn); }
[hidden] { display:none!important; }
.renewal-app .rp.customer-view [data-agent-only] { display:none!important; }
.renewal-app .rp .adjust.no-adjustments { margin-top:0; }
.renewal-app .rp .helper + .section-label { margin-top:24px; }
.renewal-app .rp .choice-section { border:0; padding:0; margin:0 0 24px; min-width:0; }
.renewal-app .rp .choice-section legend { font-size:16px; font-weight:600; padding:0; margin-bottom:14px; display:flex; gap:9px; align-items:center; }
.renewal-app .rp .cover-options,.renewal-app .rp .excess-options { display:grid; gap:8px; }
.renewal-app .rp .cover-choice,.renewal-app .rp .excess-choice { display:grid; grid-template-columns:18px minmax(0,1fr) auto; align-items:center; gap:10px; padding:12px; border:1px solid var(--rp-border); border-radius:8px; background:var(--rp-panel); margin:0; cursor:pointer; font-weight:400; }
.renewal-app .rp .cover-choice:has(input:checked),.renewal-app .rp .excess-choice:has(input:checked) { border-color:#a8b0b8; background:#f0f3f5; }
.renewal-app .rp .cover-choice { grid-template-columns:18px minmax(0,1fr); }
.renewal-app .rp .choice-section label:focus-within { outline:2px solid var(--rp-accent); outline-offset:2px; }
.renewal-app .rp .choice-section input[type=radio] { width:16px; height:16px; margin:0; padding:0; accent-color:var(--rp-accent); }
.renewal-app .rp .choice-name { font-size:13px; display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.renewal-app .rp .choice-price { font-size:12px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.renewal-app .rp .excess-section .helper { margin:0 0 12px; }
.renewal-app .rp .return-offer { margin-bottom:4px; }
.renewal-app .rp .cover-change { padding:16px; margin:14px 0; border:1px solid #d8ba85; border-radius:8px; background:#fff9ee; }
.renewal-app .rp .cover-change p { font-size:13px; margin-top:7px; }
.renewal-app .rp .cover-change h4 { font-size:12px; margin:14px 0 5px; }
.renewal-app .rp .cover-change ul { padding-left:20px; margin:0; font-size:13px; }
.renewal-app .rp .cover-change .link { display:inline-block; margin-top:9px; }
.renewal-app .rp .summary-cover-change { display:block; margin-top:17px; padding:12px; background:#fff9ee; border-radius:6px; color:#715016; font-size:12px; }
#cover-differences { scroll-margin-top:24px; }
.renewal-app .rp .save-success { margin:20px 28px 0; padding:18px; border:1px solid #b5d5bf; border-radius:9px; background:#f0f8f2; }
.renewal-app .rp .save-success h2 { color:#256642; margin-bottom:7px; }
.renewal-app .rp .save-success p { font-size:13px; margin-top:8px; }
.renewal-app .rp .save-success table { width:100%; table-layout:fixed; border-collapse:collapse; margin:13px 0; font-size:13px; }
.renewal-app .rp .save-success th,.renewal-app .rp .save-success td { text-align:left; vertical-align:top; padding:8px; border-bottom:1px solid #c9dfd0; overflow-wrap:break-word; }
.renewal-app .rp .save-success h3 { margin:12px 0 4px; }
.renewal-app .rp .save-success ul { margin:0; padding-left:20px; font-size:13px; }
@media(max-width:680px) { .renewal-app .rp .save-success { margin:16px 20px 0; padding:12px; } .renewal-app .rp .save-success th,.renewal-app .rp .save-success td { padding:6px 4px; font-size:12px; } }
.renewal-app .rp .selected-choice { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:13px 15px; border:1px solid var(--rp-border); border-radius:8px; background:var(--rp-panel); }
.renewal-app .rp .selected-choice > div { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.renewal-app .rp .selected-choice strong { font-size:14px; font-weight:600; }
.renewal-app .rp .selected-choice button { flex-shrink:0; }
.renewal-app .rp .choice-editor { margin-top:12px; padding:15px; background:var(--rp-panel); border:1px solid var(--rp-border); border-radius:8px; }
.renewal-app .rp .editor-actions { display:flex; align-items:center; gap:16px; margin-top:12px; }
.renewal-app .rp .choice-section { margin-bottom:18px; }
.renewal-app .rp .choice-section legend { margin-bottom:10px; }
.renewal-app .rp .cover { margin-top:12px; }
@media(min-width:681px) { .renewal-app .rp header { padding-top:18px; padding-bottom:13px; } .renewal-app .rp .brand-row { margin-bottom:12px; } .renewal-app .rp main { padding-top:20px; padding-bottom:20px; } .renewal-app .rp .reference { margin-bottom:20px; padding-bottom:16px; } }
@media(max-width:400px) { .renewal-app .rp .selected-choice { align-items:flex-start; padding:12px; } .renewal-app .rp .selected-choice > div { flex-direction:column; align-items:flex-start; gap:5px; } .renewal-app .rp .editor-actions { flex-wrap:wrap; } }
@media(min-width:681px) { .renewal-app .rp .summary { position:sticky; top:24px; } }
@media(max-width:400px) { .renewal-app .rp .cover-choice,.renewal-app .rp .excess-choice { grid-template-columns:18px minmax(0,1fr); } .renewal-app .rp .choice-price { grid-column:2; } }
@media(max-width:680px) { .renewal-app { margin:0; padding:0; } .renewal-app .rp { border-radius:0; border-left:0; border-right:0; } }
