.school-identity{align-items:center;gap:12px;min-width:0;max-width:100%;display:inline-flex}.school-identity>img{object-fit:contain;flex-shrink:0;width:auto;max-width:64px;height:auto;max-height:48px;display:block}.school-identity.is-logo-only>img{max-width:200px;max-height:64px}.school-identity-name{overflow-wrap:anywhere;min-width:0}.school-logo-editor{border:0;gap:14px;min-width:0;margin:24px 0;padding:0;display:grid}.school-logo-editor>legend{font-size:calc(18px + var(--school-type-increase,0px));margin-bottom:12px;font-weight:700}.school-logo-editor>legend>span{font-size:calc(13px + var(--school-type-increase,0px));font-weight:400}.school-logo-editor>p{font-size:calc(14px + var(--school-type-increase,0px));line-height:1.6}.school-logo-editor>input[type=file]{max-width:100%;font-size:calc(14px + var(--school-type-increase,0px))}.school-logo-editor>button{justify-self:start}.school-logo-placement{border:0;flex-wrap:wrap;gap:12px 24px;min-width:0;padding:0;display:flex}.school-logo-placement legend{margin-bottom:12px;font-weight:600}.school-logo-placement label{align-items:center;gap:8px;display:flex}.school-logo-placement input[type=radio]{width:18px;height:18px;min-height:0;accent-color:var(--primary);margin:0}.school-logo-preview{color:var(--foreground);background:#201e1f;border:1px solid #ffffff30;border-radius:12px;padding:18px}.school-logo-preview .school-identity>img{max-width:120px;max-height:72px}.school-logo-preview .school-identity.is-logo-only>img{max-width:min(100%,256px);max-height:96px}.auth-brand>.school-identity{width:auto;height:auto;color:inherit;font-size:inherit;background:0 0;border-radius:0;display:inline-flex}.brand-lockup>.school-identity{color:var(--portal-highlight,var(--primary));text-transform:none;font-size:18px;font-weight:700;display:inline-flex}.brand-lockup .school-identity-name{font-size:inherit;color:inherit;text-transform:none;display:inline}.school-setup-shell .school-logo-placement input[type=radio]{width:18px;height:18px;min-height:0;padding:0}.portal-sidebar-head .school-identity{display:inline-flex}.portal-sidebar-head .school-identity-name{font-size:inherit;color:inherit}@media (width<=640px){.school-logo-preview{padding:12px}.school-identity.is-logo-only>img{max-width:160px}}.school-logo-editor>.school-logo-dropzone{border:2px dashed color-mix(in srgb, var(--primary) 40.0%, transparent);background:var(--background);width:100%;color:var(--foreground);text-align:center;cursor:pointer;border-radius:18px;flex-direction:column;justify-self:stretch;align-items:center;gap:20px;padding:36px 24px;display:flex}.school-logo-dropzone.is-dragging,.school-logo-dropzone:hover{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 6.27%, transparent)}.school-logo-dropzone:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.school-logo-dropzone:disabled{cursor:wait;opacity:.6}.school-logo-upload-icon{width:56px;height:56px;color:var(--primary);background:color-mix(in srgb, var(--primary) 10.2%, transparent);border-radius:50%;place-items:center;display:grid}.school-logo-upload-icon svg{width:24px;height:24px}.school-logo-dropzone strong{font-size:calc(18px + var(--school-type-increase,0px))}.school-logo-dropzone .school-logo-help{max-width:680px;font-size:calc(14px + var(--school-type-increase,0px) - 2pt);color:#bdbab5;font-weight:400;line-height:1.6}[data-school-theme],[data-school-theme] body,[data-school-theme] .app-shell,[data-school-theme] .auth-shell,.school-portal-preview[data-school-theme]{background:var(--background);color:var(--foreground)}[data-school-theme] .panel,[data-school-theme] .auth-panel,[data-school-theme] .portal-overview-stat,[data-school-theme] .portal-overview-panel,[data-school-theme] .teacher-next-class-grid>.portal-overview-panel,[data-school-theme] .school-preview-panel,[data-school-theme] .teacher-calendar,[data-school-theme] [data-slot=dialog-content],[data-school-theme] [data-slot=alert-dialog-content]{background:var(--card);color:var(--card-foreground);border-color:var(--border);--portal-text:var(--card-foreground);--portal-muted:var(--muted-foreground)}[data-school-theme] .brand-header,[data-school-theme] .portal-sidebar,[data-school-theme] .school-preview-brand{background:var(--sidebar);color:var(--sidebar-foreground);border-color:var(--sidebar-border);--portal-text:var(--sidebar-foreground);--portal-muted:color-mix(in srgb, var(--sidebar-foreground) 72%, var(--sidebar))}[data-school-theme] .portal-sidebar-link{color:var(--sidebar-foreground)}[data-school-theme] .portal-sidebar-link>svg{color:inherit}[data-school-theme] .portal-sidebar-link.is-active,[data-school-theme] [data-slot=tabs-trigger][data-state=active],[data-school-theme] .teacher-calendar-toggle button[aria-pressed=true]{background:var(--portal-selected);color:var(--portal-selected-text);border-color:var(--portal-selected);box-shadow:none}[data-school-theme] .portal-sidebar-link.is-active>svg,[data-school-theme] [data-slot=tabs-trigger][data-state=active]>span{color:inherit}[data-school-theme] .portal-overview-stat small,[data-school-theme] .portal-overview-roster article>strong,[data-school-theme] .portal-overview-context,[data-school-theme] .auth-form>label{color:var(--portal-text)}[data-school-theme] [data-slot=button][data-variant=default],[data-school-theme] .brand-mark,[data-school-theme] .auth-brand>span,[data-school-theme] .school-preview-monogram{background:var(--primary);color:var(--primary-foreground)}[data-school-theme] input:not([type=checkbox]):not([type=radio]):not([type=color]),[data-school-theme] textarea,[data-school-theme] select{background:var(--card);color:var(--card-foreground);border-color:var(--input)}[data-school-theme] input::placeholder,[data-school-theme] textarea::placeholder{color:var(--card-foreground);opacity:.65}[data-school-theme] .teacher-calendar-grid{background:var(--background)}[data-school-theme] .teacher-calendar-dates,[data-school-theme] .teacher-calendar-zone,[data-school-theme] .teacher-calendar-hours,[data-school-theme] .school-preview-menu>div{background:var(--card);color:var(--card-foreground)}[data-school-theme] .teacher-calendar-dates button{color:var(--card-foreground)}[data-school-theme] .teacher-calendar-dates button.is-today b{background:var(--portal-selected);color:var(--portal-selected-text)}.portal-theme-editor{border:0;min-width:0;margin:20px 0 0;padding:0}.portal-theme-editor legend{margin-bottom:8px;font-size:18px;font-weight:700}.portal-theme-editor>p{margin-bottom:20px;font-size:14px;line-height:1.6}.portal-theme-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.portal-theme-fields label{gap:8px;min-width:0;font-size:13px;display:grid}.portal-theme-swatch{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.portal-theme-swatch input[type=color]{cursor:pointer;border:1px solid var(--border);border-radius:8px;flex-shrink:0;width:52px;height:44px;padding:3px}.portal-theme-swatch code{font-size:12px}.portal-theme-preview{border:1px solid var(--border);border-radius:12px;grid-template-columns:140px minmax(0,1fr);margin:24px 0 16px;display:grid;overflow:hidden}.portal-theme-preview-nav{background:var(--sidebar);color:var(--sidebar-foreground);overflow-wrap:anywhere;flex-direction:column;gap:12px;padding:20px 12px;display:flex}.portal-theme-preview-nav>span{padding:9px;font-size:12px}.portal-theme-preview-selected{background:var(--portal-selected);color:var(--portal-selected-text);border-radius:6px}.portal-theme-preview-main{padding:22px 16px}.portal-theme-preview-main>small{color:var(--portal-highlight);font-size:10px;font-weight:700}.portal-theme-preview-main h3{overflow-wrap:anywhere;margin:6px 0 16px;font-size:17px}.portal-theme-preview-card{background:var(--card);color:var(--card-foreground);border-radius:8px;padding:16px;font-size:13px}.portal-theme-preview-card p{color:inherit;margin:8px 0 16px;font-size:12px}.portal-theme-preview-button{background:var(--primary);color:var(--primary-foreground);border-radius:6px;padding:8px 12px;font-weight:600;display:inline-block}.school-settings-fields{border:0;min-width:0;margin:0;padding:0}.school-settings-fields>label{gap:8px;font-weight:600;display:grid}@media (width<=520px){.portal-theme-fields{gap:16px 10px}.portal-theme-preview{grid-template-columns:100px minmax(0,1fr)}.portal-theme-preview-nav{padding-inline:8px}.portal-theme-preview-main{padding-inline:10px}}[data-school-theme] .portal-sidebar-link.is-active,[data-school-theme] .portal-theme-preview-selected{box-shadow:inset 3px 0 var(--brand-accent)}
