/* ==========================================================================
   MINERGY — Admin panel styles (uses variables/reset from style.css)
   ========================================================================== */

body.admin-body{
  min-height:100vh;
  background:var(--navy-900);
}

/* ---------- Login screen ---------- */
.admin-login{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  padding:24px;
}
.admin-login::before{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 20% 20%, rgba(224,160,46,.08), transparent 45%),
    radial-gradient(circle at 80% 80%, rgba(122,140,74,.10), transparent 45%),
    var(--navy-950);
  z-index:0;
}
.admin-login::after{
  content:"";
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(244,245,248,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(244,245,248,.035) 1px,transparent 1px);
  background-size:44px 44px;
  z-index:0;
}
.login-card{
  position:relative;z-index:1;
  width:100%;max-width:420px;
  background:var(--navy-800);
  border:1px solid var(--line);
  border-radius:6px;
  padding:44px 40px 38px;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.6);
}
.login-brand{
  display:flex;flex-direction:column;align-items:center;
  text-align:center;margin-bottom:32px;
}
.login-brand svg{width:52px;height:52px;color:var(--text-hi);margin-bottom:14px;}
.login-brand h1{font-family:var(--font-body);font-size:20px;letter-spacing:.03em;}
.login-brand span{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-top:6px;}
.login-sub{
  text-align:center;font-size:13px;color:var(--text-low);margin-bottom:30px;
  padding-bottom:26px;border-bottom:1px solid var(--line);
}
.login-error{
  display:none;
  background:rgba(209,104,95,.1);
  border:1px solid rgba(209,104,95,.35);
  color:var(--danger);
  font-size:13px;
  padding:11px 14px;
  border-radius:3px;
  margin-bottom:18px;
}
.login-error.show{display:block;}
.login-mode-badge{
  display:none;
  align-items:center;
  gap:8px;
  font-size:11.5px;
  padding:9px 12px;
  border-radius:3px;
  margin-bottom:18px;
}
.login-mode-badge.show{display:flex;}
.login-mode-badge.local{background:rgba(224,160,46,.08);border:1px solid rgba(224,160,46,.3);color:var(--gold-bright);}
.login-mode-badge.cloud{background:rgba(95,185,138,.08);border:1px solid rgba(95,185,138,.3);color:var(--success);}
.login-mode-badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0;}
.security-note{
  margin-top:26px;
  font-size:11.5px;
  line-height:1.6;
  color:var(--text-low);
  border-top:1px solid var(--line);
  padding-top:20px;
}
.security-note b{color:var(--text-mid);}

/* ---------- Dashboard shell ---------- */
.admin-shell{display:none;min-height:100vh;grid-template-columns:250px 1fr;}
.admin-shell.show{display:grid;}
.admin-sidebar{
  background:var(--navy-950);
  border-right:1px solid var(--line);
  padding:26px 20px;
  display:flex;flex-direction:column;
  position:sticky;top:0;height:100vh;
}
.admin-sidebar .brand{font-family:var(--font-body);font-size:17px;margin-bottom:36px;padding:0 6px;}
.admin-sidebar .brand svg{width:30px;height:30px;color:var(--text-hi);}
.admin-nav{display:flex;flex-direction:column;gap:4px;flex:1;}
.admin-nav button{
  display:flex;align-items:center;gap:12px;
  padding:11px 14px;
  border-radius:4px;
  font-size:13.5px;
  color:var(--text-mid);
  text-align:left;
  transition:all .2s;
}
.admin-nav button svg{width:17px;height:17px;flex-shrink:0;}
.admin-nav button:hover{background:var(--navy-800);color:var(--text-hi);}
.admin-nav button.active{background:rgba(224,160,46,.1);color:var(--gold);}
.admin-user{
  border-top:1px solid var(--line);
  padding-top:18px;margin-top:10px;
  display:flex;align-items:center;justify-content:space-between;
}
.admin-user .who{display:flex;align-items:center;gap:10px;font-size:13px;}
.admin-user .avatar{
  width:32px;height:32px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold-bright),var(--copper));
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:13px;color:#141018;
}
.admin-user button{font-size:11.5px;color:var(--text-low);letter-spacing:.06em;text-transform:uppercase;}
.admin-user button:hover{color:var(--danger);}

.admin-main{padding:36px 42px;overflow-x:hidden;}
.admin-view{display:none;}
.admin-view.active{display:block;}
.admin-topbar{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px;flex-wrap:wrap;gap:14px;}
.admin-topbar h2{font-family:var(--font-display);font-size:26px;}
.admin-topbar p{font-size:13.5px;color:var(--text-low);margin-top:4px;}

/* stat cards */
.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:36px;}
.stat-card{
  border:1px solid var(--line);
  background:var(--navy-800);
  padding:22px 22px;
  border-radius:4px;
}
.stat-card .label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-low);margin-bottom:10px;}
.stat-card .value{font-family:var(--font-display);font-size:32px;color:var(--gold-bright);}

.admin-card{
  border:1px solid var(--line);
  background:var(--navy-800);
  border-radius:4px;
  padding:26px;
  margin-bottom:26px;
}
.admin-card h3{font-size:16px;margin-bottom:18px;font-family:var(--font-body);font-weight:700;}

/* table */
.admin-table{width:100%;border-collapse:collapse;font-size:13.5px;}
.admin-table th{
  text-align:left;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-low);padding:10px 12px;border-bottom:1px solid var(--line);
}
.admin-table td{padding:14px 12px;border-bottom:1px solid var(--line);color:var(--text-mid);vertical-align:top;}
.admin-table tr:last-child td{border-bottom:none;}
.admin-table td.name{color:var(--text-hi);font-weight:600;}
.admin-table .msg-preview{max-width:280px;font-size:12.5px;color:var(--text-low);}
.pill{padding:4px 10px;border-radius:20px;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;font-weight:700;}
.pill.new{background:rgba(224,160,46,.12);color:var(--gold);}
.pill.reviewed{background:rgba(95,185,138,.12);color:var(--success);}
.pill.locked{background:rgba(209,104,95,.12);color:var(--danger);}
.pill.open{background:rgba(95,185,138,.12);color:var(--success);}
.row-actions{display:flex;gap:8px;}
.row-actions button{
  width:28px;height:28px;border-radius:4px;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:var(--text-low);
  transition:all .2s;
}
.row-actions button:hover{border-color:var(--gold);color:var(--gold);}
.row-actions button.danger:hover{border-color:var(--danger);color:var(--danger);}
.row-actions svg{width:14px;height:14px;}
.empty-state{text-align:center;padding:50px 20px;color:var(--text-low);font-size:13.5px;}

/* forms inside admin */
.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.admin-form-grid .full{grid-column:1/-1;}
.admin-card .form-group label{color:var(--text-low);}

/* modal */
.modal-overlay{
  display:none;position:fixed;inset:0;background:rgba(7,10,18,.75);
  z-index:2000;align-items:center;justify-content:center;padding:24px;
  backdrop-filter:blur(3px);
}
.modal-overlay.show{display:flex;}
.modal-box{
  background:var(--navy-800);border:1px solid var(--line);border-radius:6px;
  width:100%;max-width:640px;max-height:88vh;overflow-y:auto;padding:32px;
}
.modal-box h3{font-size:18px;margin-bottom:22px;}
.modal-actions{display:flex;gap:12px;margin-top:24px;justify-content:flex-end;}

@media (max-width:960px){
  .admin-shell{grid-template-columns:1fr;}
  .admin-sidebar{position:relative;height:auto;flex-direction:row;align-items:center;overflow-x:auto;}
  .admin-sidebar .brand{margin-bottom:0;margin-right:20px;}
  .admin-nav{flex-direction:row;flex:none;}
  .admin-user{display:none;}
  .stat-cards{grid-template-columns:repeat(2,1fr);}
  .admin-form-grid{grid-template-columns:1fr;}
  .admin-main{padding:26px 18px;}
}
