/* V1 surfaces reuse LUVI's established typography, actions and dialog grammar. */
.package-page{max-width:1180px;margin-inline:auto;padding:26px 30px 48px;color:#274967;font-family:var(--luvi-font-sans,Arial,sans-serif)}
.package-page .page-intro{margin:20px 0}.package-page h1{font-size:25px;font-weight:500;margin:0 0 10px}.package-page h2{font-size:16px;font-weight:500;margin:0 0 12px}.package-page p{font-size:13px;line-height:1.7;margin:10px 0}
.package-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:24px 0}.package-card,.package-surface{border:1px solid #dce5ee;border-radius:14px;background:#fff;padding:22px}.package-surface{margin:20px 0}.package-price{font-size:23px!important;color:#315376;font-variant-numeric:tabular-nums}.package-table-scroll{overflow:auto;margin:18px 0}.package-table{width:100%;border-collapse:collapse;min-width:740px;font-size:12px}.package-table th,.package-table td{padding:13px 16px;border-bottom:1px solid #e4ebf2;text-align:left;line-height:1.5}.package-table th{font-weight:500}.package-table thead{background:#f1f6fa}.package-table tbody th{min-width:240px}.package-table tbody tr:nth-child(even){background:#fafcfe}.package-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:24px}.package-actions form{margin:0}.package-dialog{border:0;border-radius:16px;max-width:560px;width:calc(100vw - 36px);padding:0;color:#274967}.package-dialog::backdrop{background:rgba(14,31,58,.42)}.package-dialog-panel{padding:26px 28px;font:13px/1.7 var(--luvi-font-sans,Arial,sans-serif)}.package-dialog-panel h2{font-size:19px;font-weight:500}.package-demo-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:16px 24px 0;background:#f0f6fc;color:#315376}.package-demo-banner form{margin:0}.package-readonly{font-size:13px;color:#607993;padding:12px 0}.package-page a{color:#176de0}.package-page .primary-btn,.package-page .secondary-btn,.package-dialog .primary-btn,.package-dialog .secondary-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:8px;padding:9px 14px;border:1px solid #d7e3f0;font:inherit;cursor:pointer}.package-page .primary-btn,.package-dialog .primary-btn{background:#176de0;color:white;border-color:#176de0}.package-page .secondary-btn,.package-dialog .secondary-btn{background:#fff;color:#176de0}.package-page a:focus-visible,.package-dialog button:focus-visible{outline:2px solid #176de0;outline-offset:3px}.package-skipped-warning{font-size:12px;color:#698098;margin-top:10px;padding-top:12px;border-top:1px solid #e4ebf2}.package-skipped-warning button{margin-top:8px}.package-input-readonly{opacity:.75}.total-data-locked{display:flex;align-items:center;gap:12px;padding:14px 18px;color:#698098;font-size:12px}.total-data-locked .total-data-logo{flex-shrink:0}
@media(max-width:640px){.package-page{padding:20px 16px 32px}.package-dialog-panel{padding:22px}.package-cards{grid-template-columns:1fr}.package-demo-banner{margin-inline:12px;align-items:flex-start;flex-wrap:wrap}.package-table th,.package-table td{padding:11px 12px}}

.connection-slot-card.total-data-locked{display:flex;align-items:center;gap:16px;padding:20px;text-decoration:none}.total-data-locked small{display:block;margin-top:7px}.connection-row.total-data-locked{font-size:12px;text-decoration:none}
.package-lock-mark{display:inline-grid;place-items:center;width:28px;height:28px;flex:0 0 28px;vertical-align:middle}.package-lock-mark img{display:block;width:100%;height:100%}.package-dialog-panel h2{display:flex;align-items:center;gap:8px}
.entitlement-expired-card{display:grid;gap:16px;margin:16px 24px 0;padding:20px 22px;border:1px solid #e2d6b7;border-radius:12px;background:#fffdf8;color:#4d5f73}.entitlement-expired-card>header{display:flex;align-items:center;gap:11px}.entitlement-expired-card h2{margin:0;color:#526d89;font-size:15px;font-weight:600}.entitlement-expired-card p{margin:3px 0 0;color:#718198;font-size:11px;line-height:1.5}.entitlement-free-choice-form{display:grid;gap:14px}.entitlement-free-choice-form fieldset{display:grid;gap:7px;margin:0;padding:0;border:0}.entitlement-free-choice-form legend{margin-bottom:4px;color:#526d89;font-size:11px;font-weight:600}.entitlement-free-choice{display:flex;align-items:center;gap:9px;min-height:42px;padding:7px 10px;border:1px solid #e5eaf0;border-radius:8px;background:#fff;color:#526d89;font-size:11px;cursor:pointer}.entitlement-free-choice input{accent-color:#176de0}.entitlement-free-choice .provider-logo{width:24px;height:24px}.entitlement-expired-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin:0}.entitlement-expired-actions .primary-btn,.entitlement-expired-actions .secondary-btn{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:8px;text-decoration:none;font:inherit;font-size:11px;cursor:pointer}.entitlement-expired-actions .primary-btn{border:1px solid #176de0;background:#176de0;color:#fff}.entitlement-expired-actions .secondary-btn{border:1px solid #d7e3f0;background:#fff;color:#315d8c}.single-source-status{display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid var(--r3-border-soft);color:#526d89;font-size:11px}.single-source-status strong{font-weight:500}.single-source-status .connection-slot-state{margin-left:auto}
@media(max-width:640px){.entitlement-expired-card{margin-inline:12px;padding:16px}.entitlement-expired-actions{display:grid;grid-template-columns:1fr 1fr}.entitlement-expired-actions>*{width:100%}}

/* Scoped current plan + mandatory source choice */
.package-card.luvi-current-package{position:relative;border-color:#78a9df;background:#f6faff;box-shadow:0 0 0 2px #e4f0ff inset}
.luvi-current-package-badge{display:inline-flex;align-items:center;padding:4px 9px;margin:0 0 12px;background:#e6f3ff;border-radius:99px;color:#1564b2;font-size:11px;font-weight:600}
.luvi-package-note{font-size:12px;color:#6f86a0;line-height:1.55;margin-top:11px}
.luvi-account-paid-package{color:#176de0;font-weight:600}
#luvi-expired-source-dialog,#luvi-source-choice-dialog{position:fixed;inset:0;width:min(650px,calc(100vw - 24px));max-width:min(650px,calc(100vw - 24px));max-height:calc(100dvh - 28px);box-sizing:border-box;overflow:auto;margin:auto;padding:23px 25px;border:1px solid #d4e2f0;border-radius:14px;background:#fff;box-shadow:0 20px 55px #17395535;z-index:200}
#luvi-expired-source-dialog::backdrop,#luvi-source-choice-dialog::backdrop{background:#16344b84}
#luvi-expired-source-dialog.entitlement-expired-card{display:none}
#luvi-expired-source-dialog.entitlement-expired-card[open]{display:grid;gap:16px}
#luvi-source-choice-dialog[open]{display:block}
#luvi-source-choice-dialog .source-selection-form{display:grid;gap:12px}
@media(max-width:580px){#luvi-expired-source-dialog,#luvi-source-choice-dialog{padding:18px 16px;max-height:calc(100dvh - 16px)}#luvi-expired-source-dialog .entitlement-expired-actions{grid-template-columns:1fr 1fr}}
