:root{
  --bg:#020704;--panel:#061008;--panel2:#0b1510;--panel3:#111925;--line:#16451d;--line2:#203329;
  --text:#f4f7f2;--muted:#78907e;--green:#43ff35;--green2:#20c724;--green3:#0a6513;
  --danger:#ff7777;--dangerBg:#2d1010;--warn:#ffd45a;--warnBg:#2a2208;--blue:#78b7ff;--blueBg:#0b1c2d;
}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:radial-gradient(circle at 12% 0%,rgba(36,255,54,.06),transparent 28%),var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif}.hidden{display:none!important}.muted{color:var(--muted)}button,input,select,textarea{font:inherit}.error-text{color:var(--danger)}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 15%,rgba(67,255,53,.1),transparent 34%),var(--bg)}
.login-card{width:min(460px,95vw);border:1px solid var(--line);background:linear-gradient(180deg,rgba(7,18,10,.98),rgba(2,8,4,.98));padding:32px;box-shadow:0 24px 90px rgba(0,0,0,.5)}.login-card h1{font-family:Oswald,sans-serif;font-size:38px;margin:20px 0 8px}.login-brand{display:flex;align-items:center;gap:14px}.login-brand img{width:64px;height:64px;border-radius:50%}.brand-code{font-family:Oswald,sans-serif;font-size:27px;font-weight:700;letter-spacing:.12em}.ops-label{font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--green)}.login-note{font-size:12px;color:var(--muted);margin-top:14px}.pending-id{margin:20px 0;padding:14px;border:1px solid var(--line);display:flex;justify-content:space-between;gap:16px}.pending-id span{color:var(--muted);font-size:11px;text-transform:uppercase}.pending-id strong{font-family:ui-monospace,monospace;word-break:break-all}
.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:linear-gradient(180deg,#061109 0%,#020704 100%);display:flex;flex-direction:column;padding:14px 10px 8px}.sidebar-brand{padding:20px 12px 17px;text-align:center;border-bottom:1px solid var(--line)}.logo-row{display:flex;align-items:center;justify-content:center;gap:10px}.logo-row img{width:54px;height:54px}.logo-row strong{font-size:16px}.brand-title{font-family:Oswald,sans-serif;letter-spacing:.18em;font-size:15px;font-weight:700;margin-top:14px}.online-pill{display:inline-flex;align-items:center;gap:7px;margin-top:10px;padding:6px 10px;border:1px solid var(--line);font-size:9px;color:#b7d8bb;font-weight:800}.online-pill span,.auth-label span{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}
.nav-scroll{overflow:auto;padding:14px 0 10px;scrollbar-width:thin;scrollbar-color:var(--green3) transparent}.nav-group-title{font-size:8px;letter-spacing:.18em;color:#436348;font-weight:800;padding:14px 12px 7px}.nav-item{width:100%;display:flex;align-items:center;gap:11px;padding:10px 11px;border:1px solid transparent;background:transparent;color:#b8c2ba;font-weight:700;text-align:left;cursor:pointer;border-radius:2px}.nav-item:hover{background:#07160a;color:#fff}.nav-item.active{border-color:#1d821f;background:linear-gradient(90deg,rgba(38,255,50,.12),rgba(15,80,21,.12));color:#fff;box-shadow:inset 3px 0 0 var(--green)}.nav-icon{display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid #15511b;color:var(--green);font-size:13px;flex:none}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding:12px 2px 0}.auth-label{display:flex;align-items:center;gap:7px;color:#51705a;font-size:7px;letter-spacing:.16em;font-weight:800;padding:0 8px 9px}.user-card{border:1px solid var(--line);padding:12px;background:#061008;display:flex;flex-direction:column;gap:2px;margin:0 5px 10px}.user-card strong{font-family:Oswald,sans-serif}.user-card span{font-size:11px;color:#d7e2d8}.user-card small{font-size:10px;color:#92a697}.disconnect-btn{width:calc(100% - 10px);margin:0 5px;background:transparent;border:1px solid #1c2920;color:#8fa193;padding:11px;font-size:9px;letter-spacing:.12em;font-weight:800;cursor:pointer}.network-row{display:flex;justify-content:space-between;padding:14px 8px 4px;font-size:7px;letter-spacing:.12em;color:#28432d}.network-row b{color:var(--green);font-weight:700}
.main{min-width:0}.topbar{padding:24px 28px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(180deg,#061008,#030905)}.topbar h1{font-family:Oswald,sans-serif;font-size:34px;letter-spacing:.02em;margin:0}.topbar p{margin:4px 0 0;color:#6d8d73}.top-actions{display:flex;gap:10px;align-items:center}.search{width:290px}
#content{padding:20px 22px 28px}.app-footer{border-top:1px solid var(--line);padding:8px 22px;display:flex;justify-content:space-between;color:#29432d;font-size:7px;letter-spacing:.16em}
.panel{border:1px solid var(--line);background:linear-gradient(180deg,#061008,#030905);padding:18px}.panel+.panel{margin-top:16px}.panel-head,.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.panel-head h2,.section-head h3{font-family:Oswald,sans-serif;margin:0;font-size:23px}.panel-kicker{color:var(--green);font-size:9px;letter-spacing:.13em;font-weight:800}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.input,input,select,textarea{background:#020804;border:1px solid #14451a;color:#f2f7f2;padding:11px 12px;outline:none;border-radius:6px}.input:focus,input:focus,select:focus,textarea:focus{border-color:#2ccb32;box-shadow:0 0 0 2px rgba(39,210,45,.09)}textarea{min-height:92px;resize:vertical}label{display:flex;flex-direction:column;gap:6px;color:#bfd0c1;font-size:12px}.btn{border:1px solid #1b5721;background:#07170a;color:#eaf7eb;padding:10px 14px;font-weight:800;border-radius:7px;cursor:pointer}.btn:hover{filter:brightness(1.12)}.btn.primary{background:linear-gradient(180deg,#2dc42c,#1c9e1f);border-color:#3eff40;color:white}.btn.secondary{background:#09180c}.btn.danger{background:var(--dangerBg);border-color:#723131;color:#ffb0b0}.btn.ghost{background:transparent;color:#a8b4aa}.btn.small{padding:6px 9px;font-size:10px}.btn.wide{width:100%;margin-top:16px;padding:14px}.button-row{display:flex;gap:8px;flex-wrap:wrap}
.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.stat-card{position:relative;border:1px solid var(--line);background:#07100a;padding:18px 12px;text-align:center;min-height:128px;clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px),0 7px)}.stat-card:before,.stat-card:after{content:"";position:absolute;left:20%;right:20%;height:1px;background:#1c8124}.stat-card:before{top:0}.stat-card:after{bottom:0}.stat-icon{font-size:22px}.stat-value{font-size:30px;font-weight:800;margin:5px 0 1px}.stat-label{font-size:10px;font-weight:800;letter-spacing:.04em}.stat-sub{color:#73907a;font-size:11px;margin-top:4px}.dashboard-grid{display:grid;grid-template-columns:1.25fr .9fr .9fr;gap:14px;margin-top:16px}.dash-panel{min-height:220px}.dash-list{border-top:1px solid var(--line)}.dash-row{display:flex;justify-content:space-between;gap:14px;padding:11px 2px;border-bottom:1px solid #0e3113;align-items:flex-start}.dash-row:last-child{border-bottom:0}.dash-row b{font-size:12px}.dash-row small{display:block;color:#6f8874;margin-top:3px}.required-row{background:linear-gradient(90deg,rgba(255,212,90,.06),transparent);border-left:3px solid var(--warn);padding-left:9px}.kicker-warning{color:var(--warn);font-size:8px;font-weight:800;letter-spacing:.1em}.empty{padding:28px;text-align:center;color:#6c8271}.quick-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.quick-btn{min-height:80px;border:1px solid var(--line);background:#07100a;color:#e8f0e9;font-weight:800;cursor:pointer}.quick-btn span{display:block;font-size:22px;margin-bottom:5px}.quick-btn:hover{border-color:#2fc137;background:#09180c}
.table-controls{display:grid;gap:10px;margin-bottom:14px}.filter-row{display:flex;gap:9px;flex-wrap:wrap}.filter-row>*{flex:1;min-width:150px}.table-wrap{overflow:auto;border:1px solid var(--line);background:#030905}.table-wrap table{width:100%;border-collapse:collapse;min-width:900px}.table-wrap th{background:#131a26;color:#78ff76;text-transform:uppercase;font-size:9px;letter-spacing:.05em;padding:11px 12px;text-align:left;white-space:nowrap}.table-wrap td{padding:11px 12px;border-bottom:1px solid #113316;font-size:11px;vertical-align:top}.table-wrap tr:hover td{background:#07130a}.actions{display:flex;gap:5px;flex-wrap:wrap}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:800;background:#0b2c0e;color:#67ff6f;border:1px solid #165c1c;white-space:nowrap}.badge.warn{background:var(--warnBg);border-color:#6c5c13;color:var(--warn)}.badge.danger{background:var(--dangerBg);border-color:#713037;color:#ff9ca4}.badge.blue{background:var(--blueBg);border-color:#254d75;color:#9bd0ff}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#d5ffd6}.clickable{color:#76ff75;cursor:pointer;font-weight:700}.clickable:hover{text-decoration:underline}.subtabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.subtab{border:1px solid #1c4320;background:#07110a;color:#9bab9d;padding:8px 12px;cursor:pointer}.subtab.active,.subtab:hover{color:var(--green);border-color:#3b9e3e;background:#0c1b0e}.small-note{font-size:11px;color:#6f8874}.activity-banner{border:1px solid #205c25;background:#06160a;padding:11px;color:#72ff75;font-weight:800;margin-bottom:12px}
.todo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.todo-column{border:1px solid var(--line);background:#061008;padding:12px;min-height:350px}.todo-column h3{font-family:Oswald,sans-serif;margin:0;padding:10px;background:#131a26;font-size:18px}.todo-count{display:block;font-size:20px;margin-top:3px}.task-card{margin-top:10px;padding:12px;border:1px solid #173d1c;background:#041007}.task-card h4{margin:0 0 6px;font-size:13px}.task-meta{font-size:10px;color:#78907e;line-height:1.5}.task-actions{display:flex;gap:5px;margin-top:10px;flex-wrap:wrap}.priority-high{color:#ff9c9c}.priority-urgent{color:#ff6d6d}.priority-low{color:#8fbf98}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid .full{grid-column:1/-1}.modal{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:50;display:grid;place-items:center;padding:18px}.modal-card{position:relative;width:min(850px,96vw);max-height:90vh;overflow:auto;border:1px solid #235b28;background:#051009;padding:22px;box-shadow:0 24px 90px rgba(0,0,0,.65)}.modal-card h2,.modal-card h3{font-family:Oswald,sans-serif}.modal-close{position:absolute;right:12px;top:9px;border:0;background:none;color:#9ab09f;font-size:30px;cursor:pointer}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.detail-box{border:1px solid var(--line);padding:11px;background:#030b05}.detail-box span{display:block;color:#729077;font-size:9px;text-transform:uppercase;margin-bottom:5px}.detail-box strong{font-size:12px}.toast{position:fixed;right:18px;bottom:18px;z-index:100;background:#0a1d0d;border:1px solid #2e8535;color:#eaffeb;padding:12px 15px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}
.report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.report-card{border:1px solid var(--line);padding:15px;background:#061008}.report-card b{display:block;font-size:24px}.backup-box{border:1px dashed #2a642f;padding:18px;margin-top:12px}.search-results{display:grid;gap:8px}.search-result{border:1px solid var(--line);padding:11px;background:#041007}.search-result strong{color:#75ff74}.settings-list{display:grid;gap:10px}.setting-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #113316;padding:10px 0}.setting-row span{color:#78907e}
@media(max-width:1400px){.stats-grid{grid-template-columns:repeat(3,1fr)}.quick-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.dashboard-grid .wide-panel{grid-column:1/-1}}
@media(max-width:950px){.app-shell{grid-template-columns:210px 1fr}.sidebar{padding-left:6px;padding-right:6px}.topbar{align-items:flex-start;flex-direction:column}.search{width:100%}.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.todo-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.app-shell{display:block}.sidebar{position:relative;height:auto}.nav-scroll{max-height:none}.sidebar-footer{margin-top:12px}.main{width:100%}#content{padding:14px}.topbar{padding:18px}.stats-grid,.report-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}.form-grid,.detail-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.app-footer{display:none}}


/* Screenshot drag/drop uploader */
.screenshot-drop{border:1px dashed #2b7f2f;background:rgba(7,24,11,.72);border-radius:10px;padding:16px;min-height:130px;display:grid;gap:10px;place-items:center;text-align:center;cursor:pointer;transition:.18s ease;position:relative}
.screenshot-drop:hover,.screenshot-drop.dragging{border-color:#42ff4f;box-shadow:0 0 0 2px rgba(66,255,79,.10) inset;background:rgba(10,38,16,.9)}
.screenshot-drop-copy{display:grid;gap:3px;color:#d9e7dc}.screenshot-drop-copy b{color:#6dff75}.screenshot-drop-copy span{font-size:12px;color:#7f9985}
.screenshot-preview{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.screenshot-preview:empty{display:none}
.screenshot-preview img,.detail-screenshot img{max-width:260px;max-height:160px;object-fit:contain;border:1px solid #1f5c27;border-radius:8px;background:#050a06}
.screenshot-preview a{color:#6dff75;font-size:12px}.screenshot-remove{justify-self:center}
.detail-screenshot{margin:14px 0 20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}

/* Copy buttons for every visible Spawn Code and Discord ID table value */
.copy-value{display:inline-flex;align-items:center;gap:8px;max-width:100%;}
.copy-btn{appearance:none;border:1px solid rgba(74,255,70,.55);background:rgba(17,56,20,.55);color:#aaff9f;border-radius:7px;padding:4px 8px;font:inherit;font-size:11px;font-weight:800;line-height:1;cursor:pointer;white-space:nowrap;transition:.15s ease;}
.copy-btn:hover{background:rgba(55,180,47,.28);border-color:#53ff46;color:#fff;box-shadow:0 0 10px rgba(83,255,70,.18);}
.copy-btn:active{transform:translateY(1px);}
