.license-notice { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 22px; margin-bottom: 20px; border: 1px solid var(--primary-line); border-radius: 10px; background: var(--primary-soft); }
.license-notice-copy { display: grid; gap: 6px; color: var(--primary-dark); font-size: 13px; line-height: 1.5; }
.license-notice-copy > strong { font-size: 15px; color: var(--primary-dark); }
.license-notice[data-license-state="grace"] { background: #fff8ed; border-color: #ead7b3; }
.license-notice[data-license-state="grace"] .license-notice-copy { color: #795c2b; }
.license-quota { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 3px; }
.license-quota progress { width: 140px; height: 9px; accent-color: var(--primary); }
.license-notice > button { flex: 0 0 auto; }
.license-recovery-screen { min-height: 100vh; padding: 48px 24px; display: grid; align-items: center; justify-items: center; background: var(--canvas); }
.license-recovery-card { max-width: 650px; width: 100%; border: 1px solid var(--line); border-radius: 18px; background: white; padding: 36px; box-shadow: 0 18px 60px rgba(20, 47, 65, .06); }
.license-recovery-card h1 { color: var(--ink); font-size: 30px; line-height: 1.2; margin: 8px 0 24px; }
.license-recovery-brand { display: flex; align-items: center; gap: 18px; margin-bottom: 32px; color: var(--primary-dark); }
.license-recovery-brand img { width: 80px; height: 80px; object-fit: contain; }
.license-details { color: var(--neutral-text); font-size: 15px; line-height: 1.65; }
.license-details p { margin: 0 0 15px; }
.license-details .license-small { font-size: 13px; color: var(--muted); }
.license-recovery-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.license-refresh-status { min-height: 20px; font-size: 13px; color: #705426; }
#licenseInfoDialog { max-width: 600px; }
#licenseInfoDialog .license-details { padding: 24px 26px; }
.license-billing { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--line); }
.license-billing h3 { margin: 0 0 10px; color: var(--ink); font-size: 18px; }
.license-billing .license-price { margin-bottom: 8px; }
.license-price strong { color: var(--primary-dark); font-size: 26px; }
.license-test-mode { display: inline-block; padding: 7px 11px; border: 1px solid #ead7b3; border-radius: 7px; background: #fff8ed; color: #795c2b; font-size: 13px; }
.license-consent { display: flex; align-items: flex-start; gap: 10px; margin: 16px 0; cursor: pointer; }
.license-consent input { flex: 0 0 auto; width: 18px; height: 18px; margin: 4px 0 0; accent-color: var(--primary); }
.license-consent span { min-width: 0; }
.license-billing form { margin: 14px 0 22px; }
.license-billing form > button { margin-bottom: 12px; }
.license-billing-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.license-cancellation { margin-top: 18px; padding: 18px; border: 1px solid #ead7b3; border-radius: 9px; background: #fffaf2; }
.license-billing-refresh { margin-top: 14px; }
.license-action-error { color: #9b3731; overflow-wrap: anywhere; }
.license-action-message { color: var(--primary-dark); overflow-wrap: anywhere; }
[data-license-disabled="true"] { cursor: not-allowed; opacity: .6; }
@media (max-width: 640px) { .license-notice { align-items: start; flex-direction: column; gap: 14px; } .license-recovery-card { padding: 24px; } .license-recovery-card h1 { font-size: 25px; } }
