.time-shell{display:grid;gap:10px;align-content:start}.time-shell>.panel,.time-shell>.time-summary{margin-bottom:0}.time-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.time-toolbar h2{margin:0 0 3px}.time-toolbar p{margin:0}.time-toolbar .spacer{flex:1}.time-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto}.time-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:8px 11px;white-space:nowrap;color:var(--muted);font-weight:600}.time-tabs button.active{border-color:var(--brand);color:var(--brand)}
.time-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;align-items:end}.time-filters .field{margin:0}.time-gap-toggle{display:flex;align-items:center;gap:7px;min-height:34px;padding:0 8px;white-space:nowrap}.time-summary{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:8px}.time-summary .card{min-height:78px;padding:12px}.time-summary strong{font-size:18px}.time-positive{color:#197341}.time-negative{color:#b42318}.time-source{white-space:nowrap}.time-source:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#79828d;margin-right:6px}.time-source.source-device:before{background:#236b9a}.time-source.source-manual:before{background:#d67600}.time-active:before{background:#198754}.time-audit{margin-top:8px;padding:8px;border-left:3px solid #d8dde3;background:#f7f8fa;font-size:12px}.time-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.time-location{font-weight:600}.time-device-state{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.time-device-state .dot{width:9px;height:9px;border-radius:50%;background:#929aa3}.time-device-state.ready .dot{background:#18864b}.time-table-actions{white-space:nowrap}.time-print-header{display:none}.time-report-switch{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);padding-bottom:8px}.time-report-switch>div{display:flex;gap:10px;align-items:baseline;margin-left:10px}.time-report-switch span{color:var(--muted);font-size:12px}.time-day-table td{vertical-align:top}.time-day-table td>div+div{margin-top:4px}.time-employee-start td{border-top:2px solid #cbd2d9}.time-person{display:flex;align-items:center;gap:8px;min-width:170px}.time-person>span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #ccd2d8;border-radius:50%;font-size:10px;background:#fff}.time-missing{display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid #e16b74;border-radius:50%;color:#c72534;font-weight:700}
.time-shell .table-wrap{height:auto!important;min-height:0;overflow-x:auto}.time-shell .table{height:1px!important;min-height:0!important}.time-shell .table thead,.time-shell .table tbody{height:auto!important}.time-shell .table tr{height:1px!important;min-height:0!important}.time-shell .table th,.time-shell .table td{height:1px!important;min-height:0!important;padding:7px 9px;line-height:1.25}.time-admin-only{display:inline-flex;align-items:center;gap:6px}
.time-clock-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.time-live-evidence{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#f8f9fa}.time-live-evidence>span{padding-left:12px;border-left:1px solid var(--line)}.time-gps summary{cursor:pointer;color:#245f8c;font-weight:600}.time-gps>div{min-width:280px;margin-top:6px;padding:8px;border:1px solid var(--line);background:#fff;line-height:1.65;white-space:normal}.time-gps a{white-space:normal}.time-day-table{min-width:1180px}
@media(max-width:1100px){.time-filters{grid-template-columns:repeat(3,minmax(150px,1fr))}.time-summary{grid-template-columns:repeat(3,minmax(130px,1fr))}.time-settings-grid{grid-template-columns:1fr}}
@media(max-width:720px){.time-filters,.time-summary{grid-template-columns:1fr 1fr}.time-toolbar{align-items:stretch}.time-toolbar .btn{flex:1}.time-table-actions{white-space:normal}.time-clock-actions{width:100%;justify-content:stretch}.time-clock-actions .btn{flex:1}.time-live-evidence{display:grid}.time-live-evidence>span{padding:0;border:0}}
@media print{.topbar,.nav,.time-tabs,.time-filters,.time-toolbar .btn{display:none!important}.time-print-header{display:block}.time-shell{display:block}.time-shell .panel{border:0}.time-shell .table-wrap{overflow:visible}.time-shell table{font-size:10pt}.time-shell .cards{break-inside:avoid}}
.time-source.source-oncall:before{background:#8b3dad}.time-entry-employee-start td{border-top:2px solid #cbd2d9}.time-clock-actions .btn.oncall{border-color:#8b3dad;color:#70298f;background:#faf3fd}.time-day-table{min-width:1280px}.time-oncall-settings{grid-column:1/-1}.time-oncall-form{display:grid;grid-template-columns:150px 150px minmax(220px,1fr) minmax(220px,1fr) auto auto;gap:8px;align-items:end}.time-oncall-form .field{margin:0}
.time-report-preview-modal{width:min(96vw,1500px);height:min(92vh,1000px);max-width:none;padding:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}.time-report-preview-head{display:flex;align-items:center;gap:16px;padding:12px 14px;border-bottom:1px solid var(--line);background:#fff}.time-report-preview-head>div:first-child{min-width:0}.time-report-preview-head h2{margin:0 0 3px;font-size:18px}.time-report-preview-head p{margin:0;color:var(--muted);font-size:12px}.time-report-preview-head .actions{margin:0 0 0 auto;align-items:center;flex-wrap:wrap}.time-report-zoom{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}.time-report-zoom .btn{flex:0 0 auto;min-width:34px;min-height:32px;padding:5px 8px;border:0;border-right:1px solid var(--line);border-radius:0;font-size:17px;line-height:1}.time-report-zoom .btn:last-child{border-right:0}.time-report-zoom .btn:disabled{color:#a5acb4;background:#f5f6f7;cursor:not-allowed}.time-report-zoom .time-report-zoom-value{min-width:62px;font-size:12px;font-variant-numeric:tabular-nums}.time-report-preview-frame{display:block;width:100%;height:100%;border:0;background:#e7e9ec}
@media(max-width:720px){.time-oncall-form{grid-template-columns:1fr}}
@media(max-width:720px){.time-report-preview-modal{width:98vw;height:94vh}.time-report-preview-head{align-items:flex-start;flex-direction:column}.time-report-preview-head .actions{width:100%;margin:0}.time-report-preview-head .actions>.btn{flex:1}.time-report-zoom .btn{flex:0 0 auto}}
