/* YB Licenses frontend. Functional plugin styles are disabled for this theme. */
.ybl-license { width:100%; min-width:0; }
.ybl-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:20px; margin:0 0 24px; }
.ybl-facts dt { font-size:.85em; opacity:.65; }
.ybl-facts dd { margin:6px 0 0; font-weight:600; overflow-wrap:anywhere; }
.ybl-license-section,.ybl-profile-section { margin:20px 0; border:1px solid var(--yb-color-150); border-radius:16px; padding:20px; }
.ybl-license-section>summary,.ybl-profile-section>summary { cursor:pointer; font-weight:600; }
.ybl-license-section[open]>summary,.ybl-profile-section[open]>summary { margin-bottom:24px; }
.ybl-license .ybl-key { display:flex; gap:12px; flex-wrap:wrap; }
.ybl-license .ybl-key input { flex:1 1 250px; min-width:0; font-family:monospace; }
.ybl-key button { white-space:nowrap; }
.ybl-devices { list-style:none; padding:0; margin:20px 0; }
.ybl-devices li { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px 0; border-top:1px solid var(--yb-color-150); }
.ybl-devices small { display:block; opacity:.65; }
.ybl-license [hidden] { display:none !important; }
.ybl-message:empty { display:none; }
.ybl-reauth { margin:16px 0; }
.ybl-reauth input { display:block; width:100%; max-width:360px; }
.ybl-edit-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:16px; margin-top:20px; }
.ybl-edit-fields label { display:grid; gap:6px; }
.ybl-license .ybl-key .yb-btn { flex:0 0 auto; }
.yb-license-renewal-action { margin-top:24px; }
.yb-license-renewals { margin:0 0 32px; color:var(--yb-color-900); }
.yb-license-renewals > h3 { margin:0 0 14px; font-size:28px; }
.yb-license-renewals p { font-size:16px; line-height:1.5; color:var(--yb-color-500); }
.yb-license-renewal { display:grid; gap:18px; margin:20px 0; padding:24px; background:var(--yb-color-0); border:1px solid var(--yb-color-150); border-radius:20px; }
.yb-license-renewal > strong { font-size:20px; }
.yb-license-renewal > code { overflow-wrap:anywhere; color:inherit; }
.yb-license-renewal dl { display:grid; gap:12px; margin:0; }
.yb-license-renewal dl > div { display:flex; justify-content:space-between; gap:20px; }
.yb-license-renewal dd { margin:0; font-weight:600; }
.yb-license-renewal__actions { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.yb-license-renewal__price { font-size:22px; font-weight:600; }
.yb-license-renewal [data-yb-renewal-message]:empty { display:none; }
#yb-license-new-purchase, #yb-license-renewals { scroll-margin-top:110px; }
/* Account license card. Scoped to avoid inherited form and download-card styles. */
.ybl-license { color:var(--yb-color-900,#202020); }
.yb-account-section .yb-download-license > .ybl-license { padding:8px 0 0; background:transparent; border-radius:0; }
.ybl-license .ybl-license-heading,.ybl-license .ybl-device-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 16px; }
.ybl-license-heading > strong { font-size:18px; }
.ybl-license .ybl-key { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:14px 16px; margin:0 0 20px; border:1px solid var(--yb-color-150,#ddd); border-radius:14px; background:var(--yb-color-50,#f7f7f7); }
.ybl-license .ybl-key code { flex:1 1 240px; min-width:0; background:none; padding:0; color:inherit; font:500 15px/1.7 monospace; overflow-wrap:anywhere; user-select:all; }
.ybl-license button:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.ybl-license .ybl-license-overview { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:20px; margin-bottom:24px; }
.ybl-license .ybl-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:16px; margin:0; align-content:center; }
.ybl-license .ybl-facts dt { font-size:12px; line-height:1.5; opacity:.65; }
.ybl-license .ybl-facts dd { font-size:14px; margin:6px 0 0; }
.ybl-license .ybl-updates { display:grid; gap:6px; padding:18px 20px; border:1px solid var(--yb-color-150,#ddd); border-radius:14px; }
.ybl-updates > span { font-size:12px; opacity:.65; }
.ybl-updates > strong { font-size:22px; line-height:1.3; }
.ybl-updates > small { font-size:12px; line-height:1.5; opacity:.65; }
.ybl-license .ybl-device-section { border-top:1px solid var(--yb-color-150,#ddd); padding-top:20px; }
.ybl-license .ybl-device-heading { margin-bottom:8px; font-size:15px; }
.ybl-device-heading > span { font-size:13px; font-weight:600; }
.ybl-license .ybl-device-help,.ybl-license .ybl-devices-empty { margin:0; font-size:13px; line-height:1.6; opacity:.65; }
.ybl-license .ybl-devices-empty { margin-top:16px; padding:18px; border:1px dashed var(--yb-color-150,#ddd); border-radius:12px; }
.ybl-license .ybl-devices { margin:12px 0 0; }
.ybl-license .ybl-devices:empty { display:none; }
.ybl-license .ybl-devices li { padding:14px 0; gap:12px; }
.ybl-devices li > span { min-width:0; overflow-wrap:anywhere; }
.ybl-devices strong { font-size:14px; }
.ybl-devices small { font-size:12px; margin-top:4px; }
.ybl-license .ybl-message { margin:12px 0 0; font-size:13px; }
[data-yb-theme="dark"] .yb-account-section .yb-download-license > .ybl-license { background:transparent; }
@media(max-width:640px) { .ybl-license .ybl-license-overview { grid-template-columns:minmax(0,1fr); gap:18px; } .ybl-license .ybl-key { padding:12px; } .ybl-license .ybl-key code { flex-basis:100%; font-size:13px; } .ybl-license .ybl-devices li { flex-wrap:wrap; } }
.ybl-license-heading > strong,.ybl-device-heading > strong,.ybl-updates > strong,.ybl-devices strong { color:inherit; }
.ybl-license .ybl-status { border:0; }
.ybl-license .yb-action-btn { flex:0 0 auto; }
