/* Rev. 2.5 — Licenciamento e armazenamento: tela institucional, painel da licença, módulos e empresa licenciada. */

/* ---------- tela institucional (licença vencida) ---------- */
.license-body { margin: 0; min-height: 100vh; background: radial-gradient(1200px 600px at 50% -10%, color-mix(in srgb, var(--petrol) 14%, var(--surface)), var(--surface)); }
.license-main { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 32px 16px; box-sizing: border-box; }
.license-block { width: min(640px, 100%); display: flex; flex-direction: column; gap: 16px; }
.license-block-brand { display: flex; align-items: center; gap: 12px; }
.license-block-brand b { display: block; font-size: 16px; }
.license-block-brand small { color: var(--ink-3); font-size: 12.5px; }
.license-block-brand .brand-logo img { max-height: 44px; }
.license-block-card { background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 28px 28px 22px; box-shadow: 0 18px 50px -24px rgba(0,0,0,.35); }
.license-block-icon { width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; background: color-mix(in srgb, var(--coral) 12%, var(--panel)); color: var(--coral); margin-bottom: 14px; }
.license-block-card h1 { margin: 0 0 6px; font-size: 22px; }
.license-block-card h2 { margin: 18px 0 6px; font-size: 15px; }
.license-block-lead { margin: 0; color: var(--ink-2); }
.license-block-facts { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; }
.license-block-facts li { display: flex; flex-direction: column; padding: 8px 10px; border-radius: 10px; background: var(--surface); }
.license-block-facts span { font-size: 11.5px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .03em; }
.license-block-facts b { font-weight: 600; overflow-wrap: anywhere; }
.license-block-safe { display: flex; gap: 10px; align-items: flex-start; margin-top: 16px; padding: 10px 12px; border-radius: 10px; background: var(--leaf-100); color: var(--ink); font-size: 13.5px; }
.license-block-safe svg { color: var(--leaf); flex: none; margin-top: 2px; }
.license-block-card p { color: var(--ink-2); }
.license-block-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.license-block-renew, .license-renew { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; margin-top: 14px; padding: 10px 12px; border: 1px dashed var(--line); border-radius: 10px; font-size: 13px; }
.license-block-renew b, .license-renew b { width: 100%; font-size: 12px; text-transform: uppercase; letter-spacing: .03em; color: var(--ink-3); }
.license-block-logout { margin-top: 16px; display: flex; justify-content: flex-end; }
.license-block-foot { text-align: center; font-size: 12px; color: var(--ink-3); }
@media (max-width: 560px) { .license-block-card { padding: 22px 18px 18px; } .license-block-facts { grid-template-columns: 1fr; } }

.license-module { max-width: 620px; margin: 24px auto; text-align: center; }
.license-module .license-block-icon { margin: 0 auto 12px; background: var(--signal-100); color: var(--signal); }
.license-module h1 { margin: 0 0 6px; font-size: 20px; }
.license-module .license-block-actions { justify-content: center; }

/* ---------- painel da licença ---------- */
.license-meters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 900px) { .license-meters { grid-template-columns: 1fr; } }
.lm-head { display: flex; align-items: center; gap: 8px; color: var(--ink-2); }
.lm-value { font-size: 26px; font-weight: 700; margin: 6px 0 2px; letter-spacing: -.01em; }
.lm-value small { font-size: 14px; font-weight: 500; color: var(--ink-3); }
.lm-foot { margin: 4px 0 0; font-size: 13px; }
.license-meter .seat-bar { position: relative; max-width: none; height: 8px; overflow: visible; }
.license-meter .seat-bar i { position: relative; z-index: 1; }
.license-meter .seat-bar s { position: absolute; top: -3px; width: 2px; height: 14px; background: var(--ink-4); opacity: .55; border-radius: 1px; text-decoration: none; }
.seat-bar.tone-warn i { background: var(--signal); }
.seat-bar.tone-danger i, .seat-bar.over i { background: var(--coral); }
.lm-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 10px; }
.lm-levels { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.lm-levels input[type=number] { width: 58px; text-align: center; }
.license-modules { display: flex; flex-wrap: wrap; gap: 6px; }
.lmod { display: inline-flex; align-items: center; gap: 5px; height: 28px; padding: 0 10px; border-radius: 999px; font-size: 12.5px; border: 1px solid var(--line); }
.lmod.on { background: var(--leaf-100); border-color: color-mix(in srgb, var(--leaf) 30%, var(--line)); color: var(--ink); }
.lmod.on svg { color: var(--leaf); }
.lmod.off { color: var(--ink-4); background: var(--surface); border-style: dashed; }

/* ---------- empresa licenciada e Sobre ---------- */
.licensed-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.licensed-grid .span-2c { grid-column: span 2; }
@media (max-width: 1000px) { .licensed-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .licensed-grid { grid-template-columns: 1fr; } .licensed-grid .span-2c { grid-column: auto; } }
.licensed-sub { margin: 16px 0 8px; font-size: 14px; }
input[readonly] { background: var(--surface); color: var(--ink-2); cursor: not-allowed; }
.licensed-kv dd .cell-sub { display: block; }
.about-legal p { margin: 0 0 8px; }
.about-foot { margin: 20px 0 4px; text-align: center; font-size: 12px; color: var(--ink-3); }
.licensed-grid input[readonly] { background: var(--line-2) !important; color: var(--ink-3) !important; border-style: dashed !important; cursor: not-allowed; }
.license-history td { white-space: nowrap; }
.license-history td:nth-child(3) { white-space: normal; min-width: 160px; }
