:root{--oly-navy:#174f67;--oly-blue:#1f91c6;--oly-blue-bg:#eaf7fc;--oly-text:#24333b;--oly-text-muted:#6d7d85;--oly-border:#e1e7ea;--oly-bg:#f4f7f8;--oly-red:#e34e55;--oly-red-bg:#ffe6e6;--oly-red-tx:#a3232a;--oly-green:#34a35c;--oly-green-bg:#dcf6e5;--oly-green-tx:#15733a;--oly-amber:#e6a436;--oly-amber-bg:#fff0d3;--oly-amber-tx:#9b6100;--oly-purple:#65458e}input:not([type=password]):not([type=email]):not([type=date]):not([type=time]):not([type=number]):not([type=color]):not([type=file]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=datetime-local]),textarea,select{text-transform:uppercase}*{box-sizing:border-box}body{color:#172033;background:#f5f7fa;margin:0;font-family:Inter,Arial,sans-serif}button,input,select{font:inherit}.app{min-height:100vh;display:flex}.sidebar{background:#fff;border-right:1px solid #e5e9f0;flex-direction:column;width:245px;padding:22px 14px;display:flex}.brand{align-items:center;gap:11px;padding:4px 10px 28px;display:flex}.logo{color:#fff;background:#14213d;border-radius:11px;place-items:center;width:38px;height:38px;font-size:20px;font-weight:800;display:grid}.brand strong{letter-spacing:1px;display:block}.brand small{color:#7b8495;font-size:11px}.nav{text-align:left;color:#657084;cursor:pointer;background:0 0;border:0;border-radius:8px;width:100%;margin:2px 0;padding:11px 12px}.nav span{width:27px;display:inline-block}.nav.active{color:#14213d;background:#eef3fb;font-weight:700}.side-status{color:#7b8495;margin-top:auto;padding:15px 10px;font-size:12px}.dot{background:#37a96b;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.main{flex:1;min-width:0}.topbar{background:#fff;border-bottom:1px solid #e5e9f0;justify-content:space-between;align-items:center;height:80px;padding:0 32px;display:flex}.topbar h1{margin:0 0 3px;font-size:21px}.topbar span{color:#8992a2;font-size:12px}.user{border:1px solid #e3e7ee;border-radius:9px;padding:8px 12px;font-size:13px}.user b{margin:0 8px}.main>div,.main>section{padding:28px 32px}.welcome{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.welcome h2{margin:0 0 5px;font-size:24px}.welcome p{color:#7b8495;margin:0}.primary{color:#fff;cursor:pointer;background:#14213d;border:0;border-radius:8px;padding:10px 15px}.stats{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px;display:grid}.stat,.card{background:#fff;border:1px solid #e6eaf0;border-radius:11px}.stat{padding:18px}.stat span{float:right;font-size:21px}.stat small{color:#7b8495;display:block}.stat strong{margin-top:8px;font-size:25px;display:block}.two{grid-template-columns:1.3fr 1fr;gap:18px;display:grid}.card{padding:18px}.cardhead{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cardhead h3{margin:0;font-size:16px}.cardhead button{color:#50698e;cursor:pointer;background:0 0;border:0}.listrow{text-align:left;cursor:pointer;background:#fff;border:0;border-top:1px solid #edf0f4;align-items:center;gap:12px;width:100%;padding:12px 2px;display:flex}.listrow>div:nth-child(2){flex:1}.listrow small{color:#8992a2;margin-top:3px;display:block}.avatar,.big-avatar{color:#14213d;background:#eaf0f8;border-radius:50%;place-items:center;font-weight:700;display:grid}.avatar{width:34px;height:34px}.quick{grid-template-columns:1fr 1fr;gap:10px;display:grid}.quick div{border:1px solid #e8ebf0;border-radius:9px;padding:15px}.quick b,.quick small{margin-top:5px;display:block}.quick small{color:#8992a2}.quick-clickable{cursor:pointer}.quick-clickable:hover{background:#f7f9fc;border-color:#14213d}.toolbar{gap:10px;margin-bottom:16px;display:flex}.toolbar input,.toolbar select{background:#fff;border:1px solid #dfe4ec;border-radius:8px;min-width:260px;padding:10px 12px}.toolbar input{flex:1}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #edf0f4;padding:13px 10px;font-size:13px}th{color:#7b8495;font-weight:600}.badge,.level{color:#26764c;background:#e9f5ee;border-radius:20px;padding:5px 9px;font-size:11px}.empty{text-align:center;color:#8992a2;padding:45px 15px}.class-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.class-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e4e8ef;border-radius:11px;gap:14px;padding:18px;display:flex}.class-icon{background:#edf3fb;border-radius:10px;place-items:center;width:42px;height:42px;display:grid}.class-card h3{margin:0 0 5px}.class-card p{color:#647086;margin:0 0 6px}.class-card small{color:#8a93a2}.attendance-row,.skill{border-top:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:15px;padding:13px 2px;display:flex}.attendance-row button,.skill-actions button{cursor:pointer;background:#fff;border:1px solid #dfe4ec;border-radius:7px;margin-left:5px;padding:7px 9px;font-size:12px}.student-head{align-items:center;gap:14px;margin-bottom:18px;display:flex}.student-head h2{margin:0 0 4px}.student-head p{color:#8992a2;margin:0}.big-avatar{width:52px;height:52px;font-size:20px}.level{margin-left:auto}.skill>div:first-child{flex:1}.skill small{color:#8992a2;margin-top:4px;display:block}.notice{color:#31557d;background:#eef5ff;border-radius:8px;margin-top:15px;padding:10px}.module-placeholder{text-align:center;max-width:700px;margin:40px auto}.placeholder-icon{font-size:35px}.module-placeholder p{color:#727d90;line-height:1.6}.module-placeholder span{color:#8992a2;font-size:12px}@media (width<=900px){.sidebar{width:205px}.stats,.class-grid{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}.main>div,.main>section{padding:20px}.topbar{padding:0 20px}}.nav{text-decoration:none;display:block}.nav span,.nav-child{transition:transform .15s}.nav:hover span{display:inline-block;transform:scale(1.25)}.nav-child:hover{transform:scale(1.04)}.logo{object-fit:contain;background:0 0;width:42px;height:42px}.nav.active{border-left:3px solid #c9a227;padding-left:9px}.login-card .logo{width:64px;height:64px;margin:0 auto}.sidebar{height:calc(100vh - 40px);position:sticky;top:40px;overflow-y:auto}.brand-strip{z-index:100;background:linear-gradient(90deg,#0f1c3d 0% 55%,#c9a227 100%);height:40px;position:fixed;top:0;left:0;right:0}.app{min-height:calc(100vh - 40px);margin-top:40px}.student-form{margin-bottom:16px}.form-grid{grid-template-columns:2fr 1fr;gap:14px;margin-bottom:16px;display:grid}.form-grid label{color:#687387;font-size:12px}.form-grid input{border:1px solid #dfe4ec;border-radius:8px;width:100%;margin-top:6px;padding:10px;display:block}.field-search{color:#687387;margin-bottom:14px;font-size:12px;display:block}.field-search input{border:1px solid #dfe4ec;border-radius:8px;width:100%;margin-top:6px;padding:10px;display:block}.link-button{color:#172033;cursor:pointer;background:0 0;border:0;padding:0}.small-button{cursor:pointer;background:#fff;border:1px solid #dfe4ec;border-radius:7px;padding:6px 9px}.online-sale-toggle{color:#657084;cursor:pointer;background:#fff;border:2px solid #dfe4ec;border-radius:9px;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:700;display:inline-flex}.online-sale-toggle .dot{background:#b7bfcc;border-radius:50%;width:9px;height:9px}.online-sale-toggle.active{color:#187a41;background:#e9f9ef;border-color:#22a35a}.online-sale-toggle.active .dot{background:#22a35a}.online-sale-contract-list{background:#f7f9fc;border:1px solid #e6eaf0;border-radius:9px;flex-direction:column;gap:4px;padding:10px 14px;display:flex}.online-sale-contract-list>small{color:#8992a2;margin-bottom:2px}.online-sale-contract-item{color:#172033;cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.attendance-row button.primary{color:#fff;background:#14213d;border:0;border-radius:8px;padding:10px 15px;font-size:14px}.back-button{color:#516b91;cursor:pointer;background:0 0;border:0;padding:0 0 15px}.profile-header{align-items:center;gap:14px;margin-bottom:18px;display:flex}.profile-title{flex:1}.profile-title h2{margin:0 0 4px}.profile-title p{color:#8992a2;margin:0;font-size:12px}.profile-tabs{background:#fff;border:1px solid #e5e9ef;border-radius:10px 10px 0 0;gap:2px;padding:6px 8px;display:flex;overflow:auto}.profile-tab{color:#7b8495;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:10px 12px}.profile-tab.active{color:#14213d;background:#eef3fb;font-weight:700}.profile-grid{grid-template-columns:1.2fr 1fr;gap:16px;padding-top:16px;display:grid}.profile-grid .card:nth-child(3){grid-column:1/-1}.detail-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:16px;display:grid}.detail-grid small{color:#8992a2;margin-bottom:5px;display:block}.detail-grid b{font-size:14px}.summary-item{border-bottom:1px solid #edf0f4;justify-content:space-between;padding:12px 0;display:flex}.summary-item span{color:#7b8495}.summary-item strong{font-size:13px}.outline-button{cursor:pointer;color:#294c78;background:#fff;border:1px solid #d8e0eb;border-radius:8px;margin-top:15px;padding:9px 12px}@media (width<=800px){.profile-grid{grid-template-columns:1fr}.profile-grid .card:nth-child(3){grid-column:auto}.detail-grid{grid-template-columns:1fr}}.guardian-form{background:#f7f9fc;border-radius:9px;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:15px;padding:14px;display:grid}.guardian-form input{border:1px solid #dfe4ec;border-radius:8px;padding:10px}.guardian-form .primary{grid-column:1/-1;justify-self:start}.guardian-row{border-top:1px solid #edf0f4;align-items:center;gap:12px;padding:13px 2px;display:flex}.guardian-row>div:nth-child(2){flex:1}.guardian-row small{color:#8992a2;margin-top:3px;display:block}.guardian-row>span{color:#7b8495;font-size:12px}.selected-att{outline:2px solid #b7c9df;font-weight:700;background:#eef3fb!important}.frequency-cards{grid-template-columns:repeat(4,1fr);gap:9px;margin:15px 0;display:grid}.frequency-cards div{background:#f7f9fc;border-radius:8px;padding:14px}.frequency-cards strong{font-size:22px;display:block}.frequency-cards small{color:#8992a2}.profile-tabs{gap:5px;margin:15px 0;display:flex}.profile-tab{background:0 0;border:0;padding:9px 12px}.profile-tab.active{border-bottom:2px solid #345;font-weight:700}.back-button{background:0 0;border:0;margin-bottom:10px}.login-screen{background:#f5f7fa;place-items:center;min-height:100vh;display:grid}.login-card{background:#fff;border:1px solid #e6eaf0;border-radius:14px;flex-direction:column;gap:14px;width:320px;padding:32px;display:flex}.login-card .brand{justify-content:center;padding:0 0 10px}.login-card label{color:#687387;font-size:12px;display:block}.login-card input{border:1px solid #dfe4ec;border-radius:8px;width:100%;margin-top:6px;padding:10px;display:block}.notice.error{color:#a13636;background:#fdeeee}.user{cursor:pointer}.badge-pending{color:#5c6b82;background:#eef0f4;border-radius:20px;padding:5px 9px;font-size:11px}.badge-waiting{color:#a3690b;background:#fff4e0;border-radius:20px;padding:5px 9px;font-size:11px}.pay-inline{align-items:center;gap:6px;display:flex}.profile-header .outline-button{margin-top:0;text-decoration:none}.profile-header .primary{margin-left:auto}.category-grid-admin{grid-template-columns:repeat(4,1fr);gap:15px;display:grid}.category-card-admin{text-align:left;cursor:pointer;background:#fff;border:1px solid #e4e8ef;border-radius:11px;flex-direction:column;gap:6px;padding:22px 16px;display:flex}.category-card-admin:hover{border-color:#14213d}.category-card-admin .category-icon{font-size:28px}.category-card-admin b{font-size:15px}@media (width<=900px){.category-grid-admin{grid-template-columns:1fr 1fr}}.outline-button.disabled{color:#a7afba;cursor:not-allowed;border-color:#e6eaf0}.skill-checkbox{cursor:pointer;justify-content:flex-start}.skill-checkbox input[type=checkbox]{cursor:pointer;flex-shrink:0;width:20px;height:20px}.skill-checkbox input[type=checkbox]:disabled{cursor:not-allowed}.level-pill{color:#fff;border-radius:20px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-block}.level-pill.cor-amarelo{background:#d4a017}.level-pill.cor-vermelho{background:#d64545}.level-pill.cor-verde{background:#2f9e5c}.level-pill.cor-laranja{background:#e0793c}.level-pill.cor-roxo{background:#7c4fd1}.level-pill.cor-azul{background:#3576d6}.level-pill.cor-preto{background:#26292e}.level-pill.cor-outro{background:#647086}.badge-full{color:#fff;background:#e03131;border-radius:20px;align-self:flex-start;margin-top:4px;padding:5px 9px;font-size:11px;font-weight:700;display:inline-block}.week-toolbar{align-items:center;gap:10px;margin-bottom:14px;display:flex}.week-label{color:#14213d;margin-left:6px;font-weight:700}.timegrid{background:#fff;border:1px solid #e6eaf0;border-radius:11px;gap:0;display:flex;overflow-x:auto}.timegrid-axis{border-right:1px solid #edf0f4;flex-shrink:0;width:56px}.timegrid-day{border-right:1px solid #edf0f4;flex:1;min-width:220px;position:relative}.timegrid-day:last-child{border-right:0}.timegrid-day-today{background:#f7f9ff}.timegrid-daylabel{color:#50698e;border-bottom:1px solid #edf0f4;justify-content:center;align-items:center;height:38px;font-size:12px;font-weight:700;display:flex}.timegrid-hour{color:#a1a9b8;box-sizing:border-box;border-bottom:1px solid #f2f4f8;padding:2px 6px;font-size:11px}.timegrid-body{background-image:repeating-linear-gradient(#f2f4f8,#f2f4f8 1px,#0000 1px 120px),repeating-linear-gradient(135deg,#969ba012 0 2px,#0000 2px 9px);position:relative}.timegrid-block{cursor:pointer;text-align:left;font:inherit;background:#eef3fb;border:1px solid #e4e8ef;border-left:3px solid #00000026;border-radius:6px;flex-direction:column;gap:2px;padding:5px 7px;font-size:12px;display:flex;position:absolute;left:3px;right:3px;overflow:hidden}.timegrid-block b{font-size:12px}.timegrid-block small{color:#657084;font-size:11px}.timegrid-block .badge,.timegrid-block .badge-full{align-self:flex-start;margin-top:auto;padding:2px 6px;font-size:10px}.timegrid-block-edit{cursor:pointer;background:#ffffffbf;border:0;border-radius:5px;width:16px;height:16px;padding:0;font-size:10px;line-height:1;position:absolute;top:2px;right:2px}.timegrid-now-line{z-index:5;pointer-events:none;background:#e03131;height:2px;position:absolute;left:0;right:0}.timegrid-now-dot{background:#e03131;border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-4px}.agenda-block-current{outline-offset:1px;outline:3px solid #e03131}.agenda-current-tag{color:#fff;letter-spacing:.03em;background:#e03131;border-radius:20px;align-self:flex-start;padding:3px 8px;font-size:10px;font-weight:700}.color-input{cursor:pointer;border:1px solid #dfe4ec;border-radius:8px;width:52px;height:38px;margin-top:6px;padding:2px}.color-dot{border-radius:50%;width:11px;height:11px;margin-right:9px;display:inline-block}.modal-backdrop{z-index:50;background:#141a2d73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:100%;max-width:480px;max-height:80vh;overflow:auto}.row-menu-cell{position:relative}.row-menu{z-index:20;background:#fff;border:1px solid #e3e7ee;border-radius:8px;flex-direction:column;min-width:170px;padding:6px 0;display:flex;position:absolute;top:100%;right:0;box-shadow:0 6px 20px #141a2d24}.row-menu button{text-align:left;cursor:pointer;color:#172033;background:0 0;border:0;width:100%;padding:9px 14px;font-size:13px}.row-menu button:hover{background:#f4f6fa}.row-menu button.danger{color:#c0392b}.lesson-meta{color:#7b8495;margin:-6px 0 10px;font-size:12px}.modal-actions{justify-content:space-between;margin-top:14px;display:flex}.attendance-row button.thumb-active-up{background:#2f9e5c;border-color:#2f9e5c}.attendance-row button.thumb-active-down{background:#e03131;border-color:#e03131}.receipt-signature{text-align:center;color:#657084;margin-top:26px}.nav-children{flex-direction:column;padding-left:39px;display:flex}.nav-child{color:#657084;border-radius:8px;margin:1px 0;padding:8px 12px;font-size:13px;text-decoration:none;display:block}.nav-child.active{color:#14213d;background:#eef3fb;font-weight:700}.cash-toolbar{flex-wrap:wrap;gap:10px}.cash-toolbar button{cursor:pointer;color:#fff;border:0;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:700}.cash-toolbar button:disabled{opacity:.45;cursor:not-allowed}.btn-green{background:#2f9e44}.btn-yellow{background:#e8a325}.btn-red{background:#e03131}.btn-blue{background:#2f6fed}.btn-outline-purple{background:#fff;color:#8b5cf6!important;border:1px solid #8b5cf6!important}.btn-dark{background:#172033}.cash-layout{grid-template-columns:1fr 1.6fr;align-items:start;gap:18px;display:grid}.cash-summary .summary-item strong{font-size:13px}.cash-entradas-head{color:#26764c;background:#e9f5ee;border-radius:6px;justify-content:space-between;margin:10px 0 4px;padding:8px 10px;font-weight:700;display:flex}.cash-saidas-head{color:#a13636;background:#fdeeee;border-radius:6px;justify-content:space-between;margin:14px 0 4px;padding:8px 10px;font-weight:700;display:flex}.stock-warning{font-size:12px}.product-image-preview{object-fit:cover;border-radius:8px;max-width:160px;max-height:160px;margin-bottom:10px;display:block}.payroll-print{color:#1a1f2b;font-family:Georgia,Times New Roman,serif;display:none}@media print{body *{visibility:hidden}.receipt-printable,.receipt-printable *{visibility:visible}.receipt-printable{width:100%;box-shadow:none;border:0;position:absolute;top:0;left:0}.receipt-printable .modal-actions,.receipt-actions{display:none}.payroll-print,.payroll-print *{visibility:visible}.payroll-print{width:100%;padding:12mm 14mm;display:block;position:absolute;top:0;left:0}}.payroll-print-letterhead{border-bottom:2px solid #a2822f;align-items:center;gap:16px;padding-bottom:16px;display:flex}.payroll-print-letterhead img{border-radius:50%;width:54px;height:54px}.payroll-print-letterhead b{color:#1f3355;font-family:Arial,sans-serif;font-size:14px;display:block}.payroll-print-letterhead span{color:#5b6577;margin-top:2px;font-family:Arial,sans-serif;font-size:11px;display:block}.payroll-print-title{text-align:center;letter-spacing:.06em;text-transform:uppercase;color:#1f3355;margin:26px 0 6px;font-size:18px;font-weight:700}.payroll-print-sub{text-align:center;color:#5b6577;margin:0 0 22px;font-family:Arial,sans-serif;font-size:13px}.payroll-print-table{border-collapse:collapse;width:100%;font-size:13px}.payroll-print-table th,.payroll-print-table td{text-align:left;border:1px solid #d8d2c4;padding:8px 10px}.payroll-print-table th{text-transform:uppercase;letter-spacing:.03em;color:#5b6577;background:#f3efe3;font-family:Arial,sans-serif;font-size:11px}.payroll-print-table tfoot td{background:#f7f4ea;font-weight:700}.payroll-print-emitted{color:#5b6577;margin-top:18px;font-family:Arial,sans-serif;font-size:12px}.payroll-print-signatures{justify-content:space-between;gap:40px;margin-top:70px;display:flex}.payroll-print-signatures>div{text-align:center;flex:1}.payroll-print-signatures .rule{border-top:1px solid #1a1f2b;margin-bottom:8px}.payroll-print-signatures span{color:#3a4256;font-family:Arial,sans-serif;font-size:12px}@media (width<=900px){.agenda-grid{grid-template-columns:repeat(2,1fr)}}.avatar-ring-ativo{border:3px solid #2f9e44}.avatar-ring-bloqueado{border:3px solid #e03131}.package-banner{color:#a13636;background:#fdeeee;border:1px solid #f3c9c9;border-radius:8px;margin-bottom:14px;padding:10px 14px;font-weight:600}.suspension-grid{grid-template-columns:repeat(7,1fr);gap:4px;margin:14px 0;display:grid}.suspension-grid-head{text-align:center;color:#8992a2;padding:4px 0;font-size:11px;font-weight:700}.suspension-day{text-align:center;cursor:pointer;background:#f5f7fa;border-radius:8px;padding:9px 0;font-size:13px}.suspension-day:hover{background:#eef3fb}.suspension-day.selected{color:#fff;background:#14213d;font-weight:700}.suspension-day.original{color:#fff;background:#e03131;font-weight:700}.suspension-day.new{color:#fff;background:#2f9e44;font-weight:700}.help-center{margin-top:18px}.help-center>input{border:1.5px solid #dfe4ec;border-radius:9px;width:100%;margin-bottom:12px;padding:10px 14px;font-size:14px}.help-results{scrollbar-width:thin;scrollbar-color:#c7cfdb transparent;flex-direction:column;gap:6px;max-height:420px;display:flex;overflow-y:auto}.help-results::-webkit-scrollbar{width:6px}.help-results::-webkit-scrollbar-track{background:0 0}.help-results::-webkit-scrollbar-thumb{background:#c7cfdb;border-radius:3px}.help-results::-webkit-scrollbar-thumb:hover{background:#a7b1c2}.help-item{border:1px solid #edf0f4;border-radius:8px;overflow:hidden}.help-item-title{text-align:left;color:#172033;cursor:pointer;background:#f7f9fc;border:0;justify-content:space-between;width:100%;padding:12px 14px;font-size:14px;font-weight:600;display:flex}.help-item-title span{color:#8992a2;font-size:11px}.help-item-body{white-space:pre-wrap;color:#516070;background:#fff;margin:0;padding:12px 14px;font-family:inherit;font-size:13px;line-height:1.6}.sidebar{scrollbar-width:thin;scrollbar-color:#ffffff73 transparent}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:#ffffff73;border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:#ffffffa6}.sidebar{background:#c1591c;border-right:0}.brand strong{color:#fff}.brand small{color:#ffffffb8}.nav{color:#ffffffd1}.nav:hover{background:#ffffff14}.nav.active{color:#fff;background:#ffffff29;border-left-color:#fd9}.nav-child{color:#ffffffbf}.nav-child.active{color:#fff;background:#ffffff29}.side-status{color:#ffffffb8}.ponto-shell{background:#0f1730;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.ponto-card{text-align:center;background:#fff;border-radius:18px;width:100%;max-width:420px;padding:28px 24px;box-shadow:0 20px 50px #00000059}.ponto-card h1{color:#14213d;margin:0 0 6px;font-size:22px}.ponto-card p{color:#657084;margin:0 0 18px}.ponto-input{text-align:center;letter-spacing:2px;border:1px solid #dfe4ec;border-radius:10px;width:100%;margin-bottom:14px;padding:14px;font-size:18px}.ponto-bigbutton{border-radius:10px;width:100%;padding:16px;font-size:17px}.ponto-back{color:#50698e;cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-bottom:10px;font-size:14px}.ponto-teacher-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ponto-teacher-btn{color:#14213d;cursor:pointer;background:#f7f9fc;border:1px solid #dfe4ec;border-radius:12px;padding:20px 10px;font-size:16px;font-weight:700}.ponto-teacher-btn:active{background:#eaf0f8}.ponto-pin-dots{justify-content:center;gap:14px;margin-bottom:18px;display:flex}.ponto-pin-dot{border:2px solid #c9d2e0;border-radius:50%;width:18px;height:18px}.ponto-pin-dot.filled{background:#14213d;border-color:#14213d}.ponto-numpad{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.ponto-numkey{color:#14213d;cursor:pointer;background:#f7f9fc;border:1px solid #dfe4ec;border-radius:12px;padding:20px 0;font-size:22px;font-weight:700}.ponto-numkey:active{background:#eaf0f8}.ponto-lesson-row{text-align:left;border-top:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:12px;padding:16px 4px;display:flex}.ponto-lesson-row small{color:#8992a2;margin-top:3px;display:block}.fim-de-aula-banner{z-index:200;color:#fff;background:#c92a2a;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;min-width:378px;max-width:90vw;min-height:76px;padding:14px 18px;display:flex;position:fixed;top:52px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #141a2d59}.fim-de-aula-text{letter-spacing:.3px;flex-direction:column;gap:4px;font-size:15px;font-weight:700;display:flex}.fim-de-aula-close{color:#fff;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:22px;line-height:1}.oly-btn{cursor:pointer;letter-spacing:.02em;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:700}.oly-btn:disabled{opacity:.5;cursor:not-allowed}.oly-btn-outline{border:1.5px solid var(--oly-blue);color:var(--oly-blue);background:#fff}.oly-btn-outline:hover{background:var(--oly-blue-bg)}.oly-btn-primary{background:var(--oly-purple);border:1.5px solid var(--oly-purple);color:#fff}.oly-btn-positive{background:var(--oly-green);border:1.5px solid var(--oly-green);color:#fff}.oly-btn-danger{background:var(--oly-red);border:1.5px solid var(--oly-red);color:#fff}.oly-badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.oly-badge-success{background:var(--oly-green-bg);color:var(--oly-green-tx)}.oly-badge-warning{background:var(--oly-amber-bg);color:var(--oly-amber-tx)}.oly-badge-danger{background:var(--oly-red-bg);color:var(--oly-red-tx)}.oly-badge-neutral{color:var(--oly-text-muted);border:1px solid var(--oly-border);background:#fff}.oly-badge-info{background:var(--oly-blue-bg);color:var(--oly-blue)}.oly-table{border-collapse:collapse;background:#fff;border-radius:10px;width:100%}.oly-table thead tr:first-child th:first-child{border-top-left-radius:10px}.oly-table thead tr:first-child th:last-child{border-top-right-radius:10px}.oly-table tbody tr:last-child td:first-child{border-bottom-left-radius:10px}.oly-table tbody tr:last-child td:last-child{border-bottom-right-radius:10px}.oly-table thead th{text-align:left;background:var(--oly-bg);color:var(--oly-text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--oly-border);padding:10px 14px;font-size:12px}.oly-table tbody td{border-bottom:1px solid var(--oly-border);color:var(--oly-text);padding:12px 14px}.oly-table tbody tr:hover{background:var(--oly-blue-bg)}.link-btn{color:var(--oly-blue);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;text-decoration:underline}.link-btn:hover{color:var(--oly-navy)}.oly-avatar-ring{color:#fff;background:var(--oly-navy);border:3px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;font-weight:700;display:flex}.oly-avatar-ring-verde{border-color:var(--oly-green)}.oly-avatar-ring-amarelo{border-color:var(--oly-amber)}.oly-avatar-ring-vermelho{border-color:var(--oly-red)}.oly-avatar-ring-cinza{border-color:var(--oly-text-muted)}.oly-status-dot-wrap{align-items:center;gap:6px;display:inline-flex}.oly-status-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.oly-status-dot-verde{background:var(--oly-green)}.oly-status-dot-amarelo{background:var(--oly-amber)}.oly-status-dot-vermelho{background:var(--oly-red)}.oly-status-dot-cinza{background:var(--oly-text-muted)}.oly-situation-card{text-align:left;border:1px solid var(--oly-border);cursor:pointer;min-width:150px;font:inherit;color:var(--oly-text);background:#fff;border-radius:10px;flex-direction:column;gap:2px;padding:14px 16px;display:flex}.oly-situation-card:hover{border-color:var(--oly-navy);box-shadow:0 2px 8px #00000014}.oly-situation-card-label{color:var(--oly-text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.oly-situation-card-value{font-size:26px;font-weight:700}.oly-profile-tab{color:var(--oly-text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-right:14px;padding:10px 4px;font-size:13px;font-weight:700;text-decoration:none}.oly-profile-tab:hover{color:var(--oly-text)}.oly-profile-tab.active{color:var(--oly-blue);border-bottom-color:var(--oly-blue)}.oly-dropdown-menu{border-radius:8px;flex-direction:column;min-width:170px;display:flex;overflow:hidden;box-shadow:0 8px 24px #141a2d2e}.oly-dropdown-menu button{text-align:left;color:var(--oly-text);cursor:pointer;background:#fff;border:0;padding:10px 14px;font-size:13px}.oly-dropdown-menu button:hover{background:var(--oly-bg)}.oly-modal-overlay{z-index:500;text-transform:none;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.oly-modal-card{background:#fff;border-radius:12px;width:480px;max-width:90vw;max-height:85vh;padding:20px;overflow:auto}.oly-modal-wide{width:1100px;max-width:95vw;max-height:90vh}.oly-modal-large{width:820px;max-width:95vw;max-height:90vh}.oly-modal-wide .oly-modal-body>form,.oly-modal-large .oly-modal-body>form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:20px;display:grid}.oly-modal-wide .oly-modal-body>form>fieldset:not(:has(>legend)){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:20px;display:grid}.oly-modal-large .oly-modal-body>form>fieldset:not(:has(>legend)){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:20px;display:grid}.oly-modal-wide .oly-modal-body>form>:not(label),.oly-modal-large .oly-modal-body>form>:not(label){grid-column:1/-1}.oly-modal-wide .oly-modal-body>form>fieldset:not(:has(>legend))>:not(label){grid-column:1/-1}.oly-modal-large .oly-modal-body>form>fieldset:not(:has(>legend))>:not(label){grid-column:1/-1}.oly-modal-wide .oly-modal-body>form>button,.oly-modal-large .oly-modal-body>form>button{justify-self:start}.oly-modal-wide .oly-modal-body>form>fieldset:not(:has(>legend))>button{justify-self:start}.oly-modal-large .oly-modal-body>form>fieldset:not(:has(>legend))>button{justify-self:start}@media (width<=760px){.oly-modal-wide .oly-modal-body>form,.oly-modal-large .oly-modal-body>form,.oly-modal-wide .oly-modal-body>form>fieldset,.oly-modal-large .oly-modal-body>form>fieldset{grid-template-columns:1fr}}.oly-modal-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.oly-modal-title{color:var(--oly-text);margin:0;font-size:18px}.oly-modal-x{cursor:pointer;color:var(--oly-text-muted);background:0 0;border:0;font-size:20px}.oly-modal-tabs{border-bottom:1px solid var(--oly-border);gap:16px;margin-bottom:14px;display:flex}.oly-modal-tabs button{color:var(--oly-text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 0;font-weight:700}.oly-modal-tabs button.active{color:var(--oly-blue);border-bottom-color:var(--oly-blue)}.oly-modal-footer{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.oly-sidebar{color:var(--oly-text);border-right:1px solid var(--oly-border);background:#fff;flex-shrink:0;width:230px;height:100%;padding:14px 0;overflow-y:auto}.oly-sidebar-group{letter-spacing:.06em;color:var(--oly-text-muted);text-transform:uppercase;padding:14px 16px 4px;font-size:11px}.oly-nav-item{color:var(--oly-text);align-items:center;gap:8px;padding:8px 16px;font-size:14px;text-decoration:none;display:flex}.oly-nav-item:hover{background:var(--oly-bg)}.oly-nav-item.active{background:var(--oly-blue-bg);color:var(--oly-navy);font-weight:700}.oly-nav-icon{text-align:center;width:26px;color:var(--oly-text-muted);flex-shrink:0;font-size:19px;line-height:1;display:inline-block}.oly-nav-item.active .oly-nav-icon{color:var(--oly-navy)}.oly-topbar{background:var(--oly-navy);color:#fff;align-items:center;gap:16px;padding:12px 20px;display:flex}.oly-topbar-brand{letter-spacing:.03em;color:#fff;font-weight:800}.oly-topbar-search-wrap{flex:1;max-width:320px;position:relative}.oly-topbar-search{box-sizing:border-box;color:#fff;background:#ffffff1f;border:1px solid #ffffff4d;border-radius:8px;width:100%;padding:8px 12px}.oly-topbar-search::placeholder{color:#ffffffb3}.oly-search-suggest{min-width:320px;color:var(--oly-text);border:1px solid var(--oly-border);z-index:1000;background:#fff;border-radius:10px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 10px 30px #0000002e}.oly-search-suggest-row{cursor:pointer;align-items:center;gap:8px;padding:9px 12px;display:flex}.oly-search-suggest-row.active{background:#eef4f8}.oly-search-suggest-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.oly-search-suggest-via{color:var(--oly-text-muted);font-size:11px}.oly-search-suggest-empty{color:var(--oly-text-muted);padding:12px;font-size:13px}.oly-search-suggest-more{border-top:1px solid var(--oly-border);color:var(--oly-navy);cursor:pointer;padding:9px 12px;font-size:13px;font-weight:600}.oly-topbar-right{align-items:center;gap:14px;margin-left:auto;display:flex}.oly-topbar-bell{cursor:pointer;color:#fff;background:0 0;border:0;font-size:18px;position:relative}.oly-topbar-bell-count{color:var(--oly-navy);background:#fff;border-radius:999px;padding:1px 5px;font-size:10px;font-weight:700;position:absolute;top:-4px;right:-6px}.oly-bloqueio-stack{z-index:60;flex-direction:column;gap:8px;max-width:340px;display:flex;position:fixed;bottom:16px;right:16px}.oly-bloqueio-card{color:#111827;background:#fff;border:2px solid #b45309;border-radius:8px;padding:10px 12px;box-shadow:0 4px 14px #00000040}.oly-bloqueio-actions{gap:8px;margin-top:8px;display:flex}.oly-bloqueio-status{margin-top:6px;font-weight:600}.oly-topbar-user{color:#ffffffbf;flex-direction:column;font-size:12px;line-height:1.3;display:flex}.oly-topbar-user strong{color:#fff;font-size:13px}.oly-alerta-banner{background:var(--oly-red);color:#fff;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 18px;display:flex}.oly-alerta-sub{opacity:.9;font-size:12px}.oly-alerta-actions{align-items:center;gap:10px;display:flex}.oly-alerta-close{color:#fff;cursor:pointer;background:0 0;border:0;font-size:18px}.oly-em-construcao{text-align:center;color:var(--oly-text-muted);padding:60px 20px;font-size:15px}.oly-card{border:1px solid var(--oly-border);background:#fff;border-radius:10px;margin-bottom:16px;padding:18px}.oly-card h3{color:var(--oly-text);margin:0 0 12px;font-size:15px}.oly-card p{color:var(--oly-text);margin:0 0 6px}.oly-kpi-row{flex-wrap:wrap;gap:14px;margin-bottom:16px;display:flex}.oly-kpi{border:1px solid var(--oly-border);background:#fff;border-radius:10px;flex:1;min-width:150px;padding:14px 16px}.oly-kpi span{color:var(--oly-text-muted);letter-spacing:.03em;margin-bottom:6px;font-size:12px;display:block}.oly-kpi strong{color:var(--oly-text);font-size:20px}label{color:var(--oly-text-muted);margin-bottom:10px;font-size:13px;display:block}label input,label select,label textarea{border:1px solid var(--oly-border);width:100%;color:var(--oly-text);box-sizing:border-box;border-radius:6px;margin-top:4px;padding:8px 10px;font-size:14px;display:block}label:has(input[type=checkbox]){align-items:center;gap:6px;display:flex}label:has(input[type=checkbox]) input{width:auto;margin-top:0;display:inline}.row-menu-trigger{cursor:pointer;color:#172033;background:#fff;border:1px solid #d7dce6;border-radius:6px;width:32px;height:32px;font-size:18px;line-height:1}.row-menu-trigger:hover{background:#f4f6fa}.oly-faixa-recados{background:var(--oly-green-bg);color:var(--oly-green-tx);border:1px solid var(--oly-green);border-radius:10px;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;display:flex}html[data-theme=dark]{filter:invert(92%)hue-rotate(180deg)}html[data-theme=dark] img,html[data-theme=dark] video,html[data-theme=dark] canvas,html[data-theme=dark] .oly-topbar{filter:invert()hue-rotate(180deg)}html[data-theme=dark] .oly-modal-overlay{background:#ffffff8c}@media print{html[data-theme=dark],html[data-theme=dark] img,html[data-theme=dark] video,html[data-theme=dark] canvas{filter:none}}
