:root{--accent-1:#2a044a;--accent-2:#0b2e59;--accent-3:#0d6759;--accent-4:#7ab317;--accent-5:#a0c55f;--bg:#f4f8ee;--sidebar:#0b2e59;--sidebar-fg:#f7fbff;--text:#0b2e59;--muted:#4f6478;--card:#fff;--border:#d1dfc9;--input-bg:#f8fcf4}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif}code{background:#5b8cff1f;border-radius:4px;padding:.1em .35em;font-size:.85em}.layout{background:var(--bg);grid-template-columns:260px 1fr;height:100vh;display:grid;overflow:hidden}@media (width<=900px){.layout{grid-template-columns:1fr}.sidebar{flex-flow:wrap;gap:.5rem;padding:1rem}.sidebar nav{flex-flow:wrap;width:100%}.sidebar-footer{width:100%}}.sidebar{background:var(--sidebar);color:var(--sidebar-fg);border-right:1px solid #0b2e592e;flex-direction:column;height:100vh;padding:1.5rem 0;display:flex;overflow-y:auto}.brand{align-items:center;gap:.75rem;padding:0 1.25rem 1.5rem;display:flex}.brand-mark{background:#ffffff14;border-radius:10px;place-items:center;width:40px;height:40px;display:grid;overflow:hidden}.brand-logo-img{object-fit:contain;width:100%;height:100%;transform:scale(1.7)}.brand small{opacity:.65;margin-top:2px;font-size:.72rem;display:block}.sidebar nav{flex-direction:column;flex:1;gap:2px;display:flex}.sidebar nav a{color:#ffffffd1;border-left:3px solid #0000;padding:.65rem 1.25rem;font-size:.92rem;text-decoration:none}.sidebar nav a:hover{background:#ffffff0f}.sidebar nav a.active{border-left-color:var(--accent-5);color:#fff;background:#a0c55f33}.sidebar-footer{border-top:1px solid #ffffff14;margin-top:auto;padding:1rem 1.25rem 0}.user-line{margin:0 0 .15rem;font-size:.9rem;font-weight:600}.user-email{opacity:.6;word-break:break-all;margin:0 0 .75rem;font-size:.75rem}.btn-ghost{width:100%;color:inherit;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:8px;padding:.5rem;font-size:.85rem}.btn-ghost:hover{background:#ffffff14}.main{height:100vh;padding:2rem 2.5rem;overflow:hidden auto}.public-shell{background:radial-gradient(ellipse at top, #dff0ce 0%, var(--bg) 60%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.public-logo{color:var(--text);opacity:1;place-items:center;margin-bottom:.95rem;text-decoration:none;display:grid;position:static}.public-logo-img{object-fit:contain;width:clamp(320px,46vw,560px);max-width:92vw;height:auto;display:block}h1{letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.65rem;font-weight:700}.muted{color:var(--muted);font-size:.92rem;line-height:1.5}.muted a,.alunos-empty-text a{color:var(--accent-3);text-underline-offset:2px;text-decoration:underline}.muted a:hover,.alunos-empty-text a:hover{color:var(--accent-2)}.card{background:linear-gradient(160deg, var(--card) 0%, #a0c55f1f 100%);border:1px solid #0b2e592e;border-radius:14px;padding:1.5rem 1.75rem;transition:border-color .22s,box-shadow .22s,background .22s;box-shadow:0 12px 26px #0b2e591f}.card:hover{background:linear-gradient(160deg, var(--card) 0%, #7ab31733 100%);border-color:#0d675975;box-shadow:0 16px 34px #0b2e5929}.form-card{width:100%;max-width:400px}.form-card h1{margin-bottom:.35rem}label{color:var(--muted);margin:1rem 0 .35rem;font-size:.82rem;font-weight:600;display:block}input,select,textarea{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);border-radius:8px;padding:.65rem .75rem;font-size:.95rem}input[type=checkbox],input[type=radio]{width:auto;min-width:1rem;accent-color:var(--accent-3);flex-shrink:0}textarea{resize:vertical;min-height:80px}.btn-primary{background:linear-gradient(135deg, var(--accent-3), var(--accent-2));color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:1.25rem;padding:.75rem;font-size:.95rem;font-weight:600}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-primary:not(:disabled):hover{filter:brightness(1.06)}.error-text{color:#b4232c;margin:.75rem 0 0;font-size:.85rem}.success-text{color:#23704f;margin:.5rem 0 0;font-size:.85rem}.inline-code{word-break:break-all;background:#0b2e5914;border-radius:4px;padding:.12rem .35rem;font-family:ui-monospace,monospace;font-size:.85em}.tiles{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.tile{color:inherit;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;text-decoration:none;transition:border-color .15s,transform .15s}.tile:hover{border-color:#0d675973;transform:translateY(-2px)}.tile h3{margin:0 0 .35rem;font-size:1.05rem}.tile p{color:var(--muted);margin:0;font-size:.82rem}.dashboard-insights-grid{grid-template-columns:repeat(2,minmax(240px,1fr));gap:1rem;margin-top:1rem;display:grid}.dashboard-insight-card--compact{padding-top:1.05rem;padding-bottom:1.05rem}.dashboard-insight-card h3{margin:0;font-size:.98rem}.dashboard-insight-value{letter-spacing:-.02em;margin:.35rem 0 .2rem;font-size:1.7rem;font-weight:700}.dashboard-turno-grid{grid-template-columns:repeat(3,minmax(200px,1fr));gap:.85rem;margin-top:.7rem;display:grid}.dashboard-turno-card{padding-top:1rem;padding-bottom:1rem}.dashboard-turno-card h3{margin:0;font-size:.95rem}.dashboard-shell .dashboard-animated-card{transition:transform .24s,box-shadow .24s,border-color .24s,background .24s;animation:.52s cubic-bezier(.16,1,.3,1) both dashboard-card-enter;position:relative;overflow:hidden}.dashboard-shell .dashboard-animated-card:before{content:"";background:linear-gradient(90deg, var(--accent-3), var(--accent-4), var(--accent-5));transform-origin:0;width:100%;height:3px;transition:transform .24s;position:absolute;top:0;left:0;transform:scaleX(.12)}.dashboard-shell .dashboard-animated-card:after{content:"";pointer-events:none;opacity:.32;background:radial-gradient(circle at 0 0,#0d675933,#0000 48%);transition:opacity .24s;position:absolute;inset:0}.dashboard-shell .dashboard-animated-card:hover{background:linear-gradient(160deg, var(--card) 0%, #7ab31747 100%);border-color:#0d675980;transform:translateY(-5px)scale(1.01);box-shadow:0 22px 40px #0b2e5933}.dashboard-shell .dashboard-animated-card:hover:before{transform:scaleX(1)}.dashboard-shell .dashboard-animated-card:hover:after{opacity:.95}.dashboard-insights-grid .dashboard-animated-card:first-child{animation-delay:40ms}.dashboard-insights-grid .dashboard-animated-card:nth-child(2){animation-delay:.1s}.dashboard-turno-grid .dashboard-animated-card:first-child{animation-delay:.14s}.dashboard-turno-grid .dashboard-animated-card:nth-child(2){animation-delay:.2s}.dashboard-turno-grid .dashboard-animated-card:nth-child(3){animation-delay:.26s}@keyframes dashboard-card-enter{0%{opacity:0;transform:translateY(14px)scale(.975)}to{opacity:1;transform:translateY(0)scale(1)}}.table-wrap{border:1px solid var(--border);border-radius:12px;margin-top:1rem;overflow:auto}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.65rem .85rem}th{color:var(--muted);background:#0b2e590f;font-weight:600}tr:last-child td{border-bottom:none}.nota-pill{border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;min-width:58px;padding:.2rem .45rem;font-weight:600;display:inline-flex}.nota-pill--neutra{color:#475569;background:#64748b1f;border-color:#64748b47}.nota-pill--baixo{color:#b91c1c;background:#ef444424;border-color:#ef444459}.nota-pill--na-media{color:#a16207;background:#f59e0b29;border-color:#f59e0b5c}.nota-pill--acima{color:#166534;background:#22c55e24;border-color:#22c55e57}.status-pill{letter-spacing:.01em;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.18rem .5rem;font-size:.78rem;font-weight:600;display:inline-flex}.status-pill--ok{color:#166534;background:#22c55e24;border-color:#22c55e57}.status-pill--erro{color:#b91c1c;background:#ef444424;border-color:#ef444459}.status-pill--andamento{color:#1d4ed8;background:#3b82f624;border-color:#3b82f657}.status-pill--neutro{color:#475569;background:#64748b1f;border-color:#64748b47}.alunos-filtros-bar{border:1px solid var(--border);background:var(--card);border-radius:12px;margin-top:1rem;padding:1rem 1.15rem}.alunos-matricula-card{width:100%}.alunos-matricula-grid{grid-template-columns:1fr 1fr;gap:.25rem 1rem;display:grid}.alunos-matricula-hint{grid-column:1/-1;margin-top:.25rem;font-size:.82rem}.alunos-filtros-bar h3{color:var(--text);margin:0 0 .75rem;font-size:.95rem;font-weight:600}.alunos-filtros-grid{grid-template-columns:1fr 1fr 1.4fr;align-items:end;gap:.85rem;display:grid}.alunos-filtros-grid--main{grid-template-columns:1fr 1fr;align-items:start;gap:1rem 1.25rem}.alunos-filtro-label-text{color:var(--muted);margin:0 0 .35rem;font-size:.78rem;font-weight:600;display:block}.alunos-turma-combobox-wrap{position:relative}.alunos-turma-combobox-input-row{align-items:stretch;gap:.35rem;display:flex}.alunos-turma-combobox-input-row input{flex:1;min-width:0}.alunos-turma-combobox-clear{border:1px solid var(--border);background:var(--input-bg);width:2.35rem;color:var(--muted);cursor:pointer;border-radius:8px;flex-shrink:0;padding:0;font-size:1.15rem;line-height:1}.alunos-turma-combobox-clear:hover{color:var(--text);border-color:#888}.alunos-turma-suggestions{z-index:60;background:var(--card);border:1px solid var(--border);border-radius:10px;max-height:260px;margin:0;padding:.35rem 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 48px #0006}.alunos-turma-suggestions li{cursor:pointer;color:var(--text);padding:.45rem .85rem;font-size:.88rem}.alunos-turma-suggestions li small{color:var(--muted);margin-top:.15rem;font-size:.72rem;display:block}.alunos-turma-suggestions li:hover,.alunos-turma-suggestions li.is-active{background:#0d67591f}.alunos-turma-suggestions-empty{cursor:default;color:var(--muted);font-size:.82rem}.alunos-turma-sug-label{font-weight:600}@media (width<=900px){.alunos-filtros-grid,.alunos-filtros-grid--main,.alunos-matricula-grid{grid-template-columns:1fr}}.alunos-filtros-bar label{margin:0;font-size:.78rem}.alunos-filtros-bar select:disabled{opacity:.45;cursor:not-allowed}.alunos-filtros-hint{color:var(--muted);margin:.65rem 0 0;font-size:.78rem;line-height:1.45}.alunos-empty-wrap{border:1px dashed var(--border);text-align:center;background:#a0c55f26;border-radius:14px;margin-top:1.25rem;padding:2rem 1.5rem 2.25rem}.alunos-empty-svg{max-width:220px;margin:0 auto 1rem;display:block}.alunos-empty-title{color:var(--text);margin:0 0 .35rem;font-size:1.05rem;font-weight:600}.alunos-empty-text{color:var(--muted);max-width:28rem;margin:0 auto;font-size:.88rem;line-height:1.5}.matricula-cell{color:var(--accent-3);font-family:ui-monospace,monospace;font-weight:600}.row-actions{gap:.35rem;display:flex}.btn-small{color:#0b2e59;cursor:pointer;background:linear-gradient(#fff,#d5e7ffb3);border:1px solid #0b2e593d;border-radius:8px;min-width:72px;padding:.34rem .62rem;font-size:.78rem;font-weight:600;transition:border-color .16s,transform .16s,filter .16s}.btn-small.danger{color:#9b1f2a;background:linear-gradient(#fff7f7,#ffd6d9b8);border-color:#b4232c8c}.btn-small:hover{filter:brightness(1.03);border-color:#0d675973;transform:translateY(-1px)}.btn-small.danger:hover{border-color:#b4232cd1}.grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.series-turnos-grid{grid-template-columns:repeat(2,minmax(320px,1fr));align-items:stretch;gap:1rem;display:grid}.series-turnos-form-card{flex-direction:column;height:100%;display:flex}.series-turnos-subform{border:1px solid var(--border);background:#0b2e5908;border-radius:10px;flex-direction:column;height:100%;padding:.95rem 1rem 1rem;display:flex}.series-turnos-subforms-grid{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;gap:.85rem;display:grid}.series-turnos-subtitle{color:var(--text);margin:0 0 .4rem;font-size:.96rem;font-weight:600}.series-turnos-submit{margin-top:auto}.series-turnos-time-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.5rem .85rem;display:grid}.series-turnos-time-full-row{grid-column:1/-1}.series-turnos-unified-toolbar{justify-content:flex-end;align-items:flex-end;display:flex}.series-turnos-unified-toolbar label{width:min(100%,460px);margin:0}.series-turnos-complete-grid{grid-template-columns:repeat(4,minmax(160px,1fr));gap:.35rem .8rem;display:grid}@media (width<=720px){.grid-2,.dashboard-insights-grid,.dashboard-turno-grid,.series-turnos-grid,.series-turnos-time-grid,.series-turnos-subforms-grid{grid-template-columns:1fr}.series-turnos-unified-toolbar{justify-content:stretch}.series-turnos-unified-toolbar label{width:100%}.series-turnos-complete-grid{grid-template-columns:1fr}}.modal-backdrop{z-index:1000;background:#000000a6;justify-content:center;align-items:flex-start;padding:2rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-dialog{background:var(--card);border:1px solid var(--border);border-radius:14px;width:100%;max-width:520px;margin-top:2vh;padding:1.5rem;box-shadow:0 24px 80px #00000073}.modal-dialog h2{margin:0 0 1rem;font-size:1.15rem}.matricula-success-modal{text-align:center;max-width:500px}.matricula-success-icon{background:linear-gradient(160deg,#a0c55f47,#0d675924);border:3px solid #0d67595c;border-radius:999px;place-items:center;width:72px;height:72px;margin:0 auto .9rem;animation:.26s ease-out both matricula-pop;display:grid}.matricula-check-svg{width:52px;height:52px}.matricula-check-circle{stroke:#0d675947;stroke-width:3px;fill:none}.matricula-check-path{stroke:#0d6759;stroke-width:4.5px;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke-dasharray:36;stroke-dashoffset:36px;animation:.34s ease-out .16s forwards matricula-check-draw}.matricula-success-value{letter-spacing:.02em;color:var(--accent-3);margin:.5rem 0 0;font-size:1.45rem;font-weight:800}@keyframes matricula-pop{0%{opacity:0;transform:scale(.78)}to{opacity:1;transform:scale(1)}}@keyframes matricula-check-draw{to{stroke-dashoffset:0}}.modal-backdrop--center{align-items:center}.modal-dialog--confirm{background:var(--card);border-color:#0d675959;max-width:460px;margin-top:0;animation:.18s ease-out modal-confirm-enter;box-shadow:0 24px 56px #0b2e5947}@keyframes modal-confirm-enter{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-actions{flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;display:flex}.btn-secondary{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:.65rem 1rem;font-size:.9rem}.btn-secondary:hover{background:#0b2e5914}.btn-danger{color:#fff;cursor:pointer;background:#b4232c;border:1px solid #9b1f2a;border-radius:8px;padding:.65rem 1rem;font-size:.9rem}.btn-danger:disabled{opacity:.55;cursor:not-allowed}.btn-danger:hover:not(:disabled){filter:brightness(1.05)}.check-row{color:var(--muted);align-items:flex-start;gap:.65rem;margin-top:.75rem;margin-bottom:.35rem;font-size:.88rem;line-height:1.45;display:flex}.check-row input{width:auto;margin-top:.2rem}.check-row label{font-size:inherit;color:inherit;flex:1;min-width:0;margin:0;font-weight:500;display:block}.form-section-rule{border:none;border-top:1px solid var(--border);margin:1.35rem 0 0;padding:0}.form-section-heading{color:var(--text);letter-spacing:-.01em;margin:1rem 0 .25rem;font-size:.92rem;font-weight:600}.form-modulos-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem 1rem;margin-top:.35rem;display:grid}.form-modulo-check{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#0d675914;border-radius:10px;align-items:flex-start;gap:.55rem;margin:0;padding:.55rem .65rem;font-size:.88rem;font-weight:500;line-height:1.4;display:flex}.form-modulo-check:hover{border-color:#0d675966}.form-modulo-check input{margin-top:.15rem}.form-modulo-check span{flex:1;min-width:0}.aluno-search-picker{margin-top:.35rem}.aluno-search-input{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);border-radius:8px;padding:.7rem .85rem;font-size:.95rem}.aluno-search-input::placeholder{color:var(--muted);opacity:.85}.aluno-search-hint{color:var(--muted);margin:.4rem 0 .65rem;font-size:.78rem;line-height:1.4}.aluno-chips{flex-wrap:wrap;gap:.45rem;margin-bottom:.75rem;display:flex}.aluno-chip{background:#0d675924;border:1px solid #0d675959;border-radius:999px;align-items:center;gap:.35rem;max-width:100%;padding:.35rem .5rem .35rem .65rem;font-size:.82rem;display:inline-flex}.aluno-chip-text{text-overflow:ellipsis;white-space:nowrap;max-width:min(320px,85vw);overflow:hidden}.aluno-chip-meta{opacity:.85;font-weight:400}.aluno-chip-remove{width:1.5rem;height:1.5rem;color:var(--text);cursor:pointer;background:#0b2e5914;border:none;border-radius:50%;flex-shrink:0;place-items:center;font-size:1.1rem;line-height:1;display:grid}.aluno-chip-remove:hover{background:#f8717159}.aluno-search-results{border:1px solid var(--border);background:var(--input-bg);border-radius:10px;max-height:280px;overflow:auto}.aluno-search-empty{margin:0;padding:1rem .85rem;font-size:.88rem}.aluno-search-list{margin:0;padding:0;list-style:none}.aluno-search-row{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);text-align:left;cursor:pointer;font:inherit;background:0 0;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .85rem;display:flex}.aluno-search-row:last-of-type{border-bottom:none}.aluno-search-row:hover{background:#0d675917}.aluno-search-row--on{background:#0d675921}.aluno-search-pill{letter-spacing:.02em;text-transform:uppercase;border:1px solid var(--border);color:var(--muted);background:#0b2e590f;border-radius:6px;flex-shrink:0;padding:.35rem .55rem;font-size:.72rem;font-weight:600}.aluno-search-pill--on{color:#a7e9c0;background:#7dd3a01f;border-color:#7dd3a073}.aluno-search-main{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.aluno-search-main strong{font-size:.9rem;font-weight:600}.aluno-search-sub{color:var(--muted);font-size:.78rem}.searchable-select{position:relative}.searchable-select-input-row{align-items:stretch;gap:.35rem;display:flex}.searchable-select-input-row input{flex:1;min-width:0}.searchable-select-clear{border:1px solid var(--border);background:var(--input-bg);width:2.35rem;color:var(--muted);cursor:pointer;border-radius:8px;flex-shrink:0;padding:0;font-size:1.15rem;line-height:1}.searchable-select-clear:hover{color:var(--text);border-color:#888}.searchable-select-list{z-index:60;background:var(--card);border:1px solid var(--border);border-radius:10px;max-height:260px;margin:0;padding:.35rem 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 48px #0006}.searchable-select-list li{cursor:pointer;color:var(--text);padding:.45rem .85rem;font-size:.88rem}.searchable-select-list li:hover,.searchable-select-list li.is-active{background:#0d67591f}.searchable-select-empty{cursor:default;color:var(--muted);font-size:.82rem}.calendar-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.calendar-nav{gap:.5rem;display:flex}.calendar-import-row{flex-wrap:wrap;align-items:end;gap:1rem;display:flex}.calendar-import-field label{margin:0 0 .35rem;display:block}.calendar-import-field{flex:0 0 320px;max-width:320px}.calendar-import-field input{min-height:42px}.calendar-import-btn{flex:0 0 320px;align-self:end;max-width:320px;height:42px;margin:0}@media (width<=720px){.calendar-import-field,.calendar-import-btn{flex-basis:100%;max-width:none}}.calendar-legend{flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem;display:flex}.calendar-legend-item{border-radius:999px;align-items:center;padding:.2rem .45rem;font-size:.74rem;font-weight:700;display:inline-flex}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.calendar-weekday{color:var(--muted);text-align:center;padding:.2rem 0;font-size:.78rem;font-weight:700}.calendar-day{border:1px solid var(--border);background:#ffffffa8;border-radius:10px;min-height:96px;padding:.35rem}.calendar-day--clickable{cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s}.calendar-day--clickable:hover{border-color:#0d675973;transform:translateY(-1px);box-shadow:0 6px 16px #0b2e591f}.calendar-day--today{border:2px solid var(--accent-3);background:linear-gradient(#7ab31738,#ffffffe6);box-shadow:inset 0 0 0 1px #0d675938}.calendar-day--today .calendar-day-number{color:var(--accent-2);font-weight:800}.calendar-day--empty{background:0 0;border-style:dashed}.calendar-day-number{color:var(--text);margin-bottom:.3rem;font-size:.78rem;font-weight:700}.calendar-day-events{flex-direction:column;gap:.24rem;display:flex}.calendar-tag{white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:.15rem .32rem;font-size:.68rem;font-weight:600;line-height:1.25;overflow:hidden}.calendar-tag--more{color:var(--muted);background:#0b2e591f}.calendar-day-modal-list{flex-direction:column;gap:.65rem;max-height:55vh;margin-top:.85rem;padding-right:.2rem;display:flex;overflow-y:auto}.calendar-day-modal-item{border:1px solid var(--border);background:#ffffffbf;border-radius:10px;padding:.7rem .85rem}.calendar-day-modal-head{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.biometria-row-actions{align-items:center;gap:.45rem;display:flex}.biometria-action-btn{color:#0b2e59;cursor:pointer;background:linear-gradient(#fff,#d5e7ffb3);border:1px solid #0b2e593d;border-radius:8px;min-width:72px;padding:.34rem .62rem;font-size:.78rem;font-weight:600;transition:border-color .16s,transform .16s,filter .16s}.biometria-action-btn:hover{filter:brightness(1.03);border-color:#0d675973;transform:translateY(-1px)}.biometria-action-btn--danger{color:#9b1f2a;background:linear-gradient(#fff7f7,#ffd6d9b8);border-color:#b4232c8c}.biometria-action-btn--danger:hover{border-color:#b4232cd1}.biometria-camera-card{border:1px solid var(--border);background:#ffffffd6;border-radius:12px;flex-direction:column;gap:.72rem;padding:.85rem;display:flex}.biometria-camera-frame{aspect-ratio:16/9;background:#0f1722;border:1px solid #0b2e5933;border-radius:10px;width:100%;position:relative;overflow:hidden}.biometria-camera-video{object-fit:contain;width:100%;height:100%;display:block}.biometria-camera-overlay{color:#dbe8ff;letter-spacing:.02em;background:#0c111c94;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;inset:0}.biometria-face-guide{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.biometria-face-guide-circle{aspect-ratio:1;border:3px solid #7ab317e6;border-radius:999px;width:min(58%,250px);animation:1.6s ease-in-out infinite biometriaGuidePulse;box-shadow:0 0 0 8px #7ab3171f}.biometria-camera-actions{flex-wrap:wrap;gap:.5rem;display:flex}.biometria-pose-guide{flex-direction:column;gap:.2rem;display:flex}.biometria-countdown{color:#0d6759;font-size:.86rem;font-weight:700}.biometria-pose-chips{flex-wrap:wrap;gap:.45rem;display:flex}.biometria-pose-chip{color:#0b2e59;background:#e0e9f6b3;border:1px solid #0b2e5933;border-radius:999px;padding:.25rem .6rem;font-size:.76rem;font-weight:600}.biometria-pose-chip.is-done{color:#0d6759;background:#a8e2cec2;border-color:#0d675985}@keyframes biometriaGuidePulse{0%,to{opacity:.95;transform:scale(1)}50%{opacity:.78;transform:scale(1.03)}}.wg-key-block{margin-top:.5rem}.wg-key-block-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.wg-key-label{color:var(--text-muted,#5c6570);font-size:.82rem;font-weight:500}.wg-key-textarea{resize:vertical;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.35}.segmented-toggle{background:var(--surface-muted,#eef1f5);border-radius:10px;gap:.25rem;width:fit-content;padding:.25rem;display:inline-flex}.segmented-toggle-btn{color:var(--text-muted,#5c6570);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.45rem 1.1rem;font-size:.9rem;font-weight:600;transition:background .15s,color .15s}.segmented-toggle-btn.is-active{background:var(--surface,#fff);color:var(--brand,#2563eb);box-shadow:0 1px 3px #0f172a1f}.page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.ponto-filters{grid-template-columns:minmax(180px,220px) minmax(240px,1fr);gap:1rem;margin-bottom:1rem;display:grid}@media (width<=720px){.ponto-filters{grid-template-columns:1fr}}.ponto-resumo{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}@media (width<=900px){.ponto-resumo{grid-template-columns:repeat(2,minmax(0,1fr))}}.ponto-resumo-card{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;flex-direction:column;gap:.25rem;padding:1rem 1.1rem;display:flex}.ponto-resumo-value{font-size:1.5rem;font-weight:700;line-height:1.2}.ponto-resumo-label{color:var(--text-muted,#5c6570);font-size:.82rem}.ponto-chip{white-space:nowrap;border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:600;display:inline-block}.ponto-chip--ok{color:#166534;background:#dcfce7}.ponto-chip--warn{color:#92400e;background:#fef3c7}.ponto-chip--bad{color:#991b1b;background:#fee2e2}.ponto-chip--muted{color:#64748b;background:#f1f5f9}.func-actions{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:.35rem;display:inline-flex}.func-action-btn{border:1px solid var(--border,#d0d7e2);background:var(--surface,#fff);width:32px;height:32px;color:var(--brand,#2563eb);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.func-action-btn:hover:not(:disabled){background:#eff6ff}.func-action-btn:disabled{opacity:.5;cursor:not-allowed}.func-action-btn--danger{color:#b91c1c;border-color:#fecaca}.func-action-btn--danger:hover:not(:disabled){background:#fef2f2}.func-action-btn--wa{color:#128c7e;border-color:#a7f3d0}.func-action-btn--wa:hover:not(:disabled){background:#ecfdf5}
