:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:#090d17;color:#f0f4ff}
[hidden]{display:none!important}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 0%,#172c53 0%,#090d17 42%)}
.brand{font-weight:900;letter-spacing:.08em;font-size:1.25rem}.brand span{color:#7c9dff}
.auth-shell{min-height:100vh;display:grid;place-content:center;padding:24px;gap:32px}.auth-shell .brand{text-align:center}
.panel{width:min(100%,460px);background:#101827;border:1px solid #2b3a55;border-radius:18px;padding:30px;box-shadow:0 20px 70px #0005}
.auth-shell .panel{min-width:min(420px,calc(100vw - 48px))}.eyebrow{color:#91aeff;font-size:.72rem;font-weight:800;letter-spacing:.16em}
h1{font-size:2rem;line-height:1.1;margin:12px 0}h2{font-size:1.1rem;margin:0 0 20px}.muted{color:#a7b3cc;line-height:1.55}
form{display:grid;gap:18px;margin-top:28px}label{display:grid;gap:8px;font-size:.9rem;font-weight:650}
input{width:100%;border:1px solid #394863;border-radius:10px;padding:12px 14px;background:#0b1220;color:#fff;font:inherit}
input:focus{outline:2px solid #7c9dff;outline-offset:2px}input[type=file]{cursor:pointer}
button{border:0;border-radius:10px;padding:12px 18px;background:#5d80f0;color:white;font:inherit;font-weight:750;cursor:pointer}
button:hover{background:#7596ff}button:disabled{opacity:.55;cursor:wait}.ghost{background:transparent;border:1px solid #3c4d6b;padding:9px 14px}
.message{min-height:1.5em;color:#ffbd8a;margin:18px 0 0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px max(24px,calc((100vw - 1080px)/2));border-bottom:1px solid #26334a}
.token-value{display:block;padding:14px;margin:12px 0;border:1px solid #394863;border-radius:10px;background:#090d17;color:#b6cbff;overflow-wrap:anywhere;user-select:all}
.topbar>div:last-child{display:flex;align-items:center;gap:18px}.topbar a{color:#b7c9ff;text-decoration:none}
.content{width:min(100% - 48px,1080px);margin:54px auto}.content .panel{width:100%;max-width:700px;margin:28px 0}.user-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;border-top:1px solid #2b3a55;word-break:break-word}
@media(max-width:600px){.topbar{align-items:flex-start}.topbar #account{display:none}.content{margin-top:32px}.panel{padding:22px}.user-row{align-items:flex-start;flex-direction:column}}
.admin-content{width:min(100% - 40px,1160px)}.admin-content .panel{max-width:none}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-grid .panel{margin:18px 0}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0}.stat{display:grid;gap:5px;padding:21px 24px;background:#101827;border:1px solid #2b3a55;border-radius:16px}.stat strong{font-size:2rem}.stat span,small{color:#a7b3cc}small{display:block;margin-top:5px}
select{width:100%;border:1px solid #394863;border-radius:10px;padding:12px 14px;background:#0b1220;color:#fff;font:inherit}select:focus{outline:2px solid #7c9dff;outline-offset:2px}.row-actions,.job-links,.pager{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.small{font-size:.82rem;padding:8px 10px}.section-heading,.job-title{display:flex;justify-content:space-between;gap:16px;align-items:center}.section-heading label{min-width:230px}.section-heading p{margin:4px 0 0}
.job{padding:18px 0;border-top:1px solid #2b3a55}.job-title strong{overflow-wrap:anywhere}.job .muted{margin:6px 0 12px}.badge{white-space:nowrap;padding:5px 9px;border-radius:99px;font-size:.76rem;font-weight:800}.badge.success{color:#99f1bc;background:#124433}.badge.failure{color:#ffb4a7;background:#4c2529}.job details{margin:12px 0}.job summary{cursor:pointer;color:#bad0ff}.job li{margin:7px 0;overflow-wrap:anywhere}.job-links a{color:#a7c5ff;text-decoration:none}.job-links a:hover{text-decoration:underline}.pager{justify-content:flex-end;margin-top:20px}.pager span{color:#a7b3cc}
@media(max-width:760px){.admin-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.section-heading{display:grid}.section-heading label{min-width:0}.row-actions{width:100%}}
