/* ═══════════════════════════════════════════════════════════════
   AIP SweepstakesOS — secure enterprise administrative theme.
   Isolated from the public AIPBrands.com site; premium dark shell.
   ═══════════════════════════════════════════════════════════════ */
:root{
  --sw-bg:#050510; --sw-bg-2:#020207;
  --sw-panel:#0F0F1A; --sw-panel-2:#171724; --sw-panel-3:#22222F;
  --sw-hairline:rgba(255,255,255,0.06);
  --sw-hairline-2:rgba(255,255,255,0.11);
  --sw-hairline-3:rgba(255,255,255,0.18);
  --sw-fg:#FFFFFF; --sw-fg-2:#E8E8EE; --sw-fg-3:#B0B0BC;
  --sw-muted:#7C7C8A; --sw-muted-2:#4A4A55;
  --sw-accent:#3B82F6;      /* enterprise blue */
  --sw-accent-2:#1D4ED8;
  --sw-accent-hi:#60A5FA;
  --sw-accent-tint:rgba(59,130,246,0.10);
  --sw-accent-glow:rgba(59,130,246,0.28);
  --sw-ok:#22C55E; --sw-warn:#F59E0B; --sw-crit:#EF4444; --sw-info:#0EA5E9;
  --sw-f-sans:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --sw-f-num:'Space Grotesk','Inter',sans-serif;
  --sw-f-mono:'JetBrains Mono','SF Mono','Menlo',monospace;
  --sw-r-md:10px; --sw-r-lg:14px;
  --sw-navw:264px;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body.swos{background:var(--sw-bg);color:var(--sw-fg);font-family:var(--sw-f-sans);font-size:14px;line-height:1.5;letter-spacing:-0.003em;-webkit-font-smoothing:antialiased;min-height:100vh}
body.swos a{color:inherit;text-decoration:none}
body.swos button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit;padding:0}
body.swos input,body.swos select,body.swos textarea{font-family:inherit;color:inherit}
body.swos ::selection{background:var(--sw-accent);color:#fff}
body.swos ::-webkit-scrollbar{width:10px;height:10px}
body.swos ::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.09);border-radius:5px}

/* ─── Login ─── */
body.swos-login{display:grid;place-items:center;min-height:100vh;padding:24px;background:radial-gradient(1000px 700px at 80% 10%, rgba(59,130,246,0.18), transparent 60%),radial-gradient(800px 640px at 10% 90%, rgba(14,165,233,0.10), transparent 60%),var(--sw-bg)}
.sw-login-card{width:100%;max-width:460px;background:var(--sw-panel);border:1px solid var(--sw-hairline-2);border-radius:18px;padding:36px;box-shadow:0 30px 80px -20px rgba(0,0,0,0.8);position:relative}
.sw-login-card::before{content:'';position:absolute;inset:-1px;border-radius:18px;padding:1px;background:linear-gradient(135deg, rgba(59,130,246,0.45), transparent 40%, rgba(14,165,233,0.25));-webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.sw-login-mark{width:56px;height:56px;border-radius:14px;margin:0 auto 20px;background:linear-gradient(135deg,var(--sw-accent),var(--sw-accent-2));display:grid;place-items:center;font-family:var(--sw-f-num);font-weight:800;color:#fff;font-size:16px;box-shadow:0 8px 20px -6px var(--sw-accent-glow)}
.sw-login-mark span{color:var(--sw-accent-hi)}
.sw-login-t{font-family:var(--sw-f-num);font-size:22px;font-weight:700;text-align:center;margin-bottom:6px}
.sw-login-s{font-size:12px;color:var(--sw-muted);text-align:center;margin-bottom:20px;letter-spacing:0.06em;text-transform:uppercase;font-weight:600}
.sw-notice{padding:10px 12px;border-radius:8px;background:rgba(245,158,11,0.10);border:1px solid rgba(245,158,11,0.30);color:#FCD34D;font-size:11.5px;line-height:1.45;margin-bottom:16px}
.sw-login-err{display:none;padding:10px 12px;border-radius:8px;margin-bottom:14px;background:rgba(239,68,68,0.10);border:1px solid rgba(239,68,68,0.35);color:#FCB4B4;font-size:12.5px}
.sw-login-err.on{display:block}
.sw-field{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.sw-field label{font-size:12px;font-weight:600;letter-spacing:0.02em}
.sw-field input,.sw-field select,.sw-field textarea{width:100%;padding:10px 12px;border-radius:8px;background:rgba(0,0,0,0.35);border:1px solid var(--sw-hairline-2);color:var(--sw-fg);font-size:13.5px;transition:border-color .12s, box-shadow .12s}
.sw-field input:focus,.sw-field select:focus,.sw-field textarea:focus{outline:none;border-color:var(--sw-accent);box-shadow:0 0 0 3px rgba(59,130,246,0.22)}
.sw-login-sub{width:100%;margin-top:8px;padding:12px;border-radius:8px;background:linear-gradient(135deg,var(--sw-accent),var(--sw-accent-2));color:#fff;font-size:14px;font-weight:700;letter-spacing:0.02em}
.sw-login-sub:hover{filter:brightness(1.08)}
.sw-login-sub:disabled{opacity:.6;cursor:wait}
.sw-login-foot{margin-top:18px;text-align:center;font-size:11px;color:var(--sw-muted-2);line-height:1.5}

/* ─── App shell ─── */
body.swos-app{display:block}
.sw-shell{display:grid;grid-template-columns:var(--sw-navw) 1fr;min-height:100vh}
.sw-main{display:flex;flex-direction:column;min-width:0}

/* ─── Nav ─── */
.sw-nav{background:linear-gradient(180deg,var(--sw-bg-2),var(--sw-bg));border-right:1px solid var(--sw-hairline);padding:18px 12px 32px;overflow-y:auto;position:sticky;top:0;height:100vh}
.sw-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 14px;border-bottom:1px solid var(--sw-hairline)}
.sw-brand-mark{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--sw-accent),var(--sw-accent-2));display:grid;place-items:center;font-family:var(--sw-f-num);font-weight:800;color:#fff;font-size:13px;box-shadow:0 6px 20px -6px var(--sw-accent-glow)}
.sw-brand-mark span{color:var(--sw-accent-hi)}
.sw-brand-title{font-family:var(--sw-f-num);font-size:14px;font-weight:700;line-height:1}
.sw-brand-title span{display:block;margin-top:4px;font-weight:500;font-size:10.5px;color:var(--sw-muted);letter-spacing:0.06em;text-transform:uppercase}
.sw-camp-select{margin:14px 6px 8px;padding:12px;border-radius:10px;background:rgba(255,255,255,0.03);border:1px solid var(--sw-hairline-2)}
.sw-camp-select .l{font-size:10px;letter-spacing:0.10em;text-transform:uppercase;font-weight:700;color:var(--sw-muted)}
.sw-camp-select .v{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;font-size:13px}
.sw-camp-select .s{margin-top:6px;font-size:11.5px;color:var(--sw-fg-3)}
.sw-nav-group{padding:14px 4px 4px}
.sw-nav-h{font-size:10px;color:var(--sw-muted);letter-spacing:0.12em;text-transform:uppercase;font-weight:700;padding:0 8px 8px}
.sw-nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:13px;font-weight:500;color:var(--sw-fg-3);cursor:pointer;transition:background .12s, color .12s}
.sw-nav-item:hover{background:rgba(255,255,255,0.03);color:var(--sw-fg)}
.sw-nav-item.active{background:var(--sw-accent-tint);color:var(--sw-fg);border:1px solid rgba(59,130,246,0.28)}
.sw-nav-item .ic{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;background:rgba(255,255,255,0.04);color:var(--sw-accent-hi);font-family:var(--sw-f-num);font-size:12px;flex-shrink:0}
.sw-nav-item.active .ic{background:var(--sw-accent);color:#fff}

/* ─── Topbar ─── */
.sw-topbar{position:sticky;top:0;z-index:20;background:linear-gradient(180deg,rgba(5,5,16,0.94),rgba(5,5,16,0.86));backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--sw-hairline)}
.sw-topbar-inner{display:flex;align-items:center;gap:12px;padding:12px 24px}
.sw-crumb{display:flex;align-items:center;gap:8px;font-size:12.5px}
.sw-crumb .a{color:var(--sw-muted);letter-spacing:0.05em;text-transform:uppercase;font-weight:600}
.sw-crumb .sep{color:var(--sw-muted-2)}
.sw-crumb .b{color:var(--sw-fg);font-weight:600}
.sw-topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.sw-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;background:rgba(255,255,255,0.03);border:1px solid var(--sw-hairline-2);font-size:12px;cursor:pointer}
.sw-user{display:flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:8px;border:1px solid var(--sw-hairline-2);background:rgba(255,255,255,0.02)}
.sw-user .av{width:26px;height:26px;border-radius:7px;background:#000;border:1px solid var(--sw-accent);color:var(--sw-accent-hi);font-weight:700;font-size:11px;display:grid;place-items:center;font-family:var(--sw-f-num)}
.sw-user .n{font-size:12px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sw-btn{background:transparent;border:1px solid var(--sw-hairline-2);color:var(--sw-fg-2);padding:7px 14px;border-radius:8px;font-size:12px;font-weight:600;transition:all .12s;cursor:pointer;display:inline-block}
.sw-btn.tiny{padding:5px 10px;font-size:11px}
.sw-btn:hover{border-color:var(--sw-accent);color:var(--sw-accent-hi)}
.sw-btn.primary{background:linear-gradient(135deg,var(--sw-accent),var(--sw-accent-2));border-color:transparent;color:#fff}
.sw-btn.primary:hover{filter:brightness(1.08)}
.sw-btn.danger{background:linear-gradient(135deg,var(--sw-crit),#B91C1C);border-color:transparent;color:#fff}
.sw-btn.logout{color:var(--sw-fg-3)}
.sw-btn:disabled{opacity:.5;cursor:not-allowed}
.sw-ml{margin-left:12px}

/* ─── View ─── */
.sw-view{padding:26px 28px 64px;max-width:1600px;margin:0 auto;width:100%}
.sw-page-h{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.sw-page-t{font-family:var(--sw-f-num);font-size:26px;font-weight:700;letter-spacing:-0.02em}
.sw-page-s{color:var(--sw-fg-3);font-size:13px;margin-top:6px}
.sw-page-rt{display:flex;align-items:center;gap:10px;color:var(--sw-muted);font-size:12px}
.sw-mut{color:var(--sw-muted);font-size:12px}
.sw-mono{font-family:var(--sw-f-mono);font-size:11.5px}
.sw-mt{margin-top:14px}

/* ─── Cards ─── */
.sw-c{background:var(--sw-panel);border:1px solid var(--sw-hairline);border-radius:var(--sw-r-lg);padding:20px;position:relative;min-width:0}
.sw-c-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--sw-hairline)}
.sw-c-s{font-size:10.5px;color:var(--sw-muted);letter-spacing:0.10em;text-transform:uppercase;font-weight:700}
.sw-c-t{font-size:13px;font-weight:600;margin-top:4px}
.sw-c-rt{margin-left:auto;font-size:11px;color:var(--sw-muted);text-align:right}

/* ─── Grids ─── */
.sw-g{display:grid;gap:16px}
.sw-g-2{grid-template-columns:1fr 1fr}
.sw-g-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1100px){.sw-g-2,.sw-g-3{grid-template-columns:1fr}}
.sw-kpi-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}
@media (max-width:900px){.sw-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sw-kpi{background:var(--sw-panel);border:1px solid var(--sw-hairline);border-radius:var(--sw-r-md);padding:14px 16px;overflow:hidden;position:relative}
.sw-kpi::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sw-accent)}
.sw-kpi.hi::before{background:linear-gradient(180deg,var(--sw-accent),var(--sw-info))}
.sw-kpi .l{font-size:10px;color:var(--sw-muted);letter-spacing:0.10em;text-transform:uppercase;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sw-kpi .v{font-family:var(--sw-f-num);font-size:22px;font-weight:600;margin-top:6px;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sw-kpi.hi .v{color:var(--sw-accent-hi)}
.sw-kpi .d{font-size:10.5px;margin-top:4px;color:var(--sw-fg-3)}

/* ─── Chips ─── */
.sw-chip{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:3px 9px;border-radius:99px;border:1px solid var(--sw-hairline-2);color:var(--sw-fg-3);background:rgba(255,255,255,0.02);white-space:nowrap}
.sw-chip.ok{color:#052E16;background:var(--sw-ok);border-color:var(--sw-ok)}
.sw-chip.warn{color:#3F1D00;background:var(--sw-warn);border-color:var(--sw-warn)}
.sw-chip.crit{color:#3F0A0A;background:var(--sw-crit);border-color:var(--sw-crit)}
.sw-chip.pending{color:#F59E0B;background:rgba(245,158,11,0.12);border-color:rgba(245,158,11,0.5)}
.sw-chip.test{color:#F0FDF4;background:#166534;border-color:#166534;letter-spacing:0.14em}
.sw-chip.s-setup{color:#F59E0B;background:rgba(245,158,11,0.12);border-color:rgba(245,158,11,0.4)}
.sw-chip.s-open{color:#052E16;background:var(--sw-ok);border-color:var(--sw-ok)}
.sw-chip.s-closed{color:#F0F0F0;background:#374151;border-color:#374151}
.sw-chip.s-drawing-scheduled,.sw-chip.s-drawing-scheduled{color:#0B1A3A;background:var(--sw-info);border-color:var(--sw-info)}

/* ─── Tables ─── */
.sw-tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
.sw-tbl thead th{text-align:left;padding:12px 14px;font-size:10.5px;color:var(--sw-muted);letter-spacing:0.10em;text-transform:uppercase;font-weight:700;background:rgba(255,255,255,0.02);border-bottom:1px solid var(--sw-hairline-2);position:sticky;top:0}
.sw-tbl tbody td{padding:12px 14px;border-bottom:1px solid var(--sw-hairline);color:var(--sw-fg-2)}
.sw-tbl tbody tr:hover{background:rgba(255,255,255,0.02)}
.sw-tbl td.num,.sw-tbl th.num{text-align:right;font-family:var(--sw-f-num)}
.sw-tbl td strong{color:var(--sw-fg)}

/* ─── Row list ─── */
.sw-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--sw-hairline);font-size:13px}
.sw-row:last-child{border-bottom:0}
.sw-empty{padding:22px 12px;text-align:center;color:var(--sw-muted);font-size:12.5px}

/* ─── Toolbar / filters ─── */
.sw-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.sw-search{background:rgba(255,255,255,0.03);border:1px solid var(--sw-hairline-2);border-radius:8px;padding:8px 12px;font-size:12.5px;color:var(--sw-fg);min-width:240px;flex:1;max-width:420px}
.sw-select{padding:7px 10px;border-radius:8px;background:rgba(0,0,0,0.35);border:1px solid var(--sw-hairline-2);color:var(--sw-fg);font-size:12px}

/* ─── Certificate rows ─── */
.sw-cer{display:flex;flex-direction:column;gap:6px}
.sw-cer .row{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--sw-hairline);font-size:13px}
.sw-cer .row:last-child{border-bottom:0}
.sw-cer .l{color:var(--sw-muted);letter-spacing:0.06em;text-transform:uppercase;font-size:10.5px;font-weight:700}
.sw-cer .v{color:var(--sw-fg)}
.sw-cer .v strong{color:var(--sw-accent-hi)}

/* ─── Steps ─── */
.sw-steps{padding-left:22px;font-size:13px;line-height:1.7;color:var(--sw-fg-2)}
.sw-checklist{display:grid;gap:6px;grid-template-columns:1fr 1fr}
@media (max-width:900px){.sw-checklist{grid-template-columns:1fr}}
.sw-checkitem{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--sw-panel-2);border:1px solid var(--sw-hairline);border-radius:8px;font-size:12.5px}

/* ─── Bar rows (overview) ─── */
.sw-bar-row{display:grid;grid-template-columns:60px 1fr 40px;gap:10px;align-items:center;font-size:12px;padding:5px 0}
.sw-bar-row .bar{height:6px;background:rgba(255,255,255,0.05);border-radius:99px;overflow:hidden}
.sw-bar-row .f{height:100%;background:linear-gradient(90deg,var(--sw-accent),var(--sw-info))}
.sw-bar-row .n{font-family:var(--sw-f-num);text-align:right;color:var(--sw-fg)}

/* ─── Reports grid ─── */
.sw-report-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.sw-report-actions{display:flex;gap:6px;flex-wrap:wrap}

/* ─── Category grid ─── */
.sw-cat-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.sw-cat{padding:12px 14px;background:var(--sw-panel-2);border:1px solid var(--sw-hairline);border-radius:var(--sw-r-md)}
.sw-cat .l{font-size:11px;color:var(--sw-muted);letter-spacing:0.08em;text-transform:uppercase;font-weight:700}
.sw-cat .v{font-family:var(--sw-f-num);font-size:16px;font-weight:600;margin:4px 0 8px}

/* ─── Code ─── */
.sw-code{background:#000;color:#7DD3FC;padding:12px;border-radius:8px;font-family:var(--sw-f-mono);font-size:11.5px;overflow:auto;max-height:360px;white-space:pre-wrap;word-break:break-all}

/* ─── kv table (modal) ─── */
.sw-kv{width:100%;border-collapse:collapse;font-size:13px}
.sw-kv th{text-align:left;padding:8px 12px;color:var(--sw-muted);font-weight:700;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;background:rgba(255,255,255,0.02);border-bottom:1px solid var(--sw-hairline);width:180px}
.sw-kv td{padding:8px 12px;border-bottom:1px solid var(--sw-hairline)}

/* ─── Modal ─── */
.sw-modal-root{position:fixed;inset:0;pointer-events:none;z-index:100;display:none}
.sw-modal-root.on{display:block;pointer-events:auto}
.sw-modal-bg{position:absolute;inset:0;background:rgba(0,0,0,0.65);backdrop-filter:blur(4px)}
.sw-modal{position:relative;max-width:560px;width:calc(100% - 32px);margin:64px auto;background:var(--sw-panel);border:1px solid var(--sw-hairline-3);border-radius:14px;box-shadow:0 40px 80px -20px rgba(0,0,0,0.7);overflow:hidden}
.sw-modal-h{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--sw-hairline);font-weight:700}
.sw-modal-x{background:none;border:0;color:var(--sw-muted);font-size:22px;cursor:pointer}
.sw-modal-b{padding:18px}
.sw-modal-f{padding:12px 18px;border-top:1px solid var(--sw-hairline);display:flex;justify-content:flex-end;gap:8px}

/* ─── Alerts ─── */
.sw-ok{color:#4ADE80;font-size:12.5px;font-weight:600}

/* ─── Tag row ─── */
.sw-tag-row{display:flex;flex-wrap:wrap;gap:6px}

/* ─── Responsive ─── */
@media (max-width:1000px){
  .sw-shell{grid-template-columns:1fr}
  .sw-nav{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--sw-hairline)}
  .sw-view{padding:18px}
  .sw-search{width:100%}
  .sw-topbar-inner{flex-wrap:wrap}
  .sw-cer .row{grid-template-columns:1fr}
}
