/* The same geometry is retained across travel, service, decisions and finish. */
dialog.work-shift-modal {
  width:min(430px,calc(100% - 24px)); max-width:430px;
  max-height:calc(100svh - 24px); padding:0; border:0; border-radius:18px;
  background:#15191f; overflow-x:hidden; overflow-y:auto;
  animation:none; transition:none;
}
.work-shift {
  --shift-ink:#f6eee8; --shift-muted:#c6bcca; --shift-activity:#7b8190;
  box-sizing:border-box; width:100%; min-width:0; margin:0;
  padding:20px 18px; border:1px solid #514756; border-radius:18px;
  color:var(--shift-ink); background:#15191f; font:400 16px/1.5 var(--sans,sans-serif);
  display:grid; grid-template-rows:1.25rem 2.75rem 4.5rem 3.75rem 1.75rem 2.75rem; gap:10px;
}
.work-shift *, .work-shift-history * { box-sizing:border-box; }
.work-shift__heading { display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:14px; color:var(--shift-muted); }
.work-shift__clock { display:grid; place-items:center; }
.work-shift__clock strong { font:600 36px/1.2 var(--sans,sans-serif); font-variant-numeric:tabular-nums; letter-spacing:.02em; }
.work-shift__timeline { padding-top:46px; min-width:0; }
.work-shift__rail { height:10px; position:relative; margin:0 22px; }
.work-shift__track,.work-shift__elapsed { position:absolute; inset:0; height:10px; border-radius:8px; }
.work-shift__track { background:#343b45; }
.work-shift__elapsed { background:#7b8190; clip-path:inset(0 100% 0 0); will-change:clip-path; }
.work-shift__cursor { position:absolute; inset:0; pointer-events:none; will-change:transform; }
.work-shift__marker { position:absolute; top:-47px; left:0; width:42px; height:48px; transform:translateX(-50%); }
.work-shift__portrait { position:relative; display:block; width:42px; height:42px; border:2px solid var(--shift-activity); border-radius:50%; overflow:hidden; background:#655461; }
.work-shift__portrait>.profile-art,.work-shift__portrait>.tsumugi-image,.work-shift__portrait>picture,.work-shift__portrait>img { display:block; position:static; width:100%; height:100%; min-width:0; min-height:0; margin:0; padding:0; border-radius:0; background:none; aspect-ratio:auto; }
.work-shift__portrait img { display:block; width:100%; height:100%; min-height:0; object-fit:cover; object-position:50% 17%; }
.work-shift__portrait-fallback { display:grid; place-items:center; height:100%; font-size:18px; }
.work-shift__marker-tip { display:block; width:0; height:0; margin:-1px auto 0; border-left:4px solid transparent; border-right:4px solid transparent; border-top:6px solid var(--shift-activity); }
.work-shift__endpoints { display:flex; justify-content:space-between; margin-top:8px; font-size:14px; line-height:1.3; font-variant-numeric:tabular-nums; color:var(--shift-muted); }
.work-shift__current { min-width:0; text-align:center; align-self:center; }
.work-shift[data-shift-activity="travel"] { --shift-activity:#b8c9e1; }
.work-shift[data-shift-activity="service"] { --shift-activity:#bbff3b; }
.work-shift__current h2 { font:600 20px/1.4 var(--sans,sans-serif); margin:0; color:var(--shift-activity); }
.work-shift[data-shift-event="true"] .work-shift__current h2 { color:#efd08f; }
.work-shift__current p { min-height:1.5em; margin:2px 0 0; font-size:14px; line-height:1.5; color:var(--shift-muted); }
.work-shift__actuals { display:flex; align-items:center; justify-content:center; gap:22px; font-size:14px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.work-shift__actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; min-width:0; }
.work-shift .work-shift__button { display:flex; align-items:center; justify-content:center; gap:7px; width:100%; min-width:0; height:100%; min-height:44px; margin:0; padding:8px; border:1px solid #796780; border-radius:11px; background:#342b3b; color:var(--shift-ink); font:500 16px/1.35 var(--sans,sans-serif); cursor:pointer; }
.work-shift .work-shift__button[hidden] { display:none; }
.work-shift .work-shift__button--primary { background:#cad8dc; color:#26323b; border-color:#cad8dc; font-weight:600; }
.work-shift__actions[data-shift-controls="end"],.work-shift__actions[data-shift-controls="event"] { grid-template-columns:1fr; }
.work-shift__button [data-shift-icon]:empty { display:none; }
.work-shift__button .icon { display:block; width:18px; height:18px; }
.work-shift__button:hover { filter:brightness(1.08); }
.work-shift__button:focus-visible { outline:3px solid #f3d5a7; outline-offset:3px; }
.work-shift__button:disabled { cursor:default; opacity:.5; }
@media(max-width:350px) { .work-shift { padding-left:14px; padding-right:14px; } .work-shift__actuals { gap:16px; } }
.work-shift-history { margin:20px 0 0; color:#eee6ee; min-width:0; }
.work-shift-history h3 { margin:0 0 14px; font-size:16px; font-weight:600; }
.work-shift-history ol { list-style:none; margin:0; padding:0; }
.work-shift-history__item { display:grid; grid-template-columns:82px minmax(0,1fr); gap:14px; position:relative; min-width:0; padding:0 0 16px; font-size:14px; line-height:1.5; }
.work-shift-history__item:last-child { padding-bottom:0; }
.work-shift-history__item>time { font-size:12px; font-variant-numeric:tabular-nums; color:#c7bacd; }
.work-shift-history__item>div { position:relative; border-left:1px solid #66536e; padding:0 0 0 16px; min-width:0; }
.work-shift-history__item>div:before { content:''; position:absolute; left:-4px; top:5px; width:7px; height:7px; border-radius:50%; background:#b7a2c3; }
.work-shift-history__item--service>div:before { background:#bbff3b; }
.work-shift-history__item--rest>div:before { background:#7b8190; }
.work-shift-history__item strong { display:block; font-size:14px; font-weight:500; overflow-wrap:anywhere; }
.work-shift-history__item span { display:block; margin-top:2px; font-size:12px; color:#c7bacd; overflow-wrap:anywhere; }
.work-shift-history__item span.work-shift-history__amount { color:#dec99c; font-variant-numeric:tabular-nums; }

.companion-agenda{padding:16px;margin:14px 0;}
.companion-agenda h2{font-size:16px;margin:0 0 12px;}
.companion-agenda article+article{border-top:1px solid #655769;margin-top:12px;padding-top:12px;}
.companion-agenda strong{font-size:14px;}.companion-agenda p{font-size:14px;margin:6px 0;}.companion-agenda small{display:block;color:var(--muted);}
.companion-agenda article>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}

.work-shift{grid-template-rows:1.25rem 2.75rem 4.5rem 1.25rem 3.75rem 1.75rem 2.75rem}.work-shift__legend{display:flex;justify-content:center;gap:18px;font-size:14px;color:#e4e8ee}.work-shift__legend span:before{content:"";display:inline-block;width:12px;height:8px;margin-right:6px;background:#7b8190;border-radius:2px}.work-shift__legend .is-service:before{background:#bbff3b}.work-shift__legend .is-travel:before{background:#b890df}
