.tc-app{--tc-ink:#19251e;--tc-muted:#758077;--tc-line:#e7ece5;--tc-paper:#f4f7f1;--tc-green:#256b48;--tc-mint:#e8f3e9;--tc-white:#fff;color:var(--tc-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.45}.tc-app *{box-sizing:border-box}.tc-shell{max-width:1180px;margin:0 auto;padding:0 22px 40px}.tc-top{height:70px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--tc-line)}.tc-brand{display:flex;gap:9px;align-items:center;text-decoration:none!important;color:var(--tc-ink)!important;font-size:21px;font-weight:800;letter-spacing:-.8px}.tc-mark{width:36px;height:36px;display:block;object-fit:cover;border-radius:11px;filter:drop-shadow(0 2px 2px #193c2b24)}.tc-topright{display:flex;align-items:center;gap:15px;color:var(--tc-muted);font-size:12px}.tc-role-pill{background:var(--tc-mint);color:var(--tc-green);border-radius:20px;padding:6px 9px}.tc-logout{color:var(--tc-green);font-weight:700;text-decoration:none}.tc-main{padding-bottom:25px}.tc-greeting{display:flex;align-items:end;justify-content:space-between;padding:25px 0 20px;gap:12px}.tc-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.45px;font-weight:800;color:var(--tc-green)}.tc-greeting h1{font-size:29px;line-height:1.15;letter-spacing:-1px;margin:5px 0 4px;color:var(--tc-ink)}.tc-greeting p{margin:0;color:var(--tc-muted);font-size:13px}.tc-date{border:1px solid var(--tc-line);background:white;padding:8px 12px;border-radius:10px;text-transform:capitalize;color:#59665c;font-size:12px}.tc-card{background:var(--tc-white);border:1px solid #e9eee7;border-radius:16px;box-shadow:0 10px 30px #20332208}.tc-employee-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:15px}.tc-clock{padding:23px}.tc-card-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--tc-muted)}.tc-status{display:flex;align-items:center;gap:6px;background:#f0f3ef;border-radius:20px;padding:6px 9px;color:#59665c}.tc-status i{width:7px;height:7px;border-radius:50%;background:#b0b7b0}.tc-status i.tc-live{background:#55a66d;box-shadow:0 0 0 3px #55a66d22}.tc-timer{font-size:clamp(47px,7vw,69px);font-variant-numeric:tabular-nums;letter-spacing:-3px;line-height:1.1;font-weight:750;margin:14px 0 3px}.tc-subtime{font-size:12px;color:var(--tc-muted);margin:0}.tc-progress{height:6px;border-radius:9px;background:#edf1eb;overflow:hidden;margin:20px 0}.tc-progress span{display:block;height:100%;background:var(--tc-green);border-radius:9px}.tc-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--tc-line);padding:15px 0 18px}.tc-metrics>div+div{border-left:1px solid var(--tc-line);padding-left:15px}.tc-metrics strong,.tc-metrics small{display:block}.tc-metrics strong{font-size:15px}.tc-metrics small{font-size:10px;color:var(--tc-muted);margin-top:2px}.tc-actions{display:flex;gap:9px}.tc-button{border:0;border-radius:10px;min-height:40px;padding:10px 14px;font-size:12px;font-weight:750;line-height:1.2;cursor:pointer;text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center}.tc-button:disabled{opacity:.45;cursor:not-allowed}.tc-primary{background:var(--tc-green);color:#fff!important}.tc-primary:hover{background:#1d593a;color:white}.tc-light{background:#eef3ec;color:var(--tc-green)!important}.tc-danger{background:#f9e6e3;color:#a63e34!important}.tc-clock .tc-primary{flex:1}.tc-shift{padding:22px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:270px}.tc-shift h2{font-size:19px;line-height:1.3;margin:10px 0 5px}.tc-shift p{margin:0;color:var(--tc-muted);font-size:12px}.tc-shift-foot{margin-top:16px;font-size:11px;color:#5c6b60}.tc-mode{margin-top:22px;padding:9px 11px;background:#f4f7f1;border-radius:10px;color:#57665b;font-size:11px}.tc-section{margin-top:20px}.tc-section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.tc-section-head h2,.tc-form-card h2{font-size:17px;letter-spacing:-.3px;margin:0}.tc-table-wrap{overflow:auto}.tc-table-wrap table{width:100%;border-collapse:collapse;min-width:620px;font-size:11px}.tc-table-wrap th{text-align:left;background:#fafbf9;color:var(--tc-muted);font-weight:700}.tc-table-wrap th,.tc-table-wrap td{padding:11px 13px;border-bottom:1px solid #eef1ec;vertical-align:middle}.tc-table-wrap tr:last-child td{border-bottom:0}.tc-table-wrap a{color:var(--tc-green);font-weight:650}.tc-event-pill{display:inline-block;background:#f0f4ef;border-radius:20px;padding:4px 7px;white-space:nowrap}.tc-muted,.tc-empty{color:var(--tc-muted)}.tc-empty{text-align:center;padding:24px!important}.tc-two-col{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);gap:16px}.tc-global-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:16px}.tc-form-card{margin-top:11px;padding:18px}.tc-form-card h2{margin:0 0 14px}.tc-form-card h3{font-size:13px;margin:17px 0 8px}.tc-form-card label{display:block;font-size:11px;color:#536157;font-weight:700;margin:0 0 11px}.tc-form-card input,.tc-form-card select{display:block;width:100%;min-height:39px;background:white;border:1px solid #dfe6dd;border-radius:8px;padding:8px 10px;margin-top:5px;color:var(--tc-ink);font:inherit;font-size:12px}.tc-form-card input:focus,.tc-form-card select:focus{outline:2px solid #256b4833;border-color:var(--tc-green)}.tc-form-card small,.tc-hint{font-size:10px;color:var(--tc-muted);font-weight:400;display:block;margin-top:4px}.tc-hint{line-height:1.5;margin:9px 0 0}.tc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.tc-small{min-height:29px;padding:7px 9px;font-size:10px}.tc-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tc-kpis>.tc-card{padding:16px}.tc-kpis small{display:block;color:var(--tc-muted);font-size:11px}.tc-kpis strong{display:block;font-size:24px;margin-top:6px}.tc-tag{display:inline-block;background:var(--tc-mint);color:var(--tc-green);padding:4px 7px;border-radius:20px;font-size:9px;white-space:nowrap}.tc-tag-off{background:#f1f2ef;color:#717b72}.tc-space-top{margin-top:18px}.tc-footer{text-align:center;border-top:1px solid var(--tc-line);padding-top:15px;color:#8a958b;font-size:10px}.tc-login-card{max-width:390px;margin:24px auto;padding:24px;background:white;border:1px solid var(--tc-line);border-radius:16px;box-shadow:0 12px 34px #2033220b}.tc-login-card h2{font-size:20px;margin:17px 0}.tc-login-card label{display:block;font-size:12px;font-weight:650;margin:12px 0}.tc-login-card input{display:block;width:100%;min-height:42px;border:1px solid var(--tc-line);border-radius:9px;padding:9px 11px;margin-top:5px;font:inherit}.tc-login-card .tc-button{width:100%;margin-top:8px}.tc-error{color:#a64039}.tc-message{border:1px solid var(--tc-line);border-radius:12px;background:#fff;padding:17px;margin:14px 0}.tc-loading{padding:24px;color:var(--tc-muted)}.tc-toast{position:fixed;z-index:100000;bottom:22px;left:50%;transform:translate(-50%,12px);opacity:0;pointer-events:none;padding:11px 15px;background:#203b2c;color:white;border-radius:10px;box-shadow:0 10px 24px #0002;font-size:12px;transition:.18s;max-width:min(90vw,540px)}.tc-toast.is-visible{opacity:1;transform:translate(-50%,0)}.tc-toast.is-error{background:#a64039}
@media(max-width:800px){.tc-two-col,.tc-global-grid{grid-template-columns:1fr}.tc-employee-grid{grid-template-columns:1fr}.tc-shift{min-height:0}.tc-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.tc-shell{padding:0 13px 30px}.tc-top{height:59px}.tc-topright{gap:8px}.tc-topright>span:first-child{display:none}.tc-greeting{align-items:flex-start;flex-direction:column;padding:20px 0 15px}.tc-greeting h1{font-size:25px}.tc-date{font-size:11px}.tc-clock{padding:18px}.tc-timer{font-size:55px}.tc-metrics>div+div{padding-left:9px}.tc-metrics strong{font-size:13px}.tc-actions{flex-direction:column}.tc-actions .tc-button{width:100%}.tc-kpis{gap:7px}.tc-kpis>.tc-card{padding:11px}.tc-kpis small{font-size:9px}.tc-kpis strong{font-size:19px}.tc-form-grid{grid-template-columns:1fr}.tc-topright .tc-role-pill{font-size:9px}.tc-button{font-size:11px}}
.tc-date small{display:block;margin-top:5px;font-size:10px;color:var(--tc-muted);text-transform:none}.tc-shift-item{width:100%;padding:12px 0;border-bottom:1px solid var(--tc-line)}.tc-shift-item:last-of-type{border-bottom:0}.tc-shift-item h2{margin:0 0 4px}.tc-shift-item .tc-shift-foot{margin-top:5px}.tc-table-wrap table{min-width:760px}
