/* NOVA Social Club — operations desk. Kept separate from the shared portal skin. */
.admin-page{
  --ops-ink:#26364b;
  --ops-navy:#233650;
  --ops-muted:#707b89;
  --ops-line:#e5e1d8;
  --ops-paper:#fffefa;
  --ops-wash:#f2f0ea;
  --ops-gold:#b18a50;
  max-width:1160px;
  margin:0 auto;
  color:var(--ops-ink);
}
.admin-page *{box-sizing:border-box}
.admin-page .ops-header{
  display:flex;align-items:flex-end;justify-content:space-between;gap:22px;
  padding:10px 0 25px;margin:0 0 22px;border-bottom:1px solid #d9d5cc
}
.admin-page .ops-eyebrow,.admin-page .ops-kicker{
  margin:0 0 7px;color:#927448;font-size:10px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase
}
.admin-page .ops-header h1,.admin-page .ops-login-title{
  margin:0;color:var(--ops-navy);font:400 clamp(32px,4vw,45px)/1.08 Georgia,'Times New Roman',serif;
  letter-spacing:-.035em
}
.admin-page .ops-deck{max-width:700px;margin:9px 0 0;color:var(--ops-muted);font-size:14px;line-height:1.55}
.admin-page .ops-header-aside{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.admin-page .ops-context{
  display:flex;align-items:flex-start;gap:13px;margin:0 0 20px;padding:15px 18px;
  border:1px solid #e1dbcd;border-left:3px solid var(--ops-gold);background:#f7f5ef;
  color:#556174;font-size:13px;line-height:1.55
}
.admin-page .ops-context strong{display:block;margin-bottom:2px;color:var(--ops-navy);font-weight:700}
.admin-page .ops-context-mark{
  flex:none;color:#a18350;font:400 20px/1 Georgia,'Times New Roman',serif
}
.admin-page .ops-section{
  margin:0 0 19px;padding:21px 23px;background:var(--ops-paper);border:1px solid var(--ops-line);
  border-radius:8px;box-shadow:0 3px 12px rgba(35,54,80,.035)
}
.admin-page .ops-section-heading{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 17px
}
.admin-page .ops-section-heading h2,.admin-page .ops-section-heading h3{
  margin:0;color:var(--ops-navy);font:400 22px/1.2 Georgia,'Times New Roman',serif
}
.admin-page .ops-section-heading p{margin:6px 0 0;color:var(--ops-muted);font-size:12px;line-height:1.5}
.admin-page .ops-section-number{color:#b6a27e;font:400 25px/1 Georgia,'Times New Roman',serif}
.admin-page .ops-metrics{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:0 0 20px
}
.admin-page .ops-metric{
  min-width:0;padding:15px 17px;background:#f3f1eb;border:1px solid #e7e2d7;border-radius:6px
}
.admin-page .ops-metric strong{display:block;color:var(--ops-navy);font:400 25px/1.15 Georgia,'Times New Roman',serif}
.admin-page .ops-metric span{display:block;margin-top:5px;color:#737d89;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.admin-page .ops-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--ops-line);border-radius:7px;background:var(--ops-paper)}
.admin-page table.data{min-width:660px;border:0;border-radius:0;background:transparent}
.admin-page table.data th{padding:12px 14px;background:#f3f1eb;border-bottom:1px solid #ded9ce;color:#6f7986;font-size:10px;letter-spacing:.09em}
.admin-page table.data td{padding:12px 14px;color:#364458;font-size:13px;line-height:1.5;vertical-align:top}
.admin-page table.data a{color:#39577c;text-decoration:underline;text-decoration-color:#c4cbd1;text-underline-offset:2px}
.admin-page table.data a:hover{color:#233650;text-decoration-color:currentColor}
.admin-page table.data tbody tr:hover{background:#faf8f3}
.admin-page .ops-table-message{max-width:430px;white-space:pre-wrap;overflow-wrap:anywhere}
.admin-page .ops-mono{font-family:'SFMono-Regular',Consolas,monospace;font-size:11px;overflow-wrap:anywhere}
.admin-page .ops-status{
  display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid #ded9ce;
  border-radius:3px;background:#f1efe9;color:#5d6877;font-size:11px;font-weight:700;text-transform:capitalize
}
.admin-page .ops-status::before{width:6px;height:6px;border-radius:50%;background:#999;content:""}
.admin-page .ops-status.is-good{border-color:#cdd9ce;background:#edf2eb;color:#426449}
.admin-page .ops-status.is-good::before{background:#66846a}
.admin-page .ops-status.is-warn{border-color:#e7d9bd;background:#f7f0e3;color:#806432}
.admin-page .ops-status.is-warn::before{background:#b18a50}
.admin-page .ops-status.is-bad{border-color:#e3ceca;background:#f6ecea;color:#874b44}
.admin-page .ops-status.is-bad::before{background:#a96057}
.admin-page .ops-empty{
  padding:36px 22px;text-align:center;background:#f8f6f1;border:1px dashed #d8d2c6;border-radius:7px
}
.admin-page .ops-empty h2,.admin-page .ops-empty h3{margin:0;color:var(--ops-navy);font:400 21px Georgia,'Times New Roman',serif}
.admin-page .ops-empty p{max-width:480px;margin:8px auto 0;color:var(--ops-muted);font-size:13px;line-height:1.6}
.admin-page .ops-empty a{color:#39577c}
.admin-page .ops-filters{
  display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:0 0 17px;padding:15px;
  background:#f3f1eb;border:1px solid var(--ops-line);border-radius:7px
}
.admin-page .ops-filters label,.admin-page .ops-form label{
  display:block;margin:0;color:#4b586b;font-size:11px;font-weight:700;letter-spacing:.02em
}
.admin-page .ops-filters input,.admin-page .ops-filters select,
.admin-page .ops-form input,.admin-page .ops-form textarea,.admin-page .ops-form select{
  display:block;width:100%;min-height:41px;margin-top:6px;padding:10px 11px;
  border:1px solid #dcd9d1;border-radius:5px;background:#fff;color:#27354a;font:inherit;font-size:13px
}
.admin-page .ops-filters .ops-filter-field{min-width:150px;flex:1}
.admin-page .ops-filters .ops-filter-search{min-width:220px;flex:1.4}
.admin-page .ops-filters input:focus,.admin-page .ops-filters select:focus,
.admin-page .ops-form input:focus,.admin-page .ops-form textarea:focus,.admin-page .ops-form select:focus,
.admin-page button:focus-visible,.admin-page a:focus-visible{
  outline:3px solid rgba(177,138,80,.34);outline-offset:2px
}
.admin-page .ops-form{display:grid;gap:15px}
.admin-page .ops-form textarea{min-height:160px;resize:vertical;line-height:1.55}
.admin-page .ops-form .ops-form-help{display:block;margin-top:6px;color:#7b828b;font-size:11px;line-height:1.5;font-weight:400;letter-spacing:0}
.admin-page .ops-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px}
.admin-page .ops-button,.admin-page .ops-page-link{
  display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:9px 14px;
  border:1px solid #d7d3ca;border-radius:5px;background:#fff;color:#33445a;font-family:inherit;font-size:12px;font-weight:700;line-height:1.2;
  text-decoration:none;cursor:pointer
}
.admin-page .ops-button-primary{border-color:var(--ops-navy);background:var(--ops-navy);color:#fff}
.admin-page .ops-button-primary:hover{background:#17283d}
.admin-page .ops-button:hover,.admin-page .ops-page-link:hover{background:#f1efe9}
.admin-page .ops-button-primary:hover{background:#17283d}
.admin-page .ops-alert{margin:0 0 16px;padding:13px 16px;border:1px solid #e5d6b9;border-left:3px solid var(--ops-gold);border-radius:5px;background:#f8f2e6;color:#705b34;font-size:13px;line-height:1.5}
.admin-page .ops-alert.is-error{border-color:#e4cfcb;border-left-color:#a96057;background:#f7eeec;color:#804b44}
.admin-page .ops-pagination{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:15px}
.admin-page .ops-pagination-summary{color:#6e7886;font-size:12px}
.admin-page .ops-configuration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.admin-page .ops-config-card{padding:20px 21px;background:var(--ops-paper);border:1px solid var(--ops-line);border-radius:8px}
.admin-page .ops-config-card h2{margin:0 0 13px;color:var(--ops-navy);font:400 22px Georgia,'Times New Roman',serif}
.admin-page .ops-config-card .ops-kicker{margin-bottom:7px}
.admin-page .ops-health-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #efede8;font-size:12px}
.admin-page .ops-health-row:last-child{border:0}
.admin-page .ops-health-row .ops-label{flex:none;color:#737d89}
.admin-page .ops-health-row .ops-value{text-align:right;color:#344358;font-weight:600;overflow-wrap:anywhere}
.admin-page .ops-note{margin:14px 0 0;color:#737d89;font-size:12px;line-height:1.6}
.admin-page .ops-crosslinks{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}
.admin-page .ops-crosslinks a{color:#39577c;font-size:12px;font-weight:700;text-decoration:none}
.admin-page .ops-crosslinks a:hover{text-decoration:underline}
.admin-page .ops-broadcast-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.admin-page .ops-broadcast-grid .ops-section{height:100%}
.admin-page .ops-auth-shell{
  display:grid;min-height:calc(100dvh - 56px);place-items:center;padding:26px 12px
}
.admin-page .ops-auth-card{
  width:min(100%,440px);padding:35px 38px;background:var(--ops-paper);border:1px solid var(--ops-line);
  border-top:3px solid var(--ops-gold);border-radius:8px;box-shadow:0 12px 36px rgba(35,54,80,.08)
}
.admin-page .ops-auth-mark{
  display:grid;width:46px;height:46px;place-items:center;margin-bottom:23px;border:1px solid #d6c8ad;
  border-radius:50%;background:#f0ece2;color:#7e6741;font:400 18px Georgia,'Times New Roman',serif;letter-spacing:.08em
}
.admin-page .ops-auth-card .ops-login-title{font-size:34px}
.admin-page .ops-auth-card .ops-deck{margin-bottom:24px}
.admin-page .ops-auth-card .ops-form{gap:17px}
.admin-page .ops-auth-card .ops-button{width:100%;min-height:45px}
.admin-page .ops-error{padding:11px 13px;border:1px solid #e4cfcb;border-radius:5px;background:#f7eeec;color:#804b44;font-size:13px}
.admin-page .ops-table-count{margin:12px 0 0;color:#737d89;font-size:12px}
.admin-page .ops-nowrap{white-space:nowrap}
.admin-page .ops-back{display:inline-block;margin-bottom:23px;color:#59677a;font-size:12px;font-weight:700;text-decoration:none}
.admin-page .ops-back:hover{text-decoration:underline}
.admin-page .ops-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.admin-page .ops-facts{margin:0}
.admin-page .ops-facts div{display:grid;grid-template-columns:115px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid #ece9e2}
.admin-page .ops-facts div:last-child{border:0}
.admin-page .ops-facts dt{color:var(--ops-muted);font-size:12px}
.admin-page .ops-facts dd{margin:0;overflow-wrap:anywhere;color:var(--ops-navy);font-size:13px}
.admin-page .ops-private-notes{white-space:pre-wrap;overflow-wrap:anywhere;color:#4b586b;font-size:13px;line-height:1.6}
.admin-page .ops-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
@media(max-width:760px){
  .admin-page .ops-header{align-items:flex-start;flex-direction:column;gap:14px}
  .admin-page .ops-header-aside{justify-content:flex-start}
  .admin-page .ops-broadcast-grid{grid-template-columns:1fr}
  .admin-page .ops-profile-grid,.admin-page .ops-form-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .admin-page .ops-header{padding-top:0;padding-bottom:19px;margin-bottom:17px}
  .admin-page .ops-header h1{font-size:34px}
  .admin-page .ops-deck{font-size:13px}
  .admin-page .ops-section{padding:17px 15px}
  .admin-page .ops-filters{align-items:stretch}
  .admin-page .ops-filters .ops-filter-field,.admin-page .ops-filters .ops-filter-search{min-width:100%;flex-basis:100%}
  .admin-page .ops-filters .ops-button{width:100%}
  .admin-page .ops-auth-card{padding:28px 22px}
  .admin-page .ops-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){
  .admin-page *{scroll-behavior:auto!important;transition:none!important}
}