/* Portal UmTec — visual simples e limpo, mesma paleta escura do UMDesk. */
:root{
  --bg:#07111f; --panel:#101e31; --panel-soft:#0b1728; --line:#243750;
  --text:#f4f8ff; --muted:#91a2b8; --cyan:#36d7e8; --green:#47de9b;
  --yellow:#ffc857; --red:#ff6b7a;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--cyan);text-decoration:none}
a:hover{text-decoration:underline}

.topbar{display:flex;align-items:center;gap:24px;padding:14px 24px;background:var(--panel-soft);
  border-bottom:1px solid var(--line)}
.topbar-brand{font-weight:800;letter-spacing:.5px}
.topbar-nav{display:flex;gap:18px;flex:1}
.topbar-nav a{color:var(--muted);font-size:14px}
.topbar-nav a:hover{color:var(--text);text-decoration:none}
.topbar-user{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:12px}
.logout{color:var(--red) !important}

.page{width:100%;box-sizing:border-box;margin:0;padding:28px 32px 40px}

h1{font-size:22px;margin:0 0 18px}
h2{font-size:15px;color:var(--cyan);margin:28px 0 10px}

.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}
.stat .n{font-size:28px;font-weight:700}
.stat .l{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}

table{width:100%;border-collapse:collapse;font-size:13.5px}
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line)}
th{color:var(--muted);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px}
tr:hover td{background:rgba(255,255,255,.02)}

label{display:block;margin:12px 0 4px;font-size:12.5px;color:var(--muted)}
input,select,textarea{width:100%;padding:9px 10px;border-radius:8px;border:1px solid var(--line);
  background:var(--panel-soft);color:var(--text);font-size:13.5px;font-family:inherit}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--cyan)}
textarea{resize:vertical}

button,.btn{display:inline-block;padding:9px 16px;border:0;border-radius:8px;background:var(--cyan);
  color:#06141e;font-weight:700;font-size:13px;cursor:pointer}
.btn-outline{background:transparent;border:1px solid var(--line);color:var(--text)}
.btn-danger{background:var(--red);color:#2a0006}
.btn-sm{padding:5px 10px;font-size:12px}

.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700}
.badge-available{background:rgba(255,200,87,.15);color:var(--yellow)}
.badge-active{background:rgba(71,222,155,.15);color:var(--green)}
.badge-suspended{background:rgba(255,107,122,.15);color:var(--red)}
.badge-revoked{background:rgba(145,162,184,.15);color:var(--muted)}

.flash{padding:12px 14px;border-radius:10px;margin-bottom:18px;font-size:13.5px}
.flash-ok{background:rgba(71,222,155,.12);border:1px solid rgba(71,222,155,.3);color:var(--green)}
.flash-err{background:rgba(255,107,122,.12);border:1px solid rgba(255,107,122,.3);color:var(--red)}

.login-wrap{max-width:360px;margin:12vh auto;padding:0 20px}
.mono{font-family:Consolas,monospace;letter-spacing:1px}
.muted{color:var(--muted)}
.row{display:flex;gap:10px;align-items:center}
.right{margin-left:auto}
