:root{--black:#000000;--white:#FFFFFF;--red:#FF0000;--grey:#212121;--surface:#141414;--surface-2:#1C1C1C;--line:#2B2B2B;--text:#FFFFFF;--text-dim:#9E9E9E}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--black);color:var(--text);font-family:Poppins,-apple-system,Helvetica Neue,Arial,sans-serif;font-weight:300;font-size:14px;line-height:1.5}a,button{color:inherit}button{font-family:inherit;cursor:pointer;background:none;border:none}button:focus-visible,input:focus-visible{outline:2px solid var(--red);outline-offset:2px}input{font-family:inherit}header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:var(--black);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:14px 24px}.wordmark{font-weight:700;letter-spacing:.14em;font-size:15px;text-transform:uppercase;white-space:nowrap;text-decoration:none}.wordmark:after{content:"";display:inline-block;width:8px;height:8px;background:var(--red);margin-left:8px}.hdr-right{flex:1 1;display:flex;justify-content:flex-end;align-items:center;gap:14px}.hdr-user{font-size:11px}.hdr-signout,.hdr-user{font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.hdr-signout{font-size:10px;border:1px solid var(--line);padding:5px 10px;border-radius:2px}.hdr-signout:hover{color:var(--white);border-color:var(--white)}.signin{min-height:calc(100vh - 53px);display:flex;align-items:center;justify-content:center;padding:24px}.signin-card{border:1px solid var(--line);background:var(--surface);padding:36px;max-width:380px;width:100%}.signin-card h1{font-weight:700;font-size:16px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px}.signin-card p{color:var(--text-dim);font-size:13px;margin-bottom:20px}.signin-error{color:var(--red)!important}.jobs-page{max-width:1080px;margin:0 auto;padding:28px 24px 100px}.page-title{font-weight:700;font-size:14px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px;display:flex;align-items:center;gap:10px}.page-title:after{content:"";flex:1 1;height:1px;background:var(--line)}.new-job{display:grid;grid-template-columns:2fr 1fr 1fr auto;grid-gap:8px;gap:8px;margin-bottom:28px;background:var(--surface);padding:14px}.new-job,.new-job input{border:1px solid var(--line);border-radius:2px}.new-job input{background:var(--black);color:var(--white);font-weight:300;font-size:13px;padding:8px 10px}.new-job input::placeholder{color:#555}.jobs-table{width:100%;border-collapse:collapse}.jobs-table th{font-weight:500;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);text-align:left;padding:8px 12px}.jobs-table td,.jobs-table th{border-bottom:1px solid var(--line)}.jobs-table td{padding:11px 12px;font-size:13px}.jobs-table tr:hover td{background:var(--surface)}.jobs-table a{text-decoration:none;font-weight:500}.jobs-table .num{color:var(--red);font-weight:700;white-space:nowrap}.job-prog{display:flex;align-items:center;gap:10px;min-width:140px}.job-prog .prog-track{flex:1 1}.job-prog span{font-size:11px;color:var(--text-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.jobs-empty{padding:28px 12px;color:#555;font-style:italic}.layout{display:grid;grid-template-columns:320px 1fr;min-height:calc(100vh - 53px)}aside{border-right:1px solid var(--line);background:var(--black);padding:24px 20px 40px;position:-webkit-sticky;position:sticky;top:53px;height:calc(100vh - 53px);overflow-y:auto}main.checklist-main{padding:24px 32px 120px;max-width:980px}.panel-label{font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin:26px 0 12px}.panel-label:first-child{margin-top:0}.panel-label:after{content:"";flex:1 1;height:1px;background:var(--line)}.field{margin-bottom:10px}.field label{display:block;font-weight:500;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin-bottom:3px}.field input{width:100%;background:var(--surface);border:1px solid var(--line);color:var(--white);font-weight:300;font-size:13px;padding:7px 10px;border-radius:2px}.field input::placeholder{color:#555}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.info-save{margin-top:4px;width:100%}.patch{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.chan{border:1px solid var(--line);background:var(--surface);border-radius:2px;padding:8px 8px 6px;text-align:left;transition:border-color .15s,background .15s;display:flex;flex-direction:column;gap:5px;min-height:52px}.chan .lamp{width:100%;height:3px;background:var(--red);transition:background .15s}.chan .chan-name{font-weight:500;font-size:10px;letter-spacing:.08em;text-transform:uppercase;line-height:1.3}.chan[aria-pressed=false]{background:var(--black);border-color:var(--grey)}.chan[aria-pressed=false] .lamp{background:var(--grey)}.chan[aria-pressed=false] .chan-name{color:#5a5a5a;text-decoration:line-through;-webkit-text-decoration-color:#5a5a5a;text-decoration-color:#5a5a5a}.chan:hover{border-color:#4a4a4a}.patch-hint{font-size:11px;color:var(--text-dim);margin-top:8px}.prog-nums{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.prog-nums strong{font-weight:700;font-size:26px;letter-spacing:.02em}.prog-nums span{font-weight:500;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.prog-track{height:6px;background:var(--grey);border-radius:0}.prog-fill{height:100%;width:0;background:var(--red);transition:width .4s ease}.activity{display:grid;grid-gap:8px;gap:8px}.activity li{list-style:none;font-size:11.5px;color:var(--text-dim);line-height:1.45}.activity b{color:var(--white);font-weight:500}.activity time{display:block;font-size:10px;color:#555;letter-spacing:.06em}.side-actions{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.btn{border:1px solid var(--line);background:var(--surface);color:var(--white);font-weight:500;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:10px;border-radius:2px;transition:border-color .15s,background .15s;text-align:center;text-decoration:none;display:inline-block}.btn:hover{border-color:var(--white)}.btn.danger:hover{border-color:var(--red);color:var(--red)}.phase-nav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}.phase-nav a{text-decoration:none;color:var(--text-dim);border:1px solid var(--line);font-weight:500;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:2px;transition:color .15s,border-color .15s}.phase-nav a:hover{color:var(--white);border-color:var(--white)}.phase-nav a b{color:var(--red);font-weight:700;margin-right:5px}.phase{margin-bottom:34px}.phase-head{position:-webkit-sticky;position:sticky;top:53px;z-index:20;background:var(--white);color:var(--black);display:flex;align-items:center;gap:14px;padding:9px 14px}.phase-head .idx{font-weight:700;font-size:15px;color:var(--red);letter-spacing:.05em}.phase-head h2{font-weight:700;font-size:13px;letter-spacing:.18em;text-transform:uppercase;flex:1 1}.phase-head .count{font-weight:500;font-size:11px;letter-spacing:.08em;color:var(--grey);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.row{display:grid;grid-template-columns:118px 1fr auto;grid-gap:14px;gap:14px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--black);transition:opacity .2s}.row:hover{background:var(--surface)}.row .item{font-size:13.5px}.row .who{display:block;font-size:10px;color:#555;letter-spacing:.05em;margin-top:2px}.row .dept{font-weight:500;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--line);padding:2px 8px;border-radius:2px;white-space:nowrap}.row.is-complete .item{color:#666;text-decoration:line-through;-webkit-text-decoration-color:#444;text-decoration-color:#444}.row.is-na .item{color:#555;font-style:italic}.status{position:relative}.status-btn{width:118px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:2px;padding:6px 9px;font-weight:500;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);transition:border-color .15s}.status-btn:hover{border-color:var(--white);color:var(--white)}.status-btn .dot{width:8px;height:8px;border:1px solid var(--text-dim);border-radius:0;flex-shrink:0}.s-inprogress .status-btn{color:var(--white)}.s-inprogress .status-btn .dot{background:linear-gradient(90deg,var(--white) 50%,transparent 50%);border-color:var(--white)}.s-blocked .status-btn{color:var(--red);border-color:var(--red)}.s-blocked .status-btn .dot{border-color:var(--red);background:var(--red)}.s-complete .status-btn .dot{background:var(--white);border-color:var(--white)}.s-na .status-btn .dot{border-style:dashed}.status-menu{position:absolute;z-index:30;top:calc(100% + 4px);left:0;width:150px;background:var(--surface-2);border:1px solid var(--line);border-radius:2px;box-shadow:0 10px 30px rgba(0,0,0,.6)}.status-menu button{display:block;width:100%;text-align:left;padding:8px 11px;font-weight:500;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.status-menu button:hover{background:var(--black);color:var(--white)}.status-menu button[data-s=Blocked]:hover{color:var(--red)}.empty-phase{padding:14px;border-bottom:1px solid var(--line);color:#555;font-size:12px;font-style:italic}footer{padding:18px 32px;border-top:1px solid var(--line);color:#555;font-size:11px;display:flex;gap:8px;align-items:center}footer:before{content:"";width:6px;height:6px;background:var(--red)}@media (max-width:860px){.layout{grid-template-columns:1fr}aside{position:static;height:auto;border-right:none;border-bottom:1px solid var(--line)}main.checklist-main{padding:20px 16px 90px}.row{grid-template-columns:104px 1fr}.row .dept{display:none}.status-btn{width:104px}.new-job{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto}}