*{box-sizing:border-box}body{margin:0;font-family:Arial;color:#172033;background:#f1f5f9}.install,.login{min-height:100vh;display:grid;place-items:center;background:#07101e;color:#fff}.install-card,.login-card{width:min(760px,92%);background:#111c2d;padding:30px;border-radius:18px}.login-card{width:min(430px,92%)}form{display:grid;gap:12px}.grid{grid-template-columns:repeat(2,1fr)}input,select,textarea{width:100%;padding:11px;border:1px solid #cbd5e1;border-radius:8px}button{padding:11px;border:0;border-radius:8px;background:#1685ff;color:white;font-weight:bold;cursor:pointer}.admin{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.admin aside{background:#0b1729;color:#fff;padding:22px 15px;display:flex;flex-direction:column;gap:6px}.brand{padding:5px 10px 22px}.brand b,.brand small{display:block}.brand small{font-size:9px;color:#64748b;letter-spacing:.15em}.admin aside a{color:#cbd5e1;text-decoration:none;padding:11px;border-radius:8px}.admin aside a:hover{background:#17263b}.admin aside form{margin-top:auto}.admin main{padding:0 27px 40px;overflow:auto}.admin header{height:64px;margin:0 -27px 24px;background:white;border-bottom:1px solid #e2e8f0;padding:22px 27px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stats article,section{background:white;border:1px solid #e2e8f0;border-radius:14px;padding:20px;margin-bottom:20px}.stats strong{display:block;font-size:34px;margin-top:8px}.stats small{color:#64748b}table{width:100%;border-collapse:collapse;min-width:850px}th,td{text-align:left;padding:12px;border-bottom:1px solid #edf2f7;font-size:12px}th{background:#f8fafc;color:#64748b}td small{display:block;color:#94a3b8;margin-top:4px}code{font-size:10px;background:#eef2ff;padding:4px 6px;border-radius:5px}.status{padding:5px 8px;border-radius:999px;font-size:9px}.active{background:#dcfce7;color:#166534}.suspended,.expired{background:#fef3c7;color:#92400e}.revoked{background:#fee2e2;color:#991b1b}.pending{background:#dbeafe;color:#1d4ed8}.license-grid{grid-template-columns:repeat(3,1fr)}.license-grid button{grid-column:1/-1}.actions{display:flex;gap:5px}.actions button{font-size:9px;padding:7px}.key{width:100%;min-height:130px}.success,.error{padding:13px;border-radius:9px;margin-bottom:15px}.success{background:#14532d;color:#fff}.error{background:#7f1d1d;color:#fff}@media(max-width:850px){.admin{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.grid,.license-grid{grid-template-columns:1fr}}

/* ===== XPRESS STREAM LICENSE SERVER 1.2 ===== */
:root{
 --bg:#07111f;--panel:#0d1927;--panel2:#101f30;--line:#1a2b3d;
 --text:#edf5ff;--muted:#7e90a6;--blue:#2486ff;--green:#27c56f;
 --red:#ef334e;--gold:#ffbd22;--purple:#7c4dff;
}
body.license-admin{display:grid;grid-template-columns:240px 1fr;min-height:100vh;background:radial-gradient(circle at 80% 0,rgba(36,134,255,.08),transparent 30%),var(--bg);color:var(--text)}
.license-sidebar{height:100vh;position:sticky;top:0;background:linear-gradient(180deg,#081422,#091725 60%,#07111d);border-right:1px solid var(--line);padding:17px 11px;display:flex;flex-direction:column;overflow-y:auto;z-index:50}
.sidebar-logo{display:block;padding:0 8px 12px}.sidebar-logo img{display:block;width:100%;height:74px;object-fit:contain}
.sidebar-user-card{display:grid;grid-template-columns:47px 1fr;gap:10px;align-items:center;background:#0e1c2b;border:1px solid #1a2c3f;border-radius:12px;padding:11px;margin:2px 0 14px}
.sidebar-user-card img{width:45px;height:45px;border-radius:50%}.sidebar-user-card strong,.sidebar-user-card small,.sidebar-user-card span{display:block}.sidebar-user-card strong{font-size:11px}.sidebar-user-card small{font-size:8px;color:#8494a8;margin:3px 0}.sidebar-user-card span{font-size:8px;color:#38d27d}.sidebar-user-card span i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#38d27d;margin-right:4px}
.license-nav{display:flex;flex-direction:column;gap:3px}.license-nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:#c4d0df;text-decoration:none;font-size:11px;transition:.16s}.license-nav a span{width:18px;text-align:center;color:#89a1bb}.license-nav a:hover,.license-nav a.active{background:linear-gradient(90deg,#1259ad,#0f4b91);color:white;box-shadow:inset 0 0 0 1px rgba(72,153,255,.25)}.license-nav a.active span{color:white}.nav-separator{font-size:7px;letter-spacing:.18em;color:#52657a;padding:17px 12px 5px}
.sidebar-company-card{margin-top:16px;border:1px solid var(--line);border-radius:12px;background:#0b1725;padding:13px}.sidebar-company-card img{width:100%;height:52px;object-fit:contain}.sidebar-company-card p{font-size:9px;color:#8293a8;line-height:1.5}.sidebar-company-card strong{font-size:9px;color:#31b5ff}
.sidebar-logout{margin-top:9px}.sidebar-logout button{width:100%;background:#111f30;color:#cbd8e7}.sidebar-version{margin:12px auto 0;padding:5px 9px;border-radius:6px;background:#0c315d;color:#56a5ff;font-size:8px}
.license-main{min-width:0;display:flex;flex-direction:column;min-height:100vh}
.license-topbar{height:65px;display:flex;align-items:center;padding:0 23px;border-bottom:1px solid var(--line);background:rgba(7,17,31,.88);backdrop-filter:blur(14px);position:sticky;top:0;z-index:40}
.sidebar-toggle{display:none;border:0;background:transparent;color:white;font-size:20px;padding:8px}.topbar-title strong,.topbar-title small{display:block}.topbar-title strong{font-size:15px}.topbar-title small{font-size:8px;color:#71849a;margin-top:3px}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.topbar-icon{width:35px;height:35px;border:1px solid var(--line);border-radius:50%;background:#0e1b2a;color:#c7d4e4}.topbar-user{display:flex;align-items:center;gap:10px;padding-left:14px;border-left:1px solid var(--line)}.topbar-user strong,.topbar-user small{display:block}.topbar-user strong{font-size:10px}.topbar-user small{font-size:8px;color:#8192a7;margin-top:3px}.topbar-user img{width:38px;height:38px;border-radius:50%}
.license-content{padding:22px;flex:1;min-width:0}.license-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:16px 23px;color:#556b82;font-size:8px}
.dashboard-title-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.dashboard-title-row h1{font-size:23px;margin:0}.dashboard-title-row p{font-size:10px;color:#8092a8;margin:5px 0 0}.dashboard-date{font-size:9px;color:#6e8298}
.license-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:14px}.license-kpi{display:grid;grid-template-columns:45px 1fr;gap:11px;align-items:center;background:linear-gradient(145deg,#0e1b2a,#101f30);border:1px solid var(--line);border-radius:11px;padding:15px;min-width:0}.kpi-icon{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;font-size:18px;color:white}.kpi-blue .kpi-icon{background:linear-gradient(135deg,#1768d2,#0d3c8f)}.kpi-green .kpi-icon{background:linear-gradient(135deg,#20af67,#087343)}.kpi-red .kpi-icon{background:linear-gradient(135deg,#df3348,#8f1224)}.kpi-gold .kpi-icon{background:linear-gradient(135deg,#db9e09,#8a5d00)}.kpi-cyan .kpi-icon{background:linear-gradient(135deg,#1b71dc,#0b3d88)}.kpi-purple .kpi-icon{background:linear-gradient(135deg,#7f46d9,#4a1c8b)}.license-kpi small,.license-kpi strong,.license-kpi p{display:block}.license-kpi small{font-size:9px;color:#bdc9d7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.license-kpi strong{font-size:23px;margin:4px 0}.license-kpi p{font-size:8px;color:#71849a;margin:0}
.dashboard-main-layout{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:13px}.dashboard-dark-panel{background:linear-gradient(145deg,#0d1927,#0f1d2d);border:1px solid var(--line);border-radius:11px;padding:16px;min-width:0}.dark-panel-heading{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:12px}.dark-panel-heading h2{font-size:12px;margin:0}.dark-panel-heading p{font-size:8px;color:#708399;margin:4px 0 0}.dark-panel-heading>span{font-size:8px;color:#9bacc0;border:1px solid var(--line);padding:6px 8px;border-radius:6px}.dark-panel-heading a{font-size:8px;color:#3494ff;text-decoration:none}.chart-activations-panel{grid-column:span 1}.chart-box{height:250px}.chart-box canvas{width:100%;height:100%}.status-chart-wrap{display:grid;grid-template-columns:1fr 130px;gap:9px;align-items:center;height:250px}.status-chart-wrap canvas{width:100%;height:210px}.status-legend{display:grid;gap:10px}.status-legend div{display:grid;grid-template-columns:8px 1fr auto;gap:7px;align-items:center;font-size:8px}.status-legend i{width:8px;height:8px;border-radius:50%}.legend-active{background:#27c56f}.legend-suspended{background:#ffbd22}.legend-expired{background:#ef334e}.legend-revoked{background:#7c4dff}.status-legend b{color:#dbe7f5}
.activity-list{display:grid}.activity-list article{display:grid;grid-template-columns:31px 1fr auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #17283a}.activity-dot{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;font-weight:900}.activity-success{background:rgba(39,197,111,.17);color:#39df83}.activity-failure{background:rgba(239,51,78,.16);color:#ff536b}.activity-list strong,.activity-list small{display:block}.activity-list strong{font-size:9px}.activity-list small{font-size:7px;color:#3e94f5;margin-top:3px}.activity-list time{font-size:7px;color:#71849a}.dashboard-empty{padding:25px;text-align:center;color:#6c8096;font-size:9px}
.top-products-panel{grid-column:span 1}.ranking-list{display:grid;gap:15px}.ranking-list article>div:first-child{display:flex;justify-content:space-between;font-size:9px}.ranking-list b{font-size:9px}.ranking-track{height:4px;background:#1a2b3d;border-radius:999px;margin-top:7px;overflow:hidden}.ranking-track i{display:block;height:100%;background:#2486ff;border-radius:999px}
.compact-license-list{display:grid}.compact-license-list article{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid #17283a}.compact-license-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#173b6b;color:#45a1ff}.compact-license-icon.suspended{background:#55232b;color:#ff5f75}.compact-license-icon.revoked,.compact-license-icon.expired{background:#4b2530;color:#ff6b7e}.compact-license-list strong,.compact-license-list small{display:block}.compact-license-list strong{font-size:8px;color:#4da5ff}.compact-license-list small{font-size:7px;color:#778a9f;margin-top:3px}.api-total-line{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.api-total-line strong{font-size:24px}.api-total-line span{font-size:8px;color:#74869b}.api-chart-box{height:190px}
.system-health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:13px}.system-health-grid article{display:grid;grid-template-columns:45px 1fr;gap:11px;align-items:center;background:linear-gradient(145deg,#0d1927,#101f30);border:1px solid var(--line);border-radius:11px;padding:15px}.health-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-size:18px}.health-blue{background:#123d75;color:#4da5ff}.health-green{background:#123d2a;color:#42d880}.health-purple{background:#37205e;color:#aa75ff}.health-gold{background:#4b390d;color:#ffd04f}.system-health-grid strong,.system-health-grid p{display:block}.system-health-grid strong{font-size:10px}.system-health-grid p{font-size:8px;color:#7e91a7;margin:4px 0 0}
.license-admin section{background:linear-gradient(145deg,#0d1927,#101f30);border-color:var(--line);color:var(--text)}.license-admin table{color:#dce7f4}.license-admin th{background:#0b1725;color:#7790a8;border-color:#1a2b3d}.license-admin td{border-color:#17283a}.license-admin input,.license-admin select,.license-admin textarea{background:#0a1522;border-color:#21364b;color:white}.license-admin code{background:#102a47;color:#67b1ff}.license-admin .success{background:#123d2a;color:#65e89b}.license-admin h1{color:white}
.license-login-page{min-height:100vh;background:#06101d;color:white}.license-login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.login-brand-side{position:relative;display:flex;flex-direction:column;justify-content:center;padding:8vw;background:radial-gradient(circle at 40% 30%,rgba(36,134,255,.16),transparent 36%),linear-gradient(145deg,#07111f,#091827);overflow:hidden}.login-brand-side>img{width:min(510px,90%);height:auto;position:relative;z-index:2}.login-brand-glow{position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(27,119,255,.1);filter:blur(35px);left:15%;top:15%}.login-brand-copy{position:relative;z-index:2;margin-top:40px;max-width:560px}.login-brand-copy>span{font-size:9px;letter-spacing:.18em;color:#4298ff;font-weight:900}.login-brand-copy h1{font-size:45px;line-height:1.08;margin:12px 0}.login-brand-copy p{color:#8799ad;line-height:1.7}.login-security-points{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:16px;margin-top:35px}.login-security-points div{display:flex;align-items:center;gap:7px;font-size:9px;color:#9badc0}.login-security-points i{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:rgba(39,197,111,.14);color:#3ee18a;font-style:normal}.login-form-side{display:grid;place-items:center;padding:40px;background:#08131f}.license-login-card{width:min(430px,100%);background:linear-gradient(145deg,#0e1b2a,#101f30);border:1px solid #1c3044;border-radius:15px;padding:32px;box-shadow:0 28px 70px rgba(0,0,0,.35)}.login-mobile-logo{display:none;width:100%;height:90px;object-fit:contain;margin-bottom:20px}.login-overline{font-size:8px;letter-spacing:.17em;color:#4298ff;font-weight:900}.license-login-card h2{font-size:27px;margin:9px 0}.license-login-card>p{font-size:10px;color:#7c8fa5;margin-bottom:23px}.license-login-card form{display:grid;gap:9px}.license-login-card label{font-size:9px;color:#b9c7d6;margin-top:5px}.input-with-icon{position:relative}.input-with-icon span{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#6f849a;font-size:10px}.input-with-icon input{height:46px;background:#091522;border:1px solid #253a50;color:white;padding:0 13px 0 38px}.input-with-icon input:focus{outline:none;border-color:#2486ff;box-shadow:0 0 0 3px rgba(36,134,255,.1)}.license-login-card button{height:46px;margin-top:10px;background:linear-gradient(90deg,#1a70e5,#2486ff);box-shadow:0 12px 28px rgba(36,134,255,.2)}.secure-login-note{display:block;text-align:center;color:#61758b;font-size:8px;margin-top:18px}
@media(max-width:1300px){.license-kpi-grid{grid-template-columns:repeat(3,1fr)}.dashboard-main-layout{grid-template-columns:1fr 1fr}.recent-activity-panel,.api-chart-panel{grid-column:span 1}.system-health-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){body.license-admin{grid-template-columns:1fr}.license-sidebar{position:fixed;width:240px;left:-250px;transition:.22s}.sidebar-open .license-sidebar{left:0}.sidebar-toggle{display:block}.topbar-title{margin-left:8px}.dashboard-main-layout{grid-template-columns:1fr}.license-kpi-grid{grid-template-columns:repeat(2,1fr)}.status-chart-wrap{grid-template-columns:1fr 115px}.login-brand-side{display:none}.license-login-shell{grid-template-columns:1fr}.login-mobile-logo{display:block}}
@media(max-width:560px){.license-content{padding:14px}.license-kpi-grid{grid-template-columns:1fr}.dashboard-title-row{align-items:flex-start}.dashboard-date{display:none}.status-chart-wrap{grid-template-columns:1fr;height:auto}.status-chart-wrap canvas{height:190px}.system-health-grid{grid-template-columns:1fr}.topbar-user div{display:none}.license-footer{flex-direction:column;gap:5px}.license-login-card{padding:24px}.chart-box{height:220px}}

/* ===== Correção 1.2.1 — cursor de texto apenas nos campos ===== */
.license-admin h1,
.license-admin h2,
.license-admin h3,
.license-admin p,
.license-admin small,
.license-admin strong,
.license-admin span,
.license-admin label,
.license-admin th,
.license-admin .dashboard-title-row,
.license-admin .license-kpi,
.license-admin .dashboard-dark-panel,
.license-admin .system-health-grid,
.license-admin .topbar-title,
.license-admin .topbar-user,
.license-admin .sidebar-user-card,
.license-admin .sidebar-company-card,
.license-login-page h1,
.license-login-page h2,
.license-login-page p,
.license-login-page small,
.license-login-page span,
.license-login-page label {
  -webkit-user-select: none;
  user-select: none;
  caret-color: transparent;
  cursor: default;
}

.license-admin a,
.license-admin button,
.license-login-page a,
.license-login-page button {
  -webkit-user-select: none;
  user-select: none;
  caret-color: transparent;
  cursor: pointer;
}

/* Os conteúdos que o administrador pode precisar de copiar continuam selecionáveis. */
.license-admin input,
.license-admin textarea,
.license-admin select,
.license-admin code,
.license-admin td,
.license-admin .key,
.license-login-page input,
.license-login-page textarea,
.license-login-page select {
  -webkit-user-select: text;
  user-select: text;
  caret-color: auto;
}

/* ===== XPRESS STREAM LICENSE SERVER 1.3 — LAYOUT FINAL ===== */
body.license-admin{grid-template-columns:245px 1fr}
.license-sidebar{padding:14px 10px;background:linear-gradient(180deg,#06111d 0%,#071522 55%,#06101b 100%)}
.sidebar-logo{padding:0 6px 8px}
.sidebar-logo img{height:84px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(0,0,0,.28))}
.sidebar-user-card{grid-template-columns:48px 1fr;margin-bottom:12px}
.sidebar-user-card img,.topbar-user img{object-fit:cover;background:#07111f;border:1px solid #29425d}
.sidebar-company-card img{height:68px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.25))}
.license-topbar{height:72px}
.license-content{padding:17px 18px}
.dashboard-title-row{display:none}
.license-kpi-grid{gap:12px;margin-bottom:13px}
.license-kpi{min-height:112px;padding:15px 14px;border-radius:10px}
.license-kpi strong{font-size:25px}
.dashboard-main-layout{grid-template-columns:1.34fr .78fr 1.08fr;gap:13px}
.dashboard-dark-panel{border-radius:9px;padding:15px}
.chart-box{height:260px}
.status-chart-wrap{height:260px}
.top-products-panel,.top-resellers-panel,.api-chart-panel{min-height:290px}
.recent-licenses-panel{display:none}
.system-health-grid{grid-template-columns:repeat(5,1fr)}
.system-health-grid article{min-height:94px;padding:13px}
.dashboard-brand-footer{display:grid;grid-template-columns:105px 1fr auto;align-items:center;gap:10px;margin-top:13px;padding:10px 14px;border-top:1px solid #17283a;color:#8ca0b5;font-size:9px}
.dashboard-brand-footer img{width:100px;height:38px;object-fit:contain}
.dashboard-brand-footer time{font-variant-numeric:tabular-nums}
.license-footer{display:none}
.license-login-card{width:min(460px,100%)}
.login-brand-side>img{width:min(650px,95%);max-height:235px;object-fit:contain}
.login-mobile-logo{max-height:130px;object-fit:contain}
.professional-install-card img{max-height:140px!important}
@media(max-width:1300px){
 .system-health-grid{grid-template-columns:repeat(2,1fr)}
 .dashboard-main-layout{grid-template-columns:1fr 1fr}
 .top-resellers-panel{grid-column:span 1}
}
@media(max-width:900px){
 body.license-admin{grid-template-columns:1fr}
 .dashboard-main-layout{grid-template-columns:1fr}
 .dashboard-brand-footer{grid-template-columns:90px 1fr}
 .dashboard-brand-footer time{grid-column:1/-1}
}
@media(max-width:560px){
 .system-health-grid{grid-template-columns:1fr}
 .dashboard-brand-footer{grid-template-columns:1fr;text-align:center}
 .dashboard-brand-footer img{margin:auto}
}

/* Versão 1.3.1 — rodapé sem logótipo */
.dashboard-brand-footer-no-logo{
    grid-template-columns:1fr auto;
    padding:12px 14px;
}
.dashboard-brand-footer-no-logo span{
    color:#8ca0b5;
}
@media(max-width:560px){
    .dashboard-brand-footer-no-logo{
        grid-template-columns:1fr;
        gap:6px;
        text-align:center;
    }
}

/* Versão 1.3.2 — rodapé e relógio reposicionados */
.dashboard-footer-final{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    min-height:48px;
    margin-top:14px;
    padding:13px 16px;
    border-top:1px solid #17283a;
    background:rgba(7,17,31,.38);
    color:#6f8399;
    font-size:9px;
}
.dashboard-footer-name{
    color:#8ea2b8;
    font-weight:600;
}
.dashboard-footer-clock-label{
    color:#60758c;
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
}
.dashboard-footer-clock-label time{
    color:#9caec1;
    margin-left:4px;
}
@media(max-width:560px){
    .dashboard-footer-final{
        flex-direction:column;
        justify-content:center;
        text-align:center;
        gap:6px;
    }
    .dashboard-footer-clock-label{
        white-space:normal;
    }
}

/* ===== 1.3.3 — RELÓGIO NO TOPO E RODAPÉ REMOVIDO ===== */
.dashboard-brand-footer,
.dashboard-brand-footer-no-logo,
.dashboard-footer-final{
    display:none !important;
}

.topbar-server-clock{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:center;
    min-width:150px;
    padding-right:14px;
    border-right:1px solid #1a2b3d;
    font-variant-numeric:tabular-nums;
}

.topbar-server-clock small{
    display:block;
    color:#60758c;
    font-size:7px;
    letter-spacing:.06em;
    text-transform:uppercase;
    margin-bottom:3px;
}

.topbar-server-clock time{
    color:#a8b8c9;
    font-size:9px;
    white-space:nowrap;
}

@media(max-width:760px){
    .topbar-server-clock{
        min-width:auto;
        padding-right:9px;
    }

    .topbar-server-clock small{
        display:none;
    }

    .topbar-server-clock time{
        font-size:8px;
    }
}

@media(max-width:520px){
    .topbar-server-clock{
        display:none;
    }
}

/* ===== 1.3.4 — TIPOGRAFIA MAIOR E MAIS LEGÍVEL ===== */

/* Cabeçalho */
.topbar-title strong{
    font-size:18px !important;
}
.topbar-title small{
    font-size:10px !important;
}
.topbar-user strong{
    font-size:12px !important;
}
.topbar-user small{
    font-size:9px !important;
}
.topbar-server-clock small{
    font-size:8px !important;
}
.topbar-server-clock time{
    font-size:10px !important;
}

/* Menu lateral */
.license-nav a{
    font-size:13px !important;
    padding:11px 12px !important;
}
.nav-separator{
    font-size:8px !important;
}
.sidebar-user-card strong{
    font-size:12px !important;
}
.sidebar-user-card small{
    font-size:9px !important;
}
.sidebar-user-card span{
    font-size:9px !important;
}
.sidebar-company-card p,
.sidebar-company-card strong,
.sidebar-version{
    font-size:9px !important;
}

/* Títulos e cabeçalhos */
.license-content h1{
    font-size:27px !important;
}
.dark-panel-heading h2{
    font-size:15px !important;
}
.dark-panel-heading p{
    font-size:10px !important;
}
.dark-panel-heading > span,
.dark-panel-heading a{
    font-size:9px !important;
}

/* Cartões KPI */
.license-kpi small{
    font-size:11px !important;
}
.license-kpi strong{
    font-size:29px !important;
}
.license-kpi p{
    font-size:10px !important;
}
.kpi-icon{
    font-size:20px !important;
}

/* Atividades */
.activity-list strong{
    font-size:11px !important;
}
.activity-list small{
    font-size:9px !important;
}
.activity-list time{
    font-size:9px !important;
}

/* Gráficos e legendas */
.status-legend div{
    font-size:10px !important;
}
.api-total-line strong{
    font-size:28px !important;
}
.api-total-line span{
    font-size:10px !important;
}

/* Rankings */
.ranking-list article > div:first-child{
    font-size:11px !important;
}
.ranking-list b{
    font-size:11px !important;
}

/* Listas de licenças */
.compact-license-list strong{
    font-size:10px !important;
}
.compact-license-list small{
    font-size:9px !important;
}

/* Estado do sistema */
.system-health-grid strong{
    font-size:12px !important;
}
.system-health-grid p{
    font-size:10px !important;
}

/* Tabelas e formulários */
.license-admin table{
    font-size:13px !important;
}
.license-admin th,
.license-admin td{
    font-size:12px !important;
    padding:14px 13px !important;
}
.license-admin td small{
    font-size:9px !important;
}
.license-admin input,
.license-admin select,
.license-admin textarea,
.license-admin button{
    font-size:13px !important;
}
.license-admin label{
    font-size:11px !important;
}

/* Estados e códigos */
.status{
    font-size:10px !important;
}
.license-admin code{
    font-size:11px !important;
}

/* Login */
.login-overline{
    font-size:9px !important;
}
.license-login-card h2{
    font-size:31px !important;
}
.license-login-card > p{
    font-size:12px !important;
}
.license-login-card label{
    font-size:11px !important;
}
.license-login-card input{
    font-size:13px !important;
}
.license-login-card button{
    font-size:14px !important;
}
.secure-login-note{
    font-size:9px !important;
}

/* Telemóvel */
@media(max-width:760px){
    .license-nav a{
        font-size:14px !important;
    }
    .license-kpi small{
        font-size:12px !important;
    }
    .license-kpi strong{
        font-size:31px !important;
    }
    .dark-panel-heading h2{
        font-size:16px !important;
    }
    .system-health-grid strong{
        font-size:13px !important;
    }
}

@media(max-width:520px){
    .topbar-title strong{
        font-size:16px !important;
    }
    .license-content h1{
        font-size:24px !important;
    }
}

/* ===== 1.3.5 — SELETOR DE TEMA ESCURO/CLARO ===== */

.theme-toggle-btn{
    display:flex;
    align-items:center;
    gap:7px;
    height:36px;
    padding:0 11px;
    border:1px solid #1a2b3d;
    border-radius:9px;
    background:#0e1b2a;
    color:#c9d7e6;
    font-size:10px !important;
    cursor:pointer;
}
.theme-toggle-btn:hover{
    border-color:#2486ff;
    color:#fff;
}
.theme-toggle-icon{
    font-size:14px;
}
.theme-toggle-text{
    white-space:nowrap;
}

/* Tema claro */
body.light-theme{
    --bg:#edf2f7;
    --panel:#ffffff;
    --panel2:#f8fafc;
    --line:#d7e0ea;
    --text:#172033;
    --muted:#66788c;
    background:#edf2f7 !important;
    color:#172033 !important;
}

body.light-theme.license-admin{
    background:#edf2f7 !important;
    color:#172033 !important;
}

body.light-theme .license-sidebar{
    background:linear-gradient(180deg,#ffffff 0%,#f6f8fb 100%) !important;
    border-right-color:#d8e1eb !important;
    color:#172033 !important;
}

body.light-theme .sidebar-user-card,
body.light-theme .sidebar-company-card{
    background:#ffffff !important;
    border-color:#d8e1eb !important;
}

body.light-theme .sidebar-user-card strong,
body.light-theme .sidebar-company-card strong{
    color:#172033 !important;
}

body.light-theme .sidebar-user-card small,
body.light-theme .sidebar-company-card p{
    color:#68798b !important;
}

body.light-theme .license-nav a{
    color:#334155 !important;
}

body.light-theme .license-nav a span{
    color:#60758d !important;
}

body.light-theme .license-nav a:hover,
body.light-theme .license-nav a.active{
    background:linear-gradient(90deg,#1c74db,#1162be) !important;
    color:#ffffff !important;
}

body.light-theme .license-nav a:hover span,
body.light-theme .license-nav a.active span{
    color:#ffffff !important;
}

body.light-theme .nav-separator{
    color:#8392a3 !important;
}

body.light-theme .sidebar-logout button{
    background:#e9eef5 !important;
    color:#334155 !important;
}

body.light-theme .license-topbar{
    background:rgba(255,255,255,.94) !important;
    border-bottom-color:#d8e1eb !important;
    color:#172033 !important;
}

body.light-theme .topbar-title strong,
body.light-theme .topbar-user strong{
    color:#172033 !important;
}

body.light-theme .topbar-title small,
body.light-theme .topbar-user small,
body.light-theme .topbar-server-clock small{
    color:#68798b !important;
}

body.light-theme .topbar-server-clock time{
    color:#334155 !important;
}

body.light-theme .topbar-server-clock,
body.light-theme .topbar-user{
    border-color:#d8e1eb !important;
}

body.light-theme .topbar-icon,
body.light-theme .theme-toggle-btn{
    background:#f1f5f9 !important;
    border-color:#d4dee9 !important;
    color:#334155 !important;
}

body.light-theme .license-content{
    background:#edf2f7 !important;
}

body.light-theme .license-kpi,
body.light-theme .dashboard-dark-panel,
body.light-theme .system-health-grid article,
body.light-theme .license-admin section{
    background:#ffffff !important;
    border-color:#d8e1eb !important;
    color:#172033 !important;
    box-shadow:0 7px 20px rgba(51,65,85,.06);
}

body.light-theme .license-kpi small,
body.light-theme .license-kpi p,
body.light-theme .dark-panel-heading p,
body.light-theme .system-health-grid p,
body.light-theme .activity-list time,
body.light-theme .compact-license-list small,
body.light-theme .api-total-line span{
    color:#6b7c8f !important;
}

body.light-theme .license-kpi strong,
body.light-theme .dark-panel-heading h2,
body.light-theme .system-health-grid strong,
body.light-theme .api-total-line strong,
body.light-theme .ranking-list span,
body.light-theme .ranking-list b,
body.light-theme .activity-list strong{
    color:#172033 !important;
}

body.light-theme .dark-panel-heading > span{
    background:#f8fafc !important;
    border-color:#d8e1eb !important;
    color:#64748b !important;
}

body.light-theme .activity-list article,
body.light-theme .compact-license-list article{
    border-bottom-color:#e4eaf1 !important;
}

body.light-theme .ranking-track{
    background:#e5ebf2 !important;
}

body.light-theme .status-legend div{
    color:#334155 !important;
}

body.light-theme .license-admin table{
    color:#27364a !important;
}

body.light-theme .license-admin th{
    background:#f1f5f9 !important;
    color:#5d6f82 !important;
    border-color:#dce4ed !important;
}

body.light-theme .license-admin td{
    border-color:#e3e9f0 !important;
}

body.light-theme .license-admin input,
body.light-theme .license-admin select,
body.light-theme .license-admin textarea{
    background:#ffffff !important;
    border-color:#cbd6e2 !important;
    color:#172033 !important;
}

body.light-theme .license-admin code{
    background:#e8f1fb !important;
    color:#145ea8 !important;
}

body.light-theme canvas{
    filter:none;
}

/* Login também respeita o tema guardado */
body.light-theme.license-login-page{
    background:#edf2f7 !important;
    color:#172033 !important;
}

body.light-theme .login-form-side{
    background:#f4f7fa !important;
}

body.light-theme .license-login-card{
    background:#ffffff !important;
    border-color:#d7e0ea !important;
    color:#172033 !important;
    box-shadow:0 28px 70px rgba(51,65,85,.14);
}

body.light-theme .license-login-card h2{
    color:#172033 !important;
}

body.light-theme .license-login-card > p,
body.light-theme .license-login-card label{
    color:#68798b !important;
}

body.light-theme .input-with-icon input{
    background:#ffffff !important;
    border-color:#cbd6e2 !important;
    color:#172033 !important;
}

body.light-theme .secure-login-note{
    color:#68798b !important;
}

@media(max-width:760px){
    .theme-toggle-text{
        display:none;
    }
    .theme-toggle-btn{
        width:36px;
        justify-content:center;
        padding:0;
    }
}

/* ===== 1.3.6 — CORREÇÃO DEFINITIVA DO SELETOR DE TEMA ===== */
html[data-xpress-theme="light"] body.license-admin,
html[data-xpress-theme="light"] body.license-login-page{
    color-scheme:light;
}
html[data-xpress-theme="dark"] body.license-admin,
html[data-xpress-theme="dark"] body.license-login-page{
    color-scheme:dark;
}

/* O atributo no HTML ativa o mesmo conjunto de regras do modo claro
   antes de o JavaScript principal terminar de carregar. */
html[data-xpress-theme="light"] body{
    --bg:#edf2f7;
    --panel:#ffffff;
    --panel2:#f8fafc;
    --line:#d7e0ea;
    --text:#172033;
    --muted:#66788c;
}

/* ===== 1.3.7 — AJUSTE DO GRÁFICO "LICENÇAS POR ESTADO" ===== */

.status-chart-panel{
    align-self:start;
    min-height:0 !important;
}

.status-chart-panel .status-chart-wrap{
    display:grid !important;
    grid-template-columns:minmax(150px,1.2fr) minmax(115px,.8fr) !important;
    align-items:center !important;
    justify-content:center !important;
    gap:18px !important;
    height:245px !important;
    min-height:245px !important;
    padding:4px 4px 8px !important;
}

.status-chart-panel .status-chart-wrap canvas{
    display:block !important;
    width:100% !important;
    height:220px !important;
    max-width:245px !important;
    max-height:220px !important;
    margin:0 auto !important;
    aspect-ratio:1 / 1 !important;
}

.status-chart-panel .status-legend{
    align-content:center !important;
    gap:12px !important;
    min-width:0 !important;
}

.status-chart-panel .status-legend div{
    grid-template-columns:10px minmax(0,1fr) auto !important;
    gap:8px !important;
    line-height:1.25 !important;
}

.status-chart-panel .status-legend span{
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.status-chart-panel .status-legend b{
    min-width:18px !important;
    text-align:right !important;
}

/* No modo claro, mantém o gráfico compacto e bem contrastado. */
body.light-theme .status-chart-panel{
    min-height:0 !important;
}

body.light-theme .status-chart-panel .status-chart-wrap{
    background:transparent !important;
}

/* Tablet e telemóvel */
@media(max-width:1100px){
    .status-chart-panel .status-chart-wrap{
        grid-template-columns:minmax(150px,1fr) minmax(120px,.8fr) !important;
    }
}

@media(max-width:760px){
    .status-chart-panel .status-chart-wrap{
        grid-template-columns:1fr !important;
        height:auto !important;
        min-height:0 !important;
        gap:8px !important;
    }

    .status-chart-panel .status-chart-wrap canvas{
        width:210px !important;
        height:210px !important;
        margin:0 auto !important;
    }

    .status-chart-panel .status-legend{
        width:min(280px,100%) !important;
        margin:0 auto !important;
    }
}

/* ===== 1.3.8 — CARTÃO "LICENÇAS POR ESTADO" COM ALTURA PRÓPRIA ===== */

/* A grelha deixa de esticar todos os cartões até à altura do maior elemento da linha. */
.dashboard-main-layout{
    align-items:start !important;
}

/* Este cartão passa a ter altura fixa/compacta e não herda a altura do gráfico ao lado. */
.status-chart-panel{
    align-self:start !important;
    height:318px !important;
    min-height:318px !important;
    max-height:318px !important;
    overflow:hidden !important;
}

/* Cabeçalho compacto. */
.status-chart-panel .dark-panel-heading{
    margin-bottom:4px !important;
}

/* Área interna proporcional. */
.status-chart-panel .status-chart-wrap{
    display:grid !important;
    grid-template-columns:150px minmax(105px,1fr) !important;
    align-items:center !important;
    justify-content:center !important;
    gap:18px !important;
    height:245px !important;
    min-height:245px !important;
    max-height:245px !important;
    padding:0 6px !important;
}

/* Canvas quadrado real, sem deformação. */
.status-chart-panel .status-chart-wrap canvas{
    width:150px !important;
    height:150px !important;
    max-width:150px !important;
    max-height:150px !important;
    min-width:150px !important;
    min-height:150px !important;
    aspect-ratio:1 / 1 !important;
    margin:0 auto !important;
}

/* Legenda compacta e centrada verticalmente. */
.status-chart-panel .status-legend{
    display:grid !important;
    align-content:center !important;
    gap:11px !important;
    margin:0 !important;
    min-width:0 !important;
}

.status-chart-panel .status-legend div{
    grid-template-columns:9px minmax(0,1fr) 22px !important;
    gap:7px !important;
}

/* Garante que o modo claro não volta a alterar a altura. */
body.light-theme .status-chart-panel{
    height:318px !important;
    min-height:318px !important;
    max-height:318px !important;
}

/* Em ecrãs pequenos o cartão cresce apenas o necessário. */
@media(max-width:760px){
    .status-chart-panel{
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        overflow:visible !important;
    }

    .status-chart-panel .status-chart-wrap{
        grid-template-columns:1fr !important;
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        gap:14px !important;
        padding:8px 0 !important;
    }

    .status-chart-panel .status-chart-wrap canvas{
        width:180px !important;
        height:180px !important;
        max-width:180px !important;
        max-height:180px !important;
        min-width:180px !important;
        min-height:180px !important;
    }

    .status-chart-panel .status-legend{
        width:min(280px,100%) !important;
        margin:0 auto !important;
    }
}

/* ===== 1.3.9 — ALINHAMENTO DOS CARTÕES DA PRIMEIRA LINHA ===== */

/* Os três painéis principais ficam com a mesma altura visual. */
.chart-activations-panel,
.status-chart-panel,
.recent-activity-panel{
    height:318px !important;
    min-height:318px !important;
    max-height:318px !important;
    overflow:hidden !important;
}

/* O gráfico de ativações usa o espaço disponível sem aumentar a linha. */
.chart-activations-panel .chart-box{
    height:245px !important;
}

/* O cartão de atividades passa a preencher toda a coluna. */
.recent-activity-panel{
    display:flex !important;
    flex-direction:column !important;
}

.recent-activity-panel .dark-panel-heading{
    flex:0 0 auto !important;
}

.recent-activity-panel .activity-list{
    flex:1 1 auto !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
}

/* Mensagem vazia centrada vertical e horizontalmente. */
.recent-activity-panel .dashboard-empty{
    flex:1 1 auto !important;
    display:grid !important;
    place-items:center !important;
    min-height:180px !important;
    padding:20px !important;
    color:#7b8da2 !important;
    text-align:center !important;
}

/* Garante que o modo claro mantém o alinhamento. */
body.light-theme .chart-activations-panel,
body.light-theme .status-chart-panel,
body.light-theme .recent-activity-panel{
    height:318px !important;
    min-height:318px !important;
    max-height:318px !important;
}

/* Segunda linha começa imediatamente abaixo, sem buracos. */
.dashboard-main-layout{
    grid-auto-flow:row dense !important;
    align-items:start !important;
}

/* Em tablet e telemóvel, os cartões voltam à altura automática. */
@media(max-width:900px){
    .chart-activations-panel,
    .status-chart-panel,
    .recent-activity-panel,
    body.light-theme .chart-activations-panel,
    body.light-theme .status-chart-panel,
    body.light-theme .recent-activity-panel{
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        overflow:visible !important;
    }

    .chart-activations-panel .chart-box{
        height:250px !important;
    }

    .recent-activity-panel .dashboard-empty{
        min-height:130px !important;
    }
}

/* ===== 2.1 — GESTÃO AVANÇADA ===== */
.license-toolbar form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.license-toolbar input{flex:1;min-width:260px}.license-toolbar a{padding:10px 13px;border-radius:8px;background:#1685ff;color:#fff;text-decoration:none}.ownership-form{display:grid;grid-template-columns:1fr 1fr auto;gap:5px;margin-top:7px}.ownership-form select,.ownership-form button{font-size:10px!important;padding:7px!important}.actions button[value="delete"],.ownership-form option[value="delete"]{color:#c62828}@media(max-width:760px){.ownership-form{grid-template-columns:1fr}.license-toolbar form{display:grid}.license-toolbar input{min-width:0}.license-admin table{min-width:920px}}

/* ===== 2.2 — BACKUPS ===== */
.backup-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.backup-stats article{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.backup-stats small,.backup-stats strong{display:block}
.backup-stats small{color:var(--muted);font-size:10px}
.backup-stats strong{margin-top:8px;font-size:19px}
.backup-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.backup-create-form,.backup-settings-form{display:grid;gap:12px}
.backup-create-form label,.backup-settings-form label{font-size:11px}
.backup-settings-form input[type="number"]{display:block;width:100%;margin-top:6px}
.backup-warning{padding:10px;border-radius:8px;background:rgba(234,179,8,.12);color:#c89613;font-size:10px}
.cron-box{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:10px}
.cron-box code{display:block;margin:8px 0;padding:10px;background:rgba(19,43,71,.55);overflow-wrap:anywhere}
.backup-actions{display:grid;gap:6px}
.backup-actions>a{display:inline-block;padding:8px 10px;border-radius:7px;background:#176fd7;color:white;text-decoration:none;text-align:center}
.backup-actions form{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.backup-actions label{font-size:9px}
.backup-actions .danger{background:#b4232d}
.status.completed{background:#dcfce7;color:#166534}
.status.running{background:#dbeafe;color:#1d4ed8}
.status.failed{background:#fee2e2;color:#991b1b}
.status.restored{background:#ede9fe;color:#6d28d9}
@media(max-width:950px){.backup-stats{grid-template-columns:1fr 1fr}.backup-layout{grid-template-columns:1fr}}
@media(max-width:520px){.backup-stats{grid-template-columns:1fr}}

/* ===== XPRESS STREAM LICENSE SERVER 4.0 LTS ===== */
.wizard-shell{display:grid;grid-template-columns:280px 1fr;gap:18px}
.wizard-intro{padding:24px;border-radius:14px;background:linear-gradient(150deg,#12243d,#0b1728);align-self:start}
.wizard-intro span{font-size:9px;color:#70b4ff;font-weight:900}.wizard-intro h2{font-size:25px}.wizard-intro p{color:var(--muted);line-height:1.7}
.radio-wizard-form{display:grid;gap:14px}.radio-wizard-form fieldset{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:1px solid var(--line);border-radius:12px;padding:17px}.radio-wizard-form legend{padding:0 8px;font-weight:900;font-size:12px}.wizard-summary{display:flex;flex-wrap:wrap;gap:7px;padding:14px;border-radius:10px;background:rgba(22,133,255,.08)}.wizard-summary strong{width:100%}.wizard-summary span{font-size:10px;padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.05)}
.saas-site-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}.saas-site-stats article{padding:17px;border:1px solid var(--line);border-radius:11px}.saas-site-stats small,.saas-site-stats strong{display:block}.saas-site-stats small{font-size:9px;color:var(--muted)}.saas-site-stats strong{font-size:21px;margin-top:7px}
.site-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.site-detail-grid div{padding:13px;border:1px solid var(--line);border-radius:9px}.site-detail-grid small,.site-detail-grid strong{display:block}.site-detail-grid small{font-size:9px;color:var(--muted)}.site-detail-grid strong{margin-top:6px}.site-detail-actions{display:flex;gap:8px;margin-top:12px}.site-detail-actions a{padding:10px 13px;border-radius:8px;background:#176fd7;color:#fff;text-decoration:none}.site-detail-actions form{display:flex;gap:6px}
.inline-password-form{display:flex;gap:5px}.inline-password-form input{min-width:150px}
.health-header{display:flex;align-items:center;justify-content:space-between;gap:15px}.health-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:15px}.health-card{display:flex;gap:12px;padding:17px;border:1px solid var(--line);border-radius:12px}.health-card>span{width:12px;height:12px;border-radius:50%;margin-top:3px}.health-card.ok>span{background:#22c55e}.health-card.warning>span{background:#eab308}.health-card.error>span{background:#ef4444}.health-card.unknown>span{background:#64748b}.health-card small,.health-card strong{display:block}.health-card small{color:var(--muted);font-size:9px}.health-card strong{margin-top:4px}.health-card p{font-size:11px;color:var(--muted)}
.update-current{padding:26px;border-radius:15px;background:linear-gradient(145deg,#0e2c51,#101b2c)}.update-current span{font-size:9px;color:#70b4ff;font-weight:900}.update-current strong{display:block;font-size:31px;margin:8px 0}.update-current p,.update-note{color:var(--muted)}
@media(max-width:900px){.wizard-shell{grid-template-columns:1fr}.saas-site-stats{grid-template-columns:1fr 1fr}.site-detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.radio-wizard-form fieldset,.site-detail-grid,.health-grid,.saas-site-stats{grid-template-columns:1fr}.health-header{align-items:flex-start;flex-direction:column}}

/* ===== TUTORIAL 4.0.1 ===== */
.tutorial-page{max-width:1150px;margin:0 auto}
.tutorial-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:28px;border-radius:18px;background:linear-gradient(145deg,#0d2a4d,#111c2d);margin-bottom:18px}
.tutorial-hero span,.tutorial-step{font-size:9px;font-weight:900;letter-spacing:.12em;color:#70b4ff}
.tutorial-hero h1{margin:7px 0 9px;font-size:30px}
.tutorial-hero p{margin:0;color:var(--muted);line-height:1.7}
.tutorial-index{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}
.tutorial-index a{padding:8px 10px;border-radius:8px;background:var(--panel);border:1px solid var(--line);color:var(--text);text-decoration:none;font-size:10px}
.tutorial-section{scroll-margin-top:90px}
.tutorial-section h2{margin:7px 0 12px}
.tutorial-section p,.tutorial-section li{font-size:12px;line-height:1.75;color:var(--muted)}
.tutorial-section pre{padding:15px;border-radius:10px;background:#07111f;overflow:auto;border:1px solid rgba(255,255,255,.06)}
.tutorial-section code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.tutorial-checklist{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.tutorial-checklist label{padding:10px;border-radius:8px;background:rgba(255,255,255,.035);font-size:11px}
.tutorial-warning,.tutorial-success{padding:12px 14px;border-radius:9px;margin-top:12px;font-size:11px}
.tutorial-warning{background:rgba(234,179,8,.12);color:#d4a20f}
.tutorial-success{background:rgba(34,197,94,.12);color:#4ade80}
.tutorial-errors{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tutorial-errors article{padding:14px;border:1px solid var(--line);border-radius:10px}
.tutorial-errors p{margin:6px 0 0}
.tutorial-footer{display:flex;justify-content:space-between;gap:10px;padding:18px 0;color:var(--muted);font-size:10px}
@media(max-width:700px){.tutorial-hero{align-items:flex-start;flex-direction:column}.tutorial-checklist,.tutorial-errors{grid-template-columns:1fr}}
@media print{
 body{background:#fff!important;color:#111!important}
 .license-sidebar,.license-topbar,.tutorial-hero button{display:none!important}
 .license-main{margin:0!important}.license-content{padding:0!important}
 .tutorial-section,.tutorial-hero{break-inside:avoid;background:#fff!important;color:#111!important;border:1px solid #ddd!important}
 .tutorial-section p,.tutorial-section li,.tutorial-hero p,.tutorial-footer{color:#333!important}
 .tutorial-index{display:none}
}

/* ===== INSTALADORES 4.1 ===== */
.installer-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px;border-radius:15px;background:linear-gradient(145deg,#0d2a4d,#111c2d)}
.installer-hero span{font-size:9px;font-weight:900;letter-spacing:.12em;color:#70b4ff}
.installer-hero h2{font-size:27px;margin:7px 0}
.installer-hero p{max-width:680px;color:var(--muted);line-height:1.7}
.installer-download{padding:13px 17px;border-radius:9px;background:#1685ff;color:#fff;text-decoration:none;font-weight:900;white-space:nowrap}
.installer-paths{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.installer-paths article{padding:17px;border:1px solid var(--line);border-radius:11px}
.installer-paths small,.installer-paths strong{display:block}
.installer-paths small{font-size:9px;color:#70b4ff}.installer-paths strong{margin:7px 0}
.installer-paths p,.installer-steps{color:var(--muted);font-size:12px;line-height:1.8}
@media(max-width:700px){.installer-hero{align-items:flex-start;flex-direction:column}.installer-paths{grid-template-columns:1fr}}


/* ===== 4.1.2 — MENU MÓVEL ADMIN, REVENDA E CLIENTE ===== */
.mobile-sidebar-backdrop{
  position:fixed;
  inset:0;
  z-index:890;
  background:rgba(1,7,14,.68);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  opacity:0;
  transition:opacity .22s ease;
}
.mobile-sidebar-backdrop.is-visible{opacity:1}

.mobile-sidebar-close{
  display:none;
  position:sticky;
  top:0;
  align-self:flex-end;
  width:42px;
  min-height:42px;
  margin:0 2px 6px auto;
  padding:0;
  border:1px solid #28405a;
  border-radius:11px;
  background:#0d2033;
  color:#fff;
  font-size:27px;
  line-height:1;
  z-index:3;
}

@media(max-width:900px){
  html,body{max-width:100%;overflow-x:hidden}

  body.license-admin{
    display:block;
    min-height:100dvh;
  }

  body.license-admin.sidebar-open{
    overflow:hidden;
    touch-action:none;
  }

  .license-sidebar{
    position:fixed!important;
    top:0!important;
    bottom:0!important;
    left:0!important;
    width:min(86vw,320px)!important;
    max-width:320px;
    height:100dvh!important;
    z-index:900!important;
    transform:translate3d(-104%,0,0);
    transition:transform .22s ease!important;
    box-shadow:18px 0 45px rgba(0,0,0,.42);
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding-top:max(12px,env(safe-area-inset-top));
    padding-bottom:max(14px,env(safe-area-inset-bottom));
  }

  body.sidebar-open .license-sidebar{
    transform:translate3d(0,0,0);
  }

  .mobile-sidebar-close{display:grid;place-items:center}

  .license-main{
    width:100%;
    min-width:0;
  }

  .license-topbar{
    position:sticky;
    top:0;
    z-index:100;
    width:100%;
    min-height:70px;
    height:auto;
    padding:max(10px,env(safe-area-inset-top)) 13px 10px;
    gap:8px;
  }

  .sidebar-toggle{
    display:grid!important;
    place-items:center;
    flex:0 0 43px;
    width:43px;
    height:43px;
    padding:0;
    font-size:21px;
    border:1px solid var(--line);
    background:#0d1c2c;
  }

  .topbar-title{
    min-width:0;
    margin-left:0!important;
  }

  .topbar-title strong,.topbar-title small{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .topbar-actions{
    margin-left:auto;
    min-width:0;
  }

  .topbar-server-clock,.topbar-icon{
    display:none!important;
  }

  .theme-toggle-btn{
    width:43px;
    min-width:43px;
    padding:0!important;
  }

  .theme-toggle-text{display:none!important}

  .topbar-user img{
    width:38px;
    height:38px;
  }

  .license-content{
    width:100%;
    min-width:0;
    overflow-x:hidden;
  }

  .license-content>section{
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  .sidebar-logo img{
    height:72px;
  }

  .license-nav a{
    min-height:48px;
    font-size:14px;
  }

  .sidebar-company-card{
    flex-shrink:0;
  }

  .reseller-mode-badge{
    margin-left:auto;
    max-width:92px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}

@media(max-width:480px){
  .license-sidebar{
    width:min(88vw,300px)!important;
  }

  .topbar-user{
    padding-left:0!important;
    border-left:0!important;
  }

  .topbar-user div{display:none!important}

  .license-content{
    padding:12px!important;
  }

  .reseller-portal .stats{
    grid-template-columns:1fr 1fr!important;
    gap:10px;
  }

  .reseller-portal .stats article{
    min-height:122px;
    padding:16px;
  }
}

@media(orientation:landscape) and (max-height:520px) and (max-width:950px){
  .license-sidebar{
    width:min(58vw,300px)!important;
  }

  .sidebar-logo img{height:54px}
  .sidebar-user-card{margin-bottom:7px}
  .license-nav a{min-height:42px;padding:9px}
}

/* ===== 4.2 CONTAS E RECUPERAÇÃO ===== */
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.checkbox-line{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);border-radius:9px}
.checkbox-line input{width:auto}
.login-help{margin-top:14px;text-align:center}
.login-help a,.license-login-card a{color:#70b4ff}
@media(max-width:760px){.account-grid{grid-template-columns:1fr}}


/* ===== 4.2.1 — CORREÇÃO LOGIN MÓVEL ===== */
html{
  min-height:100%;
}

body.license-login-page{
  min-height:100vh;
  min-height:100dvh;
  margin:0;
  overflow-x:hidden;
  background:#07101e;
}

.license-login-shell{
  width:100%;
  min-height:100vh;
  min-height:100dvh;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,560px);
  align-items:stretch;
  padding:
    max(20px,env(safe-area-inset-top))
    max(20px,env(safe-area-inset-right))
    max(20px,env(safe-area-inset-bottom))
    max(20px,env(safe-area-inset-left));
  box-sizing:border-box;
}

.login-brand-side,
.login-form-side{
  min-width:0;
}

.login-form-side{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  box-sizing:border-box;
}

.license-login-card{
  width:min(100%,520px);
  max-width:520px;
  margin:0 auto;
  box-sizing:border-box;
}

.login-help{
  margin:16px 0 0;
  text-align:left;
}

.login-help a,
.license-login-card a{
  color:#70b4ff;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

@media(max-width:900px){
  body.license-login-page{
    display:block;
  }

  .license-login-shell{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:18px;
    min-height:100svh;
    min-height:100dvh;
    padding:
      max(16px,env(safe-area-inset-top))
      max(14px,env(safe-area-inset-right))
      max(18px,env(safe-area-inset-bottom))
      max(14px,env(safe-area-inset-left));
  }

  .login-brand-side{
    width:min(100%,560px);
    flex:0 0 auto;
    padding:0;
    background:transparent;
    min-height:0;
  }

  .login-brand-side>img{
    display:block;
    width:min(78vw,360px);
    max-height:130px;
    height:auto;
    object-fit:contain;
    margin:0 auto;
  }

  .login-brand-copy{
    display:none;
  }

  .login-form-side{
    width:100%;
    padding:0;
    flex:0 0 auto;
  }

  .license-login-card{
    width:min(100%,520px);
    max-width:520px;
    margin:0 auto;
    padding:clamp(22px,5vw,34px);
    border-radius:20px;
  }

  .license-login-card h2{
    font-size:clamp(28px,7vw,40px);
    line-height:1.08;
  }

  .license-login-card input,
  .license-login-card button{
    min-height:54px;
  }
}

@media(max-width:520px){
  .license-login-shell{
    justify-content:flex-start;
    padding-top:max(14px,env(safe-area-inset-top));
    padding-bottom:max(18px,env(safe-area-inset-bottom));
  }

  .login-brand-side{
    margin-top:0;
  }

  .login-brand-side>img{
    width:min(76vw,300px);
    max-height:108px;
  }

  .license-login-card{
    padding:22px 20px;
  }

  .license-login-card h2{
    font-size:34px;
  }

  .license-login-card p,
  .license-login-card label{
    font-size:15px;
  }
}

@media(orientation:landscape) and (max-height:600px) and (max-width:1000px){
  .license-login-shell{
    flex-direction:row;
    justify-content:center;
    align-items:center;
    gap:18px;
    padding:
      max(10px,env(safe-area-inset-top))
      max(16px,env(safe-area-inset-right))
      max(10px,env(safe-area-inset-bottom))
      max(16px,env(safe-area-inset-left));
  }

  .login-brand-side{
    width:min(34vw,280px);
  }

  .login-brand-side>img{
    width:100%;
    max-height:90px;
  }

  .login-form-side{
    width:min(62vw,520px);
  }

  .license-login-card{
    max-height:calc(100dvh - 20px);
    overflow:auto;
    padding:18px 20px;
  }

  .license-login-card h2{
    font-size:30px;
  }

  .license-login-card input,
  .license-login-card button{
    min-height:48px;
  }
}


/* ===== 4.3 LTS — REVISÃO FINAL DE RESPONSIVIDADE ===== */
:root{
  --login-vv-height:100dvh;
  --login-vv-offset:0px;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

img,
svg,
video,
canvas{
  max-width:100%;
}

body{
  -webkit-text-size-adjust:100%;
}

button,
input,
select,
textarea{
  font:inherit;
}

input,
select,
textarea{
  max-width:100%;
}

table{
  max-width:100%;
}

.license-content,
.license-content section,
.license-content form,
.license-content .grid{
  min-width:0;
}

.license-content table{
  width:100%;
}

.license-content section{
  scroll-margin-top:90px;
}

/* Login: teclado, visualViewport e margens */
body.license-login-page{
  min-height:var(--login-vv-height,100dvh);
  overscroll-behavior-y:none;
}

.license-login-shell{
  min-height:var(--login-vv-height,100dvh);
}

body.keyboard-open .license-login-shell{
  justify-content:flex-start;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-top:10px;
  padding-bottom:18px;
}

body.keyboard-open .login-brand-side{
  display:none!important;
}

body.keyboard-open .login-form-side{
  align-items:flex-start;
}

body.keyboard-open .license-login-card{
  margin-top:0;
  margin-bottom:18px;
}

body.keyboard-open .license-login-card h2{
  font-size:30px;
  margin-bottom:10px;
}

body.keyboard-open .license-login-card input{
  min-height:50px;
}

body.keyboard-open .license-login-card button{
  min-height:50px;
  scroll-margin-bottom:22px;
}

.license-login-card input:focus,
.license-login-card select:focus,
.license-login-card textarea:focus{
  width:100%;
  transform:none;
}

body.form-submitting .license-login-card button{
  opacity:.72;
  cursor:wait;
}

/* Formulários e botões */
.grid{
  min-width:0;
}

.grid > *{
  min-width:0;
}

button,
.btn,
a.btn{
  touch-action:manipulation;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid rgba(22,133,255,.35);
  outline-offset:2px;
}

/* Tabelas em ecrãs pequenos */
@media(max-width:760px){
  .license-content section:has(table){
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  .license-content table{
    min-width:720px;
  }

  .license-content .grid{
    grid-template-columns:1fr!important;
  }

  .license-content button,
  .license-content .btn{
    max-width:100%;
  }

  .account-grid,
  .installer-paths,
  .tutorial-errors,
  .tutorial-checklist{
    grid-template-columns:1fr!important;
  }
}

/* iPhone / Android pequenos */
@media(max-width:520px){
  body.keyboard-open .license-login-shell{
    padding-left:10px;
    padding-right:10px;
  }

  body.keyboard-open .license-login-card{
    width:100%;
    padding:18px 16px;
    border-radius:16px;
  }

  .license-topbar{
    min-width:0;
  }

  .topbar-title{
    max-width:calc(100vw - 150px);
  }

  .license-content h1{
    font-size:clamp(25px,8vw,34px);
  }

  .license-content h2{
    font-size:clamp(20px,6vw,28px);
  }
}

/* Ecrã horizontal com teclado */
@media(orientation:landscape) and (max-height:520px){
  body.keyboard-open .license-login-shell{
    display:block;
    padding:8px 14px 14px;
  }

  body.keyboard-open .license-login-card{
    max-height:none;
    overflow:visible;
  }

  body.keyboard-open .license-login-card h2{
    font-size:26px;
  }
}

/* Impressão e acessibilidade */
@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}


/* ===== 4.3.1 — CORREÇÃO DE PISCAR/TRAVAR NO SCROLL MÓVEL ===== */
@media(max-width:900px){
  body.license-login-page,
  .license-login-shell,
  .login-brand-side,
  .login-form-side,
  .license-login-card{
    transform:none!important;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
  }

  body.license-login-page{
    background-attachment:scroll!important;
    overflow-x:hidden;
  }

  .license-login-shell{
    will-change:auto!important;
    contain:none!important;
  }

  .license-login-card{
    -webkit-transform:none!important;
    box-shadow:0 12px 32px rgba(0,0,0,.28);
  }

  .mobile-sidebar-backdrop{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    background:rgba(1,7,14,.76);
  }

  .license-topbar{
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
  }
}

@media(prefers-reduced-motion:reduce){
  .license-login-shell,
  .license-login-card{
    transition:none!important;
  }
}


/* ===== 4.3.2 — RENDERIZAÇÃO MÓVEL GLOBAL ===== */
@media(max-width:900px){
  html{
    background:#07101e;
    scroll-behavior:auto!important;
  }

  body.license-admin{
    background:#07101e;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:auto;
  }

  .license-main,
  .license-content,
  .license-content>section,
  .license-content article,
  .license-content .card,
  .stats article,
  .dashboard-card,
  .panel-card{
    transform:none!important;
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    will-change:auto!important;
    contain:none!important;
    animation:none!important;
  }

  .license-topbar{
    position:relative!important;
    top:auto!important;
    transform:none!important;
    -webkit-transform:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-shadow:0 1px 0 rgba(255,255,255,.05);
  }

  .license-sidebar{
    will-change:transform;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
  }

  .mobile-sidebar-backdrop{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  .license-content{
    overflow:visible!important;
  }

  .license-content>section{
    overflow:visible;
  }

  .license-content table{
    transform:none!important;
  }

  canvas,
  svg{
    transform:none!important;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
  }

  .stats article,
  section,
  article{
    box-shadow:0 8px 22px rgba(0,0,0,.18)!important;
  }

  .stats article:hover,
  section:hover,
  article:hover{
    transform:none!important;
  }

  *{
    transition-property:color,background-color,border-color,opacity!important;
  }

  .license-nav a,
  button,
  .btn,
  input,
  select,
  textarea{
    transition-duration:.12s!important;
  }
}

@media(max-width:600px){
  .license-content{
    padding:12px!important;
  }

  .license-content h1,
  .license-content h2,
  .license-content h3{
    transform:none!important;
  }

  .stats{
    gap:10px!important;
  }

  .stats article{
    min-height:auto!important;
  }
}

@media(prefers-reduced-motion:reduce){
  canvas,
  svg,
  .license-main,
  .license-content,
  .license-topbar,
  .license-sidebar{
    animation:none!important;
    transition:none!important;
  }
}


/* ===== INSTALLERS 5.0.1 ===== */
.installer-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px;
}

.installer-secondary{
  padding:12px 16px;
  border:1px solid #3c5877;
  border-radius:9px;
  color:#d6e7fb;
  text-decoration:none;
  font-weight:800;
  white-space:nowrap;
}

.installer-theme-b{
  background:
    radial-gradient(circle at 86% 16%,rgba(217,70,239,.17),transparent 32%),
    linear-gradient(145deg,#201033,#111c2d);
}

.installer-comparison,
.installer-feature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
}

.installer-comparison article,
.installer-feature-grid article{
  padding:17px;
  border:1px solid var(--line);
  border-radius:11px;
  background:rgba(8,19,32,.32);
}

.installer-comparison h3{
  margin:0 0 8px;
}

.installer-comparison p,
.installer-feature-grid span{
  color:var(--muted);
  font-size:12px;
  line-height:1.65;
}

.installer-feature-grid strong,
.installer-feature-grid span{
  display:block;
}

.installer-feature-grid strong{
  margin-bottom:6px;
  color:#77baff;
}

.installer-page-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin-bottom:20px;
  padding:25px;
  border:1px solid var(--line);
  border-radius:16px;
  background:
    radial-gradient(circle at 86% 12%,rgba(217,70,239,.17),transparent 30%),
    #111c2d;
}

.installer-page-header span{
  color:#77baff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
}

.installer-page-header h1{
  margin:7px 0;
}

.installer-page-header p{
  max-width:720px;
  color:var(--muted);
  line-height:1.65;
}

.installer-warning{
  padding:17px;
  border:1px solid rgba(245,158,11,.35);
  border-radius:11px;
  background:rgba(245,158,11,.08);
}

.installer-warning strong{
  color:#fbbf24;
}

.installer-warning p{
  margin-bottom:0;
  color:var(--muted);
}

@media(max-width:760px){
  .installer-page-header,
  .installer-hero{
    align-items:flex-start;
    flex-direction:column;
  }

  .installer-actions{
    justify-content:flex-start;
  }

  .installer-comparison,
  .installer-feature-grid{
    grid-template-columns:1fr;
  }
}


.installer-theme-a{
  background:
    radial-gradient(circle at 88% 16%,rgba(22,133,255,.19),transparent 32%),
    linear-gradient(145deg,#0d2a4d,#111c2d);
}

.installer-demo-note{color:var(--muted);margin:-5px 0 18px;line-height:1.6}

/* ===== LICENSE SERVER 5.1 — INSTALAÇÕES ===== */
.installation-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}
.installation-stats article{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.installation-stats small,.installation-stats strong{display:block}
.installation-stats small{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}
.installation-stats strong{margin-top:8px;font-size:30px}
.installation-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px}
.installation-table-wrap{overflow-x:auto}
.installation-table{min-width:1050px}
.installation-table td strong,.installation-table td small{display:block}
.installation-table td small{margin-top:5px;color:var(--muted)}
.online-dot{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%}
.online-dot.is-online{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.13)}
.online-dot.is-offline{background:#64748b}
.license-status{display:inline-block;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase}
.status-active{background:rgba(34,197,94,.13);color:#4ade80}
.status-suspended,.status-revoked{background:rgba(239,68,68,.13);color:#f87171}
.status-expired{background:rgba(245,158,11,.13);color:#fbbf24}
.table-action{display:inline-flex;padding:8px 11px;border:1px solid var(--line);border-radius:8px;color:#8ec5ff;text-decoration:none;font-weight:800}
.installation-detail-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}
.installation-detail-header h1{margin:8px 0 5px}
.installation-header-actions{display:flex;gap:9px;flex-wrap:wrap}
.installation-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.detail-list{margin:0}
.detail-list>div{display:grid;grid-template-columns:145px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.detail-list dt{color:var(--muted);font-size:11px;font-weight:800}
.detail-list dd{margin:0;overflow-wrap:anywhere}
.installation-control-buttons{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.warning-button{background:#b45309!important}
.secondary-button{background:#334155!important}
.danger-button{background:#991b1b!important}
@media(max-width:800px){
 .installation-stats{grid-template-columns:1fr 1fr}
 .installation-filters{grid-template-columns:1fr}
 .installation-detail-grid{grid-template-columns:1fr}
 .installation-detail-header{align-items:flex-start;flex-direction:column}
}

/* ===== LICENSE SERVER 5.4 — APLICAÇÕES PLAYER ===== */
.player-app-page-heading{margin-bottom:18px}
.player-app-page-heading>div>span{color:#58a6ff;font-size:10px;font-weight:900;letter-spacing:.14em}
.player-app-page-heading h1{margin:7px 0;font-size:31px}
.player-app-page-heading p,.section-title-row p{margin:0;color:var(--muted);line-height:1.6}
.player-app-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:16px 0}
.player-app-stats article{padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.player-app-stats small,.player-app-stats strong{display:block}
.player-app-stats small{color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase}
.player-app-stats strong{margin-top:7px;font-size:27px}
.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:17px}
.section-title-row h2{margin:0 0 5px}
.section-title-row>input{max-width:390px}
.player-app-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.player-app-form-grid .full{grid-column:1/-1}
.player-app-form-grid small{display:block;margin-top:6px;color:var(--muted);font-size:10px}
.player-app-form-actions{display:flex;gap:10px;margin-top:16px}
.app-secondary-button{background:#334155!important}
.player-app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.player-app-card{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.player-app-card[hidden]{display:none!important}
.player-app-phone{width:145px;margin:auto;padding:7px;border-radius:25px;background:#020617;box-shadow:0 18px 34px rgba(0,0,0,.22)}
.player-app-phone.is-iphone{border-radius:31px}
.player-app-phone-screen{min-height:265px;padding:23px 12px;border-radius:20px;background:radial-gradient(circle at 80% 9%,rgba(236,72,153,.28),transparent 32%),linear-gradient(155deg,#111827,#27144b);color:#fff;text-align:center}
.is-iphone .player-app-phone-screen{border-radius:26px}
.player-app-phone-screen>span{font-size:7px;font-weight:900;letter-spacing:.13em;color:#d8b4fe}
.player-app-icon{display:flex;align-items:center;justify-content:center;width:82px;height:82px;margin:27px auto 18px;border-radius:21px;background:linear-gradient(135deg,#7c3aed,#ec4899);font-size:31px;overflow:hidden}
.player-app-icon img{width:100%;height:100%;object-fit:cover}
.player-app-phone-screen strong,.player-app-phone-screen small{display:block}
.player-app-phone-screen strong{font-size:13px}
.player-app-phone-screen small{margin-top:6px;color:#cbd5e1;font-size:8px}
.player-mini-controls{display:flex;justify-content:center;gap:8px;margin-top:24px}
.player-mini-controls i{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:rgba(255,255,255,.12);font-size:8px;font-style:normal}
.player-app-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.player-app-title-row span{color:#69afff;font-size:9px;font-weight:900;text-transform:uppercase}
.player-app-title-row h3{margin:5px 0;font-size:19px}
.app-status{padding:5px 8px;border-radius:999px;font-size:9px;font-style:normal;font-weight:900;text-transform:uppercase}
.status-published{background:rgba(34,197,94,.14);color:#4ade80}
.status-draft{background:rgba(100,116,139,.18);color:#cbd5e1}
.status-suspended{background:rgba(239,68,68,.14);color:#f87171}
.player-app-card dl{margin:13px 0}
.player-app-card dl>div{display:grid;grid-template-columns:75px 1fr;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}
.player-app-card dt{color:var(--muted);font-size:9px;font-weight:900}
.player-app-card dd{margin:0;font-size:11px;overflow-wrap:anywhere}
.player-app-card-content>p{color:var(--muted);font-size:11px;line-height:1.55}
.player-app-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:14px}
.player-app-actions a,.app-edit-button,.app-delete-button{display:inline-flex;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#0a1828;color:#b9d9ff;text-decoration:none;font-size:10px;font-weight:900;cursor:pointer}
.app-delete-button{border-color:rgba(239,68,68,.35);background:rgba(127,29,29,.24);color:#fca5a5}
.player-app-actions form{margin:0}
.player-app-empty{grid-column:1/-1;padding:40px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}
@media(max-width:1100px){
 .player-app-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
 .player-app-stats{grid-template-columns:1fr 1fr}
 .player-app-form-grid{grid-template-columns:1fr}
 .player-app-form-grid .full{grid-column:auto}
 .section-title-row{align-items:flex-start;flex-direction:column}
 .section-title-row>input{max-width:none}
 .player-app-card{grid-template-columns:1fr}
}

/* ===== LICENSE SERVER 5.5 — APP BUILDER ===== */
.builder-heading>span{color:#60a5fa;font-size:10px;font-weight:900;letter-spacing:.14em}
.builder-heading h1{margin:7px 0;font-size:32px}
.builder-heading p{color:var(--muted);line-height:1.6}
.builder-env{display:flex;justify-content:space-between;gap:20px;padding:18px;margin:18px 0;border-radius:14px;border:1px solid var(--line)}
.builder-env.is-ready{background:rgba(20,83,45,.28);border-color:rgba(34,197,94,.35)}
.builder-env.is-limited{background:rgba(120,53,15,.2);border-color:rgba(245,158,11,.35)}
.builder-env strong,.builder-env span{display:block}
.builder-env span{margin-top:5px;color:var(--muted);font-size:11px}
.builder-env ul{display:flex;gap:13px;flex-wrap:wrap;margin:0;padding:0;list-style:none;font-size:10px}
.builder-mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.builder-mode-cards label{display:flex;align-items:flex-start;gap:10px;padding:15px;border:1px solid var(--line);border-radius:11px;cursor:pointer}
.builder-mode-cards input{width:auto;margin-top:3px}
.builder-mode-cards strong,.builder-mode-cards span{display:block}
.builder-mode-cards span{margin-top:5px;color:var(--muted);font-size:10px}
.builder-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.builder-form-grid .full{grid-column:1/-1}
.builder-form-grid small{display:block;margin-top:6px;color:var(--muted);font-size:9px}
.builder-check{display:flex!important;align-items:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:9px}
.builder-check input{width:auto!important}
.builder-actions{display:flex;gap:9px;margin-top:15px}
.builder-secondary{background:#334155!important}
.keystore-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}
.keystore-list article{padding:13px;border:1px solid var(--line);border-radius:10px}
.keystore-list strong,.keystore-list span,.keystore-list small{display:block}
.keystore-list span,.keystore-list small{margin-top:5px;color:var(--muted);font-size:9px;overflow-wrap:anywhere}
.builder-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.builder-project{padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.builder-project-head{display:flex;justify-content:space-between;gap:10px}
.builder-project-head span{color:#60a5fa;font-size:8px;font-weight:900}
.builder-project-head h3{margin:5px 0}
.builder-project-head code{font-size:10px}
.builder-status{padding:5px 8px;border-radius:999px;background:#1e293b;font-size:8px;font-style:normal;text-transform:uppercase;height:max-content}
.builder-project dl>div{display:grid;grid-template-columns:75px 1fr;padding:6px 0;border-bottom:1px solid var(--line)}
.builder-project dt{color:var(--muted);font-size:9px}
.builder-project dd{margin:0;font-size:10px}
.builder-project-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.builder-project-actions form{margin:0}
.builder-project-actions button,.builder-edit{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#0a1828;color:#bfdbfe;font-size:9px;font-weight:900;cursor:pointer}
.builder-build{background:rgba(20,83,45,.4)!important;color:#86efac!important}
.builder-delete{background:rgba(127,29,29,.35)!important;color:#fca5a5!important}
.builder-builds{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:14px}
.builder-builds a{display:block;padding:9px;border:1px solid var(--line);border-radius:8px;color:#bfdbfe;text-decoration:none}
.builder-builds strong,.builder-builds span{display:block}
.builder-builds span{margin-top:4px;color:var(--muted);font-size:8px}
.builder-error{max-height:150px;overflow:auto;padding:10px;background:#210b0b;color:#fecaca;font-size:8px;white-space:pre-wrap}
@media(max-width:900px){
 .builder-projects,.builder-mode-cards,.builder-form-grid,.keystore-list{grid-template-columns:1fr}
 .builder-form-grid .full{grid-column:auto}
 .builder-env{flex-direction:column}
}

/* 5.6 permissões por plano */.feature-check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:14px 0}.feature-check-grid label{display:flex;align-items:center;gap:7px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#0a1828;font-size:10px}.feature-check-grid input{width:auto}.product-plan-card{border-left:4px solid #1685ff}@media(max-width:850px){.feature-check-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.feature-check-grid{grid-template-columns:1fr}}

/* 5.7 management */
.management-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.management-card-head h2{margin:0}.management-card-head small{color:var(--muted)}
.danger-zone{margin-top:14px;padding-top:14px;border-top:1px solid rgba(239,68,68,.25)}.danger-zone small{display:block;margin-top:7px;color:#fca5a5}
.danger-button{background:#7f1d1d!important;color:#fecaca!important;border:1px solid #b91c1c!important}.danger-button:hover{background:#991b1b!important}.danger-button:disabled{opacity:.45;cursor:not-allowed}.danger-button.small{padding:7px 10px!important}
.inline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inline-actions form{margin:0}.secondary-link{display:inline-flex;align-items:center;justify-content:center;padding:11px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--text)}
.cleanup-panel{display:flex;justify-content:space-between;align-items:end;gap:20px;border-color:rgba(239,68,68,.3)!important}.cleanup-panel h2{margin-top:0}.cleanup-panel p{margin-bottom:0;color:var(--muted)}.cleanup-panel form{display:flex;gap:8px;min-width:420px}.cleanup-panel input,.cleanup-panel select{min-width:150px}.installer-original-theme{background:linear-gradient(135deg,#2c1605,#4b2506)!important;border-color:#f49300!important}
@media(max-width:850px){.cleanup-panel{align-items:stretch;flex-direction:column}.cleanup-panel form{min-width:0;flex-direction:column;width:100%}.inline-actions{align-items:stretch;flex-direction:column}.inline-actions a,.inline-actions button{width:100%}}

/* ===== LICENSE SERVER 5.9 — EDIÇÃO E INFORMAÇÃO ===== */
.license-page-heading>div>span,.license-detail-heading>div>span{
 color:#58a6ff;font-size:9px;font-weight:900;letter-spacing:.14em
}
.license-page-heading h1,.license-detail-heading h1{margin:6px 0;font-size:31px}
.license-page-heading p,.license-detail-heading p,.section-heading-inline p{
 margin:0;color:var(--muted);line-height:1.5
}
.section-heading-inline{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px}
.section-heading-inline h2{margin:0 0 5px}
.license-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.license-management-card{
 display:flex;justify-content:space-between;gap:18px;padding:17px;
 border:1px solid var(--line);border-radius:14px;background:var(--panel)
}
.license-management-main{min-width:0;flex:1}
.license-key-line{display:flex;align-items:center;justify-content:space-between;gap:10px}
.license-key-line code{font-size:11px;overflow-wrap:anywhere}
.license-management-main h3{margin:12px 0 4px;font-size:18px}
.license-management-main>p{margin:0;color:var(--muted);font-size:11px}
.license-summary-list{margin:14px 0 0}
.license-summary-list>div{display:grid;grid-template-columns:85px 1fr;gap:8px;padding:5px 0;border-bottom:1px solid var(--line)}
.license-summary-list dt{color:var(--muted);font-size:9px;font-weight:900}
.license-summary-list dd{margin:0;font-size:10px;overflow-wrap:anywhere}
.license-management-actions{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:145px}
.license-management-actions .actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.license-management-actions button,.license-primary-action{
 display:flex;align-items:center;justify-content:center;min-height:36px;padding:8px 10px;
 border:1px solid var(--line);border-radius:8px;background:#0a1828;
 color:#bfdbfe;text-decoration:none;font-size:9px;font-weight:900;cursor:pointer
}
.license-primary-action{border-color:#287cd6;background:#125da8;color:#fff}
.license-detail-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}
.license-detail-heading a{display:block;margin-bottom:12px;color:#79b9ff;text-decoration:none;font-size:10px}
.license-detail-status{text-align:right}
.license-detail-status small{display:block;margin-top:8px;color:var(--muted);font-size:9px}
.license-detail-grid{display:grid;grid-template-columns:1.65fr .8fr;gap:16px}
.license-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.license-edit-grid .full{grid-column:1/-1}
.license-edit-grid small{display:block;margin-top:5px;color:var(--muted);font-size:9px}
.activation-choice-box{margin-top:17px;padding:15px;border:1px solid var(--line);border-radius:11px;background:#07101e}
.activation-choice-box h3{margin:0 0 11px;font-size:14px}
.activation-choice-box label{display:flex;align-items:flex-start;gap:9px;margin-top:8px;padding:11px;border:1px solid var(--line);border-radius:9px;cursor:pointer}
.activation-choice-box label.is-warning{border-color:rgba(245,158,11,.45);background:rgba(120,53,15,.15)}
.activation-choice-box input{width:auto;margin-top:3px}
.activation-choice-box strong,.activation-choice-box span{display:block}
.activation-choice-box strong{font-size:11px}
.activation-choice-box span{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.45}
.license-save-button{margin-top:14px}
.license-danger-note{margin-top:17px;padding:14px;border-left:4px solid #f59e0b;background:rgba(120,53,15,.18)}
.license-danger-note strong{color:#fbbf24}
.license-danger-note p{margin:7px 0 0;color:#d6c5a2;font-size:10px;line-height:1.5}
.license-installations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.license-installation-card{padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}
.installation-card-title{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.installation-card-title>div{display:grid;grid-template-columns:auto 1fr;column-gap:8px}
.installation-card-title .online-dot{grid-row:1/3;margin-top:5px}
.installation-card-title strong,.installation-card-title small{display:block}
.installation-card-title strong{font-size:15px}
.installation-card-title small{margin-top:3px;color:var(--muted);font-size:9px}
.installation-card-title a{padding:7px 9px;border:1px solid var(--line);border-radius:7px;color:#9ecbff;text-decoration:none;font-size:8px;font-weight:900}
.license-installation-card dl{margin:13px 0 0}
.license-installation-card dl>div{display:grid;grid-template-columns:100px 1fr;gap:8px;padding:5px 0;border-bottom:1px solid var(--line)}
.license-installation-card dt{color:var(--muted);font-size:9px}
.license-installation-card dd{margin:0;font-size:10px;overflow-wrap:anywhere}
.license-history-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.compact-history-list{display:grid;gap:7px}
.compact-history-list article{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:8px}
.compact-history-list strong,.compact-history-list span,.compact-history-list small{display:block}
.compact-history-list strong{font-size:9px}.compact-history-list span,.compact-history-list small{margin-top:3px;color:var(--muted);font-size:8px}
.compact-history-list em{padding:5px 7px;border-radius:999px;font-size:7px;font-style:normal;font-weight:900}
.compact-history-list em.success{background:rgba(34,197,94,.15);color:#4ade80}
.compact-history-list em.failed{background:rgba(239,68,68,.15);color:#f87171}
@media(max-width:1050px){
 .license-card-list,.license-installations-grid,.license-history-grid{grid-template-columns:1fr}
 .license-detail-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
 .license-management-card{flex-direction:column}
 .license-management-actions{min-width:0}
 .license-detail-heading{flex-direction:column}
 .license-detail-status{text-align:left}
 .license-edit-grid{grid-template-columns:1fr}
 .license-edit-grid .full{grid-column:auto}
 .compact-history-list article{grid-template-columns:1fr}
}

/* Xpress 6.1.0 - Páginas da Rádio */
.radio-page-admin-grid{display:grid;grid-template-columns:minmax(380px,.9fr) minmax(420px,1.1fr);gap:20px;align-items:start}.radio-page-form{display:grid;gap:14px}.radio-page-form label{display:grid;gap:6px;font-weight:700}.radio-page-form input,.radio-page-form textarea{width:100%}.radio-page-form small{font-weight:400;opacity:.7}.form-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-row{display:flex!important;align-items:center;gap:9px}.check-row input{width:auto}.current-media{display:flex;gap:10px;flex-wrap:wrap;font-size:12px}.preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.preview-tabs{display:flex;gap:6px}.preview-tabs button{border:1px solid #64748b55;background:transparent;color:inherit;border-radius:8px;padding:8px 12px;cursor:pointer}.preview-tabs button.active{background:#2563eb;color:white}.preview-shell{margin:12px auto 0;background:#0b1220;border-radius:12px;padding:10px;transition:.25s;width:100%;height:560px}.preview-shell.mobile{width:390px;max-width:100%;height:680px;border-radius:28px;padding:12px}.preview-shell iframe{width:100%;height:100%;border:0;border-radius:8px;background:#fff}.preview-shell.mobile iframe{border-radius:20px}.empty-preview{min-height:260px;display:grid;place-items:center;text-align:center;opacity:.65}.radio-pages-list{margin-top:20px}.actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.actions form{margin:0}.btn.danger{background:#b42318;color:#fff}@media(max-width:1050px){.radio-page-admin-grid{grid-template-columns:1fr}.preview-shell{height:620px}}@media(max-width:620px){.form-2{grid-template-columns:1fr}.preview-shell.mobile{width:100%;height:650px}.preview-head{align-items:flex-start;flex-direction:column}.radio-page-admin-grid{display:block}.radio-preview-card{margin-top:16px}}

/* Xpress Stream 6.1.1 - campos avançados das Páginas da Rádio */
.radio-page-form .form-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.radio-page-form input[type=color]{width:100%;height:44px;padding:4px;cursor:pointer}@media(max-width:760px){.radio-page-form .form-3{grid-template-columns:1fr}}

/* ===== 6.1.26 — CORREÇÃO GLOBAL DO MODO CLARO =====
   license-admin é classe do próprio BODY. As regras antigas usavam
   "body.light-theme .license-admin ..." e por isso não atingiam o painel. */
body.light-theme.license-admin{
    --bg:#edf2f7;
    --panel:#ffffff;
    --panel2:#f8fafc;
    --line:#d7e0ea;
    --text:#172033;
    --muted:#66788c;
    background:#edf2f7 !important;
    color:#172033 !important;
}

body.light-theme.license-admin .license-content{
    background:#edf2f7 !important;
    color:#172033 !important;
}

body.light-theme.license-admin section,
body.light-theme.license-admin .license-kpi,
body.light-theme.license-admin .dashboard-dark-panel,
body.light-theme.license-admin .system-health-grid article,
body.light-theme.license-admin .license-management-card{
    background:#ffffff !important;
    border-color:#d8e1eb !important;
    color:#172033 !important;
    box-shadow:0 7px 20px rgba(51,65,85,.06);
}

body.light-theme.license-admin h1,
body.light-theme.license-admin h2,
body.light-theme.license-admin h3,
body.light-theme.license-admin h4,
body.light-theme.license-admin .license-page-heading h1,
body.light-theme.license-admin .license-detail-heading h1,
body.light-theme.license-admin .section-heading-inline h2{
    color:#172033 !important;
}

body.light-theme.license-admin p,
body.light-theme.license-admin small,
body.light-theme.license-admin label,
body.light-theme.license-admin dt,
body.light-theme.license-admin .license-page-heading p,
body.light-theme.license-admin .license-detail-heading p,
body.light-theme.license-admin .section-heading-inline p{
    color:#66788c;
}

body.light-theme.license-admin table{
    color:#27364a !important;
    background:#ffffff !important;
}
body.light-theme.license-admin th{
    background:#f1f5f9 !important;
    color:#5d6f82 !important;
    border-color:#dce4ed !important;
}
body.light-theme.license-admin td{
    background:#ffffff !important;
    color:#27364a !important;
    border-color:#e3e9f0 !important;
}

body.light-theme.license-admin input,
body.light-theme.license-admin select,
body.light-theme.license-admin textarea{
    background:#ffffff !important;
    border-color:#cbd6e2 !important;
    color:#172033 !important;
    color-scheme:light;
}
body.light-theme.license-admin input::placeholder,
body.light-theme.license-admin textarea::placeholder{
    color:#8a9aab !important;
    opacity:1;
}

body.light-theme.license-admin code{
    background:#e8f1fb !important;
    color:#145ea8 !important;
}

body.light-theme.license-admin .dark-panel-heading h2,
body.light-theme.license-admin .system-health-grid strong,
body.light-theme.license-admin .api-total-line strong,
body.light-theme.license-admin .ranking-list span,
body.light-theme.license-admin .ranking-list b,
body.light-theme.license-admin .activity-list strong,
body.light-theme.license-admin .license-kpi strong{
    color:#172033 !important;
}
body.light-theme.license-admin .license-kpi small,
body.light-theme.license-admin .license-kpi p,
body.light-theme.license-admin .dark-panel-heading p,
body.light-theme.license-admin .system-health-grid p,
body.light-theme.license-admin .activity-list time,
body.light-theme.license-admin .compact-license-list small,
body.light-theme.license-admin .api-total-line span{
    color:#6b7c8f !important;
}

body.light-theme.license-admin .feature-check-grid label,
body.light-theme.license-admin .limit-card,
body.light-theme.license-admin .secondary-link{
    background:#f8fafc !important;
    border-color:#d8e1eb !important;
    color:#334155 !important;
}

/* Mantém cores semânticas dos botões/status; só corrige os cartões claros. */
body.light-theme.license-admin .license-management-actions button:not(.danger-button){
    border-color:#cbd6e2;
}
