:root{--cc-accent:#6d28d9;--cc-accent-soft:#f3edff;--cc-radius:16px;--cc-control:10px;--cc-shadow:0 2px 8px rgba(15,23,42,.035)}.dark{--cc-accent:#b69aff;--cc-accent-soft:#292039}.cc-surface{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--cc-radius);box-shadow:var(--cc-shadow)}.cc-heading{font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.02em}.cc-caption{font-size:12px;line-height:1.5;color:var(--text-muted)}.cc-control{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--border-subtle);border-radius:var(--cc-control);background:var(--bg-card);color:var(--text-primary);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.cc-control:hover{background:var(--bg-surface)}.cc-control:disabled{opacity:.45;cursor:default}.cc-control[aria-pressed=true],.cc-control[aria-selected=true]{color:var(--cc-accent);border-color:var(--cc-accent);background:var(--cc-accent-soft)}.cc-control:focus-visible,.cc-person:focus-visible,.cc-segments button:focus-visible{outline:2px solid var(--cc-accent);outline-offset:3px}.cc-icon-control{width:44px;padding:8px;flex-shrink:0}.cc-segments{display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--bg-surface);border:1px solid var(--border-subtle)}.cc-segments button{min-height:44px;padding:8px 12px;border-radius:8px;font-size:12px;font-weight:500;color:var(--text-muted)}.cc-segments button[aria-pressed=true]{background:var(--bg-card);color:var(--cc-accent);box-shadow:0 1px 3px rgba(15,23,42,.08)}.cc-badge{display:inline-flex;align-items:center;gap:6px;border-radius:6px;padding:3px 7px;font-size:11px;line-height:1.4;font-weight:500;background:var(--bg-surface);color:var(--text-muted)}.cc-badge-live{color:#047857;background:#ecfdf5}.dark .cc-badge-live{color:#6ee7b7;background:#12312a}.cc-schedule-row{display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--border-subtle)}.cc-schedule-row:last-child{border-bottom:0}.cc-schedule-time{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.cc-schedule-time small{display:block;font-size:12px;font-weight:400;color:var(--text-muted);margin-top:4px}.cc-person{display:flex;align-items:center;gap:12px;min-width:0;padding:12px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-card);text-align:left}.cc-person:hover:not(:disabled){background:var(--bg-surface);border-color:var(--cc-accent)}.cc-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;overflow:hidden;border-radius:12px;background:var(--cc-accent-soft);color:var(--cc-accent);font-size:13px;font-weight:600}.cc-attendance-actions{display:flex;gap:6px}.cc-attendance-actions button{flex:none}.cc-empty{padding:32px 16px;text-align:center;color:var(--text-muted);font-size:13px;line-height:1.6}@media(prefers-reduced-motion:reduce){.cc-control{transition:none}}.cc-workspace-content{width:100%;max-width:1440px;min-height:100%;margin-inline:auto;padding:24px 28px 40px}.cc-workspace-content>*{min-width:0}.cc-workspace-content :where(h1,h2,h3){text-wrap:balance}.cc-workspace-content :where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--cc-accent);outline-offset:3px}.cc-workspace-content :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea){border-radius:10px;font-weight:400}.cc-workspace-content :where(table){font-variant-numeric:tabular-nums}.cc-workspace-content :where(th){font-weight:500;letter-spacing:normal}.cc-workspace-content :where(td){line-height:1.5}.cc-workspace-content :where(button,a){-webkit-tap-highlight-color:transparent}.cc-workspace-content .cc-directory{display:flex;flex-direction:column;gap:0;border:1px solid var(--border-subtle);border-radius:16px;background:var(--bg-card);overflow:hidden}.cc-directory .cc-directory-record{border:0;border-bottom:1px solid var(--border-subtle);border-radius:0;box-shadow:none;padding:18px 20px}.cc-directory .cc-directory-record:last-child{border-bottom:0}.cc-directory .cc-directory-record:hover{background:var(--bg-surface)}.cc-directory .cc-record-identity{padding-right:100px}.cc-directory .cc-record-identity .truncate{white-space:normal;overflow-wrap:anywhere}.cc-directory .cc-record-icon{width:42px;height:42px;border-radius:12px;background:var(--cc-accent-soft);color:var(--cc-accent);box-shadow:none;border:0;transform:none}.cc-directory .cc-record-icon>svg{color:var(--cc-accent);width:20px;height:20px}.cc-directory .cc-record-actions{top:18px;right:20px;opacity:1;transform:none}.cc-directory .cc-record-actions>button{width:40px;height:40px}.cc-stat{display:flex;align-items:center;gap:10px;min-height:60px;padding:10px 14px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-card);flex-shrink:0}.cc-stat-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--cc-accent-soft);color:var(--cc-accent)}.cc-stat-value{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.2}.cc-stat-label{margin-top:4px;color:var(--text-muted);font-size:12px;line-height:1.4}.cc-subscription-record{border:1px solid var(--border-subtle);border-radius:12px;padding:16px;box-shadow:none}.cc-subscription-record:hover{border-color:var(--cc-accent);box-shadow:var(--cc-shadow)}.cc-subscription-record h3{line-height:1.5;font-size:14px}.cc-portal-shell{color:var(--text-primary);background:var(--bg-base);min-height:100dvh}@media(max-width:767px){.cc-workspace-content{padding:16px 12px calc(96px + env(safe-area-inset-bottom,0px))}.cc-workspace-content :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea){font-size:16px;min-height:44px;max-width:100%}.cc-workspace-content :where(th,td){padding:12px}.cc-directory .cc-directory-record{padding:14px 12px}.cc-directory .cc-record-identity{padding-right:100px;gap:10px}.cc-directory .cc-record-actions{top:14px;right:12px;gap:4px}.cc-directory .cc-record-actions>button{width:40px;height:44px}.cc-stat{padding:10px;min-height:60px;gap:8px}.cc-stat-value{font-size:18px}.cc-stat-label{font-size:12px}.cc-subscription-record{padding:12px}}@media(prefers-reduced-motion:reduce){.cc-portal-shell *,.cc-workspace-content *{scroll-behavior:auto!important}}.cc-portal-page{max-width:1040px;margin-inline:auto;padding:24px}.cc-portal-page>h1{font-size:26px;line-height:1.4;font-weight:600;margin-bottom:24px}.cc-portal-page>:where(section,form,aside){background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:20px;box-shadow:var(--cc-shadow)}.cc-portal-page :where(h2,h3){font-size:16px;font-weight:600;line-height:1.5}.cc-portal-page>a{display:inline-flex;align-items:center;min-height:44px;margin:4px 8px 4px 0;padding:10px 14px;border:1px solid var(--border-subtle);border-radius:10px;color:var(--cc-accent);background:var(--bg-card);text-decoration:none;font-size:14px}.cc-portal-page :where(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;min-height:44px;margin-top:8px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-card);color:var(--text-primary);font-size:16px}.cc-portal-page :where(button){min-height:44px;border-radius:10px;padding:8px 12px}.cc-portal-page :where(label){font-size:14px;color:var(--text-muted)}.cc-portal-page :where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--cc-accent);outline-offset:3px}@media(max-width:767px){.cc-portal-page{padding:16px 12px 32px}.cc-portal-page>:where(section,form,aside){padding:16px}.cc-portal-page>h1{font-size:22px;margin-bottom:20px}}.cc-workspace-content :where(button,a)[class*=bg-indigo-500][class*=text-white],.cc-workspace-content :where(button,a)[class*=bg-indigo-600][class*=text-white],.cc-workspace-content :where(button,a)[class*=bg-violet-600][class*=text-white]{background-color:#6d28d9;border-color:#6d28d9;box-shadow:none}.cc-workspace-content :where(button,a)[class*=text-white]:disabled{opacity:.5}.dark .cc-stat-icon>svg{color:var(--cc-accent)}.dark .cc-workspace-content :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea){background:var(--bg-card);color:var(--text-primary);border-color:var(--border-subtle)}.cc-page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.cc-page-toolbar>*{min-width:0}.cc-page-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.cc-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-card);color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.5;text-align:center;transition:background .15s,border-color .15s}.cc-action:hover{background:var(--bg-surface);border-color:var(--cc-accent)}.cc-action>svg{flex-shrink:0;width:18px;height:18px}.cc-action-primary{background:var(--cc-accent);color:#fff;border-color:var(--cc-accent)}.cc-action-primary:hover{background:#5b21b6;color:#fff}.cc-action:disabled{opacity:.5;cursor:not-allowed}.cc-filter-tabs{display:flex;align-items:stretch;gap:4px;padding:4px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-card);min-width:0}.cc-filter-tabs>button{min-height:44px;height:auto;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:500;line-height:1.4;flex:1}.cc-filter-tabs>button[aria-pressed=true]{background:var(--cc-accent-soft);color:var(--cc-accent);box-shadow:none}.cc-filter-tabs-scroll{overflow-x:auto;max-width:100%;scrollbar-width:thin}.cc-filter-tabs-scroll>button{flex:none;white-space:nowrap}.cc-stat-strip{display:flex;gap:8px;flex:1;flex-wrap:wrap;min-width:0}.cc-subscription-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cc-subscription-actions{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:4px}.cc-subscription-actions>button{height:44px;width:44px;box-shadow:none}.cc-subscription-record h3{overflow-wrap:anywhere}.cc-subscription-record :where(img){width:40px;height:40px;border-radius:10px}.cc-directory .cc-record-actions>button{width:44px;height:44px;box-shadow:none}.cc-directory-record:focus-within{background:var(--bg-surface)}.cc-settings-section{border:1px solid var(--border-subtle);border-radius:16px;background:var(--bg-card);overflow:clip}.cc-settings-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:18px 20px;text-align:left}.cc-settings-heading h2{font-size:16px;font-weight:600}.cc-settings-body{border-top:1px solid var(--border-subtle)}.cc-settings-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,1.4fr);align-items:start;gap:24px;padding:20px;border-bottom:1px solid var(--border-subtle)}.cc-settings-row:last-child{border-bottom:0}.cc-settings-row-label{font-size:14px;font-weight:500;color:var(--text-primary)}.cc-settings-row-hint{font-size:12px;color:var(--text-muted);margin-top:4px;line-height:1.6}.cc-settings-row-controls{display:flex;align-items:center;justify-content:flex-end;min-width:0;gap:8px}@media(max-width:1023px){.cc-page-toolbar{align-items:stretch;gap:12px}.cc-stat-strip{flex-basis:100%}.cc-subscription-list{grid-template-columns:1fr}}@media(max-width:639px){.cc-page-toolbar{flex-direction:column}.cc-page-actions{width:100%}.cc-page-actions>.cc-action{flex:1 1 auto}.cc-filter-tabs{width:100%}.cc-filter-tabs>button{padding:10px 8px;font-size:12px}.cc-filter-tabs-scroll>button{padding:10px 12px}.cc-settings-heading{padding:16px}.cc-settings-row{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}.cc-settings-row-controls{justify-content:flex-start;flex-wrap:wrap}.cc-stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.cc-stat{min-width:0}}.cc-ledger-table{width:100%;text-align:left;font-size:13px}.cc-ledger-table th{padding:14px 16px;font-weight:500}.cc-ledger-table td{padding:14px 16px}.cc-ledger-table td button{min-width:44px;min-height:44px}.cc-event-record{display:grid;grid-template-columns:48px 8px minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-card)}.cc-event-actions{display:flex;gap:4px}.cc-event-actions>button{width:44px;height:44px;border:1px solid var(--border-subtle)}.cc-rental-filters{display:flex;gap:12px}.cc-rental-hall-filter{width:220px;flex-shrink:0}.cc-permission-person{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;text-align:left}.cc-permission-person strong{display:block;font-size:14px;font-weight:600;overflow-wrap:anywhere}.cc-permission-person small{display:block;margin-top:4px;font-size:12px;color:var(--text-muted)}@media(max-width:767px){.cc-ledger-table,.cc-ledger-table tbody{display:block}.cc-ledger-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cc-ledger-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 16px;padding:16px}.cc-ledger-table tbody td{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;max-width:none;padding:0;white-space:normal;overflow-wrap:anywhere;text-align:left}.cc-ledger-table tbody td:before{content:attr(data-label);color:var(--text-muted);font-size:12px;font-weight:400;font-family:inherit}.cc-ledger-table tbody td:last-child{grid-column:1/-1}.cc-event-record{gap:10px}.cc-event-actions{grid-column:3/-1;justify-content:flex-end}.cc-rental-filters{flex-direction:column}.cc-rental-hall-filter{width:100%}}.cc-billing-heading{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.cc-billing-heading>p{margin:0;max-width:660px;font-size:14px;opacity:1}.cc-billing-period{width:100%;max-width:640px;margin:8px 0 0}.cc-billing-plan{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px;width:100%;border:1px solid var(--border-subtle);border-radius:16px;padding:28px;background:var(--bg-card)}.cc-billing-plan-badge{position:absolute;top:16px;right:20px;color:var(--cc-accent);background:var(--cc-accent-soft);padding:4px 10px;font-size:12px;border-radius:6px}.cc-billing-price{display:flex;flex-direction:column;align-items:flex-start;padding-top:16px}.cc-billing-features{display:flex;flex-direction:column;gap:12px;padding-top:28px}.cc-billing-plan>button{grid-column:1/-1;max-width:360px;min-height:44px;border-radius:10px;box-shadow:none}.cc-billing-checkout{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:24px;max-width:800px;margin-inline:auto}.cc-billing-checkout label:focus-within{outline:2px solid var(--cc-accent);outline-offset:3px}@media(max-width:639px){.cc-billing-plan{grid-template-columns:minmax(0,1fr);padding:20px 16px;gap:20px}.cc-billing-features{padding-top:0}.cc-billing-price{padding-top:28px}.cc-billing-plan>button{max-width:none}.cc-billing-checkout{padding:16px}.cc-billing-period>button{padding:10px 4px}}.cc-filter-tabs>button{min-width:0}.cc-filter-tabs:not(.cc-filter-tabs-scroll)>button>span{white-space:normal;overflow-wrap:anywhere}.cc-subscription-category{max-width:440px}.cc-subscription-content{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start}.cc-subscription-info{display:contents}.cc-subscription-title{display:flex;flex-wrap:wrap;gap:6px;padding-right:44px;min-width:0}.cc-subscription-title h3{flex-basis:100%}.cc-subscription-meta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 16px;padding-top:10px;border-top:1px solid var(--border-subtle)}.cc-subscription-meta>div{font-weight:500}.cc-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.cc-summary-grid>div{border-radius:12px;box-shadow:none}.cc-insights-panel{position:relative;overflow:hidden;padding:20px;border-radius:16px;background:#392a59;color:#fff}.cc-insights-panel .animate-ping,.cc-insights-panel>.absolute{display:none}.cc-insights-panel .animate-pulse{animation:none}.cc-analytics-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}@media(max-width:1199px){.cc-analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:639px){.cc-summary-grid{display:flex;flex-direction:column;gap:0;border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden}.cc-summary-grid>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:0;border-bottom:1px solid var(--border-subtle);border-radius:0}.cc-summary-grid>div:last-child{border-bottom:0}.cc-summary-grid>div>div{margin:0}.cc-summary-grid>div>span:last-child{font-size:20px;flex-shrink:0}.cc-analytics-metrics{grid-template-columns:minmax(0,1fr)}}@media(max-width:400px){.cc-subscription-status>button>svg{display:none}.cc-subscription-status>button>span{white-space:nowrap!important;overflow-wrap:normal!important}}.cc-dashboard-metric>div:first-child{align-items:flex-start;gap:8px}.cc-dashboard-metric>div:first-child>div:first-child{align-items:flex-start}.cc-dashboard-metric>div:first-child a{color:var(--cc-accent);min-height:32px}@media(max-width:379px){.cc-dashboard-metrics{grid-template-columns:minmax(0,1fr)}}.dark .cc-action-primary{background:#6d28d9;border-color:#8b5cf6;color:#fff}.cc-workspace-content .cc-filter-tabs>button[aria-pressed=true]{background:var(--cc-accent-soft);border-color:transparent;color:var(--cc-accent);box-shadow:none;transform:none}.cc-billing-period>button[aria-pressed=true]>span{color:var(--cc-accent);background:transparent}.portal-app{--portal-ink:#252330;--portal-muted:#777481;--portal-line:#e8e6ed;--portal-accent:#6d28d9;max-width:1040px;margin:auto;padding-bottom:100px}.portal-app .portal-brand{display:flex;align-items:center;gap:12px;padding:20px 28px;border-bottom:1px solid var(--portal-line)}.portal-brand>a:first-child{display:flex;align-items:center;gap:8px;font-size:20px;letter-spacing:-.5px}.portal-brand>span{margin-left:auto;font-size:13px;color:var(--portal-muted)}.portal-avatar{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--portal-line);border-radius:14px;color:var(--portal-accent);background:#fff}.portal-app .cc-portal-page{padding:28px}.portal-greeting{margin-bottom:24px}.portal-greeting>span{font-size:12px;color:var(--portal-accent);font-weight:600}.portal-greeting h1{font-size:30px;letter-spacing:-.8px;line-height:1.4;font-weight:650;margin:6px 0;overflow-wrap:anywhere}.portal-greeting p{color:var(--portal-muted);font-size:14px}.portal-app .cc-portal-page>.portal-consent{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f0ebfa;border:0;box-shadow:none}.portal-consent>svg{flex-shrink:0;color:var(--portal-accent)}.portal-consent strong{font-size:13px;font-weight:600}.portal-consent p{font-size:12px;color:#696171;line-height:1.6;margin-top:3px}.portal-consent a{margin-left:auto;flex-shrink:0;min-width:44px;min-height:44px;display:grid;place-items:center;color:var(--portal-accent)}.portal-app .cc-portal-page>.portal-next-lesson{padding:24px;background:#6d28d9;color:#fff;border:0;border-radius:22px;box-shadow:0 8px 24px #4c1d9512}.portal-next-lesson h2{color:#e9ddff;font-size:13px;margin-bottom:20px}.portal-lesson-summary{cursor:pointer;list-style:none}.portal-lesson-summary::-webkit-details-marker{display:none}.portal-lesson-date{display:flex;align-items:center;gap:8px;font-size:13px;color:#eee4ff}.portal-lesson-summary>strong{display:block;font-size:26px;font-weight:600;margin:14px 0 10px;overflow-wrap:anywhere}.portal-lesson-time{display:flex;align-items:center;gap:10px;font-size:32px;font-weight:600;font-variant-numeric:tabular-nums}.portal-lesson-time small{font-size:20px;color:#e4d4ff;font-weight:400}.portal-lesson-footer{border-top:1px solid #ffffff30;margin-top:22px;padding-top:16px;display:flex;gap:16px;justify-content:space-between;font-size:13px}.portal-lesson-footer>span{display:flex;align-items:center;gap:6px}.portal-next-lesson details>p{font-size:13px;margin-top:12px}.portal-next-lesson details>div{margin-top:16px;background:#fff;color:var(--portal-ink);border-radius:12px;padding:16px}.portal-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.portal-shortcuts a{display:flex;align-items:center;gap:10px;min-height:64px;padding:14px 16px;background:#fff;border:1px solid var(--portal-line);border-radius:14px;font-size:14px;font-weight:500}.portal-shortcuts svg{color:var(--portal-accent);flex-shrink:0}.portal-shortcuts svg:last-child{margin-left:auto}.portal-home-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:20px}.portal-app .portal-records{background:#fff;border:1px solid var(--portal-line);border-radius:18px;padding:22px;min-width:0}.portal-records h2{font-size:16px;font-weight:600;margin-bottom:16px}.portal-caption{font-size:12px;color:var(--portal-muted);line-height:1.7;margin-bottom:16px}.portal-record-list{margin:0;padding:0;list-style:none}.portal-record{padding:16px 0;border-bottom:1px solid var(--portal-line);font-size:13px;line-height:1.8;overflow-wrap:anywhere}.portal-record:first-child{padding-top:0}.portal-record:last-child{border-bottom:0;padding-bottom:0}.portal-record>p:first-child{font-size:15px;font-weight:600;margin-bottom:8px}.portal-record>p:not(:first-child){color:var(--portal-muted)}.portal-visits{display:flex;align-items:center;gap:18px;margin:14px 0}.portal-visits strong{font-size:38px;color:var(--portal-ink);line-height:1.2;font-weight:600}.portal-visits small{font-size:18px;color:var(--portal-muted);font-weight:400}.portal-visits>span{font-size:12px;color:var(--portal-muted);max-width:110px;line-height:1.6}.portal-record .portal-schedule-slot{display:flex;justify-content:space-between;padding:8px 10px;margin-top:6px;background:#f7f6fa;border-radius:8px;color:var(--portal-ink)!important;font-variant-numeric:tabular-nums}.portal-empty{padding:26px 12px;background:#faf9fc;border:1px dashed var(--portal-line);border-radius:12px;font-size:13px;color:var(--portal-muted);text-align:center}.portal-loading{min-height:72px;display:flex;align-items:center;opacity:.6;font-size:13px}.portal-pagination{display:flex;justify-content:space-between;align-items:center;padding-top:12px;margin-top:16px;border-top:1px solid var(--portal-line);font-size:12px}.portal-attendance{grid-column:1/-1}.portal-attendance>p{font-size:12px;line-height:1.7;color:var(--portal-muted);margin-top:12px}.portal-attendance select{max-width:240px;display:block}.portal-attendance-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.portal-attendance-totals li{padding:14px;background:#f7f6fa;border-radius:12px;font-size:13px}.portal-navigation{position:fixed;z-index:40;bottom:16px;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(480px,calc(100% - 32px));padding:8px;background:#fff;border:1px solid var(--portal-line);box-shadow:0 6px 32px #25233014;border-radius:20px}.portal-navigation a{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:12px;color:var(--portal-muted);font-size:11px}.portal-navigation a[aria-current=page]{color:var(--portal-accent);background:#f1eafa;font-weight:600}.portal-app a:focus-visible,.portal-app summary:focus-visible{outline:2px solid var(--portal-accent);outline-offset:4px}@media(min-width:760px){.portal-next-lesson{max-width:100%}.portal-lesson-summary{position:relative}.portal-lesson-time{position:absolute;right:0;top:30px}.portal-lesson-summary>strong{max-width:60%}}@media(max-width:600px){.portal-app .portal-brand{padding:16px}.portal-brand>span{display:none}.portal-avatar{margin-left:auto}.portal-app .cc-portal-page{padding:22px 16px}.portal-greeting h1{font-size:25px}.portal-greeting p{font-size:13px}.portal-home-grid{grid-template-columns:1fr;gap:16px}.portal-app .portal-records{padding:18px}.portal-app .cc-portal-page>.portal-next-lesson{padding:20px}.portal-lesson-summary>strong{font-size:24px}.portal-shortcuts{gap:8px}.portal-shortcuts a{font-size:12px;padding:12px;gap:8px}.portal-consent>svg,.portal-shortcuts svg:last-child{display:none}.portal-attendance-totals{grid-template-columns:1fr}.portal-navigation{bottom:0;width:100%;border-radius:18px 18px 0 0;padding-bottom:max(8px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.portal-app *{scroll-behavior:auto!important}}.portal-history-tabs{display:flex;gap:6px;padding:5px;border:1px solid var(--portal-line);background:#eeedf2;border-radius:13px}.portal-history-tabs button{flex:1;min-width:0;font-size:13px;color:var(--portal-muted)}.portal-history-tabs button[aria-pressed=true]{color:var(--portal-accent);background:#fff;box-shadow:0 1px 4px #2523300b}.portal-calendar>div:has(>button[aria-pressed]){padding:5px;gap:5px;background:#f4f2f7;border-radius:12px}.portal-calendar button[aria-pressed=true]{background:#fff;color:var(--portal-accent);box-shadow:0 1px 5px #25233014}.portal-calendar label{flex:1;min-width:100px}.portal-calendar-lesson{background:#faf9fc;border-radius:14px;padding:16px}.portal-calendar-lesson summary{list-style:none;display:grid;gap:6px}.portal-calendar-lesson summary::-webkit-details-marker{display:none}.portal-calendar-lesson time{font-size:13px;color:var(--portal-accent)}.portal-calendar-lesson summary>span.font-medium{font-size:17px}.portal-calendar-lesson summary>span.text-sm{font-size:12px;color:var(--portal-muted)}@media(max-width:360px){.portal-history-tabs button{padding:8px 4px;font-size:11px}}.portal-app{background:#f6f6f8}.portal-app,.portal-app .portal-navigation,.portal-app .portal-records,.portal-app .portal-shortcuts a{color:var(--portal-ink)}.portal-child-switcher{max-width:1040px;margin:16px auto 0;padding:16px 20px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-card)}.portal-profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.portal-profile-form>h2,.portal-profile-form>p{grid-column:1/-1}.portal-profile-form>*{margin-top:0!important}.portal-profile-form>button{justify-self:start;align-self:end;min-width:160px}@media(max-width:639px){.portal-profile-form{grid-template-columns:minmax(0,1fr);gap:16px}.portal-profile-form>button{width:100%}.portal-child-switcher{margin:12px;padding:12px}}@font-face{font-family:FiraGO;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/firago-latin-400-normal.bb424f46.woff2) format("woff2"),url(/_next/static/media/firago-latin-400-normal.05925186.woff) format("woff")}@font-face{font-family:FiraGO;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/firago-latin-500-normal.81809b29.woff2) format("woff2"),url(/_next/static/media/firago-latin-500-normal.31bc1174.woff) format("woff")}@font-face{font-family:FiraGO;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/firago-latin-600-normal.ad9943de.woff2) format("woff2"),url(/_next/static/media/firago-latin-600-normal.90d522ec.woff) format("woff")}@font-face{font-family:FiraGO;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/firago-latin-700-normal.c5f66937.woff2) format("woff2"),url(/_next/static/media/firago-latin-700-normal.eb2abe72.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/inter-cyrillic-ext-400-normal.f572b170.woff2) format("woff2"),url(/_next/static/media/inter-cyrillic-ext-400-normal.2a31c04b.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/inter-cyrillic-400-normal.372704ff.woff2) format("woff2"),url(/_next/static/media/inter-cyrillic-400-normal.a6b6ef6f.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/inter-greek-ext-400-normal.4ce1df5d.woff2) format("woff2"),url(/_next/static/media/inter-greek-ext-400-normal.88ede1ea.woff) format("woff");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/inter-greek-400-normal.d7020e3c.woff2) format("woff2"),url(/_next/static/media/inter-greek-400-normal.cc58c11b.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/inter-vietnamese-400-normal.de4fc44f.woff2) format("woff2"),url(/_next/static/media/inter-vietnamese-400-normal.a9dd2faf.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/inter-latin-ext-400-normal.32a25442.woff2) format("woff2"),url(/_next/static/media/inter-latin-ext-400-normal.4edcaace.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/inter-latin-400-normal.ef6d3f52.woff2) format("woff2"),url(/_next/static/media/inter-latin-400-normal.2c7a775c.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/inter-cyrillic-ext-500-normal.fe0d9b14.woff2) format("woff2"),url(/_next/static/media/inter-cyrillic-ext-500-normal.5a6bb1da.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/inter-cyrillic-500-normal.7c15bba8.woff2) format("woff2"),url(/_next/static/media/inter-cyrillic-500-normal.b9f8c929.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/inter-greek-ext-500-normal.cbd51e2d.woff2) format("woff2"),url(/_next/static/media/inter-greek-ext-500-normal.7a4aa726.woff) format("woff");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/inter-greek-500-normal.f41f43db.woff2) format("woff2"),url(/_next/static/media/inter-greek-500-normal.d9a33207.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/inter-vietnamese-500-normal.7c0a695f.woff2) format("woff2"),url(/_next/static/media/inter-vietnamese-500-normal.a3a73b95.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/inter-latin-ext-500-normal.d9b491de.woff2) format("woff2"),url(/_next/static/media/inter-latin-ext-500-normal.a19a84a6.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/inter-latin-500-normal.b7b43ace.woff2) format("woff2"),url(/_next/static/media/inter-latin-500-normal.cb4c8ceb.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/inter-cyrillic-ext-600-normal.f7b3c15b.woff2) format("woff2"),url(/_next/static/media/inter-cyrillic-ext-600-normal.ecbdecad.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/inter-cyrillic-600-normal.2f42892a.woff2) format("woff2"),url(/_next/static/media/inter-cyrillic-600-normal.c3987adc.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/inter-greek-ext-600-normal.1f33d317.woff2) format("woff2"),url(/_next/static/media/inter-greek-ext-600-normal.089a95ee.woff) format("woff");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/inter-greek-600-normal.cc532937.woff2) format("woff2"),url(/_next/static/media/inter-greek-600-normal.4ec0c1c1.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/inter-vietnamese-600-normal.9d518599.woff2) format("woff2"),url(/_next/static/media/inter-vietnamese-600-normal.c5ce3fcb.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/inter-latin-ext-600-normal.38b075d8.woff2) format("woff2"),url(/_next/static/media/inter-latin-ext-600-normal.49faa47a.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/inter-latin-600-normal.8fb1a964.woff2) format("woff2"),url(/_next/static/media/inter-latin-600-normal.ce0f5f43.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/inter-cyrillic-ext-700-normal.74b516d2.woff2) format("woff2"),url(/_next/static/media/inter-cyrillic-ext-700-normal.4b4022a6.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/inter-cyrillic-700-normal.e9e5b2dc.woff2) format("woff2"),url(/_next/static/media/inter-cyrillic-700-normal.93eba3c3.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/inter-greek-ext-700-normal.827cd618.woff2) format("woff2"),url(/_next/static/media/inter-greek-ext-700-normal.31f1075d.woff) format("woff");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/inter-greek-700-normal.97f0eeeb.woff2) format("woff2"),url(/_next/static/media/inter-greek-700-normal.5ec6c758.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/inter-vietnamese-700-normal.faf12809.woff2) format("woff2"),url(/_next/static/media/inter-vietnamese-700-normal.bc68b199.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/inter-latin-ext-700-normal.b63daa1a.woff2) format("woff2"),url(/_next/static/media/inter-latin-ext-700-normal.93534b50.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/inter-latin-700-normal.953b7aa5.woff2) format("woff2"),url(/_next/static/media/inter-latin-700-normal.9c21d4dc.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}