#tk-hours .tg-grid { width:100%; min-width:0; overflow:hidden; }
#tk-hours .tg-sheet { width:100%; min-width:0; }
#tk-hours .tg-sheet .ag-root-wrapper { border-radius:4px; }
#tk-hours .tg-day-cell, #tk-hours .tg-total { padding:0 !important; cursor:pointer; line-height:24px; }
#tk-hours .tg-sheet .ag-cell-value { width:100%; height:100%; }
#tk-hours .tg-sheet .ag-cell { border-right:1px solid var(--p-bordo, #e0e9e7); }
#tk-hours .tg-row-planned .ag-cell { border-top:2px solid var(--p-bordo, #cbdcd8); }
#tk-hours .tg-value { display:block; height:100%; width:100%; text-align:center; line-height:23px; font-size:13px; font-variant-numeric:tabular-nums; color:var(--p-primario, #24424a); }
#tk-hours .tg-value sup { margin-left:3px; font-size:9px; font-weight:700; }
#tk-hours .tg-green { background:var(--p-tinta, #e8f5ed); color:var(--p-ok, #236c43); }
#tk-hours .tg-red { background:var(--p-err-tenue, #fde8e9); color:var(--p-errore, #aa303c); }
#tk-hours .tg-blue { background:var(--p-info-tenue, #e7f2fc); color:#256b9e; }
#tk-hours .tg-amber { background:var(--p-att-tenue, #fff3dc); color:var(--p-attenzione, #8c5a11); }
#tk-hours .tg-gray, #tk-hours .tg-planned { background:var(--p-fondo, #f5f8f8); color:var(--p-testo-2, #657c82); }
#tk-hours .tg-neutral, #tk-hours .tg-empty { background:#fff; color:#81948d; }
#tk-hours .tg-row-actual .tg-value, #tk-hours .tg-row-revision .tg-amber { font-weight:650; }
#tk-hours .tg-total .tg-value { background:var(--p-fondo, #f0f5f4); font-weight:650; }
#tk-hours .tg-metric { font-size:11px; line-height:24px; padding:0 8px !important; color:var(--p-testo-2, #617a80); background:var(--p-superficie, #fafcfb); }
#tk-hours .tg-metric-actual, #tk-hours .tg-metric-revision { color:#244c53; font-weight:600; }
#tk-hours .tg-person { width:100%; height:100%; min-width:0; white-space:normal; overflow:hidden; overflow-wrap:anywhere; box-sizing:border-box; background:#fff; border:0; text-align:left; padding:7px 8px; cursor:pointer; display:flex; flex-direction:column; justify-content:center; gap:3px; color:var(--p-primario, #183c43); }
#tk-hours .tg-person small { color:var(--p-testo-2, #647d84); font-size:10px; line-height:12px; }
#tk-hours .tg-person strong { font-size:11px; line-height:14px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
#tk-hours .tg-person span { font-size:9px; line-height:11px; text-overflow:ellipsis; overflow:hidden; white-space:nowrap; }
#tk-hours .tg-person .tg-delta { color:var(--p-testo-2, #647d84); font-size:10px; }
#tk-hours .tg-sheet .ag-header-cell-label { justify-content:center; }
#tk-hours .tg-sheet .ag-header-cell-text { white-space:pre-line; text-align:center; line-height:15px; }
#tk-hours .tg-pager { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:9px; padding:10px 0; font-size:11px; color:var(--p-testo-2, #526e74); }
#tk-hours .tg-pager label { display:flex; gap:5px; align-items:center; margin-right:auto; }
#tk-hours .tg-pager select, #tk-hours .tg-pager button { width:auto; min-width:30px; padding:4px 6px; border:1px solid var(--p-bordo, #d6e3e0); border-radius:4px; background:#fff; color:#244c53; font:inherit; }
#tk-hours .tg-pager button:disabled { opacity:.35; }
#tk-hours .tg-tools { display:flex; align-items:end; flex-wrap:wrap; gap:12px; margin:12px 0; }
#tk-hours .tg-tools label { font-size:12px; color:#48636a; display:flex; flex-direction:column; gap:4px; }
#tk-hours .tg-tools input[type=search] { min-width:230px; border:1px solid var(--p-bordo, #d4e1df); border-radius:7px; padding:9px 10px; background:#fff; color:var(--p-primario, #183c43); }
#tk-hours .tg-tools .tg-anomalies { flex-direction:row; align-items:center; gap:7px; padding:9px 0; }
#tk-hours .tg-tools > span { margin-left:auto; color:var(--p-testo-2, #647d84); font-size:12px; }
#tk-hours .tg-popup { position:fixed; z-index:1200; width:min(440px,calc(100vw - 20px)); max-height:calc(100vh - 24px); overflow:auto; padding:16px; border:1px solid #c6d9d5; border-radius:12px; background:#fff; color:var(--p-primario, #183c43); box-shadow:0 10px 45px #123c4333; box-sizing:border-box; }
#tk-hours .tg-popup header { display:flex; gap:12px; justify-content:space-between; align-items:start; }
#tk-hours .tg-popup header h4 { margin:0; font-size:14px; line-height:20px; }
#tk-hours .tg-popup .tg-comparison { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin:12px 0; font-size:10px; }
#tk-hours .tg-comparison span { padding:7px 2px; border-bottom:1px solid var(--p-bordo, #dce7e5); }
#tk-hours .tg-comparison b { display:block; font-size:14px; margin-top:3px; }
#tk-hours .tg-popup .th-cell-editor { min-width:0; width:100%; padding:0; margin:0; background:transparent; border:0; box-sizing:border-box; }
#tk-hours .tg-popup label { display:flex; flex-direction:column; gap:4px; font-size:12px; margin-top:8px; }
#tk-hours .tg-popup input, #tk-hours .tg-popup select, #tk-hours .tg-popup textarea { min-width:0; width:100%; box-sizing:border-box; padding:8px; border:1px solid var(--p-bordo, #cddcd9); border-radius:6px; background:#fff; color:var(--p-primario, #183c43); font:inherit; }
#tk-hours .tg-popup .th-cell-times { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
#tk-hours .tg-popup .th-inline-actions, #tk-hours .tg-popup .th-validation-actions, #tk-hours .tg-slots { display:flex; gap:6px; flex-wrap:wrap; margin-top:10px; }
#tk-hours .tg-popup .th-btn { white-space:normal; font-size:11px; }
#tk-hours .tg-popup small { white-space:normal; line-height:16px; }
#tk-hours .tg-popup [data-cell-status] { display:block; margin:10px 0; color:#845310; }
#tk-hours .tg-popup .tg-source { font-size:11px; margin-top:9px; color:var(--p-testo-2, #627d84); line-height:16px; }
#tk-hours .tg-popup .tg-absence-impact { margin:10px 0; padding:8px 0; border-block:1px solid #efc8c8; color:var(--p-errore, #a22c32); font-size:13px; line-height:22px; }
#tk-hours .tg-popup .tg-full-day { flex-direction:row; align-items:center; }
#tk-hours .tg-popup .tg-full-day input { width:auto; }
#tk-hours .tg-popup .tg-legacy-absence { font-size:11px; color:var(--p-errore, #a22c32); line-height:16px; }
@media(max-width:600px) { #tk-hours .tg-tools > span { width:100%; margin:0; } #tk-hours .tg-tools input[type=search] { min-width:0; width:100%; } #tk-hours .tg-tools label:first-child { width:100%; } }

.th-hour-balance{font-size:12px;line-height:1.7;color:#47626a;margin:8px 0 12px}.tg-work-impact{padding:8px 10px;background:var(--p-tinta, #edf5f4);border-radius:6px;font-size:12px;line-height:1.7}.tg-decision{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;padding-top:8px;border-top:1px solid var(--p-bordo, #dce7e5)}.tg-decision b,.tg-decision label,.tg-decision small{width:100%}.tg-decision small{font-size:11px;color:var(--p-testo-2, #637b80)}.tg-decision input{width:100%;box-sizing:border-box}.tg-row-difference .tg-value{font-weight:750}.th-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.th-metrics>div{min-width:0}.th-metrics b,.th-metrics small,.th-metrics span{overflow-wrap:anywhere}@media(max-width:600px){.th-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
