.duties,.my-club-duties{font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color:#173746}
.duties *,.my-club-duties *{box-sizing:border-box}
.duty-actions,.duty-toolbar,.duty-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.duty-actions{margin:14px 0}.duty-heading{justify-content:space-between}
.duty-button{font:600 13px/1.4 system-ui;padding:9px 13px;min-height:40px;border:1px solid #a8c4b7;border-radius:8px;background:#fff;color:#145744;cursor:pointer}.duty-button.primary{background:#0c6b58;border-color:#0c6b58;color:#fff}.duty-button:hover{box-shadow:0 2px 7px #12382a14}.duty-button:disabled{opacity:.55;cursor:wait}
.duty-card,.duty-phase{padding:20px;margin:16px 0;border:1px solid #d3e3dc;border-radius:14px;background:#fff;box-shadow:0 5px 20px #133d2c06}.duty-card h2,.duty-slot h3{margin:0 0 10px}.duty-slot{padding:16px 0;border-top:1px solid #dfebe5}.duty-person{padding:12px 14px;margin:10px 0;border:1px solid #e0ebe5;border-radius:10px;background:#f8fbf9}.duty-person>div:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.duty-person .duty-actions{margin:8px 0 0}
.duty-phase>summary{font-weight:750;font-size:16px;cursor:pointer;padding:4px}.duty-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.duty-stats>div{padding:13px;border:1px solid #d8e8df;border-radius:9px;background:#f4faf6}.duty-stats strong{display:block;font-size:24px}.duty-stats small{display:block;color:#587266}
.duty-badge{display:inline-block;padding:4px 9px;border-radius:99px;font-size:11px;font-weight:700;background:#eaf0f4;color:#455d6d}.duty-badge.good{background:#ddf3e8;color:#0b5c44}.duty-badge.danger,.duty-status.error,.duties .error{color:#a32d22}.duty-badge.danger{background:#fff0e9}
.duty-status{padding:12px 15px;border-left:3px solid #0c6b58;background:#e8f5ef;font:13px/1.5 system-ui}.duty-status:empty{display:none}.duty-status.error{border-color:#b1372b;background:#fff1ed}.duty-notice{padding:12px 14px;background:#fff5d9;border-radius:8px;font-size:13px}.duty-empty{padding:16px;color:#5b7167;background:#f5f9f7;border-radius:9px}
.duty-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;padding:16px;background:#fff;border:1px solid #d7e5de;border-radius:12px}.duties label,.duty-dialog label,.my-club-duties label{display:block;font:600 12px/1.5 system-ui;margin-bottom:12px;min-width:0}.duties input,.duties select,.duty-dialog input,.duty-dialog textarea,.duty-dialog select,.my-club-duties input,.my-club-duties textarea{display:block;width:100%;margin-top:5px;padding:10px 11px;border:1px solid #abc6b8;border-radius:7px;background:#fff;color:#193b2e;font:400 14px/1.5 system-ui;max-width:100%}.duty-dialog textarea{min-height:44px;resize:vertical;overflow-y:hidden}.duty-dialog input[type=checkbox],.my-club-duties input[type=checkbox]{width:18px;height:18px;accent-color:#0c6b58}
.duty-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #d4e3dc;border-radius:12px;overflow:hidden;background:#fff}.duty-weekday{padding:9px;text-align:center;font-size:12px;background:#eaf4ee}.duty-day{min-height:140px;padding:8px;border-top:1px solid #e0ebe4;border-right:1px solid #e0ebe4}.duty-day>strong{font-size:12px}.duty-calendar-entry{padding:10px;margin:7px 0;border-radius:9px;border:1px solid #d0e3d8;background:#f2f9f4;min-width:0}.duty-calendar-entry.sample{border-left:3px solid #ce9c2a;background:#fffbec}.duty-calendar-entry button{border:0;background:transparent;font-weight:700;padding:0;min-height:30px;text-align:left;overflow-wrap:anywhere;color:#0c604b}.duty-calendar-entry small{display:block;font-size:11px;margin:5px 0}.duty-agenda{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.duty-agenda .duty-calendar-entry{padding:16px;margin:0}
.duty-dialog{width:min(720px,94vw);max-height:90dvh;margin:auto;padding:0;border:1px solid #bfd5c9;border-radius:16px;background:#fff;color:#173746;box-shadow:0 22px 70px #09291a40;overflow:auto}.duty-dialog::backdrop{background:#0b242c99;backdrop-filter:blur(2px)}.duty-dialog form{padding:22px}.duty-dialog header{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px}.duty-dialog h2{font:700 21px/1.3 system-ui;margin:0}.duty-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}.duty-form>p,.duty-form>.duty-preview{grid-column:1/-1}.duty-preview{padding:12px;background:#f2f8f4;border-radius:8px}.duty-dialog [data-error]{font:13px system-ui}
.duties :focus-visible,.duty-dialog :focus-visible,.my-club-duties :focus-visible{outline:3px solid #238174;outline-offset:3px}.my-club-duties{margin-top:22px}.my-club-duties details{margin:12px 0}
@media(max-width:800px){.duty-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.duty-calendar{min-width:780px}.duties:has(.duty-calendar){overflow-x:auto}.duty-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.duty-agenda{grid-template-columns:1fr}}
@media(max-width:500px){.duty-filters,.duty-form{grid-template-columns:1fr}.duty-dialog form{padding:16px}.duty-card,.duty-phase{padding:16px}.duty-actions .duty-button{flex:1}.duty-toolbar>label{width:100%}}

/* Weekly Operations Desk: the same authenticated duty workflow in a compact split view. */
.duty-page{--duty-ink:#11263b;--duty-muted:#5b6c7b;--duty-green:#246b58;background:#f3f7f5;color:var(--duty-ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.duty-page .editor-header{min-height:70px;padding:12px 32px;display:flex;align-items:center;gap:20px;background:#112d24;box-shadow:0 3px 12px #123d2810}.duty-page .shared-club-brand{min-width:0}.duty-page .shared-club-brand img{width:38px;height:38px}.duty-page .shared-club-brand span{max-width:none;font-size:20px;line-height:1.15}.duty-page .club-header-nav{gap:10px}.duty-page .club-header-nav a{min-height:40px;font-size:12px;border-radius:8px;padding:10px 14px}
.duty-page .editor-main{width:calc(100% - 64px);max-width:1700px;margin:auto;padding:24px 0 48px}.duty-page-title{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 18px;background:none;border:0;padding:0;box-shadow:none}.duty-page-title .club-eyebrow{margin:0 0 7px;color:#286e5c;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.duty-page-title h1{font-size:clamp(26px,3.2vw,40px);line-height:1.15;letter-spacing:-.035em;margin:0 0 8px;color:#0e2236}.duty-page-title p:last-child{font-size:14px;color:#42566c;margin:0}.duty-page-title>.duty-button{white-space:nowrap;min-height:44px;padding:12px 22px}
.duty-page .workspace-identity{padding:8px 12px;margin:0 0 12px;border-radius:8px;box-shadow:none;border-left-width:3px}.duty-page .workspace-identity p{font-size:12px;font-weight:500}.duty-page .workspace-identity button{font-size:11px;min-height:30px;padding:6px 9px}.duty-page [data-duty-status]{margin:0 0 10px;padding:6px 10px;font-size:12px;border-radius:5px}.duty-page .duty-button{font-size:12px;min-height:36px;line-height:1.4;padding:8px 13px;border-color:#cad6df;border-radius:7px;color:#18344b;background:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:normal}.duty-page .duty-button.primary{background:#286d5b;border-color:#286d5b;color:#fff}.duty-page .duty-button:hover{border-color:#5f9a87;box-shadow:none;background:#f0f7f3}.duty-page .duty-button.primary:hover{background:#205d4c}.duty-page .duty-button.danger{color:#a83128}.duty-page .muted{color:#687887}.duty-page .duties[aria-busy=true]{cursor:progress}.duty-page .duties[aria-busy=true] .duty-plan-list{opacity:.72}
.duty-section-nav{display:flex;gap:8px;margin:0 0 12px}.duty-section-nav .duty-button{font-size:11px;padding:5px 10px;min-height:28px;background:transparent;border-color:transparent}.duty-section-nav .duty-button:first-child{color:#216d56;background:#e4f0e9}
.duty-desk-toolbar{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:14px;align-items:start;margin-bottom:12px}.duty-week-tools,.duty-search-tools{display:flex;align-items:center;gap:8px;min-height:60px;border:1px solid #e0e6ea;border-radius:9px;padding:12px;background:#fff;min-width:0}.duty-range{font-size:13px;line-height:1.3;margin-left:4px;white-space:normal}.duty-view-switch{display:flex;margin-left:auto;flex-shrink:0}.duty-view-switch .duty-button{border-radius:0;padding:8px 11px}.duty-view-switch .duty-button+button{border-left:0}.duty-view-switch .duty-button:first-child{border-radius:6px 0 0 6px}.duty-view-switch .duty-button:last-child{border-radius:0 6px 6px 0}.duty-view-switch .duty-button[aria-pressed=true]{background:#286d5b;color:#fff;border-color:#286d5b}
.duty-search-form{display:flex;gap:6px;flex:1;min-width:0}.duty-search-form input[type=search]{padding:9px 10px 9px 32px;background:#fff url('/assets/icons/heroicons-search.svg') no-repeat 10px center;background-size:16px;margin:0;min-width:0;border:1px solid #cad6df;border-radius:6px;height:36px;font-size:12px}.duty-filter-box{position:relative;flex-shrink:0}.duty-filter-box>summary,.duty-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:8px 12px;background:#fff;border:1px solid #cad6df;border-radius:7px;font-size:12px;font-weight:650;color:#18344b}.duty-filter-box>summary::-webkit-details-marker,.duty-menu>summary::-webkit-details-marker{display:none}.duty-filter-box[open]>summary,.duty-menu[open]>summary{background:#eaf4ee;border-color:#8bb6a5}.duty-filter-box .duty-filters{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:min(570px,85vw);margin:0;padding:18px;box-shadow:0 12px 35px #163c3024}.duty-filter-box .duty-filters label{margin:0}.duty-filter-box .duty-filters .duty-button{align-self:end}.duty-page .duties label>span{display:block;margin-bottom:4px}
.duty-desk{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:14px;align-items:start}.duty-plan-list{background:#fff;border:1px solid #dfe7e9;border-radius:9px;overflow:hidden;min-width:0}.duty-plan-row{display:grid;grid-template-columns:minmax(0,1fr) 140px 80px;gap:10px;align-items:center;min-height:112px;padding:14px;border-bottom:1px solid #e5ecef;position:relative}.duty-plan-row:last-child{border-bottom:0}.duty-plan-row.selected{background:#edf7f1;box-shadow:inset 0 0 0 1.5px #2c7861;border-radius:8px}.duty-plan-main{display:flex;align-items:center;gap:16px;text-align:left;background:none;border:0;padding:0;color:#132b41;cursor:pointer;min-width:0;width:100%;font:inherit}.duty-date-block{min-width:62px;padding:2px 14px 2px 0;border-right:1px solid #e2e8ec;text-align:left;flex-shrink:0;align-self:stretch;display:flex;justify-content:center;flex-direction:column}.duty-date-block strong{font-size:27px;line-height:1.15;font-weight:750;letter-spacing:-.02em}.duty-date-block small{font-size:11px;color:#607185;line-height:1.8}.duty-plan-info{min-width:0;display:flex;flex-direction:column;gap:4px}.duty-plan-info>strong{font-size:14px;font-weight:750;line-height:1.3;overflow-wrap:anywhere}.duty-plan-info>small{color:#62748a;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.duty-plan-info .duty-staff-names{color:#265f50;font-size:11px;font-weight:550}.duty-coverage{display:flex;flex-direction:column;gap:6px;min-width:0}.duty-coverage strong{font-size:12px;font-weight:550;color:#41566a}.duty-coverage small{font-size:11px;color:#64758b}.duty-coverage progress{height:7px;border:0;border-radius:10px;width:100%;overflow:hidden;background:#e3e9ed;accent-color:#40856f}.duty-coverage progress::-webkit-progress-bar{background:#e3e9ed;border-radius:10px}.duty-coverage progress::-webkit-progress-value{background:#40856f;border-radius:10px}.duty-plan-row>.duty-badge{justify-self:center;font-size:10px}.duty-plan-row.empty{grid-template-columns:62px minmax(0,1fr) auto;min-height:96px}.duty-plan-row.empty p{margin:0 0 4px;font-size:13px}.duty-plan-row.empty small{font-size:11px;color:#687d8c}.duty-plan-row.empty>.duty-button{font-size:10px;padding:7px}
.duty-roster-panel{background:#fff;border:1px solid #dfe7e9;border-radius:9px;padding:18px;min-width:0;scroll-margin-top:18px}.duty-roster-panel h2{font-size:21px;letter-spacing:-.025em;line-height:1.25;margin:0}.duty-roster-panel .duty-heading{align-items:flex-start;flex-wrap:nowrap;gap:12px}.duty-roster-panel .duty-heading h2{min-width:0;overflow-wrap:anywhere}.duty-roster-panel .duty-heading>.duty-badge{flex-shrink:0}.duty-roster-meta{font-size:11px;line-height:1.6;color:#546a80;margin:10px 0}.duty-instructions{font-size:12px;line-height:1.6;color:#53687c;margin:10px 0;white-space:pre-wrap;overflow-wrap:anywhere}.duty-roster-panel .duty-notice,.duty-archive-note{padding:10px 12px;margin:10px 0;font-size:11px;line-height:1.55;background:#fff7de;border-radius:5px}.duty-archive-note{background:#edf3f6;color:#4b6274}.duty-roster-panel>.duty-actions{margin:12px 0;gap:8px}.duty-roster-panel>.duty-actions>.duty-menu:last-child{margin-left:auto}.duty-menu{position:relative;flex-shrink:0}.duty-menu-items{position:absolute;right:0;top:calc(100% + 6px);z-index:25;min-width:190px;max-width:min(290px,80vw);padding:5px;background:#fff;border:1px solid #d4e0dc;border-radius:8px;box-shadow:0 9px 25px #173e2c26}.duty-menu-items .duty-button{display:flex;justify-content:flex-start;width:100%;text-align:left;border:0;box-shadow:none;background:#fff;min-height:34px;white-space:normal}.duty-menu-items .duty-button:hover{background:#edf5f0}.duty-roster-panel .duty-stats{margin:14px 0 18px;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:12px 0;background:#edf6f2;border:1px solid #e5eeea;border-radius:7px}.duty-roster-panel .duty-stats>div{padding:0 12px;background:none;border:0;border-radius:0;border-right:1px solid #d9e5df}.duty-roster-panel .duty-stats>div:last-child{border-right:0}.duty-roster-panel .duty-stats strong{font-size:22px;letter-spacing:-.02em;line-height:1.15}.duty-roster-panel .duty-stats small{font-size:10px;margin-top:3px;color:#5b6f81}
.duty-roster-panel .duty-phase{margin:7px 0;padding:0;box-shadow:none;border:1px solid #e2e9ed;border-radius:6px;overflow:visible}.duty-roster-panel .duty-phase>summary{padding:10px 12px;font-size:12px;background:#f2f7f5;list-style-position:inside;position:relative}.duty-phase>summary strong{font-size:12px;margin-left:3px}.duty-phase>summary>small{float:right;margin-top:2px;color:#687b8d;font-size:10px;font-weight:400}.duty-role-head,.duty-role-row{display:grid;grid-template-columns:minmax(80px,.95fr) minmax(0,1.35fr) 64px 72px;gap:8px;align-items:start}.duty-role-head{font-size:10px;color:#6a7d8e;padding:9px 9px;border-bottom:1px solid #dfe8ec}.duty-roster-panel .duty-slot.duty-role-row{padding:12px 9px;margin:0;border-top:0;border-bottom:1px solid #e8eef0;background:#fff}.duty-role-name h3{font-size:11px;line-height:1.45;letter-spacing:0;margin:0 0 3px}.duty-role-name small{display:block;font-size:9px;line-height:1.6;color:#687b8d}.duty-roster-panel .duty-person{padding:0;margin:0 0 9px;border:0;background:none;border-radius:0;min-width:0}.duty-person-name{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.duty-person-name>strong{font-size:10px;line-height:1.45;font-weight:500;overflow-wrap:anywhere;flex:1;min-width:50px}.duty-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:25px;height:25px;border-radius:50%;background:#dcf0e5;color:#26624e;font-size:9px;font-weight:750}.duty-person-name .duty-badge{font-size:9px;padding:3px 6px}.duty-role-people>.muted{font-size:11px}.duty-role-state{font-size:10px;color:#60768a}.duty-role-controls .duty-menu>summary{font-size:10px;min-height:30px;padding:6px 7px}.duty-person .duty-actions{margin:4px 0 0}.duty-person .duty-menu>summary{min-height:24px;padding:3px 6px;font-size:9px;border-color:#e0e7e9}.duty-person>small.error{font-size:10px;display:block;margin-top:3px}.duty-response-note,.duty-assignment-history{font-size:10px;margin:5px 0;color:#677b8c}.duty-response-note summary,.duty-assignment-history summary{cursor:pointer}.duty-response-note p,.duty-assignment-history p{font-size:10px;overflow-wrap:anywhere;white-space:pre-wrap}.duty-reserve{margin:9px;padding:10px;background:#f2f7f5;border-radius:5px;display:flex;gap:9px;align-items:center;flex-wrap:wrap}.duty-reserve>strong{font-size:11px}.duty-reserve>small{font-size:10px;color:#64788a}.duty-reserve>.duty-button{margin-left:auto;font-size:10px;min-height:29px;padding:5px 9px}.duty-reserve .duty-person{flex-basis:100%;border-top:1px solid #dde9e2;padding-top:8px}.duty-history{padding:12px 0;margin-top:12px;border-top:1px solid #e6edf0;font-size:11px;color:#5a6e80}.duty-history>summary{font-size:12px;font-weight:650;cursor:pointer}.duty-history p{font-size:10px}.duty-history>.duty-button{margin:7px 6px 0 0;font-size:10px}
.duty-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#fff;min-width:620px}.duty-month-day{min-height:120px;padding:6px;border-top:1px solid #e0e8e4;border-right:1px solid #e0e8e4}.duty-month-day>strong{font-size:11px}.duty-month-entry{display:block;width:100%;background:#edf6f0;border:1px solid transparent;border-radius:4px;margin-top:6px;padding:5px;text-align:left;cursor:pointer;color:#224a3e;overflow-wrap:anywhere}.duty-month-entry.selected{border-color:#367a62;background:#dfefe4}.duty-month-entry strong{font-size:9px;line-height:1.3;display:block}.duty-month-entry small{font-size:8px;line-height:1.3;display:block;margin-top:3px}.duty-month-day>.duty-button{font-size:9px;padding:3px;margin-top:3px;min-height:24px}.duty-plan-list:has(.duty-month-grid){overflow-x:auto}
.duty-dialog .duty-form>label:has(textarea[name=instructions]),.duty-dialog .duty-form>label:has(textarea[name=note]),.duty-dialog .duty-form>label:has(textarea[name=reason]){grid-column:1/-1}.duty-dialog .duty-checkbox,.my-club-duties .duty-checkbox{display:flex;gap:9px;align-items:center;flex-direction:row;min-height:35px}.duty-dialog .duty-checkbox input,.my-club-duties .duty-checkbox input{flex:0 0 18px;margin:0}.duty-dialog .duty-checkbox>span{font-size:12px;font-weight:500}.duty-dialog-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid #dce8e1}.duty-dialog-footer .duty-button{min-width:90px}.duty-menu>summary:focus-visible,.duty-filter-box>summary:focus-visible,.duty-plan-main:focus-visible,.duty-month-entry:focus-visible,.duty-phase>summary:focus-visible{outline:3px solid #278575;outline-offset:3px}
@media(min-width:1550px){.duty-role-head,.duty-role-row{grid-template-columns:minmax(100px,1fr) minmax(0,1.5fr) 65px 76px}.duty-person-name>strong{font-size:12px}.duty-role-name h3{font-size:12px}.duty-person-name .duty-badge{font-size:10px}}
@media(max-width:1370px){.duty-week-tools{flex-wrap:wrap}.duty-view-switch{margin-left:0}.duty-plan-row{grid-template-columns:minmax(0,1fr) 110px 70px;gap:8px;padding:12px}.duty-plan-main{gap:10px}.duty-date-block{min-width:52px;padding-right:9px}.duty-role-head,.duty-role-row{grid-template-columns:minmax(70px,.8fr) minmax(0,1.2fr) 66px}.duty-role-head>span:nth-child(3),.duty-role-state{display:none}.duty-person-name{gap:4px}.duty-avatar{min-width:23px;height:23px}.duty-roster-panel{padding:14px}}
@media(max-width:1050px){.duty-page .editor-main{width:calc(100% - 36px)}.duty-page .editor-header{padding:12px 18px;flex-wrap:wrap}.duty-page .shared-club-brand span{font-size:17px}.duty-desk-toolbar,.duty-desk{grid-template-columns:1fr}.duty-week-tools{flex-wrap:nowrap}.duty-view-switch{margin-left:auto}.duty-plan-row{grid-template-columns:minmax(0,1fr) 150px 90px}.duty-roster-panel{padding:20px}.duty-role-head,.duty-role-row{grid-template-columns:minmax(100px,.9fr) minmax(0,1.2fr) 90px 100px}.duty-role-head>span:nth-child(3),.duty-role-state{display:block}.duty-person-name>strong,.duty-role-name h3{font-size:12px}.duty-avatar{min-width:28px;height:28px}.duty-plan-list{max-height:600px;overflow-y:auto}}
@media(max-width:650px){.duty-page .editor-main{width:calc(100% - 28px);padding-top:18px}.duty-page-title{align-items:flex-start;flex-direction:column;gap:14px}.duty-page-title h1{font-size:29px}.duty-page-title>.duty-button{min-height:38px;padding:9px 14px}.duty-page .club-header-nav{flex-wrap:wrap;gap:6px}.duty-page .club-header-nav a{font-size:10px;padding:7px 10px;min-height:34px;flex:auto}.duty-section-nav{flex-wrap:wrap;gap:4px}.duty-week-tools{flex-wrap:wrap;gap:7px;padding:10px}.duty-week-tools>.duty-button{padding:7px 10px;min-height:32px;font-size:11px}.duty-range{font-size:11px;margin:0;flex:1;text-align:center}.duty-view-switch{flex-basis:100%;margin-left:0}.duty-view-switch .duty-button{flex:1}.duty-search-tools{padding:10px}.duty-search-form>.duty-button{font-size:10px;padding:7px}.duty-filter-box .duty-filters{position:fixed;top:12vh;right:14px;left:14px;max-height:76vh;overflow-y:auto;width:auto;grid-template-columns:1fr 1fr}.duty-plan-row{grid-template-columns:minmax(0,1fr) 75px;gap:8px;padding:12px}.duty-plan-main{grid-column:1;grid-row:1/3;gap:9px}.duty-date-block{min-width:43px;padding-right:8px}.duty-date-block strong{font-size:23px}.duty-date-block small{font-size:9px}.duty-plan-info>strong{font-size:12px}.duty-plan-info>small{font-size:10px}.duty-plan-row>.duty-badge{grid-column:2;grid-row:1;align-self:start;font-size:9px}.duty-plan-row>.duty-coverage{grid-column:2;grid-row:2;gap:5px}.duty-coverage strong,.duty-coverage small{font-size:9px}.duty-plan-row.empty{grid-template-columns:43px minmax(0,1fr)}.duty-plan-row.empty>.duty-button{grid-column:2;justify-self:start}.duty-roster-panel{padding:14px}.duty-roster-panel h2{font-size:19px}.duty-roster-panel .duty-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.duty-roster-panel .duty-stats>div:nth-child(2){border-right:0}.duty-roster-panel .duty-stats strong{font-size:21px}.duty-roster-panel .duty-stats small{font-size:10px}.duty-role-head{display:none}.duty-role-row{grid-template-columns:minmax(0,1fr) 76px;gap:10px}.duty-role-name{grid-column:1}.duty-role-name h3{font-size:12px}.duty-role-people{grid-column:1/-1;grid-row:2}.duty-role-state{display:none}.duty-role-controls{grid-column:2;grid-row:1}.duty-person-name>strong{font-size:12px}.duty-person-name .duty-badge{font-size:10px}.duty-phase>summary>small{float:none;display:block;margin:3px 0 0 15px}.duty-reserve{gap:7px}.duty-month-grid{min-width:680px}.duty-dialog form{padding:16px}.duty-dialog .duty-form{grid-template-columns:1fr}.duty-dialog-footer{padding-bottom:4px}.duty-page .workspace-identity{gap:6px}.duty-plan-list{max-height:540px}}

.duty-page .editor-main>.duty-page-title{margin:0 0 18px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.duty-page .editor-main>.duty-page-title:after{display:none}.duty-page .duty-role-name h3{font-size:12px}.duty-page .duty-person-name>strong{font-size:12px}.duty-page .duty-role-name small{font-size:10px}.duty-page .duty-person-name .duty-badge{font-size:10px}.duty-page .duty-role-head{font-size:11px}

.duty-page .editor-main>section.duty-page-title{margin:0 0 18px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.duty-page .duties button,.duty-page .duty-page-title>button{margin:0}.duty-page .duty-plan-main{display:flex;align-items:center;justify-content:flex-start;width:100%;padding:0;min-height:0;border:0;border-radius:0;background:transparent;box-shadow:none;font:inherit;text-align:left}.duty-page .duty-plan-main:hover{background:transparent}.duty-page .duty-plan-list{max-height:max(540px,calc(100dvh - 335px));overflow-y:auto}.duty-page .duty-role-state>.duty-badge{font-size:9px;padding:3px 5px}@media(max-width:650px){.duty-page .duty-plan-list{max-height:540px}}

.duty-page .editor-header .shared-club-brand{--club-name-colour:#fff;color:#fff;max-width:420px;font:800 21px/1.2 system-ui}.duty-page .editor-header .shared-club-brand span{white-space:nowrap;max-width:none;color:#fff}.duty-page .duty-section-nav{align-items:center;gap:8px}.duty-page .duty-section-nav [data-duty-status]{margin:0 0 0 auto;padding:0;border:0;background:none;font-size:11px;line-height:1.5;color:#647b83}.duty-page .duty-section-nav [data-duty-status].error{color:#a32d22}.duty-page .duty-roster-meta{font-size:12px}.duty-page .duty-instructions{font-size:13px}.duty-page .duty-roster-panel .duty-notice{font-size:12px}.duty-page .duty-plan-info>small{font-size:12px}.duty-page .duty-plan-info>.duty-staff-names{font-size:12px}.duty-page .duty-role-name h3,.duty-page .duty-person-name>strong{font-size:12px}@media(min-width:1371px){.duty-page .duty-person-name>.duty-badge{display:none}}@media(max-width:650px){.duty-page .editor-header .shared-club-brand{font-size:18px}.duty-page .editor-header .shared-club-brand span{white-space:normal}.duty-page .duty-section-nav [data-duty-status]{flex-basis:100%;font-size:10px;margin-left:0}.duty-page .duty-plan-info>small,.duty-page .duty-plan-info>.duty-staff-names{font-size:10px}}

/* Branded assignment confirmation, shared with the duty editor's accessible modal. */
.duty-dialog.duty-confirmation .duty-dialog-footer button.duty-destructive{background:#a63026;border-color:#a63026;color:#fff}.duty-dialog.duty-confirmation .duty-dialog-footer button.duty-destructive:hover{background:#84261f;border-color:#84261f}
.duty-dialog.duty-confirmation{width:min(560px,calc(100vw - 28px));border-radius:18px;border-color:#d4e3dc;box-shadow:0 24px 80px #0b292b40}
.duty-confirmation form{padding:24px}.duty-confirmation header{align-items:flex-start;margin-bottom:16px}.duty-confirmation h2{font-size:22px;letter-spacing:-.4px}.duty-confirmation .duty-form{display:flex;flex-direction:column;gap:14px}.duty-confirmation .duty-confirmation-intro{margin:0;color:#526873;font:400 14px/1.6 system-ui}.duty-confirmation-context{display:flex;flex-direction:column;gap:5px;padding:16px;border:1px solid #d9e7e1;border-left:3px solid #087762;border-radius:10px;background:#f3f8f6;overflow-wrap:anywhere}.duty-confirmation-context strong{font:700 15px/1.4 system-ui;color:#173746}.duty-confirmation-context span{font:600 13px/1.5 system-ui}.duty-confirmation-context small{font:400 12px/1.6 system-ui;color:#526873}.duty-confirmation .duty-form>label{margin:0;font-size:13px}.duty-confirmation textarea{min-height:100px;border-radius:10px;font-size:14px;line-height:1.6;padding:12px}.duty-confirmation-help{margin-top:-8px;font:400 12px/1.5 system-ui;color:#526873}.duty-confirmation .duty-confirmation-notice{margin:0;padding:11px 13px;border-radius:8px;background:#fff5ed;color:#754322;font:400 12px/1.6 system-ui}.duty-confirmation [data-error]:empty{display:none}.duty-confirmation .duty-dialog-footer{margin-top:22px;padding-top:18px;gap:10px}.duty-confirmation .duty-dialog-footer button{border-radius:8px;min-height:40px;font-size:13px;padding:10px 16px;margin:0}.duty-confirmation .duty-destructive{background:#a63026;border-color:#a63026;color:#fff}.duty-confirmation .duty-destructive:hover{background:#84261f;border-color:#84261f}.duty-confirmation button:disabled{opacity:.55;cursor:wait}@media(max-width:600px){.duty-confirmation form{padding:20px}.duty-confirmation h2{font-size:20px}.duty-confirmation .duty-dialog-footer{flex-wrap:wrap}.duty-confirmation .duty-dialog-footer button{flex:1}}

.duty-setup-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid #dce8e1}.duty-setup-row small{display:block;margin-top:5px;color:#526873}.duty-template-editor{grid-column:1/-1;max-height:50vh;overflow:auto}.duty-template-row{padding:16px;border:1px solid #d8e6de;border-radius:10px;margin-bottom:12px;background:#f6faf8;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.duty-template-row label:first-child{grid-column:1/-1}@media(max-width:650px){.duty-setup-row{align-items:flex-start;flex-direction:column}.duty-template-row{grid-template-columns:1fr}}
/* a417: shared duty workspace rhythm and selected staff master/detail layout. */
.duty-page{--duty-ink:#173746;--duty-muted:#526b78;--duty-line:#d6e4df;--duty-accent:#087562;--duty-soft:#edf7f2;color:var(--duty-ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.duty-page .duties{font-size:14px;line-height:1.6}
.duty-page .duties h2,.duty-page .duties h3,.duty-page .duties h4{color:var(--duty-ink);letter-spacing:-.02em;line-height:1.3}
.duty-page .duties h2{font-size:24px}.duty-page .duties h3{font-size:19px}.duty-page .duties h4{font-size:16px}
.duty-page .duty-button{border-radius:9px;min-height:40px;font-size:13px;line-height:1.4;padding:9px 14px;color:#185447;border-color:#b5ccc3;background:#fff;box-shadow:none;transition:background .15s,border-color .15s}
.duty-page .duty-button.primary{background:var(--duty-accent);border-color:var(--duty-accent);color:#fff}
.duty-page .duty-button:hover:not(:disabled){background:#edf7f2;border-color:#589d87}.duty-page .duty-button.primary:hover:not(:disabled){background:#075e50;border-color:#075e50}
.duty-page .duty-section-nav{gap:8px;margin-bottom:20px;padding:10px;border:1px solid var(--duty-line);border-radius:12px;background:#fff}
.duty-page .duty-section-nav>.duty-button{border-color:transparent;background:transparent}
.duty-page .duty-section-nav>[aria-current=page]{color:#075e50;background:#e5f3ed;border-color:#c8e3d8}
.duty-page .duty-card,.duty-page .duty-roster-panel{border-color:var(--duty-line);border-radius:14px;box-shadow:0 4px 16px #17374605}
.duty-page .duty-card{padding:24px}.duty-page .duty-card>p{color:var(--duty-muted);max-width:90ch}
.duty-page .duty-week-tools,.duty-page .duty-search-tools,.duty-page .duty-plan-list{border-color:var(--duty-line);border-radius:12px}
.duty-page .duty-setup-row{padding:18px 0}.duty-page .duty-setup-row .duty-actions{margin:0}
.duty-page .duty-plan-info>strong{font-size:14px}.duty-page .duty-plan-info>small{line-height:1.5}
.duty-page .duty-staff-heading{margin:0 0 20px}.duty-page .duty-staff-heading h2{margin:0 0 6px;font-size:28px}.duty-page .duty-staff-heading p{margin:0;color:var(--duty-muted);font-size:14px}
.duty-staff-workspace{display:grid;grid-template-columns:minmax(260px,.32fr) minmax(0,.68fr);gap:18px;align-items:start}
.duty-staff-directory,.duty-staff-detail{min-width:0;background:#fff;border:1px solid var(--duty-line);border-radius:14px;box-shadow:0 4px 18px #17374604}
.duty-staff-directory{padding:18px 12px}.duty-staff-search{padding:0 6px 16px;border-bottom:1px solid var(--duty-line)}
.duty-page .duty-staff-search label{margin:0;font-size:13px}.duty-page .duty-staff-search input{min-height:42px;margin-top:8px;border-radius:9px;color:var(--duty-ink)}
.duty-page .duty-staff-search .duty-actions{margin:12px 0 0;gap:8px}
.duty-staff-list{display:flex;flex-direction:column;gap:6px;margin-top:12px;max-height:620px;overflow-y:auto;padding:3px}
.duty-page .duty-staff-choice{display:flex;align-items:center;gap:13px;width:100%;padding:16px 12px;min-height:90px;margin:0;border:1px solid transparent;border-radius:10px;background:#fff;text-align:left;color:var(--duty-ink);font:inherit;cursor:pointer;box-shadow:none}
.duty-page .duty-staff-choice:hover{background:#f3f9f6}.duty-page .duty-staff-choice[aria-pressed=true]{background:#e6f5ee;border-color:#b5d9ca}
.duty-staff-avatar{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#d8eee4;color:#135747;font-size:17px;font-weight:750}
.duty-staff-choice-text{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;overflow-wrap:anywhere}.duty-staff-choice-text strong{font-size:14px;line-height:1.4}.duty-staff-choice-text small{color:var(--duty-muted);font-size:12px}
.duty-staff-detail{padding:24px;min-height:520px}.duty-staff-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:0 0 24px;border-bottom:1px solid var(--duty-line)}
.duty-staff-identity{display:flex;align-items:center;gap:16px;min-width:0;overflow-wrap:anywhere}.duty-page .duty-staff-identity h3{margin:0 0 6px;font-size:24px}.duty-staff-identity .duty-staff-avatar{width:64px;height:64px;font-size:24px}
.duty-staff-detail-head>.duty-button{flex-shrink:0}.duty-staff-section{padding-top:24px;margin-top:0}.duty-staff-section+.duty-staff-section{margin-top:24px;border-top:1px solid var(--duty-line)}
.duty-page .duty-staff-section h4{margin:0 0 16px}.duty-staff-section .duty-heading{margin-bottom:16px;gap:12px}.duty-page .duty-staff-section .duty-heading h4{margin:0}
.duty-staff-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--duty-line);border-radius:10px}.duty-staff-table{border-collapse:collapse;width:100%;text-align:left;font-size:13px;table-layout:auto}
.duty-staff-table th{background:#eff6f3;padding:12px;font-size:12px;line-height:1.5;color:#244653;font-weight:700}.duty-staff-table td{padding:14px 12px;border-top:1px solid #e1ebe6;vertical-align:top;line-height:1.6;overflow-wrap:anywhere}.duty-staff-table th:first-child,.duty-staff-table td:first-child{padding-left:16px}.duty-staff-table td:last-child{width:90px}
.duty-staff-note{display:block;min-width:100px;max-width:260px;margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--duty-muted)}
.duty-qualification-row{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #e5ede9;font-size:13px;flex-wrap:wrap}.duty-qualification-row>span{color:var(--duty-muted)}
.duty-page .duty-muted{color:var(--duty-muted);font-size:12px;line-height:1.6}.duty-staff-section>.duty-muted{margin:14px 0 0}.duty-staff-detail>.duty-muted{font-size:14px}
.duty-page .duty-staff-section .duty-empty{margin:0;padding:26px 18px;border:1px dashed #d6e4df;border-radius:10px;background:#f7faf8;color:#526b78;font-size:14px}
.duty-staff-privacy{margin:18px 0 0;padding:15px 18px;border:1px solid var(--duty-line);border-radius:12px;background:#f6faf8;font-size:12px;line-height:1.6;color:var(--duty-muted)}
.duty-page .duty-dialog .duty-form>p,.duty-page .duty-dialog .duty-form>button{grid-column:1/-1}.duty-page .duty-dialog .duty-form>button{justify-self:start}
@media(min-width:1000px){.duty-staff-directory{position:sticky;top:18px}}
@media(max-width:1100px){.duty-staff-workspace{grid-template-columns:minmax(230px,.34fr) minmax(0,.66fr)}.duty-staff-detail{padding:20px}.duty-staff-detail-head{flex-wrap:wrap}.duty-staff-table th,.duty-staff-table td{padding:12px 9px}.duty-page .duty-staff-identity h3{font-size:21px}}
@media(max-width:760px){.duty-staff-workspace{grid-template-columns:1fr}.duty-staff-list{max-height:280px}.duty-staff-directory{padding:14px 10px}.duty-staff-detail{min-height:0;padding:18px}.duty-staff-table{min-width:540px}.duty-page .duty-staff-heading h2{font-size:25px}.duty-page .duty-section-nav{padding:8px;gap:4px}.duty-page .duty-section-nav>.duty-button{font-size:12px;padding:8px 10px}.duty-page .duty-card{padding:18px}.duty-staff-choice{min-height:78px}.duty-staff-section .duty-heading{align-items:flex-start}.duty-staff-detail-head>.duty-button{min-height:42px}.duty-page .duty-staff-choice{padding:12px;min-height:78px}}

.duty-page .duty-staff-heading{display:none}.duty-page .duty-page-title h1{font-size:clamp(28px,3vw,38px)}
.duty-page .duty-staff-choice{justify-content:flex-start}.duty-page .duty-staff-table td:last-child{min-width:106px;width:106px}.duty-page .duty-staff-table .duty-button{white-space:nowrap;min-width:78px;padding:9px 12px}
@media(min-width:761px){.duty-staff-list{max-height:450px}}
.duty-page .duty-card .duty-actions>button[aria-pressed=true]{background:#e5f3ed;border-color:#9bc8b5;color:#075e50}
