/* Team schedule — who's working today (design D37, 2026-09-24).

   Its own file so the screens it touches (Home, the calendar, Where's my
   crew, Settings) keep their stylesheets to themselves. Design system v2:
   surfaces with one hairline and no shadow, status as a dot and a word,
   14px between blocks, 44px targets, body 17px. Tokens only — no raw hex. */

/* ---- The strip: "Who's working today" ------------------------------------ */
.teamstrip { padding:20px 20px 8px; }
.teamstrip .card__head { display:flex; align-items:center; gap:10px; flex-wrap:wrap; min-height:44px; margin-bottom:6px; }
.teamstrip .card__head h2 { margin:0; white-space:nowrap; }
.teamstrip__meta { font-size:0.9375rem; color:var(--steel); font-variant-numeric:tabular-nums; }
.teamstrip__go { margin-left:auto; }
.teamstrip__list { list-style:none; margin:0; padding:0; }

.teamrow { display:flex; align-items:center; gap:10px; border-top:1px solid var(--surface-line); }
.teamrow:first-child { border-top:0; }
.teamrow__main { flex:1; min-width:0; display:flex; align-items:center; gap:12px; min-height:64px;
                 padding:10px 0; color:var(--ink); text-decoration:none; }
.teamrow__main:hover .teamrow__name { text-decoration:underline; }
.teamrow__av { flex:none; width:40px; height:40px; border-radius:50%; display:grid; place-items:center;
               background:var(--band); color:var(--ink2); font-weight:700; font-size:0.9375rem; }
.teamrow--off .teamrow__av, .teamrow--closed .teamrow__av, .teamrow--not_working .teamrow__av {
  background:var(--paper); border:1px dashed var(--surface-line-hover); color:var(--mute); }
.teamrow__w { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.teamrow__name { font-size:1.0625rem; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.teamrow__st { display:flex; align-items:center; gap:7px; font-size:1.0625rem; color:var(--ink2); }
.teamrow--off .teamrow__st, .teamrow--closed .teamrow__st, .teamrow--not_working .teamrow__st { color:var(--steel); }
.teamrow--asked .teamrow__st { color:var(--amber); }
.teamrow__side { flex:none; display:flex; flex-direction:column; align-items:flex-end; gap:2px;
                 font-size:0.9375rem; color:var(--steel); font-variant-numeric:tabular-nums; text-align:right; }
.teamrow__clock { color:var(--ink2); font-weight:600; }
.teamrow__clock.is-late { color:var(--amber); }
.teamrow__cap.is-warn { color:var(--amber); font-weight:600; }
.teamrow .rowchev { flex:none; color:var(--mute); }
.teamrow .rowmore { flex:none; }
@media (max-width:700px) {
  .teamrow__main { flex-wrap:wrap; align-items:flex-start; row-gap:4px; }
  .teamrow__w { flex:1 1 calc(100% - 60px); }
  .teamrow__side { order:3; flex:1 1 100%; flex-direction:row; flex-wrap:wrap; gap:4px 10px;
                   align-items:baseline; padding-left:48px; text-align:left; }
  .teamrow__plan, .teamrow .rowchev { display:none; }
  .teamrow__av { width:36px; height:36px; }
}

/* One line above the calendar's Team day: the same strip, collapsed. */
.teamline { display:flex; align-items:center; gap:10px; flex-wrap:wrap; min-height:44px;
            padding:6px 14px; border:1px solid var(--surface-line); border-radius:var(--r-surface);
            background:var(--surface); font-size:1.0625rem; }
.teamline__sum { font-weight:600; font-variant-numeric:tabular-nums; }
.teamline__who { color:var(--steel); }
.teamline__go { margin-left:auto; }
.calwrap__board > .teamline { margin-bottom:14px; }

/* Where the strip sits. Home: between the money and Needs you | Today. */
.homemoney + .teamstrip, .homenote + .teamstrip, .setup + .teamstrip { margin-top:26px; }
.teamstrip + .homegrid { margin-top:14px; }
/* The phone: a block like the others, 16px in from the edge. */
.mh > .teamstrip, .mh > .daychanged { margin:14px 16px 0; }
/* Where's my crew: above the crew panel. */
/* ⚠ `section { margin-top:26px }` is global (app.css) and the strip and the
   team cards are sections: under a page heading they would sit 26px down
   where every other page's first block sits at the heading's own 18px
   (measured 2026-09-24 on Hours & days off). */
.page__head + .teamcard, .page__head + .teamstrip { margin-top:0; }
.back + .crewteam { margin-top:14px; }
.crewteam > .teamstrip { margin-top:0; }
.crewteam:empty { display:none; }

/* ---- The Team schedule page --------------------------------------------- */
.teamnav { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.teamnav__day { font-size:1.1875rem; min-width:10ch; text-align:center; }
.teamnav__b { min-height:44px; }
.teamnav + .card { margin-top:14px; }
.teamcard { padding:20px 20px 8px; }
.teamcard .card__head { display:flex; align-items:center; gap:10px; min-height:44px; margin-bottom:6px; }
.teamcard .card__head h2 { margin:0; }
.teamcard .empty { padding:22px 8px 18px; }

.teamlist { list-style:none; margin:0; padding:0; }
.teamlist__row { display:flex; align-items:center; gap:12px; min-height:64px; padding:10px 0;
                 border-top:1px solid var(--surface-line); }
.teamlist__row:first-child { border-top:0; }
.teamlist__w { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; color:var(--ink);
               text-decoration:none; font-size:1.0625rem; }
a.teamlist__w:hover b { text-decoration:underline; }
.teamlist__acts { flex:none; display:flex; gap:10px; }
.teamlist__go { min-height:44px; }
.teamlist__row--requested .sub { color:var(--amber); }
.teamlist__row--declined { opacity:.7; }
@media (max-width:700px) {
  .teamlist__row { flex-wrap:wrap; }
  .teamlist__acts { width:100%; }
  .teamlist__acts > * { flex:1; }
}

/* The plan on a person's day. */
.teamfacts { list-style:none; margin:0; padding:0; }
.teamfacts li { display:flex; align-items:center; gap:10px; min-height:44px; font-size:1.0625rem;
                border-top:1px solid var(--surface-line); }
.teamfacts li:first-child { border-top:0; }
.teamfacts .sub { margin:0 0 0 auto; }

/* ---- Hours & days off --------------------------------------------------- */
.teamweek { list-style:none; margin:0; padding:0; }
.teamweek__day { display:flex; align-items:center; gap:14px; flex-wrap:wrap; min-height:56px; padding:6px 0;
                 border-top:1px solid var(--surface-line); }
.teamweek__day:first-child { border-top:0; }
.teamweek__label { min-width:9ch; font-size:1.0625rem; }
.teamweek__read { color:var(--steel); font-size:1.0625rem; font-variant-numeric:tabular-nums; }
.teamweek__wins { display:flex; flex-direction:column; gap:10px; }
.teamweek__win { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.teamweek__win input[type=time] { width:auto; min-width:8.5rem; }
.teamweek__to { color:var(--steel); }
.teamweek__split { align-self:flex-start; min-height:44px; }
.teamweek__same { display:flex; align-items:center; gap:10px; min-height:44px; margin-bottom:6px; font-size:1.0625rem; }
.teamweek__same + .hint { margin:0 0 6px; }
.teamweek + .formerr { margin-top:10px; }
.teamhours { margin-left:auto; }
.rowline > .teamhours { flex:none; align-self:center; }

/* ---- The sheets: Mark out, and Ask for time off -------------------------- */
.teamseg { width:max-content; max-width:100%; }
.teamseg .segbtn__b { min-height:44px; font-size:1.0625rem; padding:9px 18px; }
.callout { display:flex; flex-direction:column; gap:14px; }
.callout__who { margin:0; font-size:1.0625rem; color:var(--steel); }
.callout__who b { color:var(--ink); }
.callout .field { margin:0; }
.callout__head { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:10px; }
.callout__count { font-size:1.1875rem; }
.callout__all { margin-left:auto; min-height:44px; }
.callout__list { list-style:none; margin:0; padding:0; }
.callout__stop { display:flex; flex-direction:column; gap:8px; padding:12px 0; border-top:1px solid var(--surface-line); }
.callout__stop:first-child { border-top:0; }
.callout__what { font-size:1.0625rem; font-variant-numeric:tabular-nums; }
.callout__stop select { min-height:48px; font-size:1.0625rem; }
.callout__stop .sub { margin:0; }  /* one 8px rhythm inside a stop: label, why, control */
.callout__none { margin:0; font-size:1.0625rem; color:var(--steel); }
.callout__stops > .sub { margin:0; }
.teamask__who { margin:0 0 4px; font-size:1.1875rem; font-weight:600; }
.teamask__part[hidden] { display:none; }

/* ---- Settings › Hours: Closed days -------------------------------------- */
.closeddays .teamlist { margin-top:6px; }
.closeddays__none { margin:6px 0 0; }
.closeddays__add { margin-top:14px; }
.closeddays__add .formerr { margin-top:10px; }
@media (max-width:700px) { .closeddays__add .row3 { grid-template-columns:1fr; } }

/* ---- The calendar: Team day lanes and Team week cells -------------------- */
.callane { position:absolute; inset:0; pointer-events:none; z-index:0; }
.callane__out { position:absolute; left:0; right:0; background:var(--band); opacity:.75; }
.callane--off, .callane--closed, .callane--not_working {
  background:repeating-linear-gradient(135deg, var(--band) 0 10px, var(--paper) 10px 20px); }
.callane--asked { background:repeating-linear-gradient(135deg, var(--amber-bg) 0 8px, transparent 8px 22px); }
.callane__label { position:sticky; top:8px; display:inline-block; margin:8px; padding:4px 10px;
                  border-radius:999px; background:var(--surface); border:1px solid var(--surface-line);
                  font-size:0.9375rem; font-weight:600; color:var(--steel); }
.callane--asked .callane__label { color:var(--amber); }
.calteam__plan { color:var(--steel); }
.calteam__short { color:var(--amber); }
.calteamw__cell--off, .calteamw__cell--closed, .calteamw__cell--not_working {
  background:repeating-linear-gradient(135deg, var(--band) 0 10px, var(--paper) 10px 20px); }
.calteamw__cell--asked { background:repeating-linear-gradient(135deg, var(--amber-bg) 0 8px, transparent 8px 22px); }
.calteamw__plan { display:block; margin-bottom:6px; font-size:0.9375rem; font-weight:600; color:var(--steel); }
.calteamw__plan--short { color:var(--amber); }
.calteamw__cap { display:block; margin-bottom:6px; font-size:0.875rem; color:var(--mute); font-variant-numeric:tabular-nums; }

/* ---- The Move sheet and the time picker ---------------------------------- */
.movejob__tag--off { background:var(--band); color:var(--steel); }
.movejob__row.is-off .movejob__who b { color:var(--steel); }
.sched__off:empty { display:none; }
.sched__offday { margin:10px 0 0; }

/* ---- The phone: "Your day changed" -------------------------------------- */
.daychanged { padding:16px; border:1px solid var(--surface-line); border-left:4px solid var(--accent);
              border-radius:var(--r-surface); background:var(--surface); }
.daychanged__head { display:flex; align-items:center; gap:10px; }
.daychanged__title { font-size:1.1875rem; }
.daychanged__ok { margin-left:auto; min-height:44px; }
.daychanged__list { list-style:none; margin:10px 0 0; padding:0; }
.daychanged__list li + li { border-top:1px solid var(--surface-line); }
.daychanged__row { display:flex; flex-direction:column; gap:2px; min-height:44px; padding:8px 0;
                   color:var(--ink); text-decoration:none; font-size:1.0625rem; }
