:root{color-scheme:light;--paper:#f4f6f3;--surface:#fff;--ink:#192f32;--muted:#53676a;--line:#d4deda;--teal:#16665e;--hover:#e4eeea;--amber:#76500b;--red:#973a31;--rail:#e9eeea;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:14px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;display:grid;grid-template-columns:176px minmax(0,1fr);min-height:100vh}button,input,select,textarea{font:inherit}button,input,select,textarea{border:1px solid var(--line);border-radius:4px;min-height:40px}input,select,textarea{background:var(--surface);color:var(--ink);padding:9px 10px;max-width:100%;caret-color:var(--teal)}button{padding:9px 14px;background:var(--teal);border-color:var(--teal);color:white;cursor:pointer;font-weight:600;transition:background-color .16s ease-out}button:hover{background:#0d514b}button:active{background:#093f3a}button:disabled{cursor:not-allowed;opacity:.5}button.secondary,button.quiet{color:var(--ink);background:transparent;border-color:var(--line)}button.secondary:hover,button.quiet:hover{background:var(--hover)}button.danger{color:var(--red);border-color:#d6a49e;background:#fff7f5}button.danger:hover{background:#f8e5e1}a{color:var(--teal);text-underline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:28px;letter-spacing:-.025em;font-weight:650}h2{font-size:18px;letter-spacing:-.015em;font-weight:650}h3{font-size:15px;font-weight:650}p{line-height:1.6;max-width:72ch}label{display:block;font-size:13px;font-weight:600}label input:not([type=checkbox]),label select{display:block;width:100%;margin-top:6px}fieldset{border:1px solid var(--line);margin:0;padding:12px}legend{font-weight:600;font-size:13px}::selection{background:#c7e4dc;color:#143e38}:focus-visible{outline:3px solid #217c71;outline-offset:3px}[hidden]{display:none!important}.muted{color:var(--muted);font-size:13px}.identity-rail{background:var(--rail);border-right:1px solid var(--line);padding:28px 20px;display:flex;flex-direction:column;gap:30px;min-width:0}.brand{font-size:17px;line-height:1.3;font-weight:650}.brand-rule{display:block;margin-top:18px;width:28px;border-top:2px solid var(--teal)}.rail-current{font-weight:650;color:var(--teal)}.identity{margin-top:auto;overflow-wrap:anywhere}.identity p{margin-bottom:8px}.rail-note{font-size:12px;color:var(--muted);line-height:1.6}.page-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 0 24px}.page-header p{margin-top:6px}.connection{font-size:12px;white-space:nowrap;border:1px solid var(--line);padding:6px 10px;border-radius:4px;color:var(--muted)}main{padding:0 32px 40px;min-width:0}.login{background:var(--surface);border-top:2px solid var(--teal);padding:28px;max-width:620px;margin-top:32px}.login p{margin-top:14px}.login form{margin:24px 0;display:grid;gap:10px}.login button{justify-self:start;margin-top:4px}.project-toolbar{display:flex;gap:12px;align-items:center;border-block:1px solid var(--line);padding:16px 0}.project-toolbar select{min-width:220px;max-width:420px;flex:1}.project-toolbar #refresh{margin-left:auto}.capabilities{font-size:12px;color:var(--muted);margin:13px 0 20px;max-width:none}.roster{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(400px,1.2fr);border:1px solid var(--line);background:var(--surface);align-items:start}.campaign-pane{min-width:0}.section-title{padding:20px;display:flex;justify-content:space-between;align-items:center;gap:12px}.filters{padding:0 20px 20px;display:grid;grid-template-columns:1.2fr 1fr;gap:12px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{color:var(--muted);font-weight:500;text-align:left;background:#f4f7f4;padding:11px 14px;border-block:1px solid var(--line)}td{padding:15px 14px;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere}tbody tr.selected{background:#eaf3ef}tbody tr:hover{background:#f0f5f2}.campaign-link{background:none;color:var(--ink);padding:0;border:none;text-align:left;min-height:24px;line-height:1.4;border-radius:0;font-weight:650;overflow-wrap:anywhere}.campaign-link:hover,.campaign-link:active{background:none;color:var(--teal);text-decoration:underline;text-underline-offset:3px}td small{display:block;margin-top:6px;color:var(--muted)}.numeric{font-variant-numeric:tabular-nums;text-align:right}.badge{display:inline-block;font-size:12px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}.badge.warning{color:var(--amber)}.badge.danger{color:var(--red)}.badge.good{color:var(--teal)}.detail-pane{border-left:1px solid var(--line);min-height:540px;padding:24px;min-width:0}.empty{padding:32px 20px;color:var(--muted)}.empty h2{color:var(--ink);margin-bottom:10px}.detail-head{padding-bottom:22px;border-bottom:1px solid var(--line)}.detail-head h2{font-size:23px;overflow-wrap:anywhere;margin-bottom:8px}.detail-head p{margin-top:8px}.facts{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;margin-top:16px}.facts strong{font-variant-numeric:tabular-nums}.detail-section{margin-top:24px}.detail-section>h3{margin-bottom:12px}.detail-section>p{margin-block:8px}.notice,#notice{padding:12px 14px;background:#edf4f0;border:1px solid var(--line);font-size:13px;line-height:1.6;overflow-wrap:anywhere}#notice{margin-bottom:16px}.notice.warning,#notice.warning{background:#fff7e8;color:var(--amber);border-color:#e2cfaa}.notice.error,#notice.error{background:#fff0ed;color:var(--red);border-color:#e8c4bc}.schedule-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}.days{display:flex;flex-wrap:wrap;gap:14px}.check{display:flex;gap:8px;align-items:flex-start;font-weight:400;line-height:1.5}.check input{min-height:18px;width:18px;height:18px;accent-color:var(--teal);flex-shrink:0;margin:1px 0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.pagination{margin:16px 20px}.job-select{width:100%;margin-bottom:12px}.plan-text{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:13px;line-height:1.65;margin:10px 0 0;max-height:420px;overflow:auto;background:#f5f7f4;padding:12px}.draft{border-top:1px solid var(--line);padding:16px 0}.draft h3{overflow-wrap:anywhere}.draft p{margin-top:7px}.review-check{margin-top:18px}.notes{width:100%;margin-top:6px;resize:vertical}.operations{list-style:none;padding:0;margin:12px 0}.operations li{padding:12px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.operations p{font-size:12px;margin-top:5px}.skip{position:absolute;top:-100px;left:20px;z-index:5;background:white;padding:12px}.skip:focus{top:10px}.busy{background:#f3f6f3;min-height:130px}.busy p{padding:24px;color:var(--muted)}details{margin-top:12px}summary{cursor:pointer;color:var(--teal);padding:8px 0;font-size:13px}.retry-note{margin-top:12px}
@media(min-width:1500px){main{padding-inline:44px}.roster{grid-template-columns:minmax(440px,1fr) minmax(520px,1.2fr)}.detail-pane{padding:28px}}
@media(max-width:1100px){body{grid-template-columns:136px minmax(0,1fr)}.identity-rail{padding:24px 14px}main{padding-inline:20px}.roster{grid-template-columns:1fr}.detail-pane{border-left:0;border-top:1px solid var(--line);min-height:320px}}
@media(max-width:600px){body{display:block}.identity-rail{padding:16px 20px;flex-direction:row;align-items:center;gap:16px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:13px}.brand-rule,.rail-note,.rail-current{display:none}.identity{margin:0 0 0 auto;text-align:right}.identity p{margin-bottom:2px;font-size:11px}.identity button{margin-top:5px;min-height:32px;padding:5px 10px}.page-header{padding:22px 0 18px;align-items:flex-start}.page-header h1{font-size:25px}.connection{font-size:10px;padding:5px}.project-toolbar{flex-wrap:wrap}.project-toolbar select{min-width:0;max-width:100%;width:70%}.project-toolbar #refresh{margin-left:0}.filters{grid-template-columns:1fr}.detail-pane{padding:20px}.schedule-form{grid-template-columns:1fr}.login{padding:20px;margin-top:12px}main{padding-inline:16px}.section-title{align-items:flex-start}th,td{padding:12px 10px}.roster{display:block}.facts{gap:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(min-width:601px){.identity-rail{position:sticky;top:0;height:100vh;overflow:auto}}
.brand-tagline{display:block;margin-top:6px;font-size:11px;font-weight:400;color:var(--muted);line-height:1.5}
