.selection-timeline { overflow:hidden; }
.selection-timeline .client-panel-heading { align-items:center; gap:16px; }
.selection-timeline .client-panel-heading h3 { margin:0; }
.selection-timeline .client-panel-heading p { margin:4px 0 0; }
.selection-timeline .client-panel-heading .eyebrow { margin:0 0 7px; }
.selection-timeline-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:20px; }
.selection-timeline-card { min-width:0; border:1px solid var(--line,#ded8cd); border-top:4px solid #c9c5bc; border-radius:12px; background:var(--panel,#fff); padding:18px; }
.selection-timeline-card.is-ready { border-top-color:#687160; background:#f8faf6; }
.selection-timeline-card.is-urgent { border-top-color:#a47f46; background:#fffcf5; }
.selection-timeline-card.is-complete { border-top-color:#57735d; }
.selection-timeline-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.selection-step { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#eeebe4; color:#716d64; font-size:13px; flex:none; }
.selection-timeline-status { color:var(--muted,#716d64); font-size:12px; font-weight:600; }
.is-ready .selection-timeline-status,.is-complete .selection-timeline-status { color:#57735d; }
.is-urgent .selection-timeline-status { color:#956e33; }
.selection-timeline-card h4 { font-size:19px; line-height:1.3; margin:16px 0 8px; }
.selection-timeline-card p { font-size:14px; line-height:1.5; margin:0 0 16px; color:var(--muted,#716d64); }
.selection-timeline-dates { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0; padding-top:14px; border-top:1px solid var(--line,#ded8cd); }
.selection-timeline-dates div:last-child { grid-column:1/-1; }
.selection-timeline-dates dt { font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:var(--muted,#716d64); margin-bottom:5px; }
.selection-timeline-dates dd { margin:0; font-size:14px; font-weight:500; }
.selection-timeline-card .selection-timeline-delivery { margin:8px 0 0; font-size:12px; }
.selection-timeline-footnote { font-size:12px; color:var(--muted,#716d64); padding:0 20px 20px; margin:0; line-height:1.5; }
.selection-project-status { display:grid; gap:6px; margin-top:15px; font-size:12px; color:var(--muted,#716d64); }
.selection-project-status select { width:100%; min-width:0; height:42px; }
#homeownerSelectionSettingsBody { padding:20px; }
#homeownerSelectionSettings { display:grid; gap:16px; }
.selection-setting-row { min-width:0; border:1px solid var(--line,#ded8cd); border-radius:12px; overflow:hidden; background:var(--panel,#fff); }
.selection-setting-heading { display:flex; align-items:center; gap:10px; padding:12px 16px; border-bottom:1px solid var(--line,#ded8cd); background:var(--panel-soft,#fbfaf6); }
.selection-setting-heading strong { flex:1; min-width:0; }
.selection-setting-heading .selection-drag { cursor:grab; font-size:26px; padding:0 10px; touch-action:none; }
.selection-setting-heading .selection-drag:active { cursor:grabbing; }
.selection-enabled { display:flex; align-items:center; gap:6px; white-space:nowrap; font-size:12px; }
.selection-enabled input { width:18px; height:18px; margin:0; }
.selection-setting-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:16px; align-items:start; }
.selection-setting-fields label { display:flex; flex-direction:column; gap:7px; min-width:0; font-size:12px; color:var(--muted,#716d64); }
.selection-setting-fields :is(input,select,textarea) { width:100%; min-width:0; box-sizing:border-box; font:inherit; font-size:14px; color:var(--ink,#171716); border:1px solid var(--line,#ded8cd); border-radius:6px; background:var(--panel,#fff); padding:10px; }
.selection-setting-fields :is(input,select) { height:44px; flex:none; }
.selection-setting-fields .selection-note { grid-column:1/-1; }
.selection-setting-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 16px 16px; color:var(--muted,#716d64); }
.selection-settings-save { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:20px; }
.selection-settings-save [role=status] { font-size:13px; color:var(--muted,#716d64); }
@media(max-width:1100px) { .selection-timeline-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:720px) {
  .selection-timeline-cards { grid-template-columns:1fr; padding:14px; gap:12px; }
  .selection-timeline .client-panel-heading { align-items:flex-start; flex-direction:column; }
  .selection-timeline-card { padding:16px; }
  .selection-setting-fields { grid-template-columns:1fr; }
  .selection-setting-heading { gap:6px; flex-wrap:wrap; padding:10px; }
  .selection-setting-heading strong { flex-basis:calc(100% - 70px); }
  .selection-setting-heading .selection-enabled { margin-right:auto; }
  .selection-setting-bottom,.selection-settings-save { align-items:stretch; flex-direction:column; }
  #homeownerSelectionSettingsBody { padding:14px; }
}

/* Compact selection settings, with timing fields disclosed per row. */
.selection-setting-heading { cursor:pointer; }
.selection-setting-disclosure {
  display:flex; flex:1; min-width:0; align-items:center; justify-content:space-between;
  gap:12px; border:0; box-shadow:none; background:transparent; text-align:left; padding:8px 0;
}
.selection-setting-disclosure strong { flex:1; font-size:14px; }
.selection-setting-disclosure svg { width:18px; height:18px; flex:none; }
.selection-setting-row:has([data-selection-setting-body][hidden]) .selection-setting-heading { border-bottom:0; }
@media(max-width:720px) {
 .selection-setting-heading .selection-setting-disclosure { flex-basis:calc(100% - 60px); }
 .selection-setting-disclosure strong { flex-basis:auto; }
}

/* Visibility belongs with editing controls; the collapsed header stays one row. */
.selection-setting-visibility { padding:14px 16px 0; }
.selection-setting-heading { padding:6px 12px; gap:8px; flex-wrap:nowrap; }
.selection-setting-heading > button { min-height:36px; }
.selection-setting-heading .selection-drag { padding:0 6px; }
.selection-setting-heading [data-selection-move] { padding:6px 10px; }
.selection-setting-heading .selection-setting-disclosure { flex:1 1 0; padding:6px 0; }
.selection-setting-heading .selection-setting-disclosure strong { flex:1 1 auto; }
@media(max-width:720px) {
 .selection-setting-heading { padding:6px 8px; gap:4px; flex-wrap:nowrap; }
 .selection-setting-heading .selection-setting-disclosure { flex:1 1 0; }
 .selection-setting-heading .selection-setting-disclosure strong { flex:1 1 auto; }
 .selection-setting-heading [data-selection-move] { padding:6px 8px; }
}

/* Match the critical-path activity rows. */
#homeownerSelectionSettings { gap:8px; }
.selection-setting-row { border-radius:var(--radius-panel,8px); box-shadow:0 1px 4px #00000018; }
.selection-setting-heading { min-height:52px; padding:0 12px 0 0; gap:10px; align-items:stretch; background:var(--panel-soft); }
.selection-move-controls { display:flex; align-items:stretch; flex:none; border:1px solid var(--line); border-radius:var(--radius-control,6px); overflow:hidden; }
.selection-setting-heading .selection-move-controls button { display:flex; align-items:center; justify-content:center; width:40px; min-height:52px; height:auto; margin:0; padding:0; border:0; border-radius:0; box-shadow:none; background:transparent; color:var(--ink); }
.selection-setting-heading .selection-move-controls button + button { border-left:1px solid var(--line); }
.selection-move-controls button svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.selection-setting-heading .selection-move-controls button:disabled { opacity:1; color:var(--muted); }
.selection-move-controls button:disabled svg { opacity:.3; }
.selection-setting-heading .selection-move-controls button:hover:not(:disabled) { background:var(--line); }
.selection-setting-heading .selection-drag { font-size:16px; color:var(--muted); }
.selection-setting-number { align-self:center; font-size:15px; font-weight:600; }
.selection-setting-heading .selection-setting-disclosure { flex:1 1 0; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border:0; border-radius:0; box-shadow:none; background:transparent; color:var(--ink); }
.selection-setting-heading .selection-setting-disclosure strong { font-size:15px; font-weight:500; overflow-wrap:anywhere; }
.selection-setting-disclosure > span { flex:none; font-size:12px; color:var(--muted); }
@media(max-width:720px) {
 .selection-setting-heading { gap:8px; padding:0 10px 0 0; }
 .selection-setting-heading .selection-move-controls button { width:34px; }
 .selection-setting-heading .selection-setting-disclosure { flex-direction:column; align-items:flex-start; justify-content:center; gap:4px; }
}

/* Keep disclosure at the right on every screen, without a second text row. */
.selection-setting-heading { min-height:44px; }
.selection-setting-heading .selection-move-controls button { min-height:44px; }
.selection-setting-heading .selection-setting-disclosure {
  flex-direction:row; align-items:center; justify-content:space-between;
  padding:8px 0; gap:10px;
}
.selection-setting-heading .selection-setting-disclosure strong { flex:1 1 auto; min-width:0; }
.selection-setting-disclosure > span { margin-left:auto; white-space:nowrap; }
@media(max-width:720px) {
 .selection-setting-heading { gap:6px; padding-right:10px; }
 .selection-setting-heading .selection-move-controls button { width:30px; min-height:44px; }
 .selection-setting-heading .selection-setting-disclosure {
   flex-direction:row; align-items:center; justify-content:space-between; padding:8px 0; gap:8px;
 }
 .selection-setting-heading .selection-setting-disclosure strong { font-size:14px; }
 .selection-setting-disclosure > span { font-size:11px; }
}

.selection-help-label { display:flex; align-items:center; gap:6px; }
.selection-help-button {
 display:inline-flex; align-items:center; justify-content:center; flex:none;
 width:18px; height:18px; min-height:18px; padding:0; margin:0;
 border:1px solid var(--muted); border-radius:50%; background:transparent;
 color:var(--muted); font:600 12px/1 Georgia,serif; box-shadow:none; cursor:pointer;
}
.selection-help-button:hover,.selection-help-button[aria-expanded="true"] { background:var(--panel-soft); color:var(--ink); border-color:var(--ink); }
.selection-help-button:focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
.selection-help-note { padding:10px 12px; background:var(--panel-soft); border-left:2px solid var(--brand); color:var(--muted); font-size:12px; line-height:1.5; text-transform:none; }
.selection-help-note[hidden] { display:none; }

.selection-help-overlay {
 position:fixed; z-index:2147483000; width:max-content; max-width:min(340px,calc(100vw - 24px));
 max-height:calc(100dvh - 24px); overflow:auto; box-sizing:border-box;
 padding:14px 16px; border:1px solid var(--line,#ded8cd); border-radius:10px;
 background:var(--panel,#fff); color:var(--ink,#171716);
 box-shadow:0 8px 28px #0003; font-size:13px; font-weight:400; line-height:1.5;
}

#poolHomeownerSelectionSettings { display:grid; gap:8px; }
#poolHomeownerSelectionSettingsBody { padding:20px; }
.selection-setting-row:has([data-pool-selection-setting-body][hidden]) .selection-setting-heading { border-bottom:0; }
@media(max-width:720px) { #poolHomeownerSelectionSettingsBody { padding:14px; } }

.selection-decision-form { display:grid; gap:12px; margin-top:16px; }
.selection-decision-note { display:grid; gap:8px; font-size:14px; }
.selection-decision-note[hidden] { display:none; }
.selection-decision-note textarea { width:100%; min-height:96px; resize:vertical; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--panel); color:var(--ink); font:inherit; }
.selection-decision-note small,.selection-decision-feedback { color:var(--muted); font-size:12px; }
.selection-decision-form > button { justify-self:start; }
.selection-saved-note p { white-space:pre-wrap; overflow-wrap:anywhere; }
