*{box-sizing:border-box}:root{color-scheme:light;font-family:Calibri,"Segoe UI",Arial,sans-serif;background:#f4f5f4;color:#222b25}body{margin:0}main{max-width:1120px;margin:auto;padding:56px 28px 24px}.intro{border-bottom:1px solid #d6dcd7;padding-bottom:28px}.intro h1{font-size:clamp(28px,4vw,44px);line-height:1.2;letter-spacing:-1.3px;margin:0;font-weight:700}.layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:24px;margin-top:28px;align-items:start}.card{background:#ffffff;border:1px solid #d2d9d3;border-radius:8px;padding:26px}h2{font-size:20px;margin:0 0 28px;letter-spacing:-.3px}fieldset{border:0;padding:0;margin:0 0 28px}legend,.input-label{font-size:14px;font-weight:600;display:block;margin-bottom:14px}.hours{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.hours label{position:relative}.hours input{position:absolute;opacity:0;width:1px;height:1px}.hours span{display:block;text-align:center;border:1px solid #bdc8bf;border-radius:5px;padding:15px 2px;font-size:22px;cursor:pointer;background:#ffffff}.hours small{display:block;font-size:11px;margin-top:5px;color:#58675c}.hours input:checked+span{border-color:#107c41;background:#e7f2ea;color:#107c41;box-shadow:inset 0 -2px #107c41}.hours input:focus-visible+span{outline:2px solid #107c41;outline-offset:3px}.number-field{display:flex;align-items:center;gap:10px;border:1px solid #bdc8bf;border-radius:5px;padding:8px;background:#ffffff}.number-field button{width:38px;height:36px;border:1px solid #bdc8bf;border-radius:3px;background:#edf2ee;color:#285d3e;font-size:22px;cursor:pointer}.number-field input{min-width:0;width:100%;border:0;background:transparent;color:#222b25;text-align:center;font:600 26px Arial,sans-serif;appearance:textfield}.number-field input::-webkit-inner-spin-button{appearance:none}.field-hint{font-size:12px;color:#58675c;margin:10px 0 25px}.submit{width:100%;padding:15px;border:0;border-radius:5px;color:white;background:#107c41;font-size:15px;font-weight:600;cursor:pointer}.submit:hover{background:#0b6132}.rule-note{border-top:1px solid #d2d9d3;margin-top:22px;padding-top:18px}.rule-note p{font-size:11px;color:#58675c;line-height:1.9;margin:0}#error{font-size:12px;color:#b82c3b}.result-heading{display:flex;gap:15px;align-items:center;justify-content:space-between}.result-heading h2{margin:0}.badge{font-size:11px;white-space:nowrap;background:#e7f2ea;color:#176c3b;border:1px solid #b7d5c0;border-radius:4px;padding:7px 9px}.badge.warning{background:#fff5d9;color:#805e0c;border-color:#e1cf94}.badge.danger{background:#fce9ec;color:#a72c3b;border-color:#e6b1b9}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}.metric-label{color:#58675c;font-size:12px}strong{display:block;font-size:48px;margin-top:10px;letter-spacing:-1px;line-height:1.1}strong small{font-size:24px;color:#6d786f;font-weight:400}.remaining{padding-left:25px;border-left:1px solid #d2d9d3}.remaining strong{color:#107c41}.message{font-size:12px;color:#58675c;line-height:1.7;margin:20px 0}.reaction{display:flex;align-items:center;gap:14px;border-left:3px solid #107c41;background:#f1f7f2;padding:12px 14px;margin-bottom:28px}.reaction img{width:86px;height:76px;object-fit:contain;flex-shrink:0}.reaction h3{font-size:15px;margin-bottom:7px}.reaction p{font-size:12px;color:#536358;line-height:1.6;margin:0}.reaction.warning{background:#fff8e7;border-color:#ba8f2a}.reaction.danger{background:#fff0f1;border-color:#c93d4c}.chart-heading,.squares-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}h3{font-size:13px;margin:0;font-weight:600}.chart-heading span,.squares-heading span{font-size:11px;color:#58675c}svg{display:block;width:100%;height:auto;margin-top:15px}.chart-caption,.square-legend{display:flex;gap:20px;color:#58675c;font-size:11px}.chart-caption span,.square-legend span{display:flex;align-items:center;gap:7px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#107c41}.dash{width:15px;border-top:2px dashed #6d786f}.squares-heading{margin-top:25px;padding-top:23px;border-top:1px solid #d2d9d3}.squares{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.tile{width:24px;height:24px;border:1px solid #b5c6b9;border-radius:3px;background:#e4eee6}.tile.used,.red{background:#df6670!important;border-color:#ca4f5c!important}.tile.over{outline:2px solid #9a2531;outline-offset:1px}.square{display:inline-block;width:10px;height:10px;background:#e4eee6;border:1px solid #b5c6b9;border-radius:1px}.excess{color:#b82c3b;font-size:12px;line-height:1.6}footer{padding-top:22px;font-size:11px;color:#667369}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #107c41;outline-offset:3px}@media(max-width:800px){main{padding:30px 18px}.layout{grid-template-columns:1fr;gap:18px}.card{padding:22px}.intro{padding-bottom:22px}.result-heading{flex-wrap:wrap}.reaction img{width:72px;height:68px}}@media(max-width:380px){.card{padding:17px}.reaction{gap:9px;padding:10px}.reaction h3{font-size:14px}.reaction img{width:60px;height:60px}.metrics{gap:12px}.remaining{padding-left:18px}}

.workbook-bar{background:#107c41;color:#fff;padding:15px 28px;display:flex;align-items:center;gap:12px;font-size:15px}.sheet-icon{font-size:25px;line-height:1}main{padding-top:30px}.intro{border:0;padding-bottom:24px}.intro h1{font-size:clamp(25px,3.5vw,36px);letter-spacing:-.6px}.column-headings{display:grid;grid-template-columns:360px minmax(0,1fr);gap:24px;text-align:center;color:#667369;font-size:12px;margin-bottom:0}.column-headings span{padding:7px;background:#e6ebe7;border:1px solid #cbd4cd;border-bottom:0}.layout{margin-top:0;gap:24px}.card,.hours span,.number-field,.number-field button,.submit,.badge{border-radius:0}.card{padding:24px}.result-heading h2{font-size:19px}.reaction{align-items:center;gap:20px;padding:16px;border:1px solid #d2d9d3;border-left:3px solid #107c41}.reaction img{width:210px;max-width:100%;height:auto;object-fit:contain;flex-shrink:0;display:block}.reaction div{min-width:0}.reaction.warning{border-left-color:#ba8f2a}.reaction.danger{border-left-color:#c93d4c}.tile,.square{border-radius:0}footer{display:flex;align-items:center;gap:22px;border-top:1px solid #cbd4cd;margin-top:20px;padding-top:0}.sheet-tab{display:inline-block;background:#fff;border-bottom:3px solid #107c41;color:#107c41;padding:12px 26px;font-size:13px;font-weight:600}@media(max-width:1000px){.reaction{flex-direction:column;align-items:flex-start}.reaction img{width:240px;align-self:center}}@media(max-width:800px){.column-headings{display:none}.layout{gap:18px}.reaction{flex-direction:row;align-items:center}.reaction img{width:180px}.workbook-bar{padding:12px 18px}}@media(max-width:480px){.reaction{flex-direction:column;align-items:stretch}.reaction img{width:240px}.card{padding:20px}footer{gap:14px;line-height:1.5}}

.attendance-note{padding:12px;background:#f1f7f2;border-left:3px solid #107c41;line-height:1.6;color:#465c4c}.attendance-note strong{display:block;font-size:12px;letter-spacing:0;line-height:1.6;margin:0 0 4px;font-weight:600}.attendance-note b{display:inline-block;margin-top:5px;color:#176c3b}
/* O tema de alerta acompanha o resultado, incluindo limite atingido/excedido. */
:root.near-limit{background:#fff;color:#300008}
.near-limit .workbook-bar{background:#e00020}
.near-limit .intro{border-bottom:0}
.near-limit .card{border-color:#efb0b9}
.near-limit .column-headings span{background:#ffe8ec;border-color:#efb0b9;color:#a50018}
.near-limit .hours span,.near-limit .number-field{border-color:#e6a3ae}
.near-limit .hours input:checked+span{border-color:#e00020;background:#fff0f3;color:#bc001b;box-shadow:inset 0 -2px #e00020}
.near-limit .hours input:focus-visible+span,.near-limit button:focus-visible,.near-limit input:focus-visible{outline-color:#e00020}
.near-limit .number-field button{background:#ffe8ec;color:#bc001b;border-color:#efb0b9}
.near-limit .submit{background:#e00020}
.near-limit .submit:hover{background:#bd001b}
.near-limit .remaining strong,.near-limit .attendance-note b{color:#d0001e}
.near-limit .attendance-note{background:#fff1f3;border-color:#e00020;color:#6e2630}
.near-limit .reaction,.near-limit .reaction.warning,.near-limit .reaction.danger{background:#fff1f3;border-color:#efb0b9;border-left-color:#e00020}
.near-limit .reaction h3{color:#c8001d}
.near-limit .badge.warning,.near-limit .badge.danger{background:#ffe5ea;color:#b4001a;border-color:#ed9cab}
.near-limit .dot{background:#e00020}
.near-limit .tile.used,.near-limit .red{background:#e00020!important;border-color:#bc001b!important}
.near-limit .tile.over{outline-color:#850014}
.near-limit .excess{color:#c8001d}
.near-limit .sheet-tab{border-color:#e00020;color:#bc001b}
.near-limit footer{border-color:#efb0b9}
.rule-note h3{margin-bottom:12px}.table-scroll{overflow-x:auto}.limits-table{width:100%;border-collapse:collapse;font-size:11px;line-height:1.5;text-align:left}.limits-table caption{text-align:left;color:#58675c;font-size:11px;padding-bottom:10px;caption-side:top}.limits-table th,.limits-table td{padding:9px 7px;border:1px solid #cbd4cd;vertical-align:middle}.limits-table thead th{background:#e7f2ea;color:#235d39;font-weight:600}.limits-table tbody th{font-weight:600}.limits-table tbody tr:nth-child(even){background:#f5f8f5}.near-limit .limits-table thead th{background:#ffe8ec;color:#a50018}.near-limit .limits-table th,.near-limit .limits-table td{border-color:#efb0b9}.near-limit .limits-table tbody tr:nth-child(even){background:#fff5f7}
.absence-bar{display:flex;height:36px;overflow:hidden;background:#dedede;margin:18px 0 10px;border:1px solid #c4c4c4}.absence-fill{display:flex;align-items:center;justify-content:center;min-width:0;width:0;background:#107c41;color:#fff;font-size:13px;font-weight:600}.near-limit .absence-fill{background:#e00020}.bar-values{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#58675c;margin-bottom:15px}.remaining-key{display:inline-block;width:9px;height:9px;background:#dedede;border:1px solid #bcbcbc}

.reaction[hidden]{display:none}
