:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#eaf0f8;background:#101823}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% -10%,#183e59,transparent 40%),#101823}
button,input,select{font:inherit}
button{cursor:pointer;border:0;border-radius:10px;padding:10px 15px;background:#59d7b1;color:#0c1821;font-weight:700}
button:hover{filter:brightness(1.08)}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #83efca;outline-offset:2px}
.secondary,.icon-button{background:#26384b;color:#eaf0f8;border:1px solid #40566c}
.icon-button{font-size:24px;padding:2px 11px}
input,select{background:#172432;border:1px solid #40566c;border-radius:9px;color:#eaf0f8;padding:10px 12px;min-height:42px}
a{color:#81dcd4;text-decoration:none}a:hover{text-decoration:underline}
.masthead{display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,4vw,64px);border-bottom:1px solid #293b4b;background:#111d2acc}
.brand{display:flex;align-items:center;gap:13px}
.brand-mark{width:37px;height:37px;display:grid;place-items:center;border-radius:11px;background:#59d7b1;color:#0c1821;font-size:23px;font-weight:900}
.brand strong,.brand small{display:block}.brand small{font-size:12px;color:#9cafc2;margin-top:2px}
.header-right{display:flex;gap:16px;align-items:center;font-size:13px}
.status-pill{border:1px solid #567081;border-radius:999px;padding:5px 10px;color:#a9d4d8}
.status-pill.online{border-color:#327d69;background:#153c35;color:#89e4c6}
.status-pill.error{border-color:#9f6e54;background:#482b2a;color:#ffb69e}
main{padding:36px clamp(20px,4vw,64px);max-width:1800px;margin:auto}
.login-panel{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;max-width:950px;margin:10vh auto;padding:40px;background:#182636;border:1px solid #344b61;border-radius:18px;box-shadow:0 24px 70px #02070c77}
.login-panel p,.page-heading p{color:#a8bbcd;line-height:1.5}
.login-panel form{align-self:center}.login-panel label{display:block;font-weight:650;margin-bottom:8px}
.login-actions{display:flex;gap:10px}.login-actions input{flex:1;min-width:0}
.login-methods{display:grid;gap:18px}.login-methods form{display:grid;gap:8px}.login-methods form+form{border-top:1px solid #40566c;padding-top:18px}.login-methods button{margin-top:5px}.login-methods input{width:100%}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.18em;color:#64d2b0}
h1{font-size:clamp(28px,3vw,42px);letter-spacing:-.04em;margin:8px 0 10px}h2{font-size:20px;letter-spacing:-.02em;margin:0}
.page-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}.page-heading p{margin:0}
.muted{color:#91a9bc}.error{color:#ffb49c;font-size:13px;min-height:1.2em}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:22px}
.metric{background:#192838;border:1px solid #31475c;border-radius:13px;padding:18px}
.metric span{display:block;color:#97afc3;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.metric strong{display:block;font-size:30px;margin-top:7px}.metric small{color:#a8bbcd}
.health-strip{display:flex;flex-wrap:wrap;gap:10px;margin:-8px 0 22px;color:#b4c8d9;font-size:12px}
.health-strip span{padding:7px 10px;border-radius:8px;background:#24364a;border:1px solid #415b70}
.health-strip .warn{background:#47382d;border-color:#88684d;color:#ffd1a7}
.board-shell{border:1px solid #33495e;background:#182737;border-radius:15px;overflow:hidden}
.board-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;border-bottom:1px solid #33495e}
.board-heading h2{display:inline-block;margin-right:12px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters input{width:240px}
.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:1000px}
th,td{text-align:left;padding:16px 17px;border-bottom:1px solid #2b4053;vertical-align:middle}
th{font-size:11px;color:#91a9bc;letter-spacing:.09em;text-transform:uppercase;background:#152333}td{font-size:13px}
tbody tr{cursor:pointer}tbody tr:hover{background:#22394a}
td strong,td small{display:block}td small{color:#9db2c6;margin-top:4px}
.badge{display:inline-block;padding:5px 9px;border-radius:7px;border:1px solid #537285;color:#c8dce9;font-size:12px;font-weight:700}
.badge.blocked{color:#ffc49c;border-color:#87614b;background:#49372f}.badge.complete{color:#8ce2c1;border-color:#397967;background:#1b3d37}
.empty{padding:32px;text-align:center;color:#9fb4c8}
.detail{position:fixed;right:0;top:0;bottom:0;width:min(520px,100vw);z-index:5;overflow:auto;background:#142231;border-left:1px solid #476078;box-shadow:-20px 0 65px #0008;padding:26px}
.detail-top{display:flex;justify-content:space-between;align-items:start;gap:14px;margin-bottom:20px}
.detail h3{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#77d6bb;margin:24px 0 10px}
.detail dl{display:grid;grid-template-columns:125px 1fr;gap:9px 12px;font-size:13px}.detail dt{color:#90a8bc}.detail dd{margin:0;overflow-wrap:anywhere}
.detail .item{border-top:1px solid #324659;padding:12px 0;font-size:13px}.detail .item small{display:block;color:#92a9bc;margin-top:5px}
.control-form{display:grid;grid-template-columns:1fr 1fr;gap:9px}.control-form label{grid-column:1/-1;font-size:12px;color:#a7bed0}
.control-form input{grid-column:1/-1}.control-form button{width:100%}.control-form .priority{grid-column:1/-1;display:flex;gap:8px}.control-form .priority input{width:80px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
footer{padding:20px clamp(20px,4vw,64px);color:#728ca1;font-size:12px}
@media(max-width:980px){.board-heading{align-items:start;flex-direction:column}.metrics{grid-template-columns:repeat(2,1fr)}.login-panel{grid-template-columns:1fr;margin:5vh auto}}
@media(max-width:600px){.metrics{grid-template-columns:1fr 1fr}.login-actions{flex-direction:column}.header-right{flex-direction:column;align-items:end;gap:4px}.filters input,.filters select,.filters label{width:100%}}
@media(max-width:600px){.login-panel{padding:22px;margin:16px auto;gap:24px}.login-actions{flex-wrap:wrap}}
