:root{--ink: #10202d;--muted: #667584;--line: #d8e3eb;--surface: #ffffff;--soft: #eef4f8;--surface-2: #f8fbfd;--surface-3: #e8f2f8;--navy: #07131f;--blue: #176da6;--green: #258b68;--gold: #c69525;--red: #d84c4c;--shadow: 0 20px 55px rgba(16, 32, 45, .11);--soft-rgb: 238, 244, 248;--surface-rgb: 255, 255, 255;--navy-rgb: 7, 19, 31;--panel-border-strong: rgba(216, 227, 235, .9)}:root[data-theme=dark]{--ink: #eef6fb;--muted: #9eb0bf;--line: #24394a;--surface: #101c27;--soft: #09131c;--surface-2: #122230;--surface-3: #173042;--navy: #e9f4fb;--blue: #5fb2e7;--green: #41b88d;--gold: #d4ab46;--red: #f27777;--shadow: 0 22px 55px rgba(0, 0, 0, .34);--soft-rgb: 9, 19, 28;--surface-rgb: 16, 28, 39;--navy-rgb: 233, 244, 251;--panel-border-strong: rgba(36, 57, 74, .9)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--soft);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}button,input,select{font:inherit}button{min-height:38px;border:0;border-radius:8px;background:var(--blue);color:#fff;padding:0 14px;font-weight:900;cursor:pointer}button:disabled{opacity:.68;cursor:not-allowed;transform:none;box-shadow:none}a{min-height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--blue);color:#fff;padding:0 14px;text-decoration:none;font-weight:900}.publicSite{min-height:100vh;background:linear-gradient(135deg,rgba(23,109,166,.1),transparent 30%),linear-gradient(315deg,rgba(37,139,104,.09),transparent 28%),var(--soft)}.publicHeader{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 28px;background:rgba(var(--soft-rgb),.88);border-bottom:1px solid rgba(var(--surface-rgb),.18);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.publicBrand{min-height:0;display:flex;align-items:center;gap:10px;padding:0;background:transparent;color:var(--ink);border-radius:0}.publicBrandButton{box-shadow:none;border:0}.publicBrand img{width:46px;height:46px;border-radius:50%;object-fit:cover;background:var(--surface);box-shadow:0 8px 22px #10202d1f}.publicBrand span{font-weight:950}.publicNav{display:flex;align-items:center;justify-content:flex-end;gap:8px}.publicNav a,.publicNav button{min-height:40px;display:inline-flex;align-items:center;gap:7px;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 8px 18px #10202d0f}.publicNav .active:not(.adminButton){background:var(--navy);color:#fff;border-color:var(--navy)}.publicNav .adminButton{background:var(--navy);color:#fff;border-color:var(--navy)}.publicMain{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:26px 0 54px}.landingHero{min-height:calc(100vh - 130px);display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);align-items:center;gap:34px}.heroPhoto{min-height:520px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--panel-border-strong);border-radius:8px;background:linear-gradient(180deg,rgba(23,109,166,.14),transparent),var(--surface);box-shadow:var(--shadow)}.heroPhoto img{width:min(78%,430px);aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(16,32,45,.18))}.heroText{display:grid;gap:18px}.heroText p,.sectionTitle p,.panelHead p{margin:0;color:var(--blue);font-size:.76rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.heroText h1{max-width:720px;margin:0;font-size:clamp(3.2rem,7vw,6.6rem);line-height:.92}.heroText span{max-width:620px;color:var(--muted);font-size:1.12rem;line-height:1.58}.heroActions{display:flex;flex-wrap:wrap;gap:10px}.softButton{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.showcaseSection{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:-32px 0 28px}.publicCredit{display:flex;justify-content:center;margin:24px 0 8px;padding:10px 14px 0}.publicCredit span{color:var(--muted);font-size:.78rem;line-height:1.4;text-align:center}.showcaseTile{min-height:210px;display:grid;align-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:8px;background:rgba(var(--surface-rgb),.92);box-shadow:var(--shadow)}.showcaseMedia{min-height:126px;position:relative;display:flex;align-items:start;justify-content:space-between;gap:12px;padding:14px;overflow:hidden;border-radius:8px;border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px #ffffff2e}.showcaseMedia:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 45%),linear-gradient(315deg,rgba(7,19,31,.18),transparent 55%)}.showcaseMedia img,.showcaseMedia span{position:relative;z-index:1}.showcaseMedia img{width:54px;height:54px;object-fit:contain;border-radius:50%;background:#fffffff0;box-shadow:0 10px 24px #07131f2e}.showcaseMedia span{align-self:end;color:#fffffff0;font-size:.76rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.showcaseMedia.kids{background:radial-gradient(circle at 18% 22%,rgba(255,255,255,.26),transparent 18%),linear-gradient(140deg,#5aa7d9,#176da6 46%,#0d3150)}.showcaseMedia.beginners{background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.2),transparent 20%),linear-gradient(145deg,#4f8cc9,#144f80 52%,#07131f)}.showcaseMedia.advanced{background:radial-gradient(circle at 22% 78%,rgba(255,255,255,.18),transparent 22%),linear-gradient(145deg,#374b63,#1e2a38,#0a1118)}.showcaseMedia.competition{background:radial-gradient(circle at 82% 22%,rgba(255,255,255,.18),transparent 20%),linear-gradient(145deg,#2e7ec0,#0f3b63 42%,#07131f)}.showcaseTile strong,.showcaseTile span{display:block}.showcaseTile span{margin-top:4px;color:var(--muted);line-height:1.45}.publicBand{display:grid;gap:16px;padding:26px 0}.enrollmentLayout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:16px;align-items:start}.enrollmentForm,.termsStack{display:grid;gap:16px}.termsCard{display:grid;gap:14px}.termsContent{display:grid;gap:10px;color:var(--muted);line-height:1.55}.termsContent p{margin:0}.documentActions{display:flex;flex-wrap:wrap;gap:10px}.documentActionLink{position:relative;z-index:2;pointer-events:auto;gap:8px}.checkLine{display:flex;align-items:start;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}.checkLine input{margin-top:3px}.checkLine span{color:var(--ink);line-height:1.55;font-weight:600}.acceptancePreview{display:grid;min-height:0;gap:12px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.acceptanceMeta{display:grid;gap:4px;color:var(--muted)}.acceptanceMeta strong{color:var(--ink)}.acceptanceText{display:block;margin:0;padding:16px;max-height:calc(100vh - 320px);overflow:auto;border-radius:10px;background:var(--soft);color:var(--ink);font:inherit;line-height:1.55;white-space:pre-wrap}.sectionTitle{display:flex;align-items:end;justify-content:space-between;gap:18px}.sectionTitle h2{margin:4px 0 0;font-size:clamp(1.45rem,2.5vw,2.15rem)}.app{min-height:100vh;display:grid;grid-template-columns:286px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:18px;padding:22px 18px;background:linear-gradient(180deg,rgba(23,109,166,.18),transparent 35%),var(--navy);color:#fff;overflow:hidden}.brand{min-height:58px;display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center;padding:0;background:transparent;color:#fff;text-align:left}.brandButton{width:100%}.brand img{width:58px;height:58px;border-radius:50%;object-fit:cover;background:#fff}.brand strong,.brand span{display:block}.brand span{color:#aac6da;margin-top:3px;font-size:.86rem}.roleSwitch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px;border-radius:8px;background:#0000003d}.roleSwitch.compactSwitch{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px}.roleSwitch.compactSwitch .pill{min-height:32px;padding:0 12px;font-size:.82rem}.roleSwitch.compactSwitch .smallButton{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.roleSwitch button{background:transparent;color:#bdd4e5}.roleSwitch button.active{background:#fff;color:var(--navy)}.sidebar nav{display:grid;gap:7px;flex:1 1 auto;min-height:0;align-content:start;overflow-y:auto;padding-right:4px;scrollbar-width:thin}.sidebar nav button{display:flex;align-items:center;justify-content:flex-start;gap:10px;background:transparent;color:#d1e2ef}.sidebar nav button.active,.sidebar nav button:hover{background:#ffffff1f;color:#fff}.sessionCard{margin-top:auto;flex-shrink:0;display:flex;gap:10px;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0f}.sessionCard strong,.sessionCard span{display:block}.sessionCard span{color:#aac6da;margin-top:3px}@media(max-width:1280px),(max-height:860px){.sidebar{gap:14px;padding:18px 14px}.sessionCard{margin-top:auto;padding:12px}}main{min-width:0;padding:28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.topbar p{margin:0 0 5px;color:var(--blue);font-size:.75rem;text-transform:uppercase;font-weight:950}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.8rem,3vw,2.5rem)}h2{margin-bottom:0;font-size:1.1rem}.topbarActions{display:flex;align-items:center;gap:10px}.search{min-height:44px;width:min(430px,42vw);display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 12px;box-shadow:var(--shadow)}.search input{width:100%;border:0;outline:0}.stack{display:grid;gap:14px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric,.panel{background:#fffffff0;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.metric{padding:18px}.metric span,.metric small{display:block;color:var(--muted)}.metric strong{display:block;margin:10px 0 4px;font-size:2rem}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:1.35fr .85fr}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid.four>.panel{height:100%}.mediaCardsGrid{grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:18px}.branchGrid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.panel{padding:18px}.panelHead{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.list,.cards{display:grid;gap:10px}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.turmaGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.turmaCard{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,rgba(23,109,166,.07),transparent 55%),#f8fbfd}.turmaCard p,.turmaCard small{margin:0;color:var(--muted)}.turmaMeta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:6px;border-top:1px solid var(--line);color:var(--muted);font-size:.88rem}.groupHeaderBar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.filterChips{display:flex;gap:8px;flex-wrap:wrap}.chip{min-height:36px;background:#fff;color:var(--ink);border:1px solid var(--line)}.chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}.responsiveRow{grid-template-columns:minmax(0,1fr) auto}.inlineMeta{display:inline-block;margin-top:8px}.uploadBox{display:grid;gap:12px}.uploadField{display:grid;gap:8px;color:var(--ink);font-weight:900}.uploadField input{width:100%;min-height:44px;padding:6px;border:1px dashed var(--line);border-radius:8px;background:#fff}.uploadField input[type=file]{display:flex;align-items:center;width:100%;padding:8px 12px;text-align:left;line-height:1.3;color:var(--muted);overflow:hidden}.uploadField input[type=file]::file-selector-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;margin:0 12px 0 0;padding:0 12px;vertical-align:middle;border:1px solid var(--line);border-radius:8px;background:#f8fbfd;color:var(--ink);font:inherit;font-weight:800;cursor:pointer}.uploadField input[type=file]::file-selector-button:hover{background:#eef5fa}.enrollmentUploadField{gap:12px;min-height:108px;padding:14px;border:1px dashed var(--line);border-radius:8px;background:#fff;align-content:center;justify-items:center;text-align:center}.enrollmentUploadField>span{display:block;font-size:.96rem;font-weight:800;color:var(--ink);line-height:1.4;overflow-wrap:anywhere}.enrollmentUploadField input{padding:0;border:0;border-radius:0;background:transparent}.enrollmentUploadField input[type=file]{display:block;width:100%;min-height:34px;margin:0 auto;padding:0;color:transparent;font-size:.88rem;line-height:1;text-align:center}.enrollmentUploadField input[type=file]::file-selector-button{display:block;align-items:center;justify-content:center;min-height:34px;margin:0 auto;padding:0 12px;font-size:.86rem;line-height:1}.emptyState{display:grid;gap:6px;padding:18px;border:1px dashed var(--line);border-radius:8px;background:#fbfdff}.emptyState strong,.emptyState span{display:block}.emptyState span{color:var(--muted)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:24px;background:#07131f80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dialogCard{width:min(860px,100%);display:grid;gap:18px;padding:22px;border:1px solid rgba(216,227,235,.9);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.reviewDialogCard{max-height:calc(100vh - 48px);overflow:auto}.loginCard{position:relative;width:min(480px,100%);gap:14px;padding:18px;border-radius:12px;overflow:hidden}.loginCard:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--blue),#79b4e2 45%,#d8edf8)}.loginCard .dialogHead{align-items:center}.loginCard .dialogHead h2{font-size:1.45rem}.loginCard .notice.compact{gap:3px}.loginCard .editorGrid{gap:10px}.loginCard .field input{min-height:40px}.loginCard .editorActions{margin-top:2px}.loginCard .editorActions button{min-width:120px}.loginHints{display:grid;gap:4px;padding-top:2px;color:var(--muted);font-size:.8rem;line-height:1.35}.dialogHead,.dialogActions{display:flex;align-items:start;justify-content:space-between;gap:14px}.dialogHead h2{margin:4px 0 0}.reviewGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.reviewCard{display:grid;gap:8px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#f8fbfd}.reviewField{display:grid;gap:3px}.reviewField small{color:var(--muted);font-size:.83rem;font-weight:700}.reviewCard strong,.docButton span,.docButton small{display:block}.docList{display:grid;gap:10px}.docButton{min-height:0;display:grid;width:100%;justify-content:start;text-align:left;gap:3px;padding:12px 14px;border:1px solid var(--line);background:#fff;color:var(--ink);box-shadow:none}.docButton small{color:var(--muted)}.previewCard{width:min(1080px,100%);max-height:calc(100vh - 48px);display:grid;gap:18px;padding:22px;border:1px solid rgba(216,227,235,.9);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.previewOverlay{z-index:70}.previewOverlay .previewCard{position:relative;z-index:71}.previewBody{min-height:0;overflow:auto}.previewImage,.previewFrame{width:100%;display:block;border:1px solid var(--line);border-radius:8px;background:#fff}.previewImage{max-height:calc(100vh - 180px);object-fit:contain}.previewFrame{height:calc(100vh - 180px)}.editorOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:18px;background:#10202d5c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.editorCard{width:min(780px,100%);max-height:calc(100vh - 36px);display:grid;gap:16px;padding:18px;border:1px solid var(--line);border-radius:8px;background:#fffffffa;box-shadow:var(--shadow);overflow-y:auto}.editorGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:grid;gap:8px}.field span{color:var(--ink);font-weight:900;font-size:.9rem}.fieldError{display:block;color:var(--red);font-size:.84rem;line-height:1.4}.field input,.field select{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.passwordField{position:relative}.passwordField input{padding-right:46px}.passwordToggle{position:absolute;top:50%;right:10px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--muted);transform:translateY(-50%)}.passwordToggle:hover{background:#10202d0f;color:var(--ink)}.fieldWide{grid-column:1 / -1}.editorActions{position:sticky;bottom:-18px;display:flex;justify-content:flex-end;gap:10px;margin-top:16px;margin-inline:-18px;margin-bottom:-18px;padding:14px 18px 18px;background:linear-gradient(180deg,#ffffffeb,#fff);border-top:1px solid rgba(216,227,235,.9)}.unitsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.unitCard{display:grid;gap:16px;padding:22px;border:1px solid var(--line);border-radius:12px;background:#fffffff0;box-shadow:var(--shadow);align-content:start}.unitCardMeta{display:grid;gap:8px}.unitCardEyebrow{margin:0;color:var(--brand);font-size:.8rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.unitCardName{margin:0;color:var(--ink);font-size:1.7rem;font-weight:900;line-height:1.15}.unitAddressBlock{display:grid;gap:8px;padding:18px;border:1px solid rgba(42,116,177,.14);border-radius:12px;background:linear-gradient(180deg,#2a74b11a,#fffffffa)}.unitBlockLabel{color:var(--muted);font-size:.77rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.unitAddressBlock strong{color:var(--ink);font-size:1.04rem;line-height:1.5}.unitAddressBlock span:last-child{color:var(--muted);line-height:1.5}.unitInfoList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.unitInfoItem{display:grid;gap:6px;padding:14px;border:1px solid rgba(42,116,177,.12);border-radius:12px;background:#f8fbfd}.unitInfoItem span:last-child{color:#5b6f82;font-weight:600;line-height:1.45;word-break:break-word}.unitActions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.unitActions .smallButton{min-height:46px;padding-inline:18px;justify-content:center}.unitWhatsAppButton{background:linear-gradient(135deg,#1b8a5a,#24b36b);border-color:#1b8a5a73;color:#fff;box-shadow:0 12px 22px #1b8a5a2e;font-weight:900}.unitWhatsAppButton:hover{background:linear-gradient(135deg,#187b50,#20a362);color:#fff}.unitSecondaryButton{background:#fff}.unitHelpText{color:var(--muted);font-size:.92rem;line-height:1.5}:root[data-theme=dark] .unitCard{background:#132331;border-color:#284154;box-shadow:0 22px 42px #00000042}:root[data-theme=dark] .unitCardMeta,:root[data-theme=dark] .unitCardName,:root[data-theme=dark] .unitInfoItem span:last-child,:root[data-theme=dark] .unitAddressBlock strong{color:#eef6fb}:root[data-theme=dark] .unitAddressBlock{background:linear-gradient(180deg,#2a74b129,#101c27f5);border-color:#589ad338}:root[data-theme=dark] .unitAddressBlock span:last-child,:root[data-theme=dark] .unitBlockLabel,:root[data-theme=dark] .unitHelpText{color:#9eb0bf}:root[data-theme=dark] .unitInfoItem{background:#10202d;border-color:#284154}@media(max-width:760px){.unitsGrid{grid-template-columns:1fr}.unitCard{padding:18px}.unitInfoList{grid-template-columns:1fr}.unitActions{flex-direction:column;align-items:stretch}.unitActions .smallButton{width:100%}}.card{display:grid;gap:12px;padding:13px;border:1px solid var(--line);border-radius:8px;background:#f8fbfd}.attendanceCardSuccess{border-color:#258b6861;background:linear-gradient(180deg,#258b6817,#258b6808),#f8fbfd}.attendanceCardRemoved{border-color:#d84c4c4d;background:linear-gradient(180deg,#d84c4c14,#d84c4c08),#f8fbfd}.card.row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.card.row>div>strong,.groupHeaderBar>div>strong{display:block;line-height:1.25}.card.row>div>span,.groupHeaderBar>div>span{display:block;margin-top:4px;line-height:1.4}.rowActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inlineStepper{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.inlineStepper .muted{margin-right:4px}.inlineStepper button{min-width:44px;justify-content:center;text-align:center}.branchAccessActions{min-width:min(360px,100%);display:grid;gap:10px;justify-items:end}.accessInlineFeedback{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;font-size:.82rem;font-weight:900;line-height:1}.accessInlineFeedback.success{color:var(--green);background:#258b681f;border:1px solid rgba(37,139,104,.18)}.accessInlineFeedback.error{color:var(--red);background:#d84c4c1f;border:1px solid rgba(216,76,76,.18)}.branchAccessPrimaryActions,.branchAccessSecondaryActions{justify-content:flex-end}.branchAccessSecondaryActions{padding-top:6px}.branchExpiryEditor{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.branchExpiryEditor input,.inlineDateInput{min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.branchDeactivateButton{min-width:118px}.branchRemoveButton{margin-left:8px}.logActions{display:flex;justify-content:flex-end;margin:10px 0 18px}.smallButton{width:auto;min-width:0;flex:0 0 auto;min-height:32px;padding:0 10px;font-size:.84rem}.receiptApproveAction{justify-content:flex-start}.receiptApproveButton{width:fit-content;min-width:0;max-width:max-content;padding-inline:10px;white-space:nowrap}.deleteButton{background:#d84c4c1f;color:var(--red);border:1px solid rgba(216,76,76,.18)}.identity{min-width:0;display:flex;align-items:center;gap:10px}.identity>span{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#d8edf8;color:var(--blue);font-weight:950}.identity strong,.identity small{display:block}.identity small,.muted,.card span:not(.belt):not(.pill){color:var(--muted)}.attendanceSuccessText{color:var(--green);font-weight:800}.attendanceRemovedText{color:var(--red);font-weight:800}.attendanceStatusInline{display:inline-flex;align-items:center;min-height:36px;margin-top:10px;padding:0 12px;border-radius:999px;font-size:.85rem;font-weight:900;line-height:1}.attendanceStatusInfo{color:var(--blue);background:#1f6ecd1f;border:1px solid rgba(31,110,205,.18)}.attendanceStatusSuccess{color:var(--green);background:#258b681f;border:1px solid rgba(37,139,104,.18)}.attendanceStatusRemoved{color:var(--red);background:#d84c4c1f;border:1px solid rgba(216,76,76,.18)}.table{overflow:auto;border:1px solid var(--line);border-radius:8px}.thead,.tr{min-width:900px;display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr .8fr;gap:12px;align-items:center;padding:12px;border-bottom:1px solid var(--line)}.thead.partnerTable,.tr.partnerTable{grid-template-columns:1.35fr .9fr .7fr .9fr .9fr}.thead.partnerTableExtended,.tr.partnerTableExtended{grid-template-columns:1.35fr .85fr .7fr .9fr .85fr 1.15fr}.thead.paymentHistoryTable,.tr.paymentHistoryTable{grid-template-columns:1.25fr .8fr .8fr .9fr 1fr 1.25fr .95fr 1.2fr}.thead{color:var(--muted);background:#f8fbfd;font-size:.78rem;font-weight:950;text-transform:uppercase}.tr:last-child{border-bottom:0}.tr.resetNoticeRow{min-width:900px;grid-template-columns:1fr;background:#fbfdff}.tr.paymentHistoryEmpty{min-width:900px;grid-template-columns:1fr}.paymentHistoryActions{justify-content:flex-start}.paymentHistoryFilter{min-width:min(220px,100%)}.tr.resetNoticeRow .notice{width:100%}.pill{width:max-content;min-height:28px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;background:#e8eef3;color:var(--muted);font-size:.78rem;font-weight:950}.pill.good{background:#258b681f;color:var(--green)}.pill.warn{background:#c6952529;color:#815e18}.pill.review{background:#176da621;color:var(--blue)}.attendanceDoneButton{background:var(--green)}.attendanceUndoButton{background:#d84c4c1f;color:var(--red);border:1px solid rgba(216,76,76,.18)}.attendanceRemovedButton{background:var(--red)}.beltLine{display:flex;align-items:center;gap:10px}.belt{width:max-content;min-height:28px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;color:#fff;font-size:.78rem;font-weight:950}.belt.branca{color:#111}.belt.branca{background:#fff;border:1px solid var(--line)}.belt.cinza{background:#7e8791}.belt.cinza-branca{background:linear-gradient(90deg,#7e8791 0,#7e8791 72%,#fff 72%,#fff);color:#111;border:1px solid var(--line)}.belt.cinza-preta{background:linear-gradient(90deg,#7e8791 0,#7e8791 72%,#111 72%,#111)}.belt.amarela{background:#d6a900}.belt.amarela-branca{background:linear-gradient(90deg,#d6a900 0,#d6a900 72%,#fff 72%,#fff);color:#111;border:1px solid var(--line)}.belt.amarela-preta{background:linear-gradient(90deg,#d6a900 0,#d6a900 72%,#111 72%,#111)}.belt.laranja{background:#e07d21}.belt.laranja-branca{background:linear-gradient(90deg,#e07d21 0,#e07d21 72%,#fff 72%,#fff);color:#111;border:1px solid var(--line)}.belt.laranja-preta{background:linear-gradient(90deg,#e07d21 0,#e07d21 72%,#111 72%,#111)}.belt.verde{background:#2f8b57}.belt.verde-branca{background:linear-gradient(90deg,#2f8b57 0,#2f8b57 72%,#fff 72%,#fff);color:#111;border:1px solid var(--line)}.belt.verde-preta{background:linear-gradient(90deg,#2f8b57 0,#2f8b57 72%,#111 72%,#111)}.belt.azul{background:#2c74b7}.belt.roxa{background:#6e4aa7}.belt.marrom{background:#6b4a33}.belt.preta{background:#111}.belt.coral{background:linear-gradient(90deg,#c94747,#111)}.progress{height:10px;overflow:hidden;border-radius:999px;background:#e1e9ef}.progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--green))}.inlineProgress{min-width:130px}.notice{margin-bottom:14px;padding:13px;border:1px solid var(--line);border-radius:8px;background:#f8fbfd;color:var(--muted)}.notice.compact{margin-bottom:0;display:grid;gap:4px}.notice.compact strong,.notice.compact span{display:block}.birthdayNotice{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid rgba(219,163,34,.38);border-left:4px solid #dba322;border-radius:6px;background:#fff8dee0;color:var(--ink)}.birthdayIcon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:50%;background:#dba322;color:#17232d}.birthdayContent{min-width:0;display:grid;gap:6px}.birthdayList{display:grid;gap:3px;color:var(--muted);font-size:.9rem}.birthdayList span,.birthdayList b{overflow-wrap:anywhere}.birthdayDirectory{display:grid;gap:10px}.birthdayEntry{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft, #f8fbfd)}.birthdayDateBox{width:68px;min-height:58px;display:grid;place-content:center;text-align:center;border-radius:6px;background:var(--blue);color:#fff;line-height:1}.birthdayDateBox strong{font-size:1.35rem}.birthdayDateBox span{margin-top:5px;font-size:.76rem;font-weight:800;text-transform:uppercase}.birthdayPerson{min-width:0;display:grid;gap:4px}.birthdayPerson strong{font-size:1rem}.birthdayPerson span,.fieldHint{color:var(--muted);font-size:.84rem}.birthdaySoon{border-color:#dba32280;background:#fff8def2;color:#805d08}.teacherActionNotice{margin-bottom:14px;text-align:center}.teacherPasswordCopy{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}.teacherPasswordCopy input{min-width:min(280px,100%);min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:800;text-align:center}.copyPasswordRow{margin-top:10px;display:grid;gap:8px;justify-items:center}.copyPasswordRow input{min-width:min(320px,100%);min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:800;text-align:center}.copyPasswordRow small{color:var(--muted);text-align:center}.branchSummaryMetrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.branchSummaryBlock{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#f8fbfd;margin-bottom:12px}.branchIdentityGrid{margin-bottom:14px}.branchBelts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.branchGrid>.panel{height:100%;display:grid;align-content:start}.turmaEditorCard{display:grid;gap:12px}.copyPasswordButton{transition:transform .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}.copyPasswordButton.copied{border-color:#258b684d;background:#258b6824;color:var(--green);box-shadow:0 0 0 4px #258b681f;animation:copiedPulse .35s ease}@keyframes copiedPulse{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}.notice.success{border-color:#258b6838;background:#258b6814;color:var(--green)}.notice.error{border-color:#d84c4c33;background:#d84c4c14;color:var(--red)}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}.product{display:flex;flex-direction:column;gap:10px;padding:13px;border:1px solid var(--line);border-radius:8px;background:#f8fbfd;min-height:100%}.productImage{min-height:280px;display:flex;align-items:center;justify-content:center;padding:18px;border-radius:8px;background:#e8f2f8}.productImage img{width:auto;height:auto;max-width:100%;max-height:244px;object-fit:contain}.product>a{margin-top:auto}.storeEditorMedia{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;align-items:center}.productImageEditor{aspect-ratio:1 / 1;min-height:120px}.productImageEditor img{width:100%;height:100%;padding:10px}.mediaSocialPreview{width:120px;height:120px;display:grid;place-items:center;border-radius:12px;background:#eef5fa}.mediaSocialPreviewInner{width:72px;height:72px;display:grid;place-items:center;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 20px #10202d14;overflow:hidden}.mediaSocialPreviewInner img{width:48px;height:48px;object-fit:contain;display:block}.social{display:flex;flex-direction:column;gap:14px;min-height:100%;min-width:0}.socialHero{display:flex;align-items:center;gap:12px;min-height:116px;min-width:0}.socialHero strong,.socialHero p{margin:0}.socialHero>div{flex:1 1 auto;min-width:0;display:grid;gap:4px;align-content:start}.socialHero strong{line-height:1.25;min-height:48px;display:-webkit-box;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.socialHero .muted{line-height:1.45;min-height:84px;overflow-wrap:anywhere}.socialIconFrame{width:72px;height:72px;flex:0 0 72px;display:grid;place-items:center;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 20px #10202d14;overflow:hidden}.socialIcon{width:42px;height:42px;object-fit:contain;object-position:center;display:block}.socialIcon-youtube{width:46px;height:34px}.socialLink{width:100%;margin-top:6px}.mediaPanel .panelHead{min-height:68px;align-items:flex-start}.mediaPanel .panelHead h2{min-height:0;display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mediaPanel .socialHero{min-height:104px}.mediaPanel .socialHero strong{min-height:40px}.mediaPanel .socialHero .muted{min-height:72px}.floatingNotice{position:fixed;top:50%;left:50%;z-index:60;width:min(420px,calc(100vw - 32px));transform:translate(-50%,-50%);pointer-events:none}.floatingNotice .notice{margin:0;text-align:center;box-shadow:0 22px 40px #10202d2e}.studentPortal{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.portalHero{display:grid;gap:12px}.studentStatusPill{margin-bottom:12px}.themeToggleButton{min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:8px}:root[data-theme=dark] .panel,:root[data-theme=dark] .card,:root[data-theme=dark] .metric,:root[data-theme=dark] .product,:root[data-theme=dark] .dialogCard,:root[data-theme=dark] .editorCard,:root[data-theme=dark] .showcaseTile,:root[data-theme=dark] .reviewCard,:root[data-theme=dark] .table,:root[data-theme=dark] .studentPanel,:root[data-theme=dark] .sidebar,:root[data-theme=dark] .topbar,:root[data-theme=dark] .sessionCard,:root[data-theme=dark] .publicBand,:root[data-theme=dark] .previewCard,:root[data-theme=dark] .emptyState,:root[data-theme=dark] .notice,:root[data-theme=dark] .productImage,:root[data-theme=dark] .mediaSocialPreview,:root[data-theme=dark] .mediaSocialPreviewInner,:root[data-theme=dark] .socialIconFrame,:root[data-theme=dark] .heroPhoto{background:var(--surface);color:var(--ink);border-color:var(--line)}:root[data-theme=dark] .showcaseMedia,:root[data-theme=dark] .identity>span,:root[data-theme=dark] .thead,:root[data-theme=dark] .pill,:root[data-theme=dark] .checkLine,:root[data-theme=dark] .reviewCard,:root[data-theme=dark] .docButton,:root[data-theme=dark] .previewImage,:root[data-theme=dark] .previewFrame,:root[data-theme=dark] .uploadField input,:root[data-theme=dark] .uploadField input[type=file]::file-selector-button,:root[data-theme=dark] .enrollmentUploadField,:root[data-theme=dark] .emptyState,:root[data-theme=dark] .branchSummaryBlock,:root[data-theme=dark] .product,:root[data-theme=dark] .productImage,:root[data-theme=dark] .mediaSocialPreview,:root[data-theme=dark] .mediaSocialPreviewInner,:root[data-theme=dark] .socialIconFrame,:root[data-theme=dark] .turmaCard,:root[data-theme=dark] .progress,:root[data-theme=dark] .tr.resetNoticeRow,:root[data-theme=dark] .field input:disabled,:root[data-theme=dark] .field select:disabled{background:var(--surface-2);border-color:var(--line)}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea,:root[data-theme=dark] .search,:root[data-theme=dark] .search input,:root[data-theme=dark] .docButton small,:root[data-theme=dark] .showcaseTile span,:root[data-theme=dark] .showcaseMedia span,:root[data-theme=dark] .brand span,:root[data-theme=dark] .sessionCard span,:root[data-theme=dark] .copyPasswordRow input,:root[data-theme=dark] .teacherPasswordCopy input,:root[data-theme=dark] .branchExpiryEditor input,:root[data-theme=dark] .inlineDateInput,:root[data-theme=dark] .passwordField,:root[data-theme=dark] .field input,:root[data-theme=dark] .field select{background:var(--surface-2);color:var(--ink);border-color:var(--line)}:root[data-theme=dark] .search input{background:transparent}:root[data-theme=dark] .notice,:root[data-theme=dark] .muted,:root[data-theme=dark] .card span:not(.belt):not(.pill),:root[data-theme=dark] .loginHints,:root[data-theme=dark] .showcaseTile span,:root[data-theme=dark] .branchSummaryBlock span,:root[data-theme=dark] .emptyState span,:root[data-theme=dark] .reviewCard span,:root[data-theme=dark] .termsContent,:root[data-theme=dark] .socialHero .muted,:root[data-theme=dark] .sessionCard span,:root[data-theme=dark] .brand span{color:var(--muted)}:root[data-theme=dark] .birthdayNotice{border-color:#e7b94361;border-left-color:#e7b943;background:#604c1642;color:var(--ink)}:root[data-theme=dark] .birthdayEntry{background:#ffffff09}:root[data-theme=dark] .birthdaySoon{background:#604c1659;color:#f0cd70}:root[data-theme=dark] .sidebar nav button.active,:root[data-theme=dark] .sidebar nav button:hover,:root[data-theme=dark] .publicNav .active:not(.adminButton),:root[data-theme=dark] .publicNav .adminButton{background:var(--blue);color:#07131f;border-color:var(--blue)}:root[data-theme=dark] .roleSwitch button.active,:root[data-theme=dark] .chip.active{background:var(--blue);color:#07131f;border-color:var(--blue)}:root[data-theme=dark] .roleSwitch button,:root[data-theme=dark] .sidebar nav button,:root[data-theme=dark] .chip,:root[data-theme=dark] .smallButton,:root[data-theme=dark] .docButton,:root[data-theme=dark] .uploadField input[type=file]::file-selector-button{background:var(--surface-2);color:var(--ink);border-color:var(--line)}:root[data-theme=dark] .sidebar nav button{background:transparent;color:#d7e8f4}:root[data-theme=dark] .sidebar nav button.active,:root[data-theme=dark] .sidebar nav button:hover{color:#07131f}:root[data-theme=dark] .softButton,:root[data-theme=dark] .publicNav a,:root[data-theme=dark] .publicNav button,:root[data-theme=dark] .passwordToggle{background:var(--surface-2);color:var(--ink);border-color:var(--line)}:root[data-theme=dark] .publicBrand,:root[data-theme=dark] .publicBrandButton,:root[data-theme=dark] .brandButton{color:var(--ink)}:root[data-theme=dark] .publicHeader{background:rgba(var(--soft-rgb),.9)}:root[data-theme=dark] .overlay,:root[data-theme=dark] .previewOverlay{background:#03080cc2}:root[data-theme=dark] .editorActions{background:linear-gradient(180deg,#101c27eb,#101c27);border-top-color:var(--line)}:root[data-theme=dark] .passwordToggle:hover{background:#ffffff14;color:var(--ink)}:root[data-theme=dark] .belt.branca{background:#fff;color:#111}@media(max-width:1050px){.landingHero{grid-template-columns:1fr;min-height:auto;padding-top:18px}.heroPhoto{min-height:360px}.showcaseSection{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.enrollmentLayout,.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar nav button{justify-content:flex-start}.sessionCard{display:flex;margin-top:0}.metrics,.cards,.products,.grid.two,.grid.three,.grid.four,.studentPortal,.turmaGrid{grid-template-columns:1fr}.mediaCardsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{align-items:flex-start;gap:16px}.topbarActions{width:100%;justify-content:flex-start;flex-wrap:wrap}.search{width:min(100%,480px)}}@media(max-width:860px){.publicHeader{align-items:stretch;flex-direction:column;gap:14px;padding:14px 18px}.publicBrand,.publicBrandButton,.brandButton{justify-content:center}.publicNav{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.publicNav a,.publicNav button{flex:0 0 auto;white-space:nowrap}.landingHero{gap:24px}.heroPhoto{min-height:300px}.grid.two,.reviewGrid{grid-template-columns:1fr}.table{overflow-x:auto;-webkit-overflow-scrolling:touch}.thead,.tr{min-width:760px}.thead.paymentHistoryTable,.tr.paymentHistoryTable{min-width:980px}}@media(max-width:720px){.publicNav{display:flex;justify-content:flex-start}.publicMain{width:min(100% - 28px,1180px);padding-top:18px}.heroText h1{font-size:clamp(2.55rem,17vw,4rem)}.heroActions{display:grid}.showcaseSection{grid-template-columns:1fr}.birthdayEntry{grid-template-columns:58px minmax(0,1fr)}.birthdayDateBox{width:58px}.birthdayEntry>.pill{grid-column:1 / -1;justify-self:start}.sectionTitle{align-items:start;flex-direction:column}main{padding:18px 14px}.topbar,.topbarActions{align-items:stretch;flex-direction:column}.topbar{gap:14px}.topbarActions{width:100%}.search{width:100%;min-width:0}.sidebar{padding:14px}.sidebar nav{display:grid;grid-template-columns:1fr;gap:10px;overflow-x:visible;padding-bottom:4px}.sidebar nav button{justify-content:flex-start;min-width:0}.sessionCard{margin-top:0}.roleSwitch{flex-wrap:wrap}.card.row{grid-template-columns:1fr}.reviewGrid,.dialogHead,.dialogActions{grid-template-columns:1fr;flex-direction:column}.groupHeaderBar,.turmaMeta{align-items:stretch;flex-direction:column}.editorGrid,.storeEditorMedia{grid-template-columns:1fr}.metrics,.cards,.products,.turmaGrid,.mediaCardsGrid{gap:12px}.mediaCardsGrid{grid-template-columns:1fr}.panel,.metric,.product,.turmaCard{padding:14px}.panelHead{flex-direction:column;align-items:stretch;gap:10px}.list,.cards{gap:12px}.thead,.tr,.tr.resetNoticeRow,.tr.paymentHistoryEmpty{min-width:680px;padding:10px}.loginCard,.dialogCard,.editorCard,.previewCard{width:min(100%,calc(100vw - 24px));max-height:calc(100vh - 24px)}.dialogCard,.editorCard,.previewCard{padding:16px}.previewBody{overflow:auto;-webkit-overflow-scrolling:touch}.topbar h1{font-size:1.7rem}.branchAccessActions,.rowActions,.branchExpiryEditor{justify-items:stretch;justify-content:stretch}.branchGrid,.branchSummaryMetrics{grid-template-columns:1fr}.branchExpiryEditor button,.rowActions button,.editorActions button,.heroActions button,.heroActions .softButton{width:100%}.socialHero{align-items:flex-start}.socialIconFrame{width:64px;height:64px;flex-basis:64px;border-radius:14px}.socialIcon{width:40px;height:40px}}@media(max-width:560px){.publicHeader{padding:12px 14px}.publicMain{width:min(100% - 18px,1180px);padding:14px 0 28px}.landingHero{gap:18px}.heroPhoto{min-height:240px}.heroPhoto img{width:min(88%,300px)}.heroText span{font-size:1rem}.sectionTitle h2,.topbar h1{font-size:1.45rem}.publicNav a,.publicNav button,.sidebar nav button,.chip,.smallButton{min-height:38px}.dialogCard,.editorCard,.previewCard,.loginCard{width:min(100%,calc(100vw - 16px));max-height:calc(100vh - 16px)}.dialogHead,.dialogActions,.editorActions{gap:8px}.editorActions{padding-top:12px}.thead,.tr,.tr.resetNoticeRow,.tr.paymentHistoryEmpty{min-width:620px}}
