/* UnityManager — black & gold enterprise theme */
:root{
  --um-black:#0B0B0B; --um-charcoal:#161616; --um-charcoal-2:#1F1F1F;
  --um-gold:#D4AF37; --um-gold-soft:#E9CC6E; --um-white:#F5F5F0;
  --um-muted:#9A9A94; --um-danger:#C0392B; --um-success:#3E8E4F; --um-warn:#B8860B;
  --um-border:#2A2A28; --um-radius:10px;
  --um-font-display:'Cinzel',serif; --um-font-body:'Inter',system-ui,sans-serif; --um-font-mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--um-black);color:var(--um-white);font-family:var(--um-font-body);}
h1,h2,h3,.brand{font-family:var(--um-font-display);letter-spacing:.02em;color:var(--um-gold);}
a{color:var(--um-gold-soft);text-decoration:none}
a:hover{text-decoration:underline}
.layout{display:flex;min-height:100vh}
.sidebar{width:250px;background:var(--um-charcoal);border-right:1px solid var(--um-border);padding:24px 0;flex-shrink:0}
.sidebar .brand{display:block;padding:0 20px 20px;font-size:1.3rem;border-bottom:1px solid var(--um-border);margin-bottom:12px}
.sidebar .brand small{display:block;color:var(--um-muted);font-family:var(--um-font-body);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}
.nav-group{padding:10px 20px 4px;color:var(--um-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.nav-link{display:block;padding:9px 20px;color:var(--um-white);border-left:3px solid transparent}
.nav-link:hover{background:var(--um-charcoal-2);text-decoration:none}
.nav-link.active{border-left-color:var(--um-gold);color:var(--um-gold);background:var(--um-charcoal-2)}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;border-bottom:1px solid var(--um-border);background:var(--um-charcoal)}
.content{padding:28px;flex:1}
.card{background:var(--um-charcoal);border:1px solid var(--um-border);border-radius:var(--um-radius);padding:20px;margin-bottom:20px}
.card h2,.card h3{margin-top:0}
.grid{display:grid;gap:18px}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr 1fr}}
.stat{background:var(--um-charcoal-2);border:1px solid var(--um-border);border-radius:var(--um-radius);padding:18px;text-align:center}
.stat .value{font-family:var(--um-font-mono);font-size:2rem;color:var(--um-gold);font-weight:600}
.stat .label{color:var(--um-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;margin-top:4px}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--um-border)}
th{color:var(--um-muted);text-transform:uppercase;font-size:.72rem;letter-spacing:.06em;font-weight:600}
tr:hover td{background:var(--um-charcoal-2)}
.badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.badge-online,.badge-active,.badge-success{background:rgba(62,142,79,.18);color:#6FCB80;border:1px solid rgba(62,142,79,.4)}
.badge-offline,.badge-failed,.badge-denied{background:rgba(192,57,43,.18);color:#E27267;border:1px solid rgba(192,57,43,.4)}
.badge-suspended,.badge-pending,.badge-provisioning{background:rgba(184,134,11,.18);color:var(--um-gold-soft);border:1px solid rgba(184,134,11,.4)}
.btn{display:inline-block;padding:10px 18px;border-radius:8px;border:1px solid var(--um-gold);color:var(--um-black);background:var(--um-gold);font-weight:600;cursor:pointer;font-family:var(--um-font-body)}
.btn:hover{background:var(--um-gold-soft);text-decoration:none}
.btn-secondary{background:transparent;color:var(--um-gold);border:1px solid var(--um-border)}
.btn-secondary:hover{border-color:var(--um-gold)}
.btn-danger{background:transparent;color:#E27267;border:1px solid #6b2a24}
form .field{margin-bottom:16px}
label{display:block;margin-bottom:6px;color:var(--um-muted);font-size:.85rem}
input[type=text],input[type=email],input[type=password],input[type=url],textarea,select{
  width:100%;padding:10px 12px;background:var(--um-black);border:1px solid var(--um-border);
  border-radius:6px;color:var(--um-white);font-family:var(--um-font-body);font-size:.95rem}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--um-gold)}
.errorlist{color:#E27267;list-style:none;padding:0;margin:4px 0 0;font-size:.85rem}
.help{color:var(--um-muted);font-size:.8rem;margin-top:4px}
.messages{list-style:none;padding:0;margin:0 0 18px}
.messages li{padding:12px 16px;border-radius:8px;margin-bottom:8px;border:1px solid var(--um-border)}
.messages .success{border-color:#3E8E4F;color:#6FCB80}
.messages .error{border-color:#C0392B;color:#E27267}
.messages .warning{border-color:#B8860B;color:var(--um-gold-soft)}
.messages .info{border-color:var(--um-border);color:var(--um-muted)}
.auth-page{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;padding:24px;
  background:
    radial-gradient(circle at 50% 0%, rgba(212,175,55,.10), transparent 55%),
    radial-gradient(circle at 15% 85%, rgba(212,175,55,.05), transparent 45%),
    linear-gradient(180deg,#141412 0%,var(--um-black) 60%);
}
.auth-page::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:
    linear-gradient(rgba(212,175,55,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(212,175,55,.05) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:radial-gradient(circle at 50% 30%,#000 0%,transparent 70%);
}
.auth-card{
  position:relative;width:100%;max-width:400px;
  background:linear-gradient(180deg,rgba(31,31,31,.92),rgba(17,17,17,.96));
  border:1px solid var(--um-border);border-radius:18px;padding:42px 38px 36px;
  box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px rgba(212,175,55,.06);
  backdrop-filter:blur(6px);
  animation:um-card-in .5s cubic-bezier(.2,.8,.2,1);
}
.auth-card::before{
  content:"";position:absolute;top:0;left:14%;right:14%;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--um-gold),var(--um-gold-soft),var(--um-gold),transparent);
  box-shadow:0 0 16px rgba(212,175,55,.5);
}
@keyframes um-card-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.auth-badge{
  width:64px;height:64px;margin:0 auto 18px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 35% 30%,#2a2a26,#0e0e0d 70%);
  border:1px solid rgba(212,175,55,.35);
  box-shadow:0 0 0 4px rgba(212,175,55,.06),0 8px 24px rgba(0,0,0,.5),inset 0 0 12px rgba(212,175,55,.08);
}
.auth-badge svg{width:30px;height:30px;color:var(--um-gold)}
.auth-card h1{text-align:center;margin:0 0 4px;font-size:1.6rem;letter-spacing:.04em}
.auth-card .subtitle{
  text-align:center;color:var(--um-muted);margin-bottom:30px;font-size:.78rem;
  text-transform:uppercase;letter-spacing:.12em;
}
.auth-card .field{position:relative;margin-bottom:18px}
.auth-card .field label{
  font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--um-muted);margin-bottom:7px;
}
.auth-card .field .field-icon{
  position:absolute;left:13px;top:37px;width:17px;height:17px;color:var(--um-muted);
  pointer-events:none;transition:color .15s ease;
}
.auth-card .field:focus-within .field-icon{color:var(--um-gold)}
.auth-card .field input{padding-left:40px}
.auth-card .field:focus-within input{box-shadow:0 0 0 3px rgba(212,175,55,.12)}
.auth-card .btn{
  width:100%;margin-top:6px;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;
  padding:12px 18px;background:linear-gradient(135deg,var(--um-gold-soft),var(--um-gold));
  border:none;box-shadow:0 10px 24px rgba(212,175,55,.18);
  transition:transform .15s ease,box-shadow .15s ease;
}
.auth-card .btn:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(212,175,55,.28)}
.auth-card .btn:active{transform:translateY(0)}
.auth-footer{position:relative;text-align:center;margin-top:22px;color:var(--um-muted);font-size:.72rem;letter-spacing:.03em}
.auth-footer strong{color:#c9c9c2}
.muted{color:var(--um-muted)}
.mono{font-family:var(--um-font-mono)}
.pagination{display:flex;gap:8px;margin-top:16px}
.pagination a,.pagination span{padding:6px 12px;border:1px solid var(--um-border);border-radius:6px;color:var(--um-white)}
code.recovery{display:block;background:var(--um-black);border:1px solid var(--um-border);padding:14px;border-radius:8px;font-family:var(--um-font-mono);margin-bottom:6px}
