/* fetch-1275: shared event crew and timed-duty controls. */
.event-readiness-crew,.erc-row{font:400 var(--t-body)/1.5 Inter,system-ui,sans-serif;color:var(--ink);font-variant-numeric:tabular-nums;min-width:0}
.event-readiness-crew{margin-top:var(--s-4)}
.event-readiness-crew.erc-embedded{margin:0}
/* fetch-1276: one compact tool body below the plan, using the shared tiles. */
.readiness-staff-tools{margin-top:var(--s-4);min-width:0}
.readiness-staff-tools>.pgh-tiles{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;gap:var(--s-2)}
.readiness-staff-tools>.pgh-tiles>.pgh-tile{min-width:0;min-height:var(--control-height-touch);padding:var(--s-3);gap:var(--s-2)}
.readiness-staff-tools>.pgh-tiles>.pgh-tile>span{min-width:0}
.readiness-staff-tools>.pgh-tiles>.pgh-tile strong,.readiness-staff-tools>.pgh-tiles>.pgh-tile small{font-size:var(--t-sub);overflow-wrap:anywhere}
.readiness-staff-tools>.pgh-tiles>.pgh-tile small{display:block;font-variant-numeric:tabular-nums}
.readiness-staff-tool-body{padding:var(--s-4) 0;min-width:0}
.readiness-staff-tool-body .pass-card--embedded{margin:0;padding:0;border:0}
.readiness-server-details{min-width:0}
.readiness-server-details .btn{min-height:var(--control-height-touch)}
@media(max-width:640px){.readiness-staff-tools>.pgh-tiles>.pgh-tile{flex-direction:column;align-items:flex-start;padding:var(--s-2);gap:var(--s-1)}.readiness-staff-tools>.pgh-tiles>.pgh-tile>.ci{width:1.25rem;height:1.25rem}.readiness-staff-tools>.pgh-tiles>.pgh-tile strong{line-height:1.3}.readiness-staff-tools>.pgh-tiles>.pgh-tile small{line-height:1.4}.readiness-staff-tool-body{padding:var(--s-3) 0}}
.event-readiness-crew *,.erc-row *{box-sizing:border-box}
.erc-heading,.erc-row-head,.erc-person-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap}
.erc-heading{align-items:flex-start;margin-bottom:var(--s-3)}
.erc-heading h2{font-size:var(--t-section);color:var(--text-heading);margin:0}
.erc-heading p,.erc-meta,.erc-note,.erc-empty,.erc-duty-list,.erc-row-duties p{font-size:var(--t-sub);margin:var(--s-1) 0;color:var(--mute-fg)}
.erc-summary{display:flex;gap:var(--s-2) var(--s-4);flex-wrap:wrap;font-size:var(--t-sub);padding:var(--s-3) 0;margin-bottom:var(--s-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.erc-summary span{color:var(--mute-fg)}
.erc-people,.erc-candidate-list,.erc-row-duties{list-style:none;padding:0;margin:0}
.erc-people,.readiness-server-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:var(--s-3);align-items:stretch}
.readiness-person-card{box-sizing:border-box;min-width:0;padding:var(--s-4);border:1px solid var(--rule-soft);border-radius:var(--r-m);background:var(--surface-card);color:var(--ink);box-shadow:0 1px var(--s-1) color-mix(in srgb,var(--navy-dark) 5%,transparent);transition:border-color .16s ease,box-shadow .16s ease}
.readiness-person-card:hover,.readiness-person-card:focus-within{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy),0 var(--s-1) var(--s-3) color-mix(in srgb,var(--navy-dark) 10%,transparent)}
.readiness-person-avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:2.5rem;height:2.5rem;border-radius:var(--r-s);background:var(--mute-bg);color:var(--navy)}
.erc-person{overflow-wrap:anywhere}
.erc-person-head{display:flex;justify-content:flex-start;flex-wrap:nowrap;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3)}
.erc-person-head>div{min-width:0}
.erc-person-head strong{color:var(--text-heading);font-size:var(--t-body);font-weight:600}
.erc-person-head .erc-status{display:block}
.readiness-server-person{display:flex;align-items:flex-start;gap:var(--s-3);width:100%;text-align:left;min-height:6rem;font:400 var(--t-sub)/1.5 Inter,system-ui,sans-serif}
.readiness-server-person[data-asgedit]{cursor:pointer}
.readiness-server-person[data-asgedit]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
.readiness-person-open{align-self:center;color:var(--navy);font-size:var(--t-title);line-height:1;flex:none}
.readiness-server-person-info{flex:1;min-width:0;overflow-wrap:anywhere}
.readiness-server-person-info>strong{display:block;color:var(--text-heading);font-size:var(--t-body);font-weight:600;line-height:1.4;margin-bottom:var(--s-1)}
.readiness-server-meta{display:block;color:var(--mute-fg);font-size:var(--t-sub)}
.readiness-server-duty{display:block;color:var(--ink);margin-top:var(--s-1)}
.readiness-server-diet{display:block;color:var(--bad-fg);font-size:var(--t-sub);margin-top:var(--s-1)}
.readiness-person-section{display:inline-block;background:var(--mute-bg);color:var(--navy);padding:0 var(--s-2);border-radius:var(--r-s);margin-top:var(--s-2);font-size:var(--t-sub)}
.readiness-people-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;margin-bottom:var(--s-3)}
.readiness-people-heading h2{font-size:var(--t-section);color:var(--text-heading);margin:0}
.readiness-people-heading p{font-size:var(--t-sub);color:var(--mute-fg);margin:var(--s-1) 0 0}
.erc-person>.erc-meta{padding-top:var(--s-2);border-top:1px solid var(--hair)}
.erc-person>.erc-note,.erc-person>.erc-duty-list{margin-top:var(--s-2)}
@media(prefers-reduced-motion:reduce){.readiness-person-card{transition:none}}
@media(max-width:640px){.erc-people,.readiness-server-list{grid-template-columns:minmax(0,1fr)}}
.erc-candidate-list strong,.erc-row-duties strong{font-size:var(--t-sub);font-weight:600}
.erc-status{font-size:var(--t-sub);color:var(--mute-fg)}
.erc-status--warn,.erc-notice{color:var(--warn-fg)}
.erc-notice,.erc-error,.erc-message{font-size:var(--t-sub);margin:var(--s-2) 0;overflow-wrap:anywhere}
.erc-error{color:var(--bad-fg)}
.erc-message{color:var(--ok-fg)}
.erc-duty-list{padding-left:var(--s-4)}
.erc-scheduled-role{font-size:var(--t-sub);margin:var(--s-3) 0}
.erc-scheduled-role>ul,.erc-card-duties>ul{padding-left:var(--s-4);margin:var(--s-1) 0}
.erc-card-duties{margin:var(--s-3) 0}
.erc-candidates{padding-top:var(--s-3)}
.erc-candidates>summary{display:flex;align-items:center;min-height:var(--control-height-touch);cursor:pointer;font-size:var(--t-sub);font-weight:600}
.erc-candidate-list>li,.erc-row-duties>li{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--line);min-width:0}
.erc-candidate-list>li>div,.erc-row-duties>li>div{min-width:0;overflow-wrap:anywhere}
.event-readiness-crew .btn,.erc-row .btn{min-height:var(--control-height-touch);font-size:var(--t-sub);white-space:normal;flex-shrink:0}
.erc-link{background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:.2em}
.erc-row{margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--line)}
.erc-row-head h4,.erc-duty-editor h4{font-size:var(--t-sub);margin:0;font-weight:600}
.erc-row-head span{font-size:var(--t-sub);color:var(--mute-fg)}
.erc-row-duties{margin-bottom:var(--s-2)}
.erc-row-duties>li{align-items:flex-start;flex-wrap:wrap}
.erc-duty-editor{padding-top:var(--s-3);margin-top:var(--s-3);border-top:1px solid var(--line)}
.erc-duty-editor fieldset{border:0;margin:0;padding:0;min-width:0}
.erc-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3);margin:var(--s-3) 0}
.erc-field{display:flex;flex-direction:column;gap:var(--s-1);font-size:var(--t-sub);min-width:0}
.erc-field:has([data-crew-field=source_key]),.erc-field:has([data-crew-field=row_id]),.erc-field:has([data-crew-field=notes]){grid-column:1/-1}
.erc-field input,.erc-field select{width:100%;min-width:0;min-height:var(--control-height-touch);border:1px solid var(--line);border-radius:var(--r-s);padding:var(--s-2);color:var(--ink);background:var(--paper);font:inherit}
.erc-actions{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center}
.erc-retry{border-left:2px solid var(--warn-fg);padding-left:var(--s-3);font-size:var(--t-sub)}
.erc-retry p{margin:var(--s-2) 0}
.event-readiness-crew button:focus-visible,.event-readiness-crew summary:focus-visible,.erc-row button:focus-visible,.erc-field input:focus-visible,.erc-field select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
@media(max-width:640px){.erc-heading{gap:var(--s-2)}.erc-candidate-list>li{align-items:flex-start;flex-direction:column}.erc-candidate-list .btn{width:100%}.erc-summary{gap:var(--s-2);flex-direction:column}.erc-person-head{align-items:flex-start}.erc-row-head{align-items:flex-start;gap:var(--s-1)}.erc-actions{gap:var(--s-1)}.erc-editor-grid{gap:var(--s-2)}}

/* fetch-1277: temporary staff-details dialog, with Staff Plan visible behind it. */
.readiness-assignment-dialog{box-sizing:border-box;width:min(42rem,calc(100% - var(--s-5)));max-height:calc(100dvh - var(--s-5));margin:auto;padding:var(--s-5);border:1px solid var(--line);border-radius:var(--r-l);background:var(--paper);color:var(--ink);font:400 var(--t-body)/1.5 Inter,system-ui,sans-serif;box-shadow:0 var(--s-3) var(--s-6) color-mix(in srgb,var(--navy-dark) 24%,transparent);overflow:auto;overscroll-behavior:contain}
.readiness-assignment-dialog::backdrop{background:color-mix(in srgb,var(--navy-dark) 40%,transparent)}
body:has(.readiness-assignment-dialog[open]){overflow:hidden}
.readiness-assignment-dialog *{box-sizing:border-box}
.readiness-assignment-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-3);margin-bottom:var(--s-4)}
.readiness-assignment-head h2{font-size:var(--t-section);line-height:1.3;margin:0;color:var(--text-heading)}
.readiness-assignment-head p{font-size:var(--t-sub);margin:var(--s-1) 0 0;color:var(--mute-fg);overflow-wrap:anywhere}
.readiness-assignment-head .btn{flex:none;min-width:var(--control-height-touch)}
.readiness-assignment-fields{border:0;margin:0;padding:0;min-width:0}
.readiness-assignment-fields .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
.readiness-assignment-fields .field{min-width:0}
.readiness-assignment-fields label{font-size:var(--t-sub)}
.readiness-assignment-fields input{min-width:0;width:100%;min-height:var(--control-height-touch);font-size:var(--t-body)}
.readiness-assignment-wide{grid-column:1/-1}
.readiness-assignment-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap;margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--line)}
.readiness-assignment-footer>.actions{margin:0;margin-left:auto;gap:var(--s-2)}
.readiness-assignment-dialog .btn{min-height:var(--control-height-touch);font-size:var(--t-sub)}
.readiness-assignment-dialog .readiness-assignment-remove{color:var(--bad-fg);border-color:color-mix(in srgb,var(--bad-fg) 25%,var(--paper));background:var(--paper)}
.readiness-assignment-dialog .readiness-assignment-remove:hover:not(:disabled){background:var(--bad-bg);border-color:var(--bad-fg)}
.readiness-assignment-dialog :is(input,button):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
@media(max-width:640px){.readiness-assignment-dialog{padding:var(--s-3)}.readiness-assignment-fields .grid{grid-template-columns:minmax(0,1fr)}.readiness-assignment-fields input{font-size:1rem}.readiness-assignment-footer>.actions{width:100%;justify-content:flex-end}}
/* End fetch-1277 staff-details dialog. */
/* fetch-1503 R7: the server card on the Grid person card - one compact block, label/value lines, the edit glyph in its corner. */
.erc-card{margin-top:var(--s-2);padding:var(--s-2) var(--s-3);border:1px solid var(--hair);border-radius:var(--r-s);background:var(--wash)}
.erc-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);min-height:var(--control-height-sm,32px)}
.erc-card-kicker{font-size:var(--t-label);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--mute-fg)}
.erc-card-fields{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s-1) var(--s-3);margin:var(--s-1) 0 0;font-size:var(--t-sub)}
.erc-card-fields dt{color:var(--mute-fg)}
.erc-card-fields dd{margin:0;min-width:0;overflow-wrap:anywhere}
.erc-card-fields dd.erc-card-diet{color:var(--warn-fg);font-weight:600}
