.ve-list{border-top:1px solid var(--border, #d8e3de)}.ve-volunteer{border-bottom:1px solid var(--border, #d8e3de)}.ve-volunteer summary{display:flex;align-items:center;gap:16px;min-height:64px;padding:12px 0;list-style:none;cursor:pointer;color:var(--ink, #183532)}.ve-volunteer summary::-webkit-details-marker{display:none}.ve-volunteer summary:focus-visible{outline:3px solid var(--action, #17634d);outline-offset:4px;border-radius:4px}.ve-name{font-size:16px;font-weight:650}.ve-summary{margin-left:auto;color:#536a62;font-size:13px;font-variant-numeric:tabular-nums}.ve-summary span{margin-inline:7px;color:#8a9b93}.ve-chevron{width:20px;height:20px;flex:0 0 20px;transition:transform .15s cubic-bezier(.2,0,0,1)}.ve-volunteer[open] .ve-chevron{transform:rotate(180deg)}.ve-form{padding:4px 0 24px;max-width:760px}.ve-fieldset{padding:0;margin:0 0 24px;border:0;min-width:0}.ve-fieldset legend,.ve-preference>label{padding:0;font-size:14px;font-weight:650;line-height:1.5}.ve-kind{display:inline;margin-left:8px;font-size:12px;font-weight:500;color:#536a62}.ve-kind-soft{color:#78510d}.ve-help{margin:6px 0 12px;color:#536a62;font-size:13px;line-height:1.55;max-width:70ch}.ve-capabilities{display:flex;flex-wrap:wrap;gap:8px 12px}.ve-check{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid var(--border, #d8e3de);border-radius:8px;background:#fff;color:var(--ink, #183532);font-size:14px;cursor:pointer}.ve-check:has(input:checked){background:#edf5ef;border-color:#abcaba}.ve-check input{width:18px;height:18px;margin:0;accent-color:var(--action, #17634d)}.ve-windows{display:grid;gap:12px}.ve-window{display:grid;grid-template-columns:80px minmax(100px,144px) minmax(100px,144px) auto;gap:12px;align-items:end;max-width:590px}.ve-window-label{align-self:center;color:#536a62;font-size:13px;padding-top:18px}.ve-window label{display:grid;gap:6px;color:#536a62;font-size:12px}.ve-form input[type=text],.ve-form input[type=number]{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:9px 12px;border:1px solid #b3c6bc;border-radius:8px;background:#fff;color:var(--ink, #183532);font-family:inherit;font-size:16px;font-variant-numeric:tabular-nums}.ve-form input:focus-visible,.ve-form button:focus-visible{outline:3px solid var(--action, #17634d);outline-offset:3px}.ve-form button{min-height:44px;padding:10px 14px;border:1px solid #b3c6bc;border-radius:8px;font-size:13px;font-weight:600;line-height:1.4;font-family:inherit;cursor:pointer;transition:background-color .12s ease-out,transform .12s ease-out}.ve-form button:active:not(:disabled){transform:scale(.96)}.ve-remove,.ve-add{color:var(--ink, #183532);background:#fff}.ve-remove:hover,.ve-add:hover{background:#edf5ef}.ve-add{margin-top:12px}.ve-empty{margin:0 0 12px;font-size:14px;color:#8a480f}.ve-preference{margin-bottom:24px}.ve-preferred-input{display:flex;align-items:center;gap:12px;font-size:14px;color:#536a62}.ve-preferred-input input{max-width:128px}.ve-errors{background:#fff0f0;border-left:3px solid #a02e39;color:#84222d;padding:12px 16px;margin:0 0 16px;font-size:14px;line-height:1.55}.ve-errors p{margin:0;font-weight:600}.ve-errors ul{margin:6px 0 0;padding-left:18px}.ve-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:16px;border-top:1px solid var(--border, #d8e3de)}.ve-actions>span{font-size:13px;color:#536a62}.ve-form .ve-save{background:var(--action, #17634d);border-color:var(--action, #17634d);color:#fff}.ve-form .ve-save:hover:not(:disabled){background:#0f4c3a}.ve-form button:disabled{cursor:default;opacity:.5}@media(max-width:600px){.ve-volunteer summary{flex-wrap:wrap;gap:4px 12px;padding-block:14px}.ve-name{flex-basis:calc(100% - 32px);order:0}.ve-summary{margin-left:0;order:2;flex-basis:100%;font-size:12px}.ve-chevron{order:1}.ve-window{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px}.ve-window-label{grid-column:1 / -1;padding-top:0}.ve-remove{padding-inline:10px!important}.ve-capabilities{gap:8px}.ve-check{flex:1 0 auto}.ve-actions{align-items:stretch;flex-direction:column;gap:10px}}@media(prefers-reduced-motion:reduce){.ve-chevron,.ve-form button{transition:none}.ve-form button:active:not(:disabled){transform:none}}.rf-files{margin-top:0;margin-bottom:28px;padding-top:0;border-top:0}.rf-files-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.rf-files-heading h2{font-size:21px;letter-spacing:-.5px}.rf-files-heading p{color:var(--muted, #536a62);font-size:13px;line-height:1.7;margin-top:7px;max-width:65ch}.rf-format{color:var(--muted, #536a62);font-size:12px;white-space:nowrap;padding-top:3px}.rf-privacy{color:var(--muted, #536a62);font-size:12px;line-height:1.7;max-width:83ch;margin-top:14px}.rf-file-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px}.rf-file-actions button,.rf-picker{min-height:44px;font-size:13px}.rf-picker{display:inline-flex;align-items:center;justify-content:center;position:relative;padding:10px 16px;border:1px solid #bbcec4;border-radius:8px;background:#fff;color:#244c40;font-weight:650;line-height:1.35;cursor:pointer;transition:background-color .12s ease-out}.rf-picker:hover:not(.rf-picker-disabled){background:#f0f6f2}.rf-picker:focus-within{outline:3px solid #c9892d;outline-offset:4px}.rf-picker input{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;opacity:0;overflow:hidden;cursor:inherit}.rf-picker-disabled{cursor:default;opacity:.5}.rf-file-help{color:var(--muted, #536a62);font-size:12px;line-height:1.7;margin-top:12px;max-width:85ch}.rf-reading,.rf-export-note{color:#244c40;font-size:13px;line-height:1.6;margin-top:14px}.rf-file-error{color:#84222d;font-size:13px;line-height:1.7;background:#fff0f0;border-left:3px solid #a02e39;margin-top:16px;padding:12px 16px;max-width:85ch;overflow-wrap:anywhere}.rf-file-error ul{margin:8px 0;padding-left:20px}.rf-file-error p{margin-top:8px}.rf-issue-path{font-weight:650}.rf-dialog{color:var(--ink, #183532);background:#fff;border:1px solid #cbdbcf;border-radius:16px;padding:0;width:min(580px,calc(100vw - 32px));max-height:calc(100dvh - 32px);max-width:calc(100vw - 32px);overflow:hidden;box-shadow:0 16px 60px #123b3a33}.rf-dialog::backdrop{background:#102d29a6}.rf-dialog-content{padding:28px;max-height:calc(100dvh - 34px);display:flex;flex-direction:column}.rf-dialog-scroll{overflow-y:auto;min-height:0;overscroll-behavior:contain;padding:2px 4px 2px 0}.rf-dialog-scroll:focus-visible{outline:3px solid var(--action, #17634d);outline-offset:2px}.rf-dialog h2{font-size:24px;line-height:1.3;letter-spacing:-.6px;flex-shrink:0}.rf-dialog-intro{font-size:14px;color:var(--muted, #536a62);line-height:1.7;margin-top:12px}.rf-preview{margin:20px 0;padding:4px 16px;border:1px solid var(--border, #d8e3de);border-radius:8px;background:#f8faf8}.rf-preview>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid var(--border, #d8e3de);font-size:13px;line-height:1.6}.rf-preview>div:last-child{border-bottom:0}.rf-preview dt{color:var(--muted, #536a62)}.rf-preview dd{margin:0;font-weight:600;overflow-wrap:anywhere}.rf-file-size{color:var(--muted, #536a62);font-size:12px;font-weight:400}.rf-import-warnings{padding:16px;background:#fff5e4;border-left:3px solid #a46a19;color:#805016;font-size:13px;line-height:1.65}.rf-import-warnings h3{font-size:15px;letter-spacing:-.1px}.rf-import-warnings p{margin-top:7px}.rf-import-warnings ul{padding-left:20px;margin:12px 0;overflow-wrap:anywhere}.rf-import-warnings li+li{margin-top:5px}.rf-acknowledge{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding-top:10px;margin-top:12px;border-top:1px solid #e5cfac;font-weight:600;cursor:pointer}.rf-acknowledge input{width:18px;height:18px;flex:0 0 18px;margin:3px 0 0;accent-color:var(--action, #17634d)}.rf-dialog-privacy{color:var(--muted, #536a62);font-size:12px;line-height:1.7;margin-top:16px}.rf-import-error{color:#84222d;font-size:13px;line-height:1.7;margin-top:16px}.rf-import-error:focus-visible{outline:3px solid #c9892d;outline-offset:2px}.rf-dialog-actions{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--border, #d8e3de);padding-top:20px;margin-top:20px;flex-shrink:0}.rf-dialog-actions button{min-height:44px;min-width:96px;font-size:13px}@media(max-width:700px){.rf-files-heading{display:block}.rf-format{display:block;margin-top:12px;padding-top:0}.rf-files-heading h2{font-size:22px}.rf-file-actions{align-items:stretch;gap:10px}.rf-file-actions button,.rf-picker{flex:1 1 145px}.rf-file-help{font-size:12px}.rf-dialog-content{padding:22px 18px}.rf-dialog h2{font-size:22px}.rf-preview{padding-inline:12px}.rf-preview>div{grid-template-columns:minmax(0,1fr);gap:2px;padding-block:10px}.rf-dialog-actions{flex-wrap:wrap}.rf-dialog-actions button{flex:1 1 120px}}@media(prefers-reduced-motion:reduce){.rf-picker{transition:none}}.repair-preview{min-width:0;background:#fff;border:1px solid #aac9b8;border-radius:14px;overflow:hidden;margin-bottom:28px;box-shadow:0 4px 18px #123b3a08}.preview-heading{padding:22px 22px 18px;background:#e9f2eb;display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.preview-eyebrow{display:flex;gap:7px;align-items:center;color:#386049;font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.preview-heading h2{font-size:23px;letter-spacing:-.7px}.preview-heading>div>p:last-child{font-size:12px;color:#466453;margin-top:8px;max-width:44ch;line-height:1.7}.preview-stamp{flex:none;font-size:10px;font-weight:650;border:1px solid #a8c8af;border-radius:5px;padding:4px 7px;color:#365c44;background:#f5faf4;white-space:nowrap}.preview-toolbar{display:flex;align-items:flex-end;gap:12px;padding:18px 20px 0}.preview-selector{flex:1;min-width:0}.preview-toolbar label{display:block;font-size:11px;font-weight:650}.preview-toolbar select{display:block;width:100%;min-height:44px;padding:8px 10px;margin-top:6px;background:#fff;color:var(--ink);border:1px solid #a9c1b2;border-radius:7px;font-size:12px;max-width:100%}.preview-filter{transition:transform .12s ease-out;min-height:44px;background:#f5f8f5;border-color:#cfdfd3;color:#3c5c49;flex:none;padding:9px 12px;font-size:11px}.preview-filter[aria-pressed=true]{background:#1f6048;color:#fff;border-color:#1f6048}.preview-filter span{display:grid;place-items:center;min-width:19px;height:19px;border:1px solid currentColor;border-radius:50%;font-size:10px}.preview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 20px 0;padding:15px 0;border-block:1px solid #dfebe2}.preview-metrics dt{font-size:10px;color:#536a62}.preview-metrics dd{margin:3px 0 0;font-size:25px;letter-spacing:-.8px;line-height:1.3;font-weight:600}.preview-metrics dd span{font-size:13px;font-weight:400;letter-spacing:0;color:#536a62}.preview-help{font-size:11px;color:#536a62;margin:16px 20px 8px;line-height:1.7}.preview-axis{margin:0 20px 6px;display:flex;justify-content:space-between;font-size:10px;color:#536a62}.preview-roles{margin:0 12px}.preview-role{border-top:1px solid #e1e9e3;min-width:0}.preview-role summary{list-style:none;cursor:pointer;padding:15px 10px;border-left:3px solid transparent;min-height:44px;transition:background-color .12s ease-out}.preview-role summary::-webkit-details-marker{display:none}.preview-role summary:hover{background:#f4f8f4}.preview-role[open] summary{background:#f1f7f1}.preview-changed summary{border-left-color:#337657;background:#f7fbf5}.preview-open summary{border-left-color:#a96a22;background:#fffaf0}.preview-role-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.preview-role-top>strong{font-size:13px;overflow-wrap:anywhere}.preview-state{display:inline-flex;align-items:center;gap:3px;flex:none;font-size:10px;color:#496651}.preview-changed .preview-state{color:#21623e;font-weight:650}.preview-open .preview-state{color:#83511b}.preview-time{display:flex;gap:12px;align-items:center;font-size:10px;color:#536a62;margin-top:6px}.preview-track{display:block;position:relative;height:4px;flex:1;background:#edf2ed;border-radius:3px;overflow:hidden}.preview-track>span{position:absolute;inset-block:0;border-radius:3px;background:#a6bdae}.preview-changed .preview-track>span{background:#528a62}.preview-open .preview-track>span{background:#bf965a}.preview-people{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);gap:12px;margin-top:12px;align-items:center}.preview-people>span{min-width:0}.preview-people small{display:block;font-size:10px;color:#536a62;margin-bottom:2px}.preview-people b{font-size:12px;font-weight:550;overflow-wrap:anywhere;display:block}.preview-changed .preview-people>span:last-child b{color:#21623e;font-weight:650}.preview-expand{display:flex;justify-content:space-between;font-size:10px;color:#456a50;margin-top:9px}.preview-expand>span{font-size:15px;line-height:1}.preview-role[open] .preview-expand>span{transform:rotate(45deg)}.preview-explanation{padding:2px 14px 15px 25px;font-size:11px;color:#45604f;line-height:1.8}.preview-explanation p+p{margin-top:8px}.preview-explanation strong{font-weight:650}.preview-footnote,.preview-no-changes{font-size:11px;line-height:1.7;color:#536a62;margin:15px 20px}.preview-review-link{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:13px 20px;border-top:1px solid #cfdfd3;background:#f3f8f2;font-size:12px;font-weight:650;color:#285c3d}.preview-review-link:hover{text-decoration:underline;text-underline-offset:3px}.repair-preview summary:focus-visible{outline-offset:-3px}@media(max-width:1020px){.workspace-grid .repair-preview{order:1}.workspace-grid .schedule-section{order:3}.workspace-grid .repair-panel{order:2}.workspace-grid .policy{order:4}.repair-preview{margin-bottom:0}}@media(max-width:700px){.preview-heading{padding:18px 16px;flex-wrap:wrap}.preview-heading h2{font-size:22px}.preview-stamp{order:-1}.preview-heading>div{flex-basis:100%}.preview-toolbar{padding:16px 16px 0;flex-wrap:wrap;align-items:stretch}.preview-selector{flex-basis:100%}.preview-toolbar select{font-size:11px}.preview-filter{width:100%;justify-content:space-between}.preview-metrics{margin-inline:16px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.preview-metrics dt{font-size:10px}.preview-metrics dd{font-size:23px}.preview-help,.preview-footnote{margin-inline:16px}.preview-roles{margin-inline:8px}.preview-role-top{gap:8px;flex-wrap:wrap}.preview-state{font-size:10px}.preview-people{gap:8px}.preview-role summary{padding:15px 8px}.preview-explanation{padding-left:19px;overflow-wrap:anywhere}.preview-review-link{padding-inline:16px}}@media(prefers-reduced-motion:reduce){.preview-role summary{transition:none}}:root{font-family:Segoe UI,Arial,sans-serif;color:#183532;background:#f2f5f3;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink:#183532;--action:#17634d;--border:#d8e3de;--muted:#536a62;font-variant-numeric:tabular-nums;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:8px;border:1px solid transparent;font-size:13px;font-weight:650;line-height:1.35;transition:background-color .12s ease-out,transform .12s ease-out}button:active:not(:disabled){transform:scale(.96)}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #c9892d;outline-offset:4px}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}h2{font-size:20px;letter-spacing:-.45px;line-height:1.25}h3{font-size:18px;letter-spacing:-.3px;line-height:1.35}small{font-size:12px}strong{font-weight:650}.primary{color:#fff;background:#17634d;box-shadow:0 2px 3px #123b3a14}.primary:hover:not(:disabled){background:#104d3a}.secondary{background:#fff;border-color:#bbcec4;color:#244c40}.secondary:hover:not(:disabled){background:#f0f6f2}.text-button{background:transparent;color:#536a62;padding-inline:8px}.text-button:hover:not(:disabled){color:#a02e39;background:#fff1ef}.muted{color:var(--muted)}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.event-rail{background:#123b3a;color:#eaf3ed;padding:34px 24px 24px;display:flex;flex-direction:column;position:relative}.brand{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:650;letter-spacing:-.8px}.brand-mark{width:26px;height:25px;display:flex;gap:3px;align-items:center;transform:rotate(-12deg)}.brand-mark span{display:block;height:21px;width:6px;border-radius:2px;background:#b3d7bb}.brand-mark span:nth-child(2){height:15px}.brand-mark span:nth-child(3){height:10px}.rail-content{margin-top:55px}.rail-caption{color:#9dbdb2;font-size:12px;margin-bottom:8px}.rail-content h2{font-size:23px;font-weight:550;line-height:1.3;letter-spacing:-.5px}.event-date{font-size:13px;color:#b5cec3;line-height:1.8;margin-top:16px}.event-rule{height:1px;background:#3a5c54;margin:28px 0 22px}.rail-link{display:flex;align-items:center;gap:10px;min-height:46px;padding:10px 12px;margin-inline:-12px;font-size:14px;border-radius:7px;color:#c3d8ce}.rail-link.active{background:#264f47;color:#fff}.rail-link:not(.active):hover{background:#20483f}.rail-link span{margin-left:auto;color:#b9d4c3}.demo-selector{margin-top:44px}.demo-selector label{display:block;color:#c4dbce;font-size:12px;font-weight:600;margin-bottom:8px}.demo-selector select{width:100%;min-height:44px;border:1px solid #55766b;border-radius:7px;color:#ecf6ef;background:#224b43;padding:8px;font-size:13px}.demo-selector p{font-size:12px;color:#b7cfc4;margin-top:12px;line-height:1.7}.rail-reset{margin-top:10px;background:transparent;color:#d2e6d8;padding-left:0;font-size:12px;text-decoration:underline;text-underline-offset:4px}.rail-footer{margin-top:auto;padding-top:64px;font-size:12px;color:#d2e8da}.rail-footer p{color:#9fbeaf;margin-top:10px;line-height:1.7}.local-dot{display:inline-block;width:7px;height:7px;background:#b1dcb2;border-radius:50%;margin-right:7px}.skip-link{position:fixed;top:8px;left:-10000px;padding:10px 16px;background:#fff;border-radius:4px;z-index:99}.skip-link:focus{left:8px}main{max-width:1700px;padding:43px 44px 0;width:100%;min-width:0}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.page-header h1{font-size:40px;font-weight:600;letter-spacing:-1.8px;line-height:1.16}.page-header h1 span{color:#477164}.page-header p{font-size:14px;color:#536a62;margin-top:17px;max-width:52ch}.undo-button{margin-top:8px;white-space:nowrap;background:transparent}.workflow{list-style:none;display:flex;align-items:center;gap:24px;padding:0;margin:32px 0 18px;font-size:12px;color:#536a62}.workflow li{display:flex;align-items:center;gap:8px}.workflow li span{display:grid;place-items:center;width:23px;height:23px;border:1px solid #b5c8bd;border-radius:50%;font-weight:650}.workflow .done{color:#396551}.workflow .done span{background:#dcebe0;border-color:#dcebe0}.workflow .current{color:#183532;font-weight:650}.workflow .current span{border-color:#34694f}.notice{display:flex;align-items:center;gap:10px;min-height:42px;padding:10px 0;border-top:1px solid #d8e3de;border-bottom:1px solid #d8e3de;font-size:12px;color:#4d675b;margin-bottom:25px;line-height:1.6}.status-dot{width:7px;height:7px;background:#448467;border-radius:50%;flex:none}.status-dot.amber{background:#b56d20}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 352px;gap:28px;align-items:start}.roster-column{min-width:0}.demo-action{background:#e8eee9;padding:19px 20px;border-radius:10px;display:flex;flex-wrap:wrap;align-items:center;gap:15px;justify-content:space-between;margin-bottom:28px}.demo-action strong{font-size:14px}.demo-action p{font-size:12px;color:#536a62;margin-top:5px}.demo-action button{font-size:12px;min-height:40px;background:#f9fcf9;padding:9px 12px}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.section-heading p{font-size:12px;color:#536a62;margin-top:7px}.count{font-size:12px;white-space:nowrap;color:#536a62;line-height:26px}.roster-table{width:100%;background:#fff;border-radius:10px;overflow:hidden;border:1px solid var(--border)}.roster-head,.roster-row{display:grid;grid-template-columns:minmax(135px,1fr) minmax(150px,.9fr) 118px;align-items:center;gap:12px;padding:17px 18px}.roster-head{background:#f8faf8;color:#61776a;font-size:11px;min-height:42px;padding-block:12px}.roster-row{border-top:1px solid #e3ebe5;min-height:112px}.roster-row strong{display:block;font-size:13px}.shift-time{display:block;font-size:11px;color:#61776a;margin-bottom:3px;letter-spacing:.1px}.requirement{display:block;font-size:11px;color:#61776a;margin-top:5px}.assignee{display:flex;align-items:center;gap:10px}.assignee small{display:block;font-size:10px;color:#536a62;margin-top:4px}.avatar{display:grid;place-items:center;border:1px solid #d1dfd4;background:#f0f4ef;width:31px;height:31px;border-radius:50%;font-size:10px;color:#466e58;flex:none;font-weight:600}.avatar.empty{background:#fff3df;border-color:#eed7af;color:#9a5a17}.is-open{background:#fffaf0}.is-open .assignee strong{color:#8a480f}.row-actions{display:flex;align-items:center;gap:0;justify-content:flex-end;flex-wrap:wrap}.pin-button{min-height:36px;font-size:10px;gap:4px;background:transparent;color:#536a62;padding:8px}.pin-button svg{width:13px;height:13px}.pin-button:hover{background:#eaf2ec}.pin-button.is-pinned{color:#365e47;background:#eaf2ec}.cancel-button{min-height:36px;font-size:10px;padding:8px}.absence-note{display:flex;gap:10px;padding:15px 3px;color:#78501c;font-size:11px}.absence-note .status-dot{margin-top:5px}.absence-note p{display:flex;flex-wrap:wrap;gap:6px 12px}.policy{padding:32px 2px 4px}.policy h2{font-size:21px;letter-spacing:-.65px}.policy ol{padding:0;margin:20px 0 0;list-style:none;counter-reset:policy}.policy li{position:relative;padding-left:30px;margin-bottom:18px;counter-increment:policy}.policy li:before{content:counter(policy);position:absolute;left:0;top:0;font-size:11px;color:#456c54;border:1px solid #bcd1c1;width:19px;height:19px;border-radius:5px;text-align:center;line-height:17px}.policy li strong{display:block;font-size:12px}.policy li span{display:block;font-size:11px;color:#536a62;margin-top:5px;max-width:61ch;line-height:1.7}.policy>p{font-size:11px;color:#536a62;max-width:65ch;line-height:1.7;padding-top:7px}.repair-panel{background:#fff;border:1px solid #cbdbcf;border-radius:16px;box-shadow:0 5px 20px #123b3a05;overflow:hidden}.panel-top{display:flex;align-items:center;gap:12px;padding:22px 24px;background:#eaf1e9;border-bottom:1px solid #d4e3d3}.panel-top h2{font-size:22px}.panel-top p{font-size:11px;color:#536a62;margin-top:5px}.branch-symbol{color:#4c7656}.repair-body{padding:22px 22px 18px}.repair-empty h3{font-size:22px;line-height:1.4;letter-spacing:-.8px;max-width:21ch}.repair-empty p{font-size:13px;color:#617669;margin-top:13px;line-height:1.8}.empty-chain{display:flex;gap:9px;align-items:center;color:#536a62;margin:30px 0 32px;font-size:10px;white-space:nowrap}.empty-chain span{padding:8px 7px;border:1px dashed #afc8b4;border-radius:5px;color:#4c6956}.empty-chain svg{width:13px;flex:none}.find-button{width:100%;font-size:13px;margin-top:12px}.hard-rule-note{text-align:center;font-size:10px;color:#536a62;margin-top:10px}.search-summary{display:flex;gap:8px;padding:12px;border-radius:8px;font-size:12px;background:#edf6ed;color:#2c5f3d}.search-summary svg{flex:none;margin-top:1px;width:16px}.search-summary strong{font-size:13px;display:block}.search-summary span{display:block;margin-top:5px;font-size:11px;line-height:1.6}.search-summary.partial{background:#fff4df;color:#805016}.search-summary.invalid{background:#fff0f0;color:#912c39}.conflicts{font-size:12px;color:#912c39;margin:16px 0;padding-left:18px;line-height:1.7}.options{border:0;padding:0;margin:22px 0 20px;min-width:0}.options legend{font-size:13px;font-weight:650;margin-bottom:12px}.option{display:flex;gap:9px;align-items:flex-start;padding:12px;margin-bottom:8px;border:1px solid #d8e3de;border-radius:8px;cursor:pointer;transition:border-color .12s ease-out,background-color .12s ease-out}.option.selected{border-color:#3b8054;box-shadow:inset 0 0 0 1px #3b8054;background:#f6faf5}.option input{margin:3px 0 0;accent-color:#17634d;width:15px;height:15px;flex:none}.option-content{display:block;min-width:0}.option-content strong{display:block;font-size:12px}.option-content>span{display:block;font-size:10px;color:#536a62;margin-top:5px;line-height:1.7}.metric-divider{margin:0 4px;color:#9eada3}.option-content small{display:block;font-size:10px;color:#536a62;margin-top:4px}.plan-detail{animation:result-enter .22s cubic-bezier(.2,0,0,1)}.plan-detail h3{font-size:14px}.change-list{padding:0 0 0 6px;margin:17px 0 23px;list-style:none}.change-list li{display:flex;gap:15px;position:relative;padding-bottom:19px}.change-list li:last-child{padding-bottom:0}.change-list li:not(:last-child):before{position:absolute;content:"";height:calc(100% - 11px);width:1px;background:#c2d6c5;top:13px;left:4px}.change-marker{flex:none;width:9px;height:9px;border-radius:50%;border:2px solid #659873;background:#fff;margin-top:5px;position:relative}.change-list strong{font-size:12px;display:block}.change-list small{font-size:10px;color:#536a62;display:block;margin:2px 0 8px}.change-people{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:11px;line-height:1.7}.change-people b{font-weight:600;color:#205e3b}.old-person{color:#536a62;text-decoration:line-through;text-decoration-color:#bbc9bf}.load-details,.candidate-details{font-size:11px;border-top:1px solid #e1e9e2;padding-top:12px;margin-top:12px}.load-details summary,.candidate-details summary{min-height:34px;cursor:pointer;color:#456853;font-size:11px;font-weight:600;line-height:1.7}.load-details p,.candidate-details p{font-size:11px;line-height:1.7;color:#61766a;margin:8px 0 12px}.load-table>div{display:grid;grid-template-columns:1fr auto;font-size:11px;gap:2px 8px;padding:8px 0;border-bottom:1px solid #e4ebe6}.load-table small{font-size:10px;grid-column:1/-1;color:#536a62}.candidate-details h4{font-size:12px;margin-top:13px}.candidate-details ul{list-style:none;margin:10px 0;padding:0}.candidate-details li{padding:9px 0;border-bottom:1px solid #e5ece6}.candidate-details li strong,.candidate-details li span{display:block;font-size:10px}.candidate-details li span{color:#61766a;margin-top:3px;line-height:1.7}.apply-button{margin-top:18px;width:100%}.apply-note{font-size:10px;color:#536a62;margin-top:8px;text-align:center}.unfilled{background:#fff7e7;padding:12px;border-left:2px solid #c48a36;font-size:11px;color:#805016;margin:16px 0}.unfilled p{margin-top:5px;line-height:1.7}.search-meta{font-size:9px;color:#536a62;margin-top:16px}.search-state{padding:12px 0 28px}.search-state h3{font-size:18px}.search-state p{font-size:12px;margin-top:12px;color:#617669;line-height:1.8}.search-indicator{display:block;width:26px;height:4px;background:#438662;border-radius:3px;margin-bottom:16px;animation:search-pulse .6s ease-in-out infinite alternate}.constraint-alert{color:#912c39;font-size:12px}.constraint-alert p{margin-top:10px}.inputs-section{margin-top:45px;padding-top:30px;border-top:1px solid var(--border)}.inputs-section .section-heading{margin-bottom:24px}.inputs-section h2{font-size:25px;letter-spacing:-.7px}.shift-editor{margin-top:24px;background:#e9efea;padding:12px 18px;border-radius:8px;font-size:12px}.shift-editor summary{cursor:pointer;font-weight:600;min-height:24px;line-height:24px}.shift-editor p{margin-top:10px;font-size:12px;line-height:1.7;max-width:70ch}.shift-editor .field-label{display:flex;align-items:center;gap:14px;margin:20px 0;font-size:12px}.field-label select{min-height:44px;padding:8px;border:1px solid #b1c5b7;border-radius:7px;background:#fff;font-size:13px;color:#183532}.shift-editor fieldset{border:0;padding:0;margin:0}.shift-editor legend{font-weight:600;font-size:12px;margin-bottom:10px}.capability-checks{display:flex;flex-wrap:wrap;gap:10px}.capability-checks label{min-height:44px;display:flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #bfd0c4;border-radius:6px;background:#fff;font-size:12px;cursor:pointer}.capability-checks input{accent-color:#17634d}.page-footer{margin-top:45px;padding:24px 0 28px;border-top:1px solid var(--border);color:#536a62;display:flex;justify-content:space-between;gap:24px;font-size:10px}.page-footer strong{font-weight:550;white-space:nowrap}.page-footer p{text-align:right}.ve-name{letter-spacing:-.2px}@keyframes result-enter{0%{transform:translateY(4px)}to{transform:translateY(0)}}@keyframes search-pulse{0%{transform:scaleX(.5);opacity:.5}to{transform:scaleX(1);opacity:1}}@media(min-width:1600px){main{padding-inline:64px}.workspace-grid{grid-template-columns:minmax(0,1fr) 390px;gap:40px}.roster-head,.roster-row{grid-template-columns:1fr 1fr 140px}.row-actions{flex-wrap:nowrap;gap:8px}.row-actions button{font-size:12px}.roster-row{min-height:116px}.roster-row strong{font-size:14px}.repair-body{padding:24px 26px}}@media(max-width:1250px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.event-rail{padding-inline:21px}main{padding:32px 28px 0}.workspace-grid{gap:22px;grid-template-columns:minmax(0,1fr) 310px}.roster-head,.roster-row{grid-template-columns:minmax(130px,1fr) minmax(130px,1fr);padding-inline:15px}.roster-head span:last-child{display:none}.row-actions{grid-column:1/-1;justify-content:flex-end;margin-top:-6px;gap:8px}.row-actions button{min-height:32px}.roster-row{gap:8px 10px;min-height:132px}.page-header h1{font-size:36px}.repair-body{padding:20px 18px}.panel-top{padding:22px 18px}.page-header p{font-size:13px}.undo-button{font-size:11px;padding:10px}.workflow{gap:16px;font-size:11px}.empty-chain{gap:6px}}@media(max-width:1020px){.app-shell{grid-template-columns:180px minmax(0,1fr)}.event-rail{padding:27px 18px}.brand{font-size:20px;gap:8px}.brand-mark{width:20px}.rail-content h2{font-size:20px}.rail-link{font-size:12px}.workspace-grid{grid-template-columns:minmax(0,1fr)}.repair-panel{margin-top:10px}.repair-empty{max-width:470px}.repair-empty h3{max-width:none}.empty-chain{justify-content:flex-start;font-size:12px}.repair-panel .find-button{max-width:100%}.roster-head,.roster-row{grid-template-columns:1fr 1fr 125px;gap:10px}.roster-head span:last-child{display:block}.row-actions{grid-column:auto;margin:0;gap:0}.roster-row{min-height:107px}.page-header{display:block;position:relative}.undo-button{margin-top:18px}.policy{padding-top:30px}.workflow{flex-wrap:wrap;gap:12px;font-size:10px;margin-top:22px}.page-header h1{font-size:38px}.repair-body{padding:24px}.panel-top{padding:22px 24px}.options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.options legend{grid-column:1/-1}.option{margin:0}.page-footer{display:block}.page-footer p{text-align:left;margin-top:8px}}@media(max-width:700px){.app-shell{display:block}.event-rail{padding:19px 20px 20px}.brand{font-size:22px}.rail-content{margin-top:23px}.rail-caption,.event-rule,.event-date,.rail-content nav,.rail-footer{display:none}.rail-content h2{font-size:17px;display:inline}.demo-selector{margin-top:14px;display:grid;grid-template-columns:1fr auto;gap:8px 12px}.demo-selector label{font-size:11px;grid-column:1/-1;margin:0}.demo-selector select{font-size:12px;min-height:42px}.demo-selector p{grid-column:1/-1;margin:0;font-size:11px;max-width:65ch;line-height:1.7}.rail-reset{grid-column:2;grid-row:2;margin:0;padding:8px 0;white-space:nowrap;font-size:11px}main{padding:28px 20px 0}.page-header h1{font-size:36px;letter-spacing:-1.4px}.page-header p{font-size:13px;max-width:42ch;margin-top:13px}.undo-button{font-size:12px;min-height:44px;margin-top:16px}.workflow{margin:25px 0 16px;gap:10px 16px}.workflow li{gap:6px;font-size:10px}.workflow li span{width:20px;height:20px}.notice{font-size:11px;align-items:flex-start;padding-block:12px;margin-bottom:20px}.notice .status-dot{margin-top:5px}.demo-action{padding:17px;gap:14px;margin-bottom:25px}.demo-action strong{font-size:13px}.demo-action p{font-size:11px}.demo-action button{min-height:44px}.section-heading{margin-bottom:17px;gap:12px}.section-heading h2{font-size:21px}.section-heading p{font-size:11px;line-height:1.7;max-width:30ch}.count{font-size:11px}.roster-head{display:none}.roster-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:18px 16px;gap:15px 10px;min-height:153px}.roster-row:first-child{border-top:0}.roster-row strong{font-size:12px}.assignee{gap:8px;align-items:flex-start;padding-top:3px}.avatar{width:27px;height:27px;font-size:9px}.assignee small{font-size:9px}.requirement,.shift-time{font-size:10px}.row-actions{grid-column:1/-1;gap:16px;margin-top:-7px;justify-content:flex-end}.row-actions button{min-height:44px;font-size:11px}.row-actions .pin-button{padding-inline:12px;gap:6px}.pin-button svg{width:14px;height:14px}.row-actions .cancel-button{padding-inline:12px}.policy{padding:30px 0 10px}.policy li strong{font-size:12px}.policy li span{font-size:11px}.workspace-grid{gap:20px}.repair-panel{margin-top:0}.repair-body{padding:22px 20px}.panel-top{padding:21px 20px}.repair-empty h3{font-size:23px;max-width:22ch}.repair-empty p{font-size:13px}.empty-chain{font-size:11px;gap:10px;margin-block:24px}.empty-chain span{padding:8px 9px}.options{display:block}.option{margin-bottom:9px;min-height:87px}.option-content>span,.option-content small{font-size:11px}.option-content strong{font-size:13px}.plan-detail h3{font-size:15px}.change-list strong{font-size:13px}.change-people{font-size:12px}.change-list small{font-size:11px}.load-details summary,.candidate-details summary{font-size:12px;min-height:44px;padding-top:6px}.load-details p,.candidate-details p{font-size:12px}.apply-note,.hard-rule-note,.search-meta{font-size:10px}.inputs-section{margin-top:36px;padding-top:28px}.inputs-section .section-heading{display:block}.inputs-section .section-heading h2{font-size:24px}.inputs-section .section-heading p{max-width:38ch;font-size:12px}.inputs-section .count{display:block;margin-top:8px;font-size:11px}.page-footer{margin-top:32px;padding-bottom:24px;font-size:10px;line-height:1.7}.shift-editor{padding:12px 14px}.shift-editor .field-label{display:block}.field-label select{width:100%;margin-top:8px}.capability-checks{gap:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.roster-warning{border-left:3px solid #a02e39;background:#fff0f0;color:#912c39;padding:14px 16px;margin-bottom:16px;font-size:12px;line-height:1.7}.roster-warning ul{margin:6px 0;padding-left:18px}.roster-row.is-invalid{background:#fff5f4}.roster-row.is-invalid .assignee small{color:#a02e39}.search-summary:focus-visible,.notice:focus-visible{outline:3px solid #c9892d;outline-offset:4px}.row-actions button{min-height:40px;font-size:11px}.assignee small{font-size:11px}.option-content>span,.option-content small{font-size:11px}.search-meta{font-size:10px}@media(max-width:700px){.row-actions button{min-height:44px}.roster-row{min-height:161px}}@media(max-width:1020px){.roster-column{display:contents}.workspace-grid .demo-action{order:0}.workspace-grid .schedule-section{order:1}.workspace-grid .repair-panel{order:2}.workspace-grid .policy{order:3}}.workflow a:hover{text-decoration:underline;text-underline-offset:3px}.rail-content h2,.roster-row strong,.ve-name,.requirement,.event-date,.load-table span,.change-people,.candidate-details li,.roster-warning,.notice,.demo-selector p{overflow-wrap:anywhere}.roster-row>*,.assignee>span{min-width:0}@media(max-width:700px){.event-date{display:block;font-size:11px;margin-top:9px}}@media(max-width:1020px){.workspace-grid .repair-preview{order:1}.workspace-grid:has(.repair-preview) .repair-panel{order:2}.workspace-grid:has(.repair-preview) .schedule-section{order:3}.workspace-grid:has(.repair-preview) .policy{order:4}}.roster-column{display:contents}.workspace-grid .demo-action,.workspace-grid .repair-preview,.workspace-grid .schedule-section,.workspace-grid .policy{grid-column:1}.workspace-grid .demo-action,.workspace-grid .repair-preview{margin-bottom:0}.workspace-grid .repair-panel{grid-column:2;grid-row:1/span 3}.workspace-grid:has(.repair-preview) .repair-panel{grid-row:1/span 4}@media(max-width:1020px){.workspace-grid .repair-panel,.workspace-grid:has(.repair-preview) .repair-panel{grid-column:1;grid-row:auto}.workspace-grid .demo-action{order:0}.workspace-grid .repair-preview{order:1}.workspace-grid .repair-panel{order:2}.workspace-grid .schedule-section{order:3}.workspace-grid .policy{order:4}}
