:root{--p:#176b87;--p2:#0f536b;--bg:#f4f6f8;--line:#dfe5e8;--danger:#b42318;--ok:#067647}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:system-ui,-apple-system,sans-serif;color:#17202a}.wrap{max-width:1050px;margin:auto;padding:14px}.card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:17px;margin-bottom:13px}.top{display:flex;justify-content:space-between;align-items:center;gap:12px}.muted{color:#68737d}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.two{grid-template-columns:1fr 1fr}.btn{display:inline-block;background:var(--p);color:#fff;border:0;border-radius:12px;padding:12px 15px;text-align:center;text-decoration:none;font-weight:700;cursor:pointer;font-size:15px}.btn:hover{background:var(--p2)}.btn.light{background:#e9f2f5;color:#174f62}.btn.danger{background:#fee4e2;color:var(--danger)}.actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.metric{font-size:1.8rem;font-weight:800}.metric.small{font-size:1.2rem;margin-top:6px}.record-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.record-row.inactive{opacity:.55}.log-entry{padding:13px 0;border-bottom:1px solid var(--line)}.date-filter input,.status-select{margin:0}.date-filter input{min-width:155px}input,select,textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:11px;margin:5px 0 12px;font-size:16px;background:#fff}textarea{min-height:90px}.login{max-width:440px;margin:6vh auto}.nav{display:flex;gap:7px;overflow:auto;padding:8px 0 14px}.nav a{white-space:nowrap}.badge{display:inline-block;background:#e9f2f5;color:#174f62;padding:5px 9px;border-radius:999px;font-size:13px;font-weight:700}.alert{padding:11px;border-radius:10px;margin:10px 0}.success{background:#dcfae6;color:var(--ok)}.error{background:#fee4e2;color:var(--danger)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 8px;border-bottom:1px solid var(--line);vertical-align:top}.table-wrap{overflow:auto}.inline{display:flex;gap:8px;align-items:center}.inline>*{margin-top:5px}.empty{padding:24px;text-align:center;color:#68737d}.day{border-left:4px solid var(--p)}.schedule-head{align-items:center}.schedule-legend{display:flex;gap:7px;flex-wrap:wrap}.legend,.status-label{font-size:12px;font-weight:800;padding:5px 8px;border-radius:999px}.schedule-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px;margin:9px 0;border-radius:12px;border-left:5px solid}.schedule-item.past,.legend.past{background:#fff7d6;color:#715b00;border-color:#eaaa08}.schedule-item.current,.legend.current{background:#dcfae6;color:#05603a;border-color:#12b76a}.schedule-item.next,.legend.next{background:#eaf3ff;color:#174f8a;border-color:#2e90fa}.status-label{background:rgba(255,255,255,.65);white-space:nowrap}.status-select{font-weight:800;border-width:2px;transition:.15s}.status-select.state-presente{background:#dcfae6;color:#05603a;border-color:#12b76a}.status-select.state-falta{background:#fee4e2;color:#9b1c13;border-color:#f04438}.status-select.state-retardo{background:#fff7d6;color:#715b00;border-color:#eaaa08}.status-select.state-justificada{background:#eaf3ff;color:#174f8a;border-color:#2e90fa}.history-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.history-card{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:13px;padding:13px;background:#fafcfd}.history-card:hover,.history-card.selected{border-color:var(--p);box-shadow:0 0 0 2px #d8edf4}.history-counts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.dot{font-size:12px;font-weight:700;padding:4px 7px;border-radius:999px}.dot.present{background:#dcfae6;color:#05603a}.dot.absent{background:#fee4e2;color:#9b1c13}.dot.late{background:#fff7d6;color:#715b00}.dot.justified{background:#eaf3ff;color:#174f8a}.incident-card{border-top:4px solid #f79009}.incident-btn{background:#b54708}.timeline-date{position:sticky;top:0;background:var(--bg);padding:8px 10px;border-radius:10px;z-index:1}.timeline-entry{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.timeline-icon{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:#e9f2f5;color:var(--p);font-weight:900}.timeline-content{flex:1;min-width:0}.timeline-content h3{margin:8px 0 3px}.type-incidente .timeline-icon{background:#fee4e2;color:#b42318}.type-tarea_casa .timeline-icon{background:#fff7d6;color:#715b00}.review-alert{border-left:5px solid #eaaa08;background:#fffdf4}.review-link{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #f5df99;text-decoration:none;color:inherit}.review-link span{color:var(--p);font-weight:700;white-space:nowrap}.review-link div{display:flex;flex-direction:column;gap:3px}.review-link small{color:#68737d}.review-link small.overdue{color:#b42318;font-weight:800}.task-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.task-actions form{margin:0}.task-reviewed{display:inline-block;background:#dcfae6;color:#05603a;padding:7px 10px;border-radius:999px;font-size:13px;font-weight:800;white-space:nowrap}.task-correct-link{color:#52616a;font-size:13px;font-weight:700;text-decoration:underline}.today-projects{margin:10px 0 15px;padding:12px;background:#f4f0ff;border-left:5px solid #7f56d9;border-radius:12px}.today-projects h4{margin:0 0 8px;color:#53389e}.today-project{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #ddd3f5}.today-project:first-of-type{border-top:0}.today-project div{display:flex;flex-direction:column;gap:3px}.today-project span{font-size:12px;font-weight:800;text-transform:uppercase;color:#6941c6}.today-project small{color:#68737d}.today-project a{color:#53389e;font-weight:800;text-decoration:none;white-space:nowrap}@media(max-width:700px){.grid,.two,.history-grid{grid-template-columns:1fr}.actions{grid-template-columns:1fr 1fr}.top{align-items:flex-start}.schedule-head{display:block}.schedule-legend{margin-bottom:10px}.hide-mobile{display:none}th,td{padding:9px 6px}.inline{flex-wrap:wrap}.task-actions{align-items:flex-start}.today-project{align-items:flex-start;flex-direction:column}}
