/* Time Clock & Scheduling. Built on app.css tokens. */
.tc-tabs{margin-bottom:var(--gap,14px);display:flex;align-items:center}
.tc-open{margin-left:auto!important;color:var(--info)!important}
.tc-gap{margin-top:var(--gap,14px)}
.tc-two{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--gap,14px);margin-top:var(--gap,14px)}
.tc-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;vertical-align:middle}
.tc-dot.c-cyan,.tc-shift.c-cyan{--c:94,231,255}.tc-dot.c-green,.tc-shift.c-green{--c:79,209,139}.tc-dot.c-amber,.tc-shift.c-amber{--c:240,180,76}
.tc-dot.c-red,.tc-shift.c-red{--c:255,107,99}.tc-dot.c-violet,.tc-shift.c-violet{--c:155,123,255}.tc-dot.c-blue,.tc-shift.c-blue{--c:110,168,255}
.tc-dot{background:rgb(var(--c,94,231,255))}
.tc-break{background:rgba(240,180,76,.16)!important;color:var(--warn)!important}
.tc-ot{color:var(--warn)!important}
.tc-inactive td{opacity:.55}
.tc-edit{position:relative;display:inline-block}.tc-edit>summary{list-style:none;cursor:pointer}.tc-edit>summary::-webkit-details-marker{display:none}
.tc-pop{position:absolute;right:0;top:38px;z-index:30;width:min(520px,88vw);padding:16px!important;box-shadow:var(--pop);text-align:left}
.tc-popacts{display:flex;justify-content:space-between;align-items:center}
.text-btn.danger{color:var(--bad)}
.tc-rule-form{margin:0;padding:18px 20px 20px;border-top:1px solid var(--hair)}
.field-grid.four-col{grid-template-columns:repeat(4,minmax(0,1fr))}.span-3{grid-column:span 3}
.tc-filter,.tc-weeknav{display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:center;gap:8px}.tc-filter input{width:auto!important}
.tc-weeknav form{margin:0}
.tc-exports{display:flex!important;flex-direction:column;gap:2px;font-size:14px!important;font-weight:500!important}.tc-exports a{color:var(--info)}
/* schedule grid */
.tc-grid-panel{padding:0!important;overflow:auto}
.tc-grid{display:grid;grid-template-columns:200px repeat(var(--cols),minmax(118px,1fr));min-width:1000px}
.tc-gh{padding:10px 12px;font-weight:600;border-bottom:1px solid var(--line);font-size:13px}.tc-gh small{display:block;color:var(--muted);font-weight:400}
.tc-gh.is-today{color:var(--info)}
.tc-gname{display:flex;align-items:center;padding:10px 12px;border-bottom:1px solid var(--hair)}.tc-gname small{display:block;color:var(--muted);font-size:12px}
.tc-cell{padding:6px;border-bottom:1px solid var(--hair);border-left:1px solid var(--hair);display:grid;gap:6px;align-content:start;min-height:58px}
.tc-shift{position:relative;margin:0;padding:7px 22px 7px 9px;border-radius:10px;background:rgba(var(--c),.15);box-shadow:inset 3px 0 0 rgb(var(--c));font-size:12.5px}
.tc-shift strong{font-weight:600}.tc-shift small{display:block;color:var(--muted)}
.tc-shift.draft{background:repeating-linear-gradient(135deg,rgba(var(--c),.10) 0 6px,rgba(var(--c),.04) 6px 12px)}
.tc-shift button{position:absolute;top:3px;right:4px;border:0;background:none;color:var(--muted);cursor:pointer;font-size:15px;line-height:1}
.tc-off{padding:7px 9px;border-radius:10px;background:rgba(255,255,255,.04);color:var(--muted);font-size:12.5px;box-shadow:inset 0 0 0 1px var(--hair)}.tc-off small{display:block}
.tc-offlist{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px}.tc-offlist li{display:flex;justify-content:space-between;align-items:center;font-size:13px}.tc-offlist form{margin:0}
@media (max-width:1000px){.tc-two{grid-template-columns:1fr}.field-grid.four-col{grid-template-columns:1fr 1fr}}
@media print{.sidebar,.tc-tabs,.tc-weeknav,.tc-two,.flash{display:none!important}.tc-grid{min-width:0}.tc-shift button{display:none}}
/* PIN clock screen */
.tc-screen{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(1200px 600px at 50% -10%,rgba(62,106,225,.18),transparent),var(--canvas);user-select:none}
.tc-top{display:flex;justify-content:space-between;align-items:center;padding:18px 26px}.tc-top div{display:grid}.tc-top span{color:var(--muted);font-family:var(--mono);font-size:13px}
.tc-main{flex:1;display:grid;place-items:center;padding:20px}
.tc-pad,.tc-who,.tc-done{width:min(420px,94vw);text-align:center}
.tc-pad h1,.tc-who h1,.tc-done h1{font-weight:500;font-size:28px;margin:0 0 14px}
.tc-dots{display:flex;justify-content:center;gap:12px;height:22px;margin-bottom:22px}.tc-dots i{width:16px;height:16px;border-radius:50%;background:var(--ink)}.tc-dots.bad i{background:var(--bad)}
.tc-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tc-keys button{height:78px;border:0;border-radius:18px;background:var(--field);color:var(--ink);font:500 28px var(--font);cursor:pointer;box-shadow:inset 0 0 0 1px var(--line);transition:transform .06s,background .15s}
.tc-keys button:active{transform:scale(.95);background:var(--control)}
.tc-keys .tc-k-alt{font-size:16px;color:var(--muted)}.tc-keys .tc-k-go{background:var(--primary);box-shadow:none;font-size:18px}
.tc-hint{color:var(--muted);min-height:22px;margin-top:16px}.tc-hint.bad{color:#ffb4ae}
.tc-hello{color:var(--muted)}.tc-who p{color:var(--muted)}
.tc-acts{display:grid;gap:12px;margin:22px 0}.tc-acts button{height:72px;border:0;border-radius:18px;font:600 20px var(--font);cursor:pointer;color:#fff}
.tc-acts .in{background:var(--ok);color:#06210f}.tc-acts .out{background:var(--bad);color:#2a0705}.tc-acts .break,.tc-acts .back{background:var(--control)}
.tc-next{font-size:13px}
.tc-done span{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 18px;border-radius:50%;background:var(--ok);color:#06210f;font-size:40px}
.tc-job{display:flex;flex-direction:column;gap:6px;width:100%;margin-bottom:6px;text-align:left}.tc-job span{font-size:13px;color:var(--muted)}.tc-job select{height:52px;font-size:17px;border-radius:12px}
#tcActs .switch{background:var(--primary-tint);border-color:var(--primary-line)}
