/* Rostify — "Time clock". Builds on sick-leave, monthly, shift-requests and leave CSS. */
.tc{--in-bg:light-dark(#E3F3D8,#1E3318);--in-ink:light-dark(#3C6E1F,#A9DB8A);--out-bg:light-dark(#FBE4EA,#3A1E26);--out-ink:light-dark(#A3354F,#F2A8BA)}

/* hero: who may clock */
.tc-herocol{display:grid;gap:24px;align-content:end}
.tc-access{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tc-acc{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;padding:18px;border-radius:14px;border:1px solid var(--rule2);background:var(--paper)}
.tc-acc-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:light-dark(#E4EFEE,#0C1719)}
.tc-acc-icon svg{width:24px;height:24px;fill:none;stroke:var(--teal);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tc-switch{position:relative;display:block;width:30px;height:18px;border-radius:9px;background:var(--teal)}
.tc-switch b{position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;background:#FFFFFF}
.tc-acc-body{display:grid;gap:2px}
.tc-acc-body strong{font-weight:600;font-size:16px;color:var(--ink)}
.tc-acc-body em{font-style:normal;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--teal)}
.tc-acc-body span{margin-top:4px;font-size:14px;line-height:1.45;color:var(--ink2)}
.tc-acc--always{border-color:var(--teal)}

/* 01 staff: key chips like the product buttons */
.tc-key{display:inline-grid;place-items:center;min-width:44px;height:24px;padding:0 8px;margin-right:4px;border-radius:6px;font-family:var(--mono);font-size:11px;letter-spacing:.04em}
.tc-key--1{background:var(--in-bg);color:var(--in-ink)}
.tc-key--2{background:var(--out-bg);color:var(--out-ink)}
.tc-key--3{background:var(--paper);color:var(--ink);border:1px solid var(--rule2)}
.tc-steps{margin-top:8px}

/* 02 supervisor: example timeline */
.tc-sup{background:var(--paper)}
.tc-line{margin:clamp(28px,3.4vw,48px) 0 0;padding:clamp(22px,2.6vw,34px);border-radius:16px;border:1px solid var(--rule);
  background-color:light-dark(#E4EFEE,#0C1719);background-image:radial-gradient(light-dark(rgba(14,32,35,.10),rgba(230,239,238,.08)) 1px,transparent 1.2px);background-size:18px 18px}
.tc-line figcaption{display:flex;align-items:center;gap:10px;margin-bottom:24px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.tc-track{position:relative;height:118px}
.tc-plan{position:absolute;top:30px;height:34px;border:1.5px dashed var(--teal);border-radius:9px}
.tc-plan span{position:absolute;top:-24px;left:0;font-family:var(--mono);font-size:12px;font-weight:600;color:var(--teal);white-space:nowrap}
.tc-act{position:absolute;top:30px;height:34px;border-radius:9px 0 0 9px;background:var(--teal)}
.tc-gap{position:absolute;top:30px;height:34px;display:grid;place-items:center;border-radius:0 9px 9px 0;
  background:repeating-linear-gradient(135deg,var(--out-bg) 0 6px,transparent 6px 12px)}
.tc-gap b{padding:2px 8px;border-radius:6px;background:var(--paper);font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--out-ink);white-space:nowrap}
.tc-out{position:absolute;top:22px;height:50px;border-left:2px solid var(--out-ink)}
.tc-out span{position:absolute;top:54px;left:-2px;transform:translateX(-50%);padding:3px 8px;border-radius:6px;background:var(--out-bg);
  font-family:var(--mono);font-size:12px;font-weight:600;color:var(--out-ink);white-space:nowrap}
.tc-ticks{position:absolute;left:0;right:0;top:100px}
.tc-ticks span{position:absolute;font-family:var(--mono);font-size:11px;color:var(--mute)}
.tc-sup .mr-related{margin-top:clamp(40px,5vw,72px)}

/* final band: the three product keys */
.tc-keys{display:flex;gap:10px}
.tc-k{display:grid;place-items:center;min-width:72px;height:56px;padding:0 14px;border-radius:12px;font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.04em}
.tc-k--in{background:#DCF0CC;color:#2F5E16}
.tc-k--out{background:#F9D9E1;color:#94243F}
.tc-k--brk{background:#F4FAFA;color:#0E2023}

@media (max-width:1000px){
  .tc-access{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .tc .sr-wide .sl-marker{display:none}
  .tc-track{height:124px}
  .tc-plan span{font-size:11px}
  .tc-gap{z-index:2}
  .tc-gap b{position:absolute;right:0;top:44px;font-size:11px;padding:2px 6px}
  .tc-out{height:80px}
  .tc-out span{top:84px;left:auto;right:0;transform:none;font-size:11px}
  .tc-ticks{display:none}
}
