*{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}
}
