/* VETOSPITAL - Abonnement / entitlements */
.billing-page{display:grid;gap:14px}
.billing-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.billing-summary h1{margin:4px 0}
.billing-price{font-size:1.05rem;font-weight:700}
.billing-status{font-weight:800;padding:8px 12px;border-radius:999px;border:1px solid currentColor;white-space:nowrap}
.billing-status.active,.billing-status.legacy,.billing-status.trial{opacity:.9}
.billing-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.billing-detail-grid>div{display:grid;gap:4px;padding:10px;border:1px solid #dfe7ef;border-radius:10px}
.billing-detail-grid span{font-size:.78rem;opacity:.7;text-transform:uppercase;letter-spacing:.04em}
.billing-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.billing-plan-card{border:1px solid #dfe7ef;border-radius:14px;padding:16px;background:#fff}
.billing-plan-card.current{outline:2px solid currentColor}
.billing-plan-head{display:flex;justify-content:space-between;gap:10px}
.billing-plan-head>div{display:grid;gap:4px}
.billing-plan-head b{font-size:1.1rem}
.billing-current,.billing-scheduled{font-size:.72rem;font-weight:800;letter-spacing:.04em}
.billing-current{align-self:flex-start}
.billing-warning{margin:0}
.billing-preview-action[disabled]{opacity:.65;cursor:not-allowed}
.billing-lock-panel{padding:14px;border:1px solid #dfe7ef;border-radius:12px}
.billing-locked-action{opacity:.7}
.billing-readonly-banner{position:sticky;top:0;z-index:20;padding:10px 16px;border-bottom:1px solid #dfe7ef;background:#fff7df}
@media(max-width:900px){.billing-plan-grid,.billing-detail-grid{grid-template-columns:1fr}.billing-summary{flex-direction:column}}

.billing-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.billing-choice-grid .card{display:grid;gap:7px}
.billing-choice-grid small{opacity:.72}
@media(max-width:700px){.billing-choice-grid{grid-template-columns:1fr}}

.billing-status.suspended{color:#b42318;background:#fff1f0;border-color:#efb1aa}
.billing-readonly-suspended{background:#fff1f0;color:#8f1f17;border-bottom-color:#efb1aa}
.billing-readonly-link{margin-left:8px;border:0;background:transparent;color:inherit;text-decoration:underline;font:inherit;font-weight:800;cursor:pointer;padding:0}
.billing-readonly-link:hover{text-decoration-thickness:2px}
.billing-locked-nav{margin-top:8px;padding-top:8px;border-top:1px solid #dfe7ef;display:grid;gap:4px}
.billing-locked-nav-label{font-size:9px;font-weight:900;letter-spacing:.08em;color:#8a96a8;padding:4px 12px 2px}
.billing-locked-nav-btn{opacity:.78;border:1px dashed transparent}
.billing-locked-nav-btn:hover{opacity:1;border-color:#c7d5e8;background:#f6f9fd}
.billing-lock-description{margin:10px 0 0;line-height:1.45}
.billing-locked-nav-btn{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;column-gap:9px;white-space:normal;padding:9px 10px}
.billing-locked-nav-btn .nav-icon{grid-column:1;grid-row:1;align-self:center}
.billing-locked-nav-copy{grid-column:2;display:grid;gap:3px;min-width:0;text-align:left}
.billing-locked-nav-title{font-size:13px;line-height:1.15;font-weight:750;white-space:normal;overflow:visible!important;text-overflow:clip!important}
.billing-locked-nav-copy small{display:block;font-size:9.5px;line-height:1.2;color:#7b8799;font-weight:700;white-space:normal;overflow:visible!important;text-overflow:clip!important}
.billing-locked-nav-copy small b{font-size:9.5px;color:#5e6879;letter-spacing:.02em}
