/* ══════════════════════════════════════════
   OptiNC License Management – Stylesheet
   Visual alinhado ao Helpdesk OptiNC (autossuficiente).
   ══════════════════════════════════════════ */
:root {
  --lm-blue:#3B82F6; --lm-blue-dk:#2563EB;
  --lm-dark:#3D3D4E; --lm-dark-hov:#2e2e3c;
  --lm-bg:#F5F5F5; --lm-white:#FFFFFF; --lm-border:#E2E8F0;
  --lm-text:#1A202C; --lm-muted:#64748B;
  --lm-radius:8px;
  --lm-shadow:0 1px 3px rgba(0,0,0,.08), 0 4px 16px rgba(0,0,0,.06);
  --lm-nav-h:60px;
}

/* App shell — rompe o container do tema (full viewport) */
.lm-app {
  font-family:'Segoe UI',system-ui,-apple-system,sans-serif;
  color:var(--lm-text); background:var(--lm-bg);
  min-height:69.65vh; display:flex; flex-direction:column;
  width:100vw; max-width:100vw;
  margin-left:calc(-50vw + 50%); margin-right:calc(-50vw + 50%);
}
.lm-app *, .lm-app *::before, .lm-app *::after { box-sizing:border-box; }

/* Navbar */
.lm-navbar { background:var(--lm-white); border-bottom:1px solid var(--lm-border); height:var(--lm-nav-h); flex-shrink:0; position:sticky; top:0; z-index:100; }
.lm-navbar-inner { max-width:1600px; margin:0 auto; padding:0 24px; height:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.lm-navbar-left { display:flex; align-items:center; gap:0; height:100%; }
.lm-navbar-right { display:flex; align-items:center; gap:12px; }
.lm-navbar-divider { width:1px; background:var(--lm-border); height:28px; margin:0 20px; }
.lm-nav-logo { display:flex; align-items:center; height:100%; }
.lm-logo-img { height:46px; width:auto; max-height:46px; max-width:160px; object-fit:contain; display:block; }
.lm-logo-fallback { align-items:center; font-size:1.4rem; font-weight:800; }
.lm-logo-opti { color:var(--lm-blue); } .lm-logo-nc { color:var(--lm-dark); }
.lm-nav-title { font-size:1rem; font-weight:700; color:var(--lm-text); }
.lm-nav-user { display:flex; align-items:center; gap:12px; }
.lm-nav-avatar { width:34px; height:34px; border-radius:50%; background:#000; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.9rem; flex-shrink:0; }
.lm-nav-greeting { font-size:.9rem; color:var(--lm-text); }

/* Buttons */
.lm-app .lm-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  padding:10px 18px; border-radius:var(--lm-radius); font-size:.9rem; font-weight:600;
  cursor:pointer; border:none; transition:all .15s; text-decoration:none; line-height:1;
  font-family:inherit;
}
.lm-app .lm-btn:active { transform:scale(.98); }
.lm-app .lm-btn:disabled, .lm-app .lm-btn[disabled] { opacity:.5; cursor:not-allowed; pointer-events:none; }
.lm-app .lm-btn--full { width:100%; }
.lm-app .lm-btn--dark, .lm-app .lm-btn--dark:visited, .lm-app .lm-btn--dark:link { background:var(--lm-dark)!important; color:#fff!important; border:none!important; }
.lm-app .lm-btn--dark:hover, .lm-app .lm-btn--dark:focus { background:var(--lm-dark-hov)!important; color:#fff!important; }
.lm-app .lm-btn--outline, .lm-app .lm-btn--outline:visited { background:transparent!important; color:var(--lm-text)!important; border:1.5px solid var(--lm-border)!important; }
.lm-app .lm-btn--outline:hover { background:var(--lm-bg)!important; border-color:#CBD5E1!important; }
.lm-app .lm-btn--sm { padding:7px 14px; font-size:.82rem; }

/* Login */
.lm-login-screen { flex:1; display:flex; align-items:center; justify-content:center; padding:40px 16px; }
.lm-login-card { background:var(--lm-white); border-radius:12px; box-shadow:var(--lm-shadow); padding:44px 40px; width:100%; max-width:400px; }
.lm-login-logo { display:flex; justify-content:center; margin-bottom:28px; }
.lm-login-title { font-size:1.35rem; font-weight:800; margin:0 0 28px; text-align:center; color:var(--lm-text); }
.lm-login-sub { font-size:.88rem; color:var(--lm-muted); margin:0 0 20px; }
.lm-field { margin-bottom:18px; }
.lm-field label { display:block; font-size:.88rem; font-weight:600; margin-bottom:6px; color:var(--lm-text); }
.lm-field input { width:100%; padding:11px 14px; border:1px solid var(--lm-border); border-radius:var(--lm-radius); font-size:.93rem; outline:none; transition:border-color .15s; background:var(--lm-bg); color:var(--lm-text); font-family:inherit; }
.lm-field input:focus { background:var(--lm-white); border-color:var(--lm-blue); box-shadow:0 0 0 3px rgba(59,130,246,.12); }
.lm-msg { font-size:.85rem; margin-top:10px; min-height:1px; }
.lm-msg.lm-err { color:#C53030; } .lm-msg.lm-ok { color:#2F855A; }
.lm-info-box { display:flex; align-items:flex-start; gap:10px; background:#EFF6FF; border-left:4px solid #3B82F6; border-radius:4px; padding:12px 14px; font-size:.84rem; line-height:1.5; color:#1E40AF; }
.lm-info-icon { font-style:normal; font-weight:700; font-size:1rem; flex-shrink:0; margin-top:1px; }

/* Main + painel */
.lm-main { flex:1; max-width:1600px; width:100%; margin:0 auto; padding:28px 24px 48px; }
.lm-page-header { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:20px; }
.lm-page-title { font-size:1.4rem; font-weight:800; margin:0; color:var(--lm-text); }
.lm-card { background:var(--lm-white); border:1px solid var(--lm-border); border-radius:var(--lm-radius); box-shadow:var(--lm-shadow); padding:22px 24px; }
.lm-user-meta { font-size:.9rem; color:var(--lm-muted); margin:0 0 16px; }
.lm-user-meta strong { color:var(--lm-text); }
.lm-footer { text-align:center; padding:18px 0; font-size:.78rem; color:var(--lm-muted); }

@media (max-width:640px) {
  .lm-logo-img { height:36px; max-width:120px; }
  .lm-nav-title { display:none; }
  .lm-navbar-inner { padding:0 14px; }
  .lm-main { padding:18px 12px 36px; }
}
