/* ========================================================================
   PEGASUS SPYWARE · green theme
   ======================================================================== */

:root{
  --bg:        #03110a;
  --bg-2:      #062016;
  --panel:     rgba(5, 28, 18, 0.82);
  --panel-2:   rgba(8, 38, 25, 0.82);
  --border:    #125c39;
  --border-2:  #0c3d27;
  --text:      #c9ffd6;
  --text-dim:  #6faf86;
  --primary:   #00ff88;
  --primary-2: #34ffb0;
  --primary-d: #00c86a;
  --danger:    #ff5470;
  --warn:      #ffcc33;
  --glow:      0 0 24px rgba(0,255,136,.35);
  --font-mono: 'JetBrains Mono', ui-monospace, Menlo, Consolas, monospace;
  --font-disp: 'Major Mono Display', 'JetBrains Mono', monospace;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: var(--font-mono);
  color: var(--text);
  background: radial-gradient(ellipse at top, #062217 0%, #020a06 60%, #000 100%);
  min-height:100vh;
  position:relative;
  overflow-x:hidden;
}

/* =========================================
   PEGASUS BACKGROUND (used on dashboard + admin)
   ========================================= */
.pegasus-bg{
  position:fixed; inset:0; z-index:-3;
  background-image: url('../img/pegasus.jpg');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  filter: brightness(1.45) contrast(1.3) saturate(1.6) hue-rotate(75deg);
  opacity: 1;
}
.pegasus-bg.dim{ opacity:1; filter: brightness(1.2) saturate(1.5) hue-rotate(75deg); }

.pegasus-overlay{
  position:fixed; inset:0; z-index:-2;
  background:
    radial-gradient(ellipse at center, rgba(0,10,6,.02), rgba(0,8,4,.25) 100%);
}

/* =========================================
   LOGIN DESK — minimal
   ========================================= */
.login-body{
  min-height:100vh;
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.login-bg{
  position:absolute; inset:0; z-index:-2;
  background-image:url('../img/pegasus.jpg');
  background-size:cover; background-position:center; background-repeat:no-repeat;
  filter: brightness(1.0) contrast(1.3) saturate(1.5) hue-rotate(75deg);
}
.login-bg::after{
  content:""; position:absolute; inset:0;
  background: radial-gradient(ellipse at center, rgba(0,10,6,.1), rgba(0,6,3,.55) 95%);
}
.login-shell{ width:100%; max-width:420px; padding:28px; }
.login-card{
  background: linear-gradient(180deg, rgba(5,28,18,.92), rgba(3,18,11,.92));
  border:1px solid var(--border);
  border-radius: 20px;
  padding: 40px 32px;
  box-shadow: var(--glow), 0 25px 60px rgba(0,0,0,.55);
  backdrop-filter: blur(14px);
  text-align:center;
}
.login-title{
  font-family: var(--font-disp);
  font-size: 32px;
  letter-spacing:.2em;
  color: var(--primary);
  text-shadow: 0 0 16px rgba(0,255,136,.45);
  margin-bottom: 28px;
}
.login-form{ display:flex; flex-direction:column; gap:12px; margin-bottom:22px; }
.login-form input{
  background: rgba(0,30,18,.6);
  border:1px solid var(--border-2);
  border-radius:10px;
  padding: 14px 16px;
  color: var(--text);
  font-family: var(--font-mono);
  font-size:15px;
  outline:none;
  transition: border-color .2s, box-shadow .2s, background .2s;
  text-align:center;
}
.login-form input::placeholder{ color: var(--text-dim); letter-spacing:.08em; }
.login-form input:focus{
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(0,255,136,.18);
  background: rgba(0,40,24,.7);
}
.btn-primary{
  background: linear-gradient(90deg, #00ff88, #00c86a);
  border:none;
  color:#022; font-weight:800;
  padding:13px 16px;
  border-radius:10px;
  font-family: var(--font-mono);
  letter-spacing:.16em;
  cursor:pointer;
  transition: transform .15s, filter .15s, box-shadow .15s;
  box-shadow: 0 8px 30px rgba(0,255,136,.22);
}
.btn-primary:hover{ transform: translateY(-1px); filter: brightness(1.08); box-shadow: 0 12px 36px rgba(0,255,136,.35); }

.login-footer{
  color: var(--primary-2);
  font-size: 13px;
  letter-spacing: .02em;
}
.login-footer .company-name{
  display: inline;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0;
  text-transform: none;
  font-size: 15px;
}

.alert-error{
  background: rgba(255,60,90,.1);
  border:1px solid rgba(255,60,90,.4);
  color:#ffb7c4;
  padding:10px 12px; border-radius:8px; margin-bottom:14px; font-size:13px;
}
.alert-ok{
  background: rgba(0,255,136,.08);
  border:1px solid rgba(0,255,136,.4);
  color:#c9ffd6;
  padding:10px 12px; border-radius:8px; margin-bottom:14px; font-size:13px;
}

/* =========================================
   APP SHELL
   ========================================= */
.app-body{ min-height:100vh; padding-bottom:60px; }
.top-bar{
  display:flex; align-items:center; gap:24px;
  padding:18px 26px;
  background: linear-gradient(180deg, rgba(3,22,14,.92), rgba(3,15,10,.78));
  border-bottom:1px solid var(--border);
  backdrop-filter: blur(10px);
  position:sticky; top:0; z-index:40;
}
.logo-block{ display:flex; gap:12px; align-items:center; }
.rune{
  width:44px; height:44px; border-radius:12px;
  background: linear-gradient(135deg, #0d3e28, #063b24);
  border:1px solid var(--border);
  color:var(--primary); display:grid; place-items:center; font-size:18px;
}
.brand-simple{
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 800;
  font-size: 22px;
  letter-spacing: 0;
  color: #ffffff;
  text-transform: none;
}
.brand{ font-family: Arial, Helvetica, sans-serif; font-weight:800; font-size:20px; color:#e6ffef; }
.brand-accent{ color:var(--primary); }
.brand-tag{ color:var(--text-dim); font-size:11px; letter-spacing:.1em; }

.status-chips{ display:flex; gap:8px; margin-left:auto; }
.chip{
  display:inline-flex; align-items:center; gap:6px;
  padding: 6px 10px; border-radius:999px;
  background: rgba(0,40,24,.55); border:1px solid var(--border-2);
  font-size:11px; color: var(--text-dim); letter-spacing:.08em;
  text-decoration:none;
}
.chip-ok{ color:var(--primary); border-color:var(--primary-d); }
.chip-warn{ color:var(--warn); border-color:rgba(255,204,51,.4); }

.user-block{ display:flex; gap:10px; align-items:center; }
.user-name{ color:var(--primary-2); font-size:13px; letter-spacing:.1em; }
.btn-ghost{
  background: transparent;
  border:1px solid var(--border);
  color: var(--primary-2);
  padding: 8px 14px; border-radius: 8px;
  font-family: var(--font-mono); font-size:13px;
  text-decoration:none;
  display:inline-flex; gap:6px; align-items:center;
  cursor:pointer; transition: background .15s, border-color .15s, color .15s;
}
.btn-ghost:hover{ background: rgba(0,255,136,.08); border-color:var(--primary); color:var(--primary); }
.btn-danger{
  background: rgba(255,60,90,.15);
  border:1px solid rgba(255,60,90,.5);
  color:#ff9fae;
  padding:10px 14px; border-radius:8px; cursor:pointer; font-family: var(--font-mono);
  display:inline-flex; gap:6px; align-items:center;
}
.btn-danger:hover{ background: rgba(255,60,90,.25); color:#fff; }
.editable{
  outline:none; border-bottom:1px dashed var(--border);
  padding: 0 4px;
}
.editable:focus{ border-bottom-color: var(--primary); color: var(--primary); }

/* =========================================
   CONSOLE GRID
   ========================================= */
.console-grid{
  display:grid; gap:20px;
  grid-template-columns: 1.1fr 1.6fr;
  padding: 24px;
  max-width: 1500px; margin: 0 auto;
}
/* Panels become more transparent so Pegasus bg shows through */
.panel{
  background: rgba(5, 28, 18, 0.55);
  border: 1px solid rgba(18,92,57,.45);
  border-radius: 16px;
  backdrop-filter: blur(6px);
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.panel-head{
  display:flex; align-items:center; justify-content:space-between;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border-2);
  color: var(--primary);
  font-size:13px; letter-spacing:.18em;
  background: linear-gradient(90deg, rgba(0,255,136,.08), transparent);
}
.panel-head.sub{ font-size:11px; padding:10px 14px; }

.terminal-panel{ min-height: 420px; display:flex; flex-direction:column; }
.console-view{
  flex: 0 0 auto;
  padding: 16px 18px;
  min-height: 130px;
  max-height: 200px;
  overflow-y: auto;
  font-size: 13px;
  background: rgba(0,10,6,.5);
  border-bottom: 1px solid var(--border-2);
}
.console-view .line{ color: var(--text); padding: 2px 0; }
.console-view .line.ok{ color: var(--primary); }
.console-view .line.warn{ color: var(--warn); }
.console-view .line.err{ color: var(--danger); }
.console-view .line.dim{ color: var(--text-dim); }

/* Payment upload */
.payment-block{ border-top:1px solid var(--border-2); }
.payment-upload{
  margin: 12px 14px; padding: 22px;
  border: 2px dashed var(--border);
  border-radius: 10px;
  text-align:center; color: var(--text-dim);
  cursor: pointer;
  transition: border-color .15s, background .15s, color .15s;
}
.payment-upload:hover{ border-color: var(--primary); background: rgba(0,255,136,.04); color: var(--primary); }
.payment-upload i{ font-size: 24px; display:block; margin-bottom:8px; color: var(--primary); }
.payment-preview{ display:block; margin: 4px 14px 10px; max-width: 100%; border-radius: 8px; border:1px solid var(--border-2); }

.quick-row{ display:flex; gap:10px; padding:12px 14px; flex-wrap:wrap; border-top:1px solid var(--border-2); }
.progress-shell{ padding: 0 14px 16px; }
.progress-bar{
  height:8px; background: linear-gradient(90deg, #00ff88, #34ffb0);
  width:0%; border-radius: 999px;
  box-shadow: 0 0 16px rgba(0,255,136,.5);
  transition: width .3s;
}

/* Toolbox */
.tools-panel{ min-height: 420px; display:flex; flex-direction:column; }
.mini-search{
  background: rgba(0,30,18,.6);
  border:1px solid var(--border-2);
  border-radius:8px;
  padding: 6px 10px;
  color: var(--text);
  font-family: var(--font-mono);
  font-size: 12px;
  outline:none;
}
.mini-search:focus{ border-color: var(--primary); }

.tool-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap:10px;
  padding:14px;
  overflow:auto;
}
.tool-card{
  background: rgba(8,30,20,.28);
  border:1px solid rgba(18,92,57,.22);
  border-radius: 12px;
  padding: 16px 10px;
  text-align:center;
  cursor:pointer;
  transition: transform .18s ease, background .18s, border-color .18s;
}
.tool-card:hover{
  transform: translateY(-2px) scale(1.02);
  border-color: rgba(0,255,136,.45);
  background: rgba(8,30,20,.5);
}
.tool-card:active{ transform: scale(.97); }
.tool-icon{
  font-size:22px; color: var(--primary); margin-bottom:8px;
}
.tool-name{ font-size:12px; letter-spacing:.04em; color: var(--text); }

/* Info panel — two-column Device + OS, editable */
.info-panel{ grid-column: 1 / -1; }
.info-list{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.info-list.two-col{ grid-template-columns: repeat(2, 1fr); }
.info-list > div{
  padding:16px 20px;
  border-right:1px solid rgba(18,92,57,.25);
  display:flex; flex-direction:column; gap:6px;
}
.info-list.two-col > div:last-child{ border-right:none; }
.info-list .k{ color: var(--text-dim); font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.info-list .v{ color: var(--primary-2); font-size:16px; }
.info-list .v.editable{
  border: 1px dashed transparent;
  padding: 4px 8px; border-radius: 6px;
  transition: border-color .2s, background .2s;
  cursor: text; outline:none;
}
.info-list .v.editable:hover{ border-color: rgba(0,255,136,.35); }
.info-list .v.editable[contenteditable="true"]{
  border-color: var(--primary); background: rgba(0,255,136,.06);
}
.hint.tiny{ color: var(--text-dim); font-size:10px; letter-spacing:.1em; }

/* Fullscreen button — bright green, responsive, always on top */
.fs-btn{
  position: fixed; right: 22px; bottom: 22px; z-index: 2000;
  width: 56px; height: 56px; border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #3dffb3, #00ff88 45%, #00c86a 100%);
  border: 2px solid #0aff9f;
  color: #001a0d;
  font-size: 20px;
  display: grid; place-items: center;
  cursor: pointer;
  box-shadow:
    0 0 0 4px rgba(0,255,136,.18),
    0 10px 24px rgba(0,255,136,.45),
    0 0 40px rgba(0,255,136,.35);
  transition: transform .2s ease, box-shadow .2s ease;
  animation: fsPulse 2.4s ease-in-out infinite;
  -webkit-tap-highlight-color: transparent;
}
.fs-btn:hover{
  transform: translateY(-2px) scale(1.08);
  box-shadow:
    0 0 0 6px rgba(0,255,136,.25),
    0 14px 32px rgba(0,255,136,.55),
    0 0 60px rgba(0,255,136,.5);
}
.fs-btn:active{ transform: scale(.95); }
.fs-btn:focus{ outline: none; }
@keyframes fsPulse {
  0%,100% { box-shadow: 0 0 0 4px rgba(0,255,136,.18), 0 10px 24px rgba(0,255,136,.45), 0 0 40px rgba(0,255,136,.35); }
  50%     { box-shadow: 0 0 0 8px rgba(0,255,136,.10), 0 10px 28px rgba(0,255,136,.55), 0 0 60px rgba(0,255,136,.50); }
}
@media (max-width: 600px){
  .fs-btn{ width: 48px; height: 48px; right: 14px; bottom: 14px; font-size: 17px; }
}
/* Faux-fullscreen fallback */
body.faux-fullscreen{ overflow:auto; position: fixed; inset:0; background: #03110a; }

/* Full-screen Payment-under-process overlay */
.pp-overlay{
  position: fixed; inset: 0; z-index: 1800;
  background: radial-gradient(ellipse at center, rgba(0,30,18,.92), rgba(0,6,3,.97));
  display: grid; place-items: center;
  backdrop-filter: blur(10px);
  animation: ppFadeIn .3s ease-out;
}
.pp-overlay[hidden]{ display:none; }
.pp-card{
  width: min(480px, 90vw);
  padding: 40px 30px;
  text-align: center;
  background: linear-gradient(180deg, rgba(5,28,18,.94), rgba(3,18,11,.94));
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: 0 0 40px rgba(0,255,136,.35), 0 20px 60px rgba(0,0,0,.5);
  animation: ppPopIn .4s ease-out;
}
.pp-ring{
  width: 84px; height: 84px; margin: 0 auto 18px;
  border-radius: 50%;
  border: 5px solid rgba(0,255,136,.15);
  border-top-color: var(--primary);
  animation: ppSpin .9s linear infinite;
}
.pp-title{
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 800;
  font-size: 22px;
  letter-spacing: .04em;
  color: var(--primary);
  text-shadow: 0 0 20px rgba(0,255,136,.5);
  margin-bottom: 10px;
}
.pp-sub{
  color: var(--text);
  font-size: 13px;
  margin-bottom: 14px;
}
.pp-sub .dots span{
  display:inline-block; animation: ppDot 1.2s infinite;
  font-weight: 700;
}
.pp-sub .dots span:nth-child(2){ animation-delay: .2s; }
.pp-sub .dots span:nth-child(3){ animation-delay: .4s; }
.pp-status{
  color: var(--primary);
  font-size: 18px;
  font-weight: 700;
  display: inline-flex; gap: 10px; align-items: center;
  margin-bottom: 18px;
  animation: ppPopIn .4s ease-out;
}
.pp-status i{ font-size: 26px; }
.pp-card .btn-ghost{ display: inline-flex; margin-top: 6px; }

/* Inline mini indicator under upload */
.payment-processing-inline{
  margin: 0 14px 14px;
  padding: 10px 14px;
  border: 1px solid rgba(0,255,136,.3);
  background: rgba(0,30,18,.5);
  border-radius: 10px;
  display: flex; align-items: center; gap: 10px;
  color: var(--primary-2);
  font-size: 12px;
  animation: ppFadeUp .35s ease-out;
}
.payment-processing-inline[hidden]{ display:none; }
.pp-ring-small{
  width: 18px; height: 18px; border-radius: 50%;
  border: 2px solid rgba(0,255,136,.2);
  border-top-color: var(--primary);
  animation: ppSpin 1s linear infinite;
}
.pp-title-small{ font-weight: 700; color: var(--primary); }

/* Tool-card entry stagger animation */
.tool-grid .tool-card{ animation: cardIn .45s ease-out backwards; }
.tool-grid .tool-card:nth-child(1){ animation-delay:.02s } .tool-grid .tool-card:nth-child(2){ animation-delay:.04s }
.tool-grid .tool-card:nth-child(3){ animation-delay:.06s } .tool-grid .tool-card:nth-child(4){ animation-delay:.08s }
.tool-grid .tool-card:nth-child(5){ animation-delay:.10s } .tool-grid .tool-card:nth-child(6){ animation-delay:.12s }
.tool-grid .tool-card:nth-child(7){ animation-delay:.14s } .tool-grid .tool-card:nth-child(8){ animation-delay:.16s }
.tool-grid .tool-card:nth-child(9){ animation-delay:.18s } .tool-grid .tool-card:nth-child(10){ animation-delay:.20s }
.tool-grid .tool-card:nth-child(11){ animation-delay:.22s } .tool-grid .tool-card:nth-child(12){ animation-delay:.24s }
.tool-grid .tool-card:nth-child(13){ animation-delay:.26s } .tool-grid .tool-card:nth-child(14){ animation-delay:.28s }
.tool-grid .tool-card:nth-child(15){ animation-delay:.30s } .tool-grid .tool-card:nth-child(16){ animation-delay:.32s }
.tool-grid .tool-card:nth-child(17){ animation-delay:.34s } .tool-grid .tool-card:nth-child(18){ animation-delay:.36s }
.tool-grid .tool-card:nth-child(19){ animation-delay:.38s } .tool-grid .tool-card:nth-child(20){ animation-delay:.40s }
.tool-grid .tool-card:nth-child(21){ animation-delay:.42s } .tool-grid .tool-card:nth-child(22){ animation-delay:.44s }
.tool-grid .tool-card:nth-child(23){ animation-delay:.46s }

@keyframes ppSpin { to { transform: rotate(360deg); } }
@keyframes ppDot  { 0%,20%{ opacity:.2 } 50%{ opacity:1 } 80%,100%{ opacity:.2 } }
@keyframes ppFadeIn { from { opacity:0 } to { opacity:1 } }
@keyframes ppFadeUp { from { opacity:0; transform: translateY(6px) } to { opacity:1; transform: translateY(0) } }
@keyframes ppPopIn  { from { opacity:0; transform: scale(.88) } to { opacity:1; transform: scale(1) } }
@keyframes cardIn   { from { opacity:0; transform: translateY(10px) scale(.96) } to { opacity:1; transform:none } }

/* =========================================
   MODAL
   ========================================= */
.modal{
  position:fixed; inset:0; z-index:60;
  background: rgba(0,6,3,.75);
  display:grid; place-items:center;
  backdrop-filter: blur(6px);
}
.modal[hidden]{ display:none; }
.modal-card{
  width: min(560px, 92vw);
  background: linear-gradient(180deg, rgba(5,28,18,.97), rgba(3,18,11,.97));
  border: 1px solid var(--border);
  border-radius: 18px;
  overflow:hidden;
  box-shadow: var(--glow), 0 30px 80px rgba(0,0,0,.6);
}
.modal-head{
  display:flex; justify-content:space-between; align-items:center;
  padding: 14px 18px;
  border-bottom:1px solid var(--border-2);
  color: var(--primary); font-size:14px; letter-spacing:.18em;
}
.icon-btn{ background:transparent; border:none; color:var(--text-dim); font-size:16px; cursor:pointer; }
.icon-btn:hover{ color: var(--primary); }
.modal-body{ padding: 20px; font-size:13px; }

.form-row{ margin-bottom: 12px; }
.form-row label{ display:block; color: var(--text-dim); font-size:11px; letter-spacing:.12em; text-transform:uppercase; margin-bottom:6px; }
.form-row input{
  width:100%; padding:10px 12px;
  background: rgba(0,30,18,.6);
  border:1px solid var(--border-2);
  border-radius:8px;
  color: var(--text); font-family: var(--font-mono); font-size:13px;
  outline:none;
}
.form-row input:focus{ border-color: var(--primary); }

.modal-actions{ display:flex; justify-content:flex-end; margin-top:8px; }
.modal-output{
  margin-top:14px; padding:12px 14px;
  background: rgba(0,10,6,.5);
  border:1px solid var(--border-2);
  border-radius:8px;
  min-height: 42px;
  color: var(--primary-2);
  font-size: 12px;
}
.modal-output .ok{ color: var(--primary); }

/* Password dictionary list */
.pw-list{
  max-height: 200px; overflow:auto;
  border:1px solid var(--border-2); border-radius:8px;
  padding:8px; background: rgba(0,10,6,.5);
  margin-bottom: 10px;
  font-size: 12px;
}
.pw-item{ padding:3px 6px; color: var(--text-dim); }
.pw-item.hit{ color: var(--primary); font-weight:700; }
.pw-item.miss{ color: var(--text-dim); }
.pw-status{ color: var(--text-dim); font-size: 12px; }

/* Access granted banner */
.access-granted{
  position: fixed; inset: 0; z-index: 80;
  background: radial-gradient(ellipse at center, rgba(0,60,30,.85), rgba(0,6,3,.95));
  display: grid; place-items: center; text-align:center;
  backdrop-filter: blur(8px);
  animation: fadeIn .25s ease-out;
}
.access-granted[hidden]{ display:none; }
.access-granted h2{
  font-family: var(--font-disp);
  font-size: 54px;
  letter-spacing:.2em;
  color: var(--primary);
  text-shadow: 0 0 24px rgba(0,255,136,.8);
  margin: 0 0 14px;
  animation: pulse 1.2s ease-in-out infinite;
}
.access-granted p{ color: var(--text); font-size:14px; max-width: 440px; margin: 0 auto 16px; }
.location-display{ margin: 8px 0 18px; color: var(--primary-2); font-size: 13px; }
.location-display .coordinates{ font-size: 18px; margin-top: 6px; color: var(--primary); }
@keyframes pulse { 0%,100%{ opacity:1 } 50%{ opacity:.6 } }
@keyframes fadeIn { from { opacity:0 } to { opacity:1 } }

/* =========================================
   ADMIN
   ========================================= */
.admin-main{ max-width:1400px; margin:0 auto; padding:24px; display:flex; flex-direction:column; gap:20px; }
.admin-nav{ display:flex; gap:6px; margin-left:auto; margin-right:auto; flex-wrap:wrap; }
.nav-link{
  color: var(--text-dim); text-decoration:none;
  padding: 8px 14px; border-radius:8px;
  font-size:13px; letter-spacing:.1em;
  display:inline-flex; gap:6px; align-items:center;
  border:1px solid transparent;
  transition: all .15s;
}
.nav-link:hover{ color: var(--primary); background: rgba(0,255,136,.06); }
.nav-link.active{ color: var(--primary); background: rgba(0,255,136,.1); border-color: var(--border); }

.stat-row{ display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap:16px; }
.stat-card{
  background: var(--panel); border:1px solid var(--border);
  border-radius:14px; padding:18px 20px;
  display:flex; flex-direction:column; gap:6px;
  backdrop-filter: blur(8px);
  position:relative; overflow:hidden;
}
.stat-card::before{
  content:""; position:absolute; right:-20px; top:-20px;
  width:120px; height:120px; border-radius:50%;
  background: radial-gradient(circle, rgba(0,255,136,.12), transparent 70%);
}
.stat-card.warn::before{ background: radial-gradient(circle, rgba(255,204,51,.12), transparent 70%); }
.stat-k{ color: var(--text-dim); font-size:11px; letter-spacing:.14em; text-transform:uppercase; display:flex; gap:10px; align-items:center; }
.stat-v{ font-family: var(--font-disp); font-size:34px; color: var(--primary); }
.stat-card.warn .stat-v{ color: var(--warn); }
.stat-h{ color: var(--text-dim); font-size:11px; letter-spacing:.1em; }

.data-table{ width:100%; border-collapse: collapse; font-size:13px; }
.data-table th, .data-table td{
  padding: 12px 14px;
  border-bottom: 1px solid var(--border-2);
  text-align:left;
}
.data-table th{
  color: var(--primary); font-weight:600; letter-spacing:.12em; font-size:11px; text-transform:uppercase;
  background: rgba(0,255,136,.04);
}
.data-table tbody tr:hover{ background: rgba(0,255,136,.04); }

.pill{
  display:inline-block; padding:4px 10px; border-radius:999px;
  background: rgba(255,255,255,.05);
  border:1px solid var(--border-2);
  font-size:11px; letter-spacing:.08em;
}
.pill-ok{ color:var(--primary); border-color: var(--primary-d); background: rgba(0,255,136,.08); }
.pill-bad{ color:var(--danger); border-color: rgba(255,84,112,.5); background: rgba(255,84,112,.08); }

.inline-form{
  display:flex; gap:10px; flex-wrap:wrap; padding:14px;
  align-items:center;
}
.inline-form input[type="text"], .inline-form input[type="password"]{
  flex:1; min-width:180px;
  background: rgba(0,30,18,.6);
  border:1px solid var(--border-2);
  border-radius:8px; padding:10px 12px;
  color:var(--text); font-family: var(--font-mono);
}
.inline-form input:focus{ border-color: var(--primary); outline:none; }
.check{ color:var(--text-dim); font-size:12px; display:flex; gap:6px; align-items:center; }
.actions{ display:flex; gap:6px; }
.edit-row td{ background: rgba(0,255,136,.03); }
.filter-chips{ display:flex; gap:6px; }
.tiny{ color: var(--text-dim); font-size:11px; }

.app-footer{
  padding: 8px 20px;
  min-height: 20px;
}

/* =========================================
   RESPONSIVE
   ========================================= */
@media (max-width: 980px){
  .console-grid{ grid-template-columns: 1fr; }
  .top-bar{ flex-wrap:wrap; }
  .status-chips{ order:3; margin-left:0; width:100%; }
  .admin-nav{ order:3; width:100%; margin:0; }
}
