:root{--ink:#14242a;--ink-muted:#5a6d75;--paper:#fff;--surface:#eef3f4;--surface-2:#e1eaec;--line:#c9d5da;--accent:#0f6b5c;--accent-hover:#0c574b;--accent-soft:#0f6b5c1f;--kind-private:#0f6b5c;--kind-private-soft:#0f6b5c1f;--kind-institutional:#1e4d7b;--kind-institutional-soft:#1e4d7b1f;--warn:#b45309;--danger:#b91c1c;--shadow:0 14px 36px #14242a1a;--shadow-sm:0 4px 14px #14242a0f;--radius:12px;--radius-sm:8px;--radius-lg:16px;--control-h:2.5rem;--font-ui:"Plus Jakarta Sans", system-ui, sans-serif;--font-display:"Outfit", system-ui, sans-serif;--font-doc:"IBM Plex Sans", system-ui, sans-serif;--focus-ring:0 0 0 3px var(--accent-soft);--ease-out:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font-ui);color:var(--ink);-webkit-font-smoothing:antialiased;background-color:#0000;background-image:radial-gradient(72% 48% at 0 0,#0f6b5c21,#0000 55%),radial-gradient(50% 40% at 100% 8%,#1e5a7814,#0000 50%),linear-gradient(#e7eef0 0%,#f2f6f7 42%,#eef3f4 100%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;font-size:.95rem;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;line-height:1.2}.muted{color:var(--ink-muted)}.error{color:var(--danger);font-size:.88rem}.empty{text-align:center;color:var(--ink-muted);padding:2rem 1rem}.stack{flex-direction:column;gap:1rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.linkish{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.linkish:hover{color:var(--accent-hover)}.w-full{width:100%}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mb-3{margin-bottom:.75rem}.max-w-xl{max-width:36rem}.brand{align-items:center;gap:.7rem;display:flex}.brand-mark{border-radius:var(--radius-sm);background:linear-gradient(145deg,#0f6b5c 0%,#168a76 55%,#1a6a8a 100%);flex-shrink:0;width:2.1rem;height:2.1rem;box-shadow:inset 0 0 0 1px #ffffff38}.brand-name{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:1.15rem;font-weight:700;line-height:1.15}.brand-sub,.brand-tag{color:var(--ink-muted);letter-spacing:.03em;margin:.1rem 0 0;font-size:.72rem}.brand-tag{text-transform:uppercase;letter-spacing:.05em}.btn,.btn-primary,.btn-ghost,.btn-secondary,.btn-danger,.logo-upload{width:fit-content;max-width:100%;min-height:var(--control-h);font-family:var(--font-ui);letter-spacing:-.01em;cursor:pointer;transition:background .16s var(--ease-out), border-color .16s var(--ease-out), color .16s var(--ease-out), transform .12s var(--ease-out), box-shadow .16s var(--ease-out);border:1px solid #0000;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.88rem;font-weight:600;line-height:1.2;display:inline-flex}.btn,.btn-primary{background:var(--accent);color:#fff;box-shadow:inset 0 1px #ffffff1f}.btn:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.btn:active:not(:disabled),.btn-primary:active:not(:disabled){transform:translateY(0)}.btn:disabled,.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-ghost:focus-visible,.btn-danger:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn-secondary,.btn.btn-secondary{background:var(--paper);color:var(--ink);border-color:var(--line);box-shadow:none}.btn-secondary:hover:not(:disabled),.btn.btn-secondary:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:color-mix(in srgb, var(--accent-soft) 40%, white)}.btn-ghost,.btn.btn-ghost,.logo-upload{color:var(--ink);border-color:var(--line);box-shadow:none;background:0 0}.btn-ghost:hover:not(:disabled),.btn.btn-ghost:hover:not(:disabled),.logo-upload:hover{background:var(--paper);border-color:color-mix(in srgb, var(--accent) 35%, var(--line));transform:none}.btn-danger,.btn.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled),.btn.btn-danger:hover:not(:disabled){background:#9f1717}.icon-btn{width:1.85rem;height:1.85rem;color:var(--ink-muted);cursor:pointer;transition:background .15s var(--ease-out), color .15s var(--ease-out);background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover:not(:disabled){color:var(--danger);background:#b91c1c1a}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.page-header{animation:ui-rise .35s var(--ease-out) both;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.35rem;display:flex}.page-header h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(1.45rem,2.2vw,1.8rem);font-weight:700}.page-header p{color:var(--ink-muted);margin:.35rem 0 0;font-size:.92rem}.page-header-actions{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.page{width:100%;max-width:1100px;margin:0 auto;padding:1.5rem 1.75rem 2.5rem}.page-wide{max-width:1200px}.panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);animation:ui-rise .4s var(--ease-out) both;background:#ffffffe6;padding:1.35rem 1.4rem}.panel+.panel{margin-top:1.25rem}.panel-title,.panel-subhead,.panel-heading{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .85rem;font-size:1rem;font-weight:700}.panel>h2,.panel-heading{margin-top:0}.panel-subhead{margin-bottom:.65rem}.auth-brand{align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.auth-brand .brand-name{font-size:1.05rem}.auth-card .btn{align-self:stretch;width:100%}.auth-card a{color:var(--accent);font-weight:600}.auth-card a:hover{color:var(--accent-hover)}.grid-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.85rem;margin-bottom:1.25rem;display:grid}.stat{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);animation:ui-rise .35s var(--ease-out) both;background:#ffffffeb;padding:1.05rem 1.15rem}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);font-size:.72rem;font-weight:600}.stat-value{font-family:var(--font-display);letter-spacing:-.03em;margin-top:.35rem;font-size:1.75rem;font-weight:700}.field{flex-direction:column;gap:.35rem;margin-bottom:.95rem;display:flex}.field label,.field-label{color:var(--ink-muted);font-size:.78rem;font-weight:600}.field-label{letter-spacing:.04em;text-transform:uppercase;font-size:.72rem}.field input,.field select,.field textarea{min-height:var(--control-h);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);transition:border-color .15s var(--ease-out), box-shadow .15s var(--ease-out);outline:none;padding:.55rem .75rem}.field input:not([type=checkbox]):not([type=radio]):not([type=file]),.field select{width:100%;max-width:min(22rem,100%)}.field textarea{resize:vertical;width:100%;min-height:90px}.field.field-full input:not([type=checkbox]):not([type=radio]):not([type=file]),.field.field-full select,.field.field-full textarea{max-width:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.form-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:start;gap:1rem;display:grid}.form-row>.btn,.form-row>a.btn,.form-row>.badge,.form-row>.actions-cell{justify-self:start;width:auto;max-width:max-content}.field>.btn,.field>a.btn,.field>.actions-cell{align-self:flex-start;width:auto}.check-row{color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;font-size:.85rem;display:inline-flex}.check-row input{width:auto;margin:0}.table-wrap{border-radius:var(--radius);overflow-x:auto}:is(.table-wrap:has(table.data-table),.table-wrap:has(.data-table)){background:var(--paper);border:1px solid var(--line)}table.data,.data-table{border-collapse:collapse;width:100%;font-size:.9rem}table.data th,table.data td,.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.7rem .75rem}table.data th,.data-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);background:color-mix(in srgb, var(--surface) 70%, white);font-size:.72rem;font-weight:650}table.data tr:hover td,.data-table tbody tr:hover td{background:color-mix(in srgb, var(--accent-soft) 35%, transparent)}.actions-cell{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}td.actions-cell{display:table-cell}td.actions-cell>.actions-row{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.badge,.status-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.72rem;font-weight:650;display:inline-flex}.status-badge{text-transform:capitalize;background:var(--surface-2);color:var(--ink-muted)}.badge.warn,.badge-warn{color:var(--warn);background:#b453091f}.badge.danger{color:var(--danger);background:#b91c1c1f}.badge-ok{color:var(--accent);background:#0f6b5c24}.status-paid{color:#0f6b5c;background:#0f6b5c24}.status-sent{color:#1a5a78;background:#1e5a781f}.status-draft{color:#5a6d75;background:#5a6d7524}.status-overdue{color:#b45309;background:#b4530924}.status-confirm_payment{color:#9a3412;background:#b4530929}.status-partially_paid{color:#155e75;background:#1e5a7824}.status-unpaid{color:#b45309;background:#b453091f}.status-void{color:#5a6d75;background:#5a6d7524}.status-select{appearance:none;font:inherit;text-transform:capitalize;cursor:pointer;background-color:var(--surface-2);color:var(--ink-muted);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235a6d75' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right .45rem center;background-repeat:no-repeat;border:1px solid #0000;border-radius:999px;max-width:11rem;padding:.2rem 1.6rem .2rem .65rem;font-size:.72rem;font-weight:650}.status-select:disabled{cursor:not-allowed;opacity:.7}.status-select.status-paid{color:#0f6b5c;background-color:#0f6b5c24}.status-select.status-sent{color:#1a5a78;background-color:#1e5a781f}.status-select.status-draft{color:#5a6d75;background-color:#5a6d7524}.status-select.status-overdue{color:#b45309;background-color:#b4530924}.status-select.status-confirm_payment{color:#9a3412;background-color:#b4530929}.status-select.status-partially_paid{color:#155e75;background-color:#1e5a7824}.status-select.status-unpaid{color:#b45309;background-color:#b453091f}.status-select.status-void{color:#5a6d75;background-color:#5a6d7524}.tab-row{border-bottom:1px solid var(--line);gap:.35rem;margin:0 0 1rem;display:flex}.tab-btn{appearance:none;font:inherit;color:var(--ink-muted);cursor:pointer;transition:color .15s var(--ease-out), border-color .15s var(--ease-out);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.55rem .85rem;font-size:.9rem;font-weight:600}.tab-btn:hover{color:var(--ink)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-btn.kind-private.active{color:var(--kind-private);border-bottom-color:var(--kind-private)}.tab-btn.kind-institutional.active{color:var(--kind-institutional);border-bottom-color:var(--kind-institutional)}.badge.kind-private{background:var(--kind-private-soft);color:var(--kind-private)}.badge.kind-institutional{background:var(--kind-institutional-soft);color:var(--kind-institutional)}.panel.kind-private{border-left:3px solid var(--kind-private)}.panel.kind-institutional{border-left:3px solid var(--kind-institutional)}.institution-card{border:1px solid var(--line);border-left:3px solid var(--kind-institutional);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--kind-institutional-soft) 55%, white);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.institution-card strong{font-size:1rem;display:block}.institution-card .muted{font-size:.85rem}.auth-page{place-items:center;min-height:100svh;padding:1.5rem;display:grid}.auth-card{border:1px solid var(--line);border-radius:var(--radius-lg);width:min(420px,100%);box-shadow:var(--shadow);animation:ui-rise .4s var(--ease-out) both;background:#fffffff0;flex-direction:column;gap:.85rem;padding:1.85rem 1.75rem;display:flex}.auth-card h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:1.65rem}.auth-sub,.auth-foot{color:var(--ink-muted);margin:0;font-size:.9rem}.auth-error{color:var(--danger);border-radius:var(--radius-sm);background:#b91c1c14;padding:.65rem .8rem;font-size:.85rem}.auth-ok{color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-sm);padding:.65rem .8rem;font-size:.85rem}.role-toggle{background:var(--surface);border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr 1fr;gap:.25rem;padding:.25rem;display:grid}.role-toggle-btn{border-radius:var(--radius-sm);color:var(--ink-muted);cursor:pointer;transition:background .15s var(--ease-out), color .15s var(--ease-out), box-shadow .15s var(--ease-out);background:0 0;border:0;padding:.55rem .75rem;font-size:.9rem;font-weight:600}.role-toggle-btn.active{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-sm)}.note{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:.65rem;padding:.75rem .85rem;font-size:.9rem}.note time{color:var(--ink-muted);margin-bottom:.25rem;font-size:.75rem;display:block}.filter-field{flex-direction:column;gap:.35rem;min-width:200px;display:flex}.filter-field select{border:1px solid var(--line);background:var(--paper);min-height:var(--control-h);border-radius:10px;padding:.55rem .75rem}.modal-backdrop{z-index:50;background:#14242a73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{background:var(--paper);border:1px solid var(--line);width:min(560px,100%);max-height:min(90vh,900px);box-shadow:var(--shadow);animation:ui-rise .3s var(--ease-out) both;border-radius:14px;padding:1.25rem 1.35rem 1.35rem;overflow:auto}.modal-card h2{font-family:var(--font-display);margin:0 0 .35rem;font-size:1.25rem}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}@keyframes ui-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:.25rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sticky{position:sticky}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.app{height:100svh;min-height:100svh;transition:grid-template-columns .2s var(--ease-out);grid-template-columns:248px minmax(0,1fr);display:grid;overflow:hidden}.app.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.app.sidebar-collapsed .sidebar{opacity:0;pointer-events:none;border-right:none;width:0;min-width:0;padding:0;overflow:hidden}@media (width<=900px){.app{grid-template-columns:1fr;height:100dvh;min-height:100dvh;overflow:hidden}.app.sidebar-collapsed{grid-template-columns:1fr}.sidebar{z-index:60;opacity:1;pointer-events:auto;width:min(280px,86vw);min-width:min(280px,86vw);height:100svh;max-height:100svh;transition:transform .2s var(--ease-out), visibility .2s var(--ease-out);flex-flow:column;align-items:stretch;gap:.9rem;padding:1.1rem .9rem;position:fixed;top:0;bottom:0;left:0;overflow:hidden;transform:translate(0);box-shadow:8px 0 32px #0f172a47}.app.sidebar-collapsed .sidebar{opacity:1;pointer-events:none;visibility:hidden;width:min(280px,86vw);min-width:min(280px,86vw);box-shadow:none;border-right:none;padding:1.1rem .9rem;overflow:hidden;transform:translate(-105%)}.sidebar nav,.sidebar .ws-nav{flex-flow:column;gap:.2rem;min-height:0;display:flex;overflow-y:auto}.sidebar-backdrop{z-index:55;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#0f172a73;border:none;margin:0;padding:0;display:block;position:fixed;inset:0}.app.sidebar-collapsed .sidebar-backdrop{display:none}.main{height:100svh;min-height:0;overflow:auto}body.mobile-nav-lock{overflow:hidden}}@media (width>=901px){.sidebar-backdrop,.mobile-workspace-header,.mobile-bottom-nav,.mobile-more-sheet{display:none!important}.main-scroll{display:contents}}.mobile-workspace-header,.mobile-bottom-nav,.mobile-more-sheet{display:none}.main-scroll{min-height:0}@media (width<=900px){.app.app--mobile-tabs{grid-template-columns:1fr}.app.app--mobile-tabs .sidebar,.app.app--mobile-tabs .sidebar-backdrop,.app.app--mobile-tabs .ws-topbar--desktop-only{display:none!important}.app.app--mobile-tabs.theme-workspace .main{flex-direction:column;height:100%;min-height:0;max-height:100%;padding:0;display:flex;overflow:hidden}.app.app--mobile-tabs .main-scroll{-webkit-overflow-scrolling:touch;flex:1;min-width:0;min-height:0;overflow:hidden auto}.app.app--mobile-tabs .mobile-workspace-header{color:#f8fafc;background:#0f172a;flex-direction:column;flex-shrink:0;gap:12px;padding:12px 20px 18px;display:flex}.mobile-workspace-header-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.mobile-workspace-brand{color:inherit;align-items:center;gap:9px;text-decoration:none;display:flex}.mobile-workspace-brand-name{font-family:var(--font-display);letter-spacing:-.04em;color:#f8fafc;font-size:25px;font-weight:700}.mobile-workspace-account{align-items:center;gap:8px;display:flex}.mobile-workspace-account-label{color:#94a3b8;font-size:12px}.mobile-workspace-avatar{color:#f8fafc;background:#1e293b;border:1px solid #475569;width:34px;height:34px;text-decoration:none}.mobile-workspace-switcher{align-self:flex-start;width:min(15rem,72%)}.app.app--mobile-tabs .mobile-workspace-switcher .workspace-switcher{width:100%;margin:0}.app.app--mobile-tabs .mobile-workspace-switcher .workspace-trigger{color:#f8fafc;background:#1e293b;border:none;border-radius:12px;width:100%;padding:10px 12px}.app.app--mobile-tabs .mobile-workspace-switcher .workspace-menu{width:100%;min-width:100%;right:auto}.app.app--mobile-tabs .mobile-bottom-nav,.app.app--bottom-menu .mobile-bottom-nav{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:10px 10px calc(8px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #e2e8f0;flex-shrink:0;display:block;overflow:hidden}.app.app--bottom-menu .mobile-bottom-nav{z-index:45;position:fixed;bottom:0;left:0;right:0}.app.app--bottom-menu .main{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.mobile-bottom-nav-destinations{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:none;align-items:flex-start;width:100%;min-width:0;max-width:100%;display:flex;overflow:auto hidden}.mobile-bottom-nav-destinations::-webkit-scrollbar{width:0;height:0}.mobile-bottom-nav-item{touch-action:pan-x;color:#64748b;min-width:4.5rem;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:none;align-items:center;gap:4px;padding:0;text-decoration:none;display:flex}.mobile-bottom-nav-icon{background:0 0;border-radius:999px;justify-content:center;align-items:center;width:48px;height:29px;display:flex}.mobile-bottom-nav-item.is-active{color:#0369a1}.mobile-bottom-nav-item.is-active .mobile-bottom-nav-icon{background:#e0f2fe}.mobile-bottom-nav-item.is-active .mobile-bottom-nav-label{font-weight:600}.mobile-bottom-nav-label{white-space:nowrap;font-size:10px;line-height:1.2}.mobile-more-sheet{z-index:70;display:block;position:fixed;inset:0}.mobile-more-backdrop{cursor:pointer;background:#0f172a73;border:none;margin:0;padding:0;position:absolute;inset:0}.mobile-more-panel{max-height:min(72svh,520px);padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));background:#fff;border-radius:20px 20px 0 0;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -12px 40px #0f172a2e}.mobile-more-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.mobile-more-head strong{font-family:var(--font-display);font-size:1.15rem}.mobile-more-nav{-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;gap:2px;min-height:0;display:flex;overflow:auto}.mobile-more-link{color:#0f172a;border-radius:12px;align-items:center;gap:12px;padding:12px 10px;font-weight:500;text-decoration:none;display:flex}.mobile-more-link.is-active{color:#0369a1;background:#e0f2fe}.mobile-more-signout{color:#0369a1;font:inherit;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:8px;padding:12px;font-weight:600}.instructor-home-mobile{flex-direction:column;gap:24px;padding:20px;display:flex}.instructor-home-day-context{flex-direction:column;gap:5px;display:flex}.instructor-home-date{color:#0369a1;letter-spacing:.02em;margin:0;font-size:13px;font-weight:500}.instructor-home-mobile .instructor-home-day-context h1{font-family:var(--font-display);letter-spacing:-.03em;color:#0f172a;margin:0;font-size:30px;font-weight:700;line-height:1.13}.instructor-home-lead{color:#64748b;margin:0;font-size:16px}.instructor-up-next{color:#f8fafc;background:#0f172a;border-radius:18px;flex-direction:column;gap:14px;padding:18px;display:flex}.instructor-up-next-meta{justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.instructor-up-next-meta span:first-child{color:#38bdf8;letter-spacing:.04em;font-weight:600}.instructor-up-next-meta span:last-child{color:#f8fafc;font-size:13px}.instructor-up-next-copy h2{font-family:var(--font-display);color:#f8fafc;margin:0 0 4px;font-size:23px;font-weight:700}.instructor-up-next-copy p{color:#94a3b8;margin:0;font-size:13px;line-height:1.4}.instructor-up-next-cta{border:none;border-radius:12px;width:100%;height:48px;font-size:15px;font-weight:600;color:#0f172a!important;background:#38bdf8!important}.instructor-home-desktop-only{display:none}.instructor-teaching-day,.instructor-shortcuts{flex-direction:column;gap:12px;display:flex}.instructor-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.instructor-section-head h2,.instructor-shortcuts>h2{font-family:var(--font-display);color:#0f172a;margin:0;font-size:20px;font-weight:700}.instructor-section-link{color:#0369a1;font-size:13px;font-weight:500;text-decoration:none}.instructor-home-mobile .ws-week-strip--compact{gap:5px}.instructor-home-mobile .ws-week-strip--compact .ws-week-day{min-width:0;height:53px;box-shadow:none;background:#fff;border:none;border-radius:10px;flex:1 1 0;padding:0}.instructor-home-mobile .ws-week-strip--compact .ws-week-day.active{color:#0f172a;background:#38bdf8}.instructor-home-mobile .ws-week-strip--compact .ws-week-day.active .ws-week-dow,.instructor-home-mobile .ws-week-strip--compact .ws-week-day.active .ws-week-num{color:#0f172a}.instructor-home-mobile .ws-week-strip--compact .ws-week-dow{color:#64748b;font-size:11px}.instructor-home-mobile .ws-week-strip--compact .ws-week-num{font-family:var(--font-display);color:#0f172a;font-size:16px;font-weight:700}.instructor-session-list{margin:0;padding:0;list-style:none}.instructor-session-row{color:inherit;border-bottom:1px solid #e2e8f0;align-items:center;gap:12px;padding:15px 0;text-decoration:none;display:flex}.instructor-session-time{flex-direction:column;flex-shrink:0;gap:2px;width:47px;display:flex}.instructor-session-time strong{font-family:var(--font-display);color:#0f172a;font-size:16px}.instructor-session-time span{color:#64748b;font-size:12px}.instructor-session-marker{background:#e2e8f0;border-radius:2px;flex-shrink:0;width:3px;height:37px}.instructor-session-marker.is-next{background:#38bdf8}.instructor-session-details{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.instructor-session-details strong{color:#0f172a;font-size:16px;font-weight:500}.instructor-session-details span{color:#64748b;font-size:12px}.instructor-session-chevron{color:#94a3b8;flex-shrink:0}.instructor-shortcut{min-height:58px;color:inherit;border-bottom:1px solid #e2e8f0;align-items:center;gap:12px;padding:12px 0;text-decoration:none;display:flex}.instructor-shortcut span{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.instructor-shortcut strong{color:#0f172a;font-size:15px;font-weight:500}.instructor-shortcut small{color:#64748b;font-size:12px}.instructor-shortcut svg:last-child{color:#0369a1;flex-shrink:0}.instructor-create-class{border-radius:12px;width:100%;height:46px;font-size:14px;font-weight:600;color:#0369a1!important;background:#fff!important;border:1px solid #e2e8f0!important}.instructor-join-studio{color:#0369a1;align-items:center;gap:10px;display:flex}.instructor-join-studio-btn{text-align:left;color:#0369a1!important;box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important;font-size:13px!important;font-weight:400!important}}@media (width>=901px){.instructor-home-mobile{flex-direction:column;gap:1.25rem;display:flex}.instructor-home-desktop-only{display:block}.instructor-home-mobile .instructor-home-day-context h1{font-family:var(--font-display);margin:.15rem 0;font-size:2rem}.instructor-up-next{color:#f8fafc;background:#0f172a;border-radius:18px;flex-direction:column;gap:14px;max-width:28rem;padding:18px;display:flex}.instructor-up-next-meta{justify-content:space-between;font-size:12px;display:flex}.instructor-up-next-meta span:first-child{color:#38bdf8;font-weight:600}.instructor-up-next-copy h2{font-family:var(--font-display);color:#f8fafc;margin:0 0 4px;font-size:1.4rem}.instructor-up-next-copy p{color:#94a3b8;margin:0;font-size:.9rem}.instructor-up-next-cta{border:none;border-radius:12px;font-weight:600;color:#0f172a!important;background:#38bdf8!important}.instructor-section-head{justify-content:space-between;align-items:center;display:flex}.instructor-section-head h2,.instructor-shortcuts>h2{font-family:var(--font-display);margin:0 0 .5rem}.instructor-section-link{color:#0369a1;font-weight:500;text-decoration:none}.instructor-session-list{margin:0;padding:0;list-style:none}.instructor-session-row{color:inherit;border-bottom:1px solid #e2e8f0;align-items:center;gap:12px;padding:12px 0;text-decoration:none;display:flex}.instructor-session-time{flex-direction:column;width:3.2rem;display:flex}.instructor-session-marker{background:#e2e8f0;border-radius:2px;width:3px;height:36px}.instructor-session-marker.is-next{background:#38bdf8}.instructor-session-details{flex-direction:column;flex:1;gap:2px;display:flex}.instructor-session-details span{color:#64748b;font-size:.8rem}.instructor-shortcut{color:inherit;border-bottom:1px solid #e2e8f0;align-items:center;gap:12px;padding:12px 0;text-decoration:none;display:flex}.instructor-shortcut span{flex-direction:column;flex:1;gap:2px;display:flex}.instructor-shortcut small{color:#64748b;font-size:.8rem}.instructor-create-class{align-self:flex-start;color:#0369a1!important;background:#fff!important;border:1px solid #e2e8f0!important}.instructor-join-studio{align-items:center;gap:10px;display:flex}}.sidebar{z-index:40;border-right:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffc7;flex-direction:column;gap:.9rem;height:100%;min-height:0;padding:1.1rem .9rem;display:flex;position:relative;overflow:visible}.sidebar .brand{color:inherit;border-radius:10px;align-items:center;gap:.65rem;padding:.15rem .35rem;text-decoration:none;display:flex}.sidebar a.brand:hover{opacity:.9}.workspace-switcher{z-index:50;flex-direction:column;flex-shrink:0;gap:.4rem;margin:0 .15rem .1rem;display:flex;position:relative}.workspace-switcher.is-open{z-index:80}.workspace-control-label{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:0;padding:0 .15rem;font-size:.72rem;font-weight:500}.workspace-switcher-static,.workspace-trigger{border:1px solid var(--line);background:var(--accent-soft);border-radius:12px;align-items:center;gap:.6rem;width:100%;padding:.65rem .7rem;display:flex}@supports (color:color-mix(in lab, red, red)){.workspace-switcher-static,.workspace-trigger{background:color-mix(in srgb, var(--accent-soft) 55%, white)}}.workspace-switcher-static,.workspace-trigger{text-align:left}.workspace-trigger{cursor:pointer;color:inherit;transition:border-color .15s var(--ease-out), background .15s var(--ease-out)}.workspace-trigger:hover{border-color:var(--accent)}.workspace-trigger-symbol{width:1.85rem;height:1.85rem;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.workspace-trigger-copy{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.workspace-org{font-family:var(--font-ui);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;line-height:1.25;overflow:hidden}.workspace-role{font-family:var(--font-ui);letter-spacing:0;text-transform:none;color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:400;overflow:hidden}.workspace-billing,.workspace-nobilling{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.1rem .4rem;font-size:.62rem;font-weight:700;display:inline-flex}.workspace-billing{background:var(--accent-soft);color:var(--accent)}.workspace-nobilling{color:var(--ink-muted);background:#5a6d751f}.workspace-mode-pill{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.1rem .4rem;font-size:.62rem;font-weight:700;display:inline-flex}.workspace-mode-pill.private{background:var(--kind-private,#0f6b5c)}@supports (color:color-mix(in lab, red, red)){.workspace-mode-pill.private{background:color-mix(in srgb, var(--kind-private,#0f6b5c) 18%, white)}}.workspace-mode-pill.private{color:var(--kind-private,#0f6b5c)}.workspace-mode-pill.team{background:var(--kind-institutional,#1e4d7b)}@supports (color:color-mix(in lab, red, red)){.workspace-mode-pill.team{background:color-mix(in srgb, var(--kind-institutional,#1e4d7b) 18%, white)}}.workspace-mode-pill.team{color:var(--kind-institutional,#1e4d7b)}.workspace-menu{z-index:90;border-radius:var(--radius);border:1px solid var(--line);max-height:min(28rem,100svh - 8rem);box-shadow:var(--shadow);background:#fffffffa;padding:.55rem;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow:auto}.workspace-menu-figma{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:.25rem;width:max(100%,17.5rem);min-width:min(20rem,100vw - 2rem);max-height:min(28rem,100svh - 8rem);padding:.5rem;display:flex;left:0;right:auto;box-shadow:0 18px 40px #0f172a29}.workspace-menu-heading{font-family:var(--font-ui);color:#475569;margin:0;padding:.35rem .75rem .45rem;font-size:.75rem;font-weight:500}.workspace-choice{color:#0f172a;text-align:left;cursor:pointer;background:#fff;border:1px solid #0000;border-radius:12px;align-items:center;gap:.75rem;width:100%;padding:.75rem;display:flex}.workspace-choice:hover{background:#f7faff}.workspace-choice-symbol{color:#475569;background:#f7faff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:inline-flex}.workspace-choice--private{background:#f8fafc;border-color:#e2e8f0}.workspace-choice--private .workspace-choice-symbol{color:#334155;background:#e2e8f0}.workspace-choice--private:hover{background:#f1f5f9}.workspace-choice--private.is-active{background:#e2e8f0;border-color:#64748b}.workspace-choice--private.is-active .workspace-choice-symbol{color:#0f172a;background:#fff}.workspace-choice--private.is-active .workspace-choice-check{color:#0f172a}.workspace-choice--business{background:#f0f9ff;border-color:#bae6fd}.workspace-choice--business .workspace-choice-symbol{color:#0369a1;background:#bae6fd}.workspace-choice--business:hover{background:#e0f2fe}.workspace-choice--business.is-active{background:#e0f2fe;border-color:#0ea5e9}.workspace-choice--business.is-active .workspace-choice-symbol{color:#0369a1;background:#fff}.workspace-choice--business.is-active .workspace-choice-check{color:#0369a1}.workspace-choice--joined{background:#f0fdf4;border-color:#a7f3d0}.workspace-choice--joined .workspace-choice-symbol{color:#047857;background:#a7f3d0}.workspace-choice--joined:hover{background:#ecfdf5}.workspace-choice--joined.is-active{background:#d1fae5;border-color:#10b981}.workspace-choice--joined.is-active .workspace-choice-symbol{color:#047857;background:#fff}.workspace-choice--joined.is-active .workspace-choice-check{color:#047857}.workspace-choice-copy{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.workspace-choice-name{font-family:var(--font-ui);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:600;line-height:1.25;overflow:hidden}.workspace-choice-role{font-family:var(--font-ui);color:#475569;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:400;overflow:hidden}.workspace-choice-check{color:#0369a1;flex-shrink:0}.workspace-choice-editing{cursor:default}.workspace-menu-divider{background:#e2e8f0;height:1px;margin:.25rem 0}.workspace-join-action{color:#0369a1;width:100%;font-family:var(--font-ui);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:.75rem;padding:.75rem;font-size:.9375rem;font-weight:500;display:flex}.workspace-join-action:hover{background:#f7faff}.workspace-join-action--center{text-align:center;white-space:nowrap;justify-content:center;gap:.35rem;font-size:.74rem;line-height:1.2}.workspace-join-action--center svg{flex:none}.workspace-join-form{flex-direction:column;gap:.45rem;padding:.75rem;display:flex}.workspace-join-form input{color:#0f172a;background:#fff;border:1.5px solid #475569;border-radius:10px;width:100%;padding:.55rem .7rem}.workspace-join-form input:focus{border-color:#0f6b5c;outline:none;box-shadow:0 0 0 3px #0f6b5c47}.workspace-join-actions{gap:.5rem;display:flex}.workspace-join-actions .btn{flex:1;width:auto}.workspace-join-lookup{color:#fff;background:#0f6b5c;border:1px solid #0f6b5c}.workspace-join-lookup:hover:not(:disabled){color:#fff;background:#0c574b;border-color:#0c574b}.workspace-join-lookup:disabled{color:#fff;opacity:1;background:#0f6b5c;border-color:#0f6b5c}.workspace-join-cancel{color:#0f172a;background:#fff;border:1.5px solid #94a3b8}.workspace-join-cancel:hover:not(:disabled){color:#0f172a;background:#f8fafc;border-color:#94a3b8}.workspace-choice--pending{cursor:default;opacity:.92;background:#fffbeb}.workspace-choice--pending .workspace-choice-role{color:#b45309;font-weight:600}.ws-join-pending{flex-direction:column;gap:.45rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.ws-join-pending-item{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .7rem;font-size:.9rem;display:flex}.ws-join-pending-item .badge{color:#92400e;background:#fef3c7;flex-shrink:0}.ws-join-overview{margin-bottom:1rem}.ws-join-pending-actions{flex-wrap:wrap}.workspace-menu-hint{color:var(--ink-muted);margin:0 .35rem .55rem;font-size:.72rem;line-height:1.35}.workspace-menu-clean{flex-direction:column;gap:.35rem;max-height:28rem;padding:.55rem;display:flex}.workspace-menu-clean>.workspace-option{margin-bottom:.15rem}.workspace-menu-clean .workspace-option{width:100%;color:var(--ink);font-family:var(--font-ui);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:10px;align-items:center;gap:.4rem;padding:.65rem .75rem;font-size:.92rem;font-weight:600;line-height:1.25;display:flex;overflow:hidden}.workspace-menu-clean .workspace-option:hover{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.workspace-menu-clean .workspace-option:hover{background:color-mix(in srgb, var(--accent-soft) 55%, white)}}.workspace-menu-clean .workspace-option.active{background:var(--accent-soft);color:var(--accent)}.workspace-menu-clean .workspace-option-editing{cursor:default;padding:.35rem .45rem}.workspace-rename-input{border:1px solid var(--accent);width:100%;color:var(--ink);font-family:var(--font-ui);background:#fff;border-radius:6px;outline:none;margin:0;padding:.3rem .35rem;font-size:.92rem;font-weight:600;line-height:1.25}.workspace-menu-clean .workspace-group{border-top:none;margin:0;padding:0}.workspace-menu-clean .workspace-group+.workspace-group{border-top:1px solid var(--line);margin-top:.35rem;padding-top:.55rem}.workspace-menu-clean .workspace-group-label{background:var(--surface);font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);border-radius:8px;margin:0 0 .4rem;padding:.35rem .65rem;font-size:.72rem;font-weight:700;line-height:1.2;display:block}.workspace-menu-clean .workspace-option-nested{gap:.55rem;padding-left:1.55rem}.workspace-menu-clean .workspace-option-nested:before{content:"•";color:var(--ink-muted);flex:none;font-size:.95rem;line-height:1}.workspace-menu-clean .workspace-option-nested.active:before{color:var(--accent)}.workspace-menu-clean .workspace-option-editing:before{align-self:center}.workspace-menu-clean .workspace-group>.workspace-join-inline{max-width:calc(100% - .85rem);margin-left:.85rem;margin-right:0}.workspace-menu-empty{background:var(--surface);border-radius:10px;margin:0 .35rem .15rem;padding:.55rem .7rem}@supports (color:color-mix(in lab, red, red)){.workspace-menu-empty{background:color-mix(in srgb, var(--surface) 88%, white)}}.workspace-menu-empty{border:1px dashed var(--line)}@supports (color:color-mix(in lab, red, red)){.workspace-menu-empty{border:1px dashed color-mix(in srgb, var(--line) 85%, white)}}.workspace-menu-empty{font-family:var(--font-ui);color:var(--ink-muted);font-size:.8rem;font-weight:500;line-height:1.35}.workspace-menu-clean .workspace-option-link{color:var(--accent);font-weight:600}.workspace-join-inline{box-sizing:border-box;border:1px solid var(--line);background:var(--surface);border-radius:10px;min-width:0;max-width:100%;margin:.15rem .35rem .25rem;padding:.65rem .75rem}@supports (color:color-mix(in lab, red, red)){.workspace-join-inline{background:color-mix(in srgb, var(--surface) 88%, white)}}.workspace-join-inline{overflow:hidden}.workspace-join-inline .ws-join-bare,.workspace-join-inline .form-row,.workspace-join-inline .field{min-width:0;max-width:100%}.workspace-join-inline .form-row{flex-direction:column;gap:.55rem;margin-bottom:0;display:flex}.workspace-join-inline .field{width:100%;margin-bottom:0}.workspace-join-inline .field input,.workspace-join-inline .field .btn{box-sizing:border-box;max-width:100%}.workspace-join-inline .field .btn{width:100%}.workspace-join-inline .field:last-child>label{display:none}.workspace-join-inline .muted{overflow-wrap:anywhere;font-size:.8rem}.ws-contact-dl{gap:.85rem;margin:0;display:grid}.ws-contact-dl>div{gap:.2rem;display:grid}.ws-contact-dl dt{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted);margin:0;font-size:.72rem;font-weight:700}.ws-contact-dl dd{margin:0;font-size:.95rem}.theme-workspace .ws-upgrade-link{color:var(--accent);font-weight:600}.workspace-join-card{background:var(--surface);border-radius:12px;flex-direction:column;gap:.55rem;margin:0 .2rem .15rem;padding:.75rem .8rem;display:flex}@supports (color:color-mix(in lab, red, red)){.workspace-join-card{background:color-mix(in srgb, var(--surface) 70%, white)}}.workspace-join-card{border:1px solid var(--line)}.workspace-join-hint{font-family:var(--font-ui);color:var(--ink-muted);margin:0;font-size:.78rem;font-weight:500;line-height:1.35}.workspace-join-row{align-items:center;gap:.45rem;display:flex}.workspace-join-input{border:1px solid var(--line);min-width:0;min-height:2.35rem;color:var(--ink);font-family:var(--font-display);letter-spacing:.28em;text-align:center;background:#fff;border-radius:10px;flex:1;padding:.45rem .65rem;font-size:1.05rem;font-weight:700}.workspace-join-input::placeholder{letter-spacing:.35em;color:var(--ink-muted)}@supports (color:color-mix(in lab, red, red)){.workspace-join-input::placeholder{color:color-mix(in srgb, var(--ink-muted) 55%, white)}}.workspace-join-input::placeholder{font-weight:600}.workspace-join-input:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.workspace-join-btn{flex-shrink:0;min-height:2.35rem;padding-left:.95rem;padding-right:.95rem}.workspace-menu-notice{margin:.35rem .35rem .15rem;font-size:.78rem}.workspace-inline-form{flex-wrap:wrap;gap:.4rem;padding:.35rem .5rem .5rem;display:flex}.workspace-inline-form input{border:1px solid var(--line);background:#fff;border-radius:8px;flex:7rem;min-width:0;padding:.45rem .55rem;font-size:.85rem}.workspace-inline-actions{gap:.35rem;width:100%;display:flex}.workspace-menu-error{margin:.35rem .5rem .25rem;font-size:.8rem}.workspace-group-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);padding:.15rem .4rem .35rem;font-size:.7rem;font-weight:700}.workspace-option{border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;color:inherit;transition:background .15s var(--ease-out);background:0 0;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem;padding:.5rem .45rem;display:grid}.workspace-option:hover,.workspace-option.active{background:var(--accent-soft)}.workspace-option-role{color:var(--accent);font-size:.68rem;font-weight:700}.workspace-option-name{text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:600;overflow:hidden}.sidebar nav{flex-direction:column;gap:.15rem;display:flex}.nav-link{color:var(--ink-muted);transition:background .16s var(--ease-out), color .16s var(--ease-out), transform .12s var(--ease-out);border-radius:10px;align-items:center;gap:.5rem;padding:.48rem .65rem;font-size:.88rem;font-weight:500;line-height:1.25;display:flex}.nav-link:hover{background:var(--accent-soft);color:var(--ink)}.nav-link.active{background:var(--accent);color:#fff;box-shadow:inset 0 1px #ffffff1f}.nav-group{flex-direction:column;gap:.15rem;display:flex}.nav-group-row{align-items:stretch;gap:.15rem;display:flex}.nav-group-main{flex:1;min-width:0}.nav-group-toggle{appearance:none;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;padding:0 .45rem;display:inline-flex}.nav-group-toggle:hover{background:var(--accent-soft);color:var(--ink)}.nav-sub{border-left:none;flex-direction:column;gap:.08rem;margin-left:0;padding:.1rem 0 .25rem 1.35rem;display:flex}.nav-link-sub{gap:.4rem;padding:.35rem .55rem;font-size:.82rem}.nav-group.open .nav-group-main.active{background:var(--accent-soft);color:var(--accent);box-shadow:none}.nav-more-toggle{cursor:pointer;width:100%;font:inherit;text-align:left;background:0 0;border:none}.nav-more-toggle .nav-more-label{flex:1}.nav-more-toggle.active-soft{background:var(--accent-soft);color:var(--accent)}.teacher-quick-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0 0 1.25rem;display:grid}.teacher-quick-link{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:.2rem;padding:.9rem 1rem;display:flex}@supports (color:color-mix(in lab, red, red)){.teacher-quick-link{background:color-mix(in srgb, white 70%, var(--accent-soft))}}.teacher-quick-link{color:inherit;transition:border-color .16s var(--ease-out), background .16s var(--ease-out), transform .12s var(--ease-out);text-decoration:none}.teacher-quick-link:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.teacher-quick-link:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}}.teacher-quick-link:hover{background:#fff;transform:translateY(-1px)}.teacher-quick-link strong{font-size:.95rem}.teacher-quick-link span{color:var(--ink-muted);font-size:.8rem}.teacher-today-list{margin:0;padding:0;list-style:none}.teacher-today-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.teacher-today-row:last-child{border-bottom:none;padding-bottom:0}.teacher-today-row:first-child{padding-top:0}@media (width<=900px){.teacher-quick-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.teacher-quick-links{grid-template-columns:1fr}.teacher-today-row{flex-direction:column;align-items:stretch}}.tab-embed>.page-header{display:none}.btn-sm{padding:.35rem .65rem;font-size:.82rem}.student-billing-table select,.student-billing-table input[type=date],.student-billing-table input[type=number]{max-width:11rem}.billing-remind-cell{flex-direction:column;align-items:flex-start;gap:.45rem;min-width:11.5rem;display:flex}.billing-remind-toggle{color:var(--ink-muted);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.45rem;margin:0;padding:0;font-size:.82rem;font-weight:600;line-height:1;display:inline-flex}.billing-remind-toggle:disabled{opacity:.55;cursor:not-allowed}.billing-remind-toggle-track{background:var(--ink-muted);border-radius:999px;width:2.35rem;height:1.3rem;display:block;position:relative}@supports (color:color-mix(in lab, red, red)){.billing-remind-toggle-track{background:color-mix(in srgb, var(--ink-muted) 28%, white)}}.billing-remind-toggle-track{transition:background .16s var(--ease-out)}.billing-remind-toggle-thumb{width:1rem;height:1rem;box-shadow:0 1px 3px var(--ink);background:#fff;border-radius:999px;position:absolute;top:.15rem;left:.15rem}@supports (color:color-mix(in lab, red, red)){.billing-remind-toggle-thumb{box-shadow:0 1px 3px color-mix(in srgb, var(--ink) 22%, transparent)}}.billing-remind-toggle-thumb{transition:transform .16s var(--ease-out)}.billing-remind-toggle.is-on{color:var(--accent)}.billing-remind-toggle.is-on .billing-remind-toggle-track{background:var(--accent)}.billing-remind-toggle.is-on .billing-remind-toggle-thumb{transform:translate(1.05rem)}.billing-remind-toggle-label{min-width:1.6rem}.billing-remind-interval{color:var(--ink-muted);align-items:center;gap:.35rem;margin:0;font-size:.78rem;line-height:1.2;display:flex}.billing-remind-interval.is-disabled{opacity:.55}.billing-remind-interval-text{white-space:nowrap}.billing-remind-days{text-align:center;font-variant-numeric:tabular-nums;width:3rem;color:var(--ink);padding:.28rem .2rem;font-weight:600;max-width:3rem!important}.billing-preview-backdrop{z-index:40;background:var(--ink);place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.billing-preview-backdrop{background:color-mix(in srgb, var(--ink) 35%, transparent)}}.billing-preview-modal{width:min(28rem,100%);box-shadow:0 18px 50px var(--ink);margin:0}@supports (color:color-mix(in lab, red, red)){.billing-preview-modal{box-shadow:0 18px 50px color-mix(in srgb, var(--ink) 18%, transparent)}}.billing-preview-dl{gap:.65rem;margin:0;display:grid}.billing-preview-dl>div{grid-template-columns:7rem 1fr;gap:.5rem;display:grid}.billing-preview-dl dt{color:var(--ink-muted);margin:0;font-size:.85rem}.billing-preview-dl dd{margin:0}.sidebar-foot{color:var(--ink-muted);border-top:none;flex-direction:column;gap:.35rem;margin-top:auto;padding:.35rem .25rem 0;font-size:.8rem;display:flex}.sidebar-user{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;padding:0 .35rem;font-size:.85rem;font-weight:600;overflow:hidden}.sidebar-signout{justify-content:flex-start;width:100%;min-height:2.15rem;font-size:.82rem}.main{z-index:1;min-width:0;height:100%;min-height:0;padding:1.65rem 1.85rem 2.75rem;position:relative;overflow:hidden auto}.main-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:-.25rem 0 1rem;display:flex}.main-embed .main-topbar{margin:.35rem .75rem}.sidebar-collapse-btn{min-height:2.15rem;padding-inline:.55rem}.join-confirm{flex-direction:column;gap:.75rem;display:flex}.join-confirm-dl{gap:.55rem;margin:0;display:grid}.join-confirm-dl>div{grid-template-columns:5.5rem 1fr;align-items:baseline;gap:.5rem;display:grid}.join-confirm-dl dt{color:var(--muted);margin:0;font-size:.85rem}.join-confirm-dl dd{margin:0;font-weight:600}.teacher-switcher{flex-direction:column;gap:.25rem;min-width:min(18rem,100%);margin-right:auto;display:flex}.teacher-switcher-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);font-size:.72rem;font-weight:600}.teacher-switcher-select{appearance:none;border:1px solid var(--line);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235a6d75' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right .75rem center;width:100%;max-width:22rem;color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;padding:.55rem 2rem .55rem .75rem;font-size:.9rem}.teacher-switcher-select:focus{outline:2px solid var(--accent);outline-offset:1px}.notif-bell{position:relative}.notif-bell-btn{border:1px solid var(--line);background:var(--paper);width:2.4rem;height:2.4rem;color:var(--ink);cursor:pointer;transition:border-color .15s var(--ease-out), color .15s var(--ease-out);border-radius:10px;justify-content:center;align-items:center;display:inline-flex;position:relative}.notif-bell-btn:hover{border-color:var(--accent);color:var(--accent)}.notif-bell-dot{background:var(--accent);color:#fff;text-align:center;border-radius:999px;min-width:1.1rem;height:1.1rem;padding:0 .25rem;font-size:.65rem;font-weight:700;line-height:1.1rem;position:absolute;top:-.3rem;right:-.3rem}.notif-panel{z-index:40;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);width:min(22rem,100vw - 2rem);max-height:22rem;box-shadow:var(--shadow);position:absolute;top:calc(100% + .4rem);right:0;overflow:auto}.notif-panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .9rem;font-size:.9rem;display:flex}.notif-empty{color:var(--ink-muted);margin:0;padding:1.25rem .9rem;font-size:.88rem}.notif-list{margin:0;padding:0;list-style:none}.notif-item{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:inherit;cursor:pointer;background:0 0;padding:.75rem .9rem;display:block}.notif-item:hover,.notif-item.unread{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.notif-item.unread{background:color-mix(in srgb, var(--accent-soft) 70%, transparent)}}.notif-item-title{font-size:.88rem;font-weight:600}.notif-item-body{color:var(--ink-muted);margin-top:.2rem;font-size:.82rem;line-height:1.35}.notif-item-meta{color:var(--ink-muted);margin-top:.35rem;font-size:.72rem}.main-embed{background:0 0;flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.ledgerform-embed{background:0 0;border:0;flex:1;width:100%;height:100%;min-height:0}.info-tip{vertical-align:middle;align-items:center;display:inline-flex;position:relative}.info-tip-btn{width:1.35rem;height:1.35rem;color:var(--muted,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.info-tip-btn:hover,.info-tip-btn[aria-expanded=true]{color:var(--ink,#111827);background:#0000000f}.info-tip-popup{z-index:40;border:1px solid var(--line,#e5e7eb);width:min(17.5rem,70vw);color:var(--ink,#111827);text-align:left;font-size:.8125rem;font-weight:400;line-height:1.45;font-family:var(--font-body,inherit);background:#fff;border-radius:.55rem;padding:.7rem .85rem;position:absolute;top:calc(100% + .4rem);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0f172a1f}.info-tip-popup strong{font-weight:600}.workspace-menu-help{align-items:center;gap:.25rem;margin:0 0 .5rem;padding:0 .35rem;font-size:.75rem;display:flex}.join-code-card .join-code-display{font-family:var(--font-display);letter-spacing:.18em;color:#dc2626;font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:700;line-height:1.2}.join-code-card .join-code-display.kind-private{color:var(--kind-private,#0f6b5c)}.join-code-card .join-code-display.kind-institutional{color:var(--kind-institutional,#1e4d7b)}.join-code-card .actions-cell .btn[aria-label^=Copy]{justify-content:center;align-items:center;padding:.45rem;line-height:0;display:inline-flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.page-header h1{margin:0 0 .25rem}.page-header p{color:var(--ink-muted);margin:0}.cal-header{align-items:center}.cal-nav{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.cal-nav-btn{width:2.4rem;padding-inline:0;font-size:1.25rem;line-height:1}.cal-nav-label{text-align:center;min-width:9.5rem}.cal-month{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.15rem;font-weight:650;display:block}.cal-nav-hint{color:var(--ink-muted);font-size:.7rem;display:block}.cal-booking-toggle{color:var(--ink-muted);flex-shrink:0;align-self:center;font-weight:500}.open-times-expand{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.75rem;padding:0;display:flex}.open-times-chevron{border-right:2px solid var(--ink-muted);border-bottom:2px solid var(--ink-muted);width:.55rem;height:.55rem;transition:transform .15s;transform:rotate(-45deg)}.open-times-chevron.is-open{transform:rotate(45deg)}.settings-rules{color:var(--ink-muted,#64748b);gap:.55rem;margin:.75rem 0 0;padding:0 0 0 1.1rem;font-size:.9rem;line-height:1.45;display:grid}.settings-rules strong{color:var(--ink,#0f172a);font-weight:600}.settings-rules-sub{margin:1.25rem 0 0;font-size:1rem;font-weight:650}.open-times-list{border:1px solid var(--line);border-radius:12px;margin:.85rem 0 0;padding:0;list-style:none;overflow:hidden}.open-times-list li{background:var(--surface);justify-content:space-between;align-items:center;gap:.75rem;min-height:2.85rem;padding:0 .85rem;font-size:.92rem;display:flex}.open-times-list li+li{border-top:1px solid var(--line)}.setting-switch{background:var(--ink-muted);border:0;border-radius:999px;flex-shrink:0;width:2.75rem;height:1.6rem;padding:0;position:relative}@supports (color:color-mix(in lab, red, red)){.setting-switch{background:color-mix(in srgb, var(--ink-muted) 28%, white)}}.setting-switch{cursor:pointer}.setting-switch-thumb{width:1.24rem;height:1.24rem;box-shadow:0 1px 3px var(--ink);background:#fff;border-radius:999px;position:absolute;top:.18rem;left:.18rem}@supports (color:color-mix(in lab, red, red)){.setting-switch-thumb{box-shadow:0 1px 3px color-mix(in srgb, var(--ink) 22%, transparent)}}.setting-switch-thumb{transition:transform .16s var(--ease-out)}.setting-switch.is-on{background:var(--accent)}.setting-switch.is-on .setting-switch-thumb{transform:translate(1.15rem)}.cal-inst-share-toggle{text-align:left;white-space:normal;align-items:center;gap:.55rem;max-width:22rem;line-height:1.3;display:inline-flex}.cal-inst-share-toggle .cal-toggle-state{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--line);color:var(--ink-muted);border-radius:999px;flex-shrink:0;padding:.12rem .45rem;font-size:.72rem;font-weight:650}.cal-inst-share-toggle.is-on .cal-toggle-state{color:var(--accent);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.cal-inst-share-toggle.is-on .cal-toggle-state{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}}.cal-inst-share-toggle.is-on .cal-toggle-state{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.cal-inst-share-toggle.is-on .cal-toggle-state{background:color-mix(in srgb, var(--accent-soft) 70%, white)}}.cal-toolbar-row{flex-direction:column;gap:.65rem;margin-bottom:1rem;display:flex}.cal-gcal{border-radius:var(--radius);border:1px solid var(--line);background:#ffffffc7;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.cal-gcal-copy{flex-direction:column;gap:.15rem;display:flex}.cal-gcal-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.cal-filters{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffb8;flex-flow:wrap;align-items:center;gap:.65rem 1.1rem;margin-bottom:.85rem;padding:.65rem .75rem;display:flex}.cal-filter-row{flex-wrap:nowrap;align-items:center;gap:.5rem;min-width:0;display:flex}.cal-filter-label{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;flex:none;padding-top:0;font-size:.75rem;font-weight:600}.cal-filter-chips{flex-wrap:wrap;flex:1;gap:.35rem;min-width:0;display:flex}.cal-filter-chip{border:1px solid var(--line);color:var(--ink-muted);cursor:pointer;background:#fff;border-radius:999px;padding:.25rem .65rem;font-size:.78rem}.cal-filter-chip:hover{border-color:var(--accent);color:var(--ink)}.cal-filter-chip.active{background:var(--accent-soft);color:var(--accent);border-color:#0000;font-weight:600}.cal-filter-row-select{align-items:center}.cal-filter-row-select .cal-filter-label{padding-top:0}.cal-filter-select{border:1px solid var(--line);width:12rem;min-width:9.5rem;max-width:16rem;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:.35rem 2rem .35rem .65rem;font-size:.85rem}.cal-filter-multiselect{width:12rem;min-width:9.5rem;max-width:16rem;position:relative}.cal-room-multiselect{width:100%;max-width:none}.cal-room-multiselect-menu{z-index:200;border:1px solid var(--line);background:#fff;border-radius:8px;max-height:14rem;padding:.35rem;position:fixed;overflow:auto;box-shadow:0 8px 24px #0f172a1a}.cal-filter-multiselect-trigger{text-align:left;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235a6d75' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right .65rem center;background-repeat:no-repeat;width:100%}.cal-filter-multiselect-menu{z-index:40;border:1px solid var(--line);background:#fff;border-radius:8px;max-height:14rem;padding:.35rem;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow:auto;box-shadow:0 8px 24px #0f172a1a}.cal-filter-multiselect-option{cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.85rem;display:flex}.cal-filter-multiselect-option:hover{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.cal-filter-multiselect-option:hover{background:color-mix(in srgb, var(--accent-soft) 55%, transparent)}}.cal-filter-multiselect-option input{margin:0}.cal-header-toggles{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.cal-share-check{color:var(--ink);cursor:pointer;align-items:flex-start;gap:.55rem;margin:.75rem 0 .35rem;font-size:.84rem;line-height:1.35;display:flex}.cal-share-check input{margin-top:.15rem}.cal-space-rooms{border:0;gap:.2rem;margin:.75rem 0;padding:0;display:grid}.cal-space-rooms legend{margin-bottom:.2rem;font-size:.84rem;font-weight:600}.cal-space-rooms .cal-share-check{margin:0}.cal-space-room-list{gap:.2rem;padding-left:1.35rem;display:grid}.cal-inst-label,.cal-inst-badge{letter-spacing:.02em;color:#0f4a40;background:#0f6b5c1f;border-radius:999px;padding:.1rem .45rem;font-size:.68rem;font-weight:700;display:inline-block}.cal-inst-banner{color:#0b4a40;background:#e7f0ef;border:1px solid #0f6b5c59;border-radius:6px;margin:0 0 .65rem;padding:.55rem .65rem;font-size:.82rem;line-height:1.35}.cal-event.is-institution .cal-event-lesson{font-weight:600}.cal-event.is-shared-free{background:#7c3aed1a;box-shadow:inset 0 0 0 1px #7c3aed59}.cal-legend{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:.85rem;margin-bottom:.85rem;font-size:.78rem;display:flex}.cal-legend-item{align-items:center;gap:.35rem;display:inline-flex}.cal-legend-item i{background:var(--accent);border-radius:999px;width:.55rem;height:.55rem}.cal-event.status-requested,.cal-side-item.status-requested{background:#f3e3d8;box-shadow:inset 3px 0 #b45309}.cal-legend-item.status-requested i{background:#b45309}.cal-filters,.cal-legend,.cal-layout{--session-scheduled:#1e4d7b;--session-scheduled-bg:#1e4d7b24;--session-completed:#0f6b5c;--session-completed-bg:#0f6b5c29;--session-missed:#c45a12;--session-missed-bg:#c45a1229;--session-cancelled:#5a6d75;--session-cancelled-bg:#5a6d7524;--session-open:#7c3aed;--session-open-bg:#7c3aed24;--session-booked:#168a76;--session-booked-bg:#168a7624}.cal-legend-item.status-scheduled i{background:var(--session-scheduled)}.cal-legend-item.status-completed i{background:var(--session-completed)}.cal-legend-item.status-missed i{background:var(--session-missed)}.cal-legend-item.status-cancelled i{background:var(--session-cancelled);opacity:.85}.cal-legend-item.status-open i{background:var(--session-open)}.cal-event.status-open{background:var(--session-open-bg);color:#5b21b6}.cal-event.status-booked-slot{background:var(--session-booked-bg);color:#0f4a40}.cal-side-item.status-open{border-left-color:var(--session-open)}.cal-side-item.status-booked-slot{border-left-color:var(--session-booked)}.cal-legend-count{margin-left:auto}.cal-layout{grid-template-columns:minmax(0,1fr) 18rem;align-items:start;gap:1rem;display:grid}@media (width<=980px){.cal-layout{grid-template-columns:1fr}}.cal-board{border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#ffffffd1;flex-direction:column;min-height:min(70vh,42rem);display:flex;overflow:hidden}.cal-board-nav{border-bottom:1px solid var(--line);background:linear-gradient(#f9fafbf2,#fff9);flex-wrap:wrap;justify-content:center;align-items:center;gap:.45rem;padding:.75rem .85rem;display:flex}.cal-side-cta{flex-direction:column;gap:.45rem;margin-top:.85rem;display:flex}.cal-side-cta .btn{width:100%}.cal-action-dialog{max-width:26rem}.cal-action-choices{flex-direction:column;gap:.55rem;margin:.75rem 0 .25rem;display:flex}.cal-action-choice{appearance:none;border:1px solid var(--line);border-radius:var(--radius);text-align:left;cursor:pointer;font:inherit;color:inherit;background:#fff;flex-direction:column;gap:.2rem;padding:.9rem 1rem;transition:border-color .12s,background .12s;display:flex}.cal-action-choice:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.cal-action-choice:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}}.cal-action-choice:hover{background:var(--accent-soft)}.cal-action-choice:disabled{opacity:.55;cursor:not-allowed}.cal-action-choice:disabled:hover{border-color:var(--line);background:#fff}.cal-action-choice strong{color:var(--accent);font-size:.95rem}.cal-action-choice span{color:var(--ink-muted);font-size:.82rem}.cal-free-split{grid-template-columns:1fr 1fr;align-items:end;gap:.45rem;margin-bottom:.65rem;display:grid}.cal-free-split .field{flex-direction:column;gap:.25rem;min-width:0;margin:0;display:flex}.cal-free-split .field label{white-space:nowrap;min-height:1.1rem;line-height:1.1}.cal-free-split .field input{box-sizing:border-box;width:100%;min-height:2.25rem}.cal-free-advanced{border:1px solid var(--line);background:#ffffff8c;border-radius:10px;margin:0 0 .75rem}.cal-free-advanced>summary{cursor:pointer;color:var(--ink-muted);-webkit-user-select:none;user-select:none;padding:.55rem .7rem;font-size:.82rem;font-weight:600;list-style:none}.cal-free-advanced>summary::-webkit-details-marker{display:none}.cal-free-advanced>summary:before{content:"▸";width:.9em;color:var(--ink-muted);margin-right:.25rem;display:inline-block}.cal-free-advanced[open]>summary:before{content:"▾"}.cal-free-advanced-body{padding:0 .7rem .7rem}.cal-free-advanced .cal-free-split{margin-bottom:.55rem}.cal-free-advanced-fields .field input[type=number]{appearance:textfield}.cal-free-advanced-fields .field input[type=number]::-webkit-outer-spin-button{margin:0}.cal-free-advanced-fields .field input[type=number]::-webkit-inner-spin-button{margin:0}.cal-free-advanced .cal-free-split-actions{margin-bottom:0}.cal-free-split-actions{flex-direction:column;gap:.35rem;margin-bottom:.75rem;display:flex}.cal-free-split-actions .muted,.cal-free-split-actions .error{margin:0;font-size:.82rem}.cal-free-sessions-label{margin:0 0 .35rem;font-size:.82rem;font-weight:600}.cal-free-rows{flex-direction:column;gap:.55rem;margin-bottom:.65rem;display:flex}.cal-free-rows.is-compact{gap:.28rem}.cal-free-row{grid-template-columns:1fr 1fr auto;align-items:end;gap:.45rem;display:grid}.cal-free-row.is-compact{border-radius:6px;align-items:center;gap:.3rem;padding:.15rem .2rem}.cal-free-row.is-compact:hover{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.cal-free-row.is-compact:hover{background:color-mix(in srgb, var(--accent-soft) 55%, white)}}.cal-free-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cal-free-row.is-compact input[type=time]{padding:.2rem .3rem;font-size:.75rem}.cal-free-row.is-past input[type=time]{border-color:#c9872a}@supports (color:color-mix(in lab, red, red)){.cal-free-row.is-past input[type=time]{border-color:color-mix(in srgb, #c9872a 55%, var(--border,#d0d5dd))}}.cal-free-row.is-past input[type=time]{background:#fbf5ee}.cal-free-row .field{margin:0}.cal-free-remove{min-width:2.2rem;padding-inline:.4rem;font-size:1.15rem;line-height:1}.cal-free-remove-spacer{width:2.2rem}.cal-dow-row,.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-grid{flex:1 0 auto;grid-auto-rows:minmax(7.5rem,1fr);min-height:0}.cal-dow{text-align:center;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);border-bottom:1px solid var(--line);background:linear-gradient(#eef3f4f2,#ffffff8c);padding:.65rem .35rem;font-size:.72rem;font-weight:700}.cal-dow-short{display:none}@media (width<=700px){.cal-dow-full{display:none}.cal-dow-short{display:inline}}.cal-cell{border-right:1px solid var(--line);height:auto;min-height:7.5rem;padding:.3rem .28rem .28rem}@supports (color:color-mix(in lab, red, red)){.cal-cell{border-right:1px solid color-mix(in srgb, var(--line) 85%, transparent)}}.cal-cell{border-bottom:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.cal-cell{border-bottom:1px solid color-mix(in srgb, var(--line) 85%, transparent)}}.cal-cell{cursor:pointer;transition:background .15s var(--ease-out), box-shadow .15s var(--ease-out);background:#fff;flex-direction:column;gap:.2rem;display:flex;overflow:hidden}.cal-cell:nth-child(7n){border-right:0}.cal-cell.is-empty{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.cal-cell.is-empty{background:color-mix(in srgb, var(--surface) 55%, white)}}.cal-cell.is-empty{cursor:default}.cal-cell.is-outside{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.cal-cell.is-outside{background:color-mix(in srgb, var(--surface) 70%, #e8eaee)}}.cal-cell.is-outside{color:var(--ink-muted)}.cal-cell.is-outside .cal-daynum span{color:var(--ink-muted);opacity:.65;font-weight:600}.cal-cell.is-outside .cal-event{opacity:.6}.cal-cell.is-weekend:not(.is-empty):not(.is-outside){background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.cal-cell.is-weekend:not(.is-empty):not(.is-outside){background:color-mix(in srgb, var(--surface) 28%, white)}}.cal-cell:not(.is-empty):not(.is-outside):hover{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.cal-cell:not(.is-empty):not(.is-outside):hover{background:color-mix(in srgb, var(--accent-soft) 35%, white)}}.cal-cell.is-outside:hover{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.cal-cell.is-outside:hover{background:color-mix(in srgb, var(--surface) 55%, #dde1e8)}}.cal-cell.is-focused{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.cal-cell.is-focused{background:color-mix(in srgb, var(--accent-soft) 55%, white)}}.cal-cell.is-focused{box-shadow:inset 0 0 0 2px var(--accent)}.cal-cell.is-today:not(.is-empty){background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.cal-cell.is-today:not(.is-empty){background:color-mix(in srgb, var(--accent-soft) 42%, white)}}.cal-cell.is-today:not(.is-empty){box-shadow:inset 0 0 0 2px var(--accent)}@supports (color:color-mix(in lab, red, red)){.cal-cell.is-today:not(.is-empty){box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent) 75%, transparent)}}.cal-cell.is-today.is-focused{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.cal-cell.is-today.is-focused{background:color-mix(in srgb, var(--accent-soft) 62%, white)}}.cal-cell.is-today.is-focused{box-shadow:inset 0 0 0 2px var(--accent)}.cal-cell.is-today:not(.is-empty):hover{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.cal-cell.is-today:not(.is-empty):hover{background:color-mix(in srgb, var(--accent-soft) 55%, white)}}.cal-cell.is-today .cal-daynum-date{background:var(--accent);color:#fff;min-width:1.7rem;min-height:1.7rem;box-shadow:0 1px 3px var(--accent);border-radius:999px;justify-content:center;gap:.3rem;padding:.15rem .55rem;font-size:.86rem;font-weight:750}@supports (color:color-mix(in lab, red, red)){.cal-cell.is-today .cal-daynum-date{box-shadow:0 1px 3px color-mix(in srgb, var(--accent) 45%, transparent)}}.cal-today-label{letter-spacing:.04em;text-transform:uppercase;opacity:.95;font-size:.62rem;font-weight:700;line-height:1}.cal-daynum{justify-content:flex-end;align-items:center;gap:.25rem;min-height:1.35rem;display:flex}.cal-daynum-date{color:var(--ink-muted);white-space:nowrap;justify-content:flex-end;align-items:center;font-size:.78rem;font-weight:600;line-height:1.2;display:inline-flex}.cal-day-adds{align-items:center;gap:.12rem;display:inline-flex}.cal-daynum .cal-day-adds{opacity:0;pointer-events:none;margin-right:auto}.cal-cell:hover .cal-day-adds,.cal-cell:focus-within .cal-day-adds{opacity:1;pointer-events:auto}.cal-day-add{color:#1a4a5c;cursor:pointer;opacity:.85;background:#dee8ed;border:0;border-radius:4px;justify-content:center;align-items:center;width:1.15rem;height:1.15rem;margin-right:0;padding:0;font-size:.95rem;font-weight:700;line-height:1;transition:background 40ms linear,opacity 40ms linear;display:inline-flex}.cal-day-add:hover{opacity:1;background:#c5d7e0}.cal-day-add-free{color:#065f46;background:#c8e8de}.cal-day-add-free:hover:not(:disabled){opacity:1;color:#fff;background:#059669}.cal-day-add-space{color:#9a3412;background:#f2e0d3}.cal-day-add-space:hover:not(:disabled){opacity:1;color:#fff;background:#b45309}.cal-day-add:disabled{opacity:.35;cursor:not-allowed}.cal-day-add-side{width:1.6rem;height:1.6rem;margin-right:0;font-size:1.15rem}.cal-cell.is-past-day:not(.is-today) .cal-daynum span{color:#9a6b2f}.cal-cell.is-past-day:not(.is-today).has-events{background:#c9872a0f}.cal-past-banner{color:#6b4510;background:#f7eee1;border:1px solid #c9872a73;border-radius:6px;margin:0 0 .75rem;padding:.55rem .65rem;font-size:.82rem;line-height:1.35}.cal-add-date-past{font-weight:600;color:#8a5a16!important}.cal-add .field.is-past input[type=time]{border-color:#c9872a}@supports (color:color-mix(in lab, red, red)){.cal-add .field.is-past input[type=time]{border-color:color-mix(in srgb, #c9872a 55%, var(--border,#d0d5dd))}}.cal-add .field.is-past input[type=time]{background:#fbf5ee}.cal-overlap-banner{color:#7a3b06;background:#fdeed3;border:1px solid #b4530973;border-radius:6px;margin:0 0 .75rem;padding:.55rem .65rem;font-size:.82rem;line-height:1.35}.cal-overlap-banner-side{margin-top:.65rem;margin-bottom:0}.cal-add .field.is-overlap input[type=time],.cal-detail .field.is-overlap input[type=time]{border-color:#b45309}@supports (color:color-mix(in lab, red, red)){.cal-add .field.is-overlap input[type=time],.cal-detail .field.is-overlap input[type=time]{border-color:color-mix(in srgb, #b45309 55%, var(--border,#d0d5dd))}}.cal-add .field.is-overlap input[type=time],.cal-detail .field.is-overlap input[type=time]{background:#fef3e2}.cal-event.is-overlap{outline:1px solid #f59e0b8c;box-shadow:inset 0 0 0 1.5px #d97706;color:#7a3b06!important;background:#fdeac9!important}.cal-side-item.is-overlap{box-shadow:inset 0 0 0 1px #d97706;background:#fdefd8!important}.cal-side-item.is-overlap .cal-side-meta{color:#b45309}.cal-side-item.is-delete-pending{opacity:.88;border-style:dashed}.cal-add .btn.btn-past{color:#fff;background:#a66b1e;border-color:#a66b1e}.cal-add .btn.btn-past:hover:not(:disabled){filter:brightness(1.05)}.cal-events{flex-direction:column;flex:1;gap:.2rem;min-height:0;display:flex;overflow:hidden}.cal-event{text-align:left;cursor:pointer;color:#1a2b3c;width:100%;transition:filter .12s var(--ease-out), transform .12s var(--ease-out);background:#e1eef7;border:0;border-radius:5px;flex-direction:column;flex:none;align-items:stretch;gap:.02rem;padding:.28rem .35rem;font-size:.65rem;line-height:1.2;display:flex}.cal-event.is-selected{outline:2px solid var(--accent);outline-offset:-2px;z-index:1}.cal-event:hover{filter:brightness(.97);transform:translateY(-.5px)}.cal-event-card .cal-event-time{letter-spacing:-.01em;color:inherit;justify-content:space-between;align-items:center;gap:.25rem;min-width:0;font-size:.68rem;font-weight:700;display:flex}.cal-event-loc{opacity:.72;color:inherit;flex:none}.cal-event-who,.cal-event-lesson{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.cal-event-who{opacity:.92;font-weight:500}.cal-event-lesson{opacity:.78;font-weight:400}.cal-event.status-scheduled{background:var(--session-scheduled-bg);color:var(--session-scheduled)}.cal-event.status-completed{background:var(--session-completed-bg);color:var(--session-completed)}.cal-event.status-missed{background:var(--session-missed-bg);color:var(--session-missed)}.cal-event.status-cancelled{background:var(--session-cancelled-bg);color:var(--session-cancelled);opacity:.78;text-decoration:line-through}.cal-more{color:var(--ink-muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;padding:.05rem .15rem;font-size:.65rem;font-weight:650}.cal-events.is-compact{gap:.1rem}.cal-event.is-compact{border-radius:3px;flex-direction:row;align-items:center;gap:.28rem;padding:.02rem .28rem;font-size:.62rem;line-height:1.15}.cal-event.is-compact .cal-event-time{flex:0 auto;font-size:.62rem;font-weight:700}.cal-event.is-compact .cal-event-who{flex:auto;font-weight:500}.cal-hover{z-index:40;border:1px solid var(--line);pointer-events:none;width:min(17.5rem,100vw - 1rem);color:var(--ink,#1a2b3c);background:#fff;border-radius:10px;padding:.65rem .7rem .55rem;font-size:.78rem;line-height:1.35;position:fixed;box-shadow:0 12px 32px #11182729}.cal-hover.is-flip{transform:translateY(-100%)}.cal-hover.is-label{border-radius:6px;width:auto;padding:.18rem .45rem}.cal-hover.is-label .cal-hover-title{font-size:.72rem;font-weight:650}.cal-hover-title{letter-spacing:-.01em;font-size:.86rem;font-weight:700}.cal-hover-row{gap:.45rem;margin-top:.22rem;display:flex}.cal-hover-k{color:var(--ink-muted);letter-spacing:.03em;text-transform:uppercase;flex:0 0 4.4rem;font-size:.66rem;font-weight:650}.cal-hover-row span:last-child{min-width:0}.cal-side{flex-direction:column;align-self:start;gap:.85rem;width:100%;min-width:0;max-height:calc(100svh - 1.25rem);display:flex;position:sticky;top:0;overflow-y:auto}.cal-side-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#ffffffe0;border-radius:14px;padding:1rem 1.05rem}.cal-side-card h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .65rem;font-size:1.15rem}.cal-side-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.cal-side-list-row{align-items:stretch;gap:.35rem;width:100%;display:flex}.cal-side-list-row .cal-side-item{flex:auto;width:auto;min-width:0}.cal-side-delete{border:1px solid var(--line);color:#6b7a82;width:2.15rem;min-width:2.15rem;height:2.15rem;min-height:2.15rem;box-shadow:none;background:#fff;border-radius:8px;flex:none;justify-content:center;align-self:center;align-items:center;margin:0;padding:0;display:inline-flex!important}.cal-side-delete:hover:not(:disabled){color:#b42318;border-color:#b42318}@supports (color:color-mix(in lab, red, red)){.cal-side-delete:hover:not(:disabled){border-color:color-mix(in srgb, #b42318 35%, var(--line))}}.cal-side-delete:hover:not(:disabled){background:#fff}.cal-side-delete:disabled{opacity:.45}.btn-danger{color:#fff;background:#b42318;border-color:#b42318}.btn-danger:hover:not(:disabled){color:#fff;background:#912018;border-color:#912018}.btn-danger:disabled{opacity:.65}.btn.btn-green{color:#fff;background:#059669;border-color:#047857}.btn.btn-green:hover:not(:disabled){color:#fff;background:#047857;border-color:#065f46}.btn.btn-blue{color:#fff;background:#2563eb;border-color:#1d4ed8}.btn.btn-blue:hover:not(:disabled){color:#fff;background:#1d4ed8;border-color:#1e40af}.cal-side-item{background:var(--surface);cursor:pointer;text-align:left;border:1px solid #0000;border-left:3px solid var(--accent);border-radius:10px;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;padding:.55rem .65rem;display:flex}.cal-side-item.status-scheduled{border-left-color:var(--session-scheduled);background:var(--session-scheduled-bg);color:var(--session-scheduled)}.cal-side-item.status-completed{border-left-color:var(--session-completed);background:var(--session-completed-bg);color:var(--session-completed)}.cal-side-item.status-missed{border-left-color:var(--session-missed);background:var(--session-missed-bg);color:var(--session-missed)}.cal-side-item.status-cancelled{border-left-color:var(--session-cancelled);background:var(--session-cancelled-bg);color:var(--session-cancelled);opacity:.85}.cal-side-item.is-active,.cal-side-item:hover{border-color:var(--line);filter:brightness(.98)}.cal-side-meta{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);font-size:.7rem;font-weight:700}.cal-detail-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.cal-detail-status{flex-wrap:wrap;align-items:center;gap:.55rem;margin:0 0 .5rem;display:flex}.cal-pill{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.cal-pill.status-scheduled{background:var(--session-scheduled-bg);color:var(--session-scheduled)}.cal-pill.status-completed{background:var(--session-completed-bg);color:var(--session-completed)}.cal-pill.status-missed{background:var(--session-missed-bg);color:var(--session-missed)}.cal-pill.status-cancelled{background:var(--session-cancelled-bg);color:var(--session-cancelled)}.cal-status-actions{flex-wrap:wrap;gap:.4rem;margin-top:.75rem;display:flex}.cal-detail-edit-actions{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.85rem;display:flex}.cal-side-quick{border-top:1px dashed var(--line);margin-top:.75rem;padding-top:.65rem;font-size:.9rem}.cal-status-actions .btn.is-current,.cal-status-actions .btn:disabled{opacity:.55}.cal-cancel-backdrop,.modal-backdrop{z-index:50;background:#14242a73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.cal-cancel-dialog,.modal-dialog{border:1px solid var(--line);background:var(--paper);width:min(26rem,100%);box-shadow:var(--shadow);border-radius:14px;padding:1.25rem 1.35rem}.modal-dialog.modal-dialog-wide{width:min(32rem,100%)}.cal-cancel-dialog h2,.modal-dialog h2{margin:0 0 .35rem;font-size:1.15rem}.cal-cancel-dialog textarea,.modal-dialog textarea{resize:vertical;border:1px solid var(--line);background:var(--surface);width:100%;min-height:5.5rem;color:var(--ink);font:inherit;border-radius:10px;padding:.65rem .75rem}.cal-cancel-actions,.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.modal-dialog .field{margin-bottom:.75rem}.modal-dialog .field:last-of-type{margin-bottom:0}.cal-add .field{margin-bottom:.65rem}.cal-add .btn{width:100%;margin-top:.25rem}@media (width<=700px){.cal-board{min-height:min(60vh,32rem)}.cal-cell{padding:.2rem .12rem}.cal-event{padding:.2rem .25rem}.cal-event-card .cal-event-time,.cal-event-who,.cal-event-lesson{font-size:.55rem}.cal-event-loc{width:10px;height:10px}}.note-phase-toggle{flex-wrap:wrap;gap:.4rem;display:flex}.note-phase-toggle .btn.is-current{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.note-phase-pill{letter-spacing:.02em;text-transform:uppercase;border-radius:6px;padding:.15rem .45rem;font-size:.72rem;font-weight:700;display:inline-block}.note-phase-pill.phase-before{background:var(--accent-soft);color:var(--accent)}.note-phase-pill.phase-after{color:var(--warn);background:#b453091f}.note-body-preview{white-space:pre-wrap;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.25rem;display:-webkit-box;overflow:hidden}.note-body-text{white-space:pre-wrap;color:var(--ink);margin:.4rem 0 0}.glossary-callout{background:var(--accent-soft);margin-bottom:1rem}@supports (color:color-mix(in lab, red, red)){.glossary-callout{background:color-mix(in srgb, var(--accent-soft) 40%, white)}}.glossary-list{gap:.85rem;margin:0;display:grid}@media (width>=720px){.glossary-list{grid-template-columns:1fr 1fr;gap:1.25rem}}.glossary-list dt{color:var(--accent);margin-bottom:.2rem;font-weight:700}.glossary-list dd{color:var(--ink-muted);margin:0;font-size:.92rem;line-height:1.45}.pricing-grid{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:1.5rem;margin-top:.5rem;display:flex}.pricing-card{flex-direction:column;flex:17rem;gap:.75rem;width:100%;max-width:22rem;display:flex}.pricing-card header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.pricing-card-current{outline:2px solid var(--accent)}.pricing-price{font-size:1.75rem;font-weight:700;font-family:var(--font-display);margin:0}.pricing-features{color:var(--ink-muted);flex:1;margin:0 0 .5rem;padding-left:1.1rem;font-size:.92rem;line-height:1.5}.pricing-card .btn,.pricing-card .muted{margin-top:auto}.pricing-card .btn{align-self:flex-start;width:fit-content}.private-classes-section{flex-direction:column;gap:1.25rem;display:flex}.private-classes-list-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.private-classes-list-head h2{font-size:1.05rem;font-family:var(--font-display);margin:0}.private-classes-list-head .muted{margin:0}.private-class-create{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:1rem;padding:1.15rem 1.25rem 1.2rem;display:flex}.private-class-create.kind-private{border-left:3px solid var(--kind-private)}.private-class-create-head h3{font-size:1.05rem;font-family:var(--font-display);margin:0 0 .2rem}.private-class-create-head .muted{margin:0;font-size:.88rem}.private-class-create-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem .85rem;display:grid}.private-class-create-fields--simple{grid-template-columns:1fr}.private-class-optional-fields{grid-column:1/-1;grid-template-columns:1fr;gap:.75rem .85rem;display:grid}.class-price-input{align-items:stretch;min-width:0;display:flex}.class-price-currency{border:1px solid var(--line);border-radius:var(--radius-sm,6px) 0 0 var(--radius-sm,6px);background:var(--line);border-right:0;align-items:center;padding:0 .35rem 0 .5rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.class-price-currency{background:color-mix(in srgb, var(--line) 35%, white)}}.class-price-currency{color:var(--ink-muted);white-space:nowrap;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-muted) 50%), linear-gradient(135deg, var(--ink-muted) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 12px) calc(50% - 2px),calc(100% - 7px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;max-width:7.5rem;padding-right:1.35rem;font-size:.82rem;font-weight:600}select.class-price-currency:focus{border-color:var(--accent);outline:none}@supports (color:color-mix(in lab, red, red)){select.class-price-currency:focus{border-color:color-mix(in srgb, var(--accent) 55%, var(--line))}}select.class-price-currency:focus{z-index:1}.class-price-input input{border-radius:0 var(--radius-sm,6px) var(--radius-sm,6px) 0;flex:auto;min-width:0}@media (width>=560px){.private-class-create-fields--simple{grid-template-columns:1.4fr 1fr}.private-class-create-fields--simple .private-class-create-name{grid-column:auto}.private-class-optional-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}.private-class-create-name{grid-column:1/-1}.private-class-create-foot{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}@media (width>=720px){.private-class-create-fields:not(.private-class-create-fields--simple){grid-template-columns:repeat(4,minmax(0,1fr))}.private-class-create-fields:not(.private-class-create-fields--simple) .private-class-create-name{grid-column:1/-1}}.private-class-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.9rem;display:grid}.private-class-card{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:.85rem;min-width:0;padding:1.05rem 1.15rem;display:flex}.private-class-card.kind-private{border-top:3px solid var(--kind-private)}.private-class-card.kind-institutional{border-top:3px solid var(--kind-institutional)}.private-class-card.kind-tinted{border-top:3px solid var(--class-kind-color,var(--kind-institutional))}.badge.kind-tinted{background:var(--class-kind-soft,var(--kind-institutional-soft));color:var(--class-kind-color,var(--kind-institutional))}.private-class-create.kind-tinted{border-left:3px solid var(--class-kind-color,var(--kind-institutional))}.cal-event.kind-tinted{box-shadow:inset 3px 0 0 var(--class-kind-color,var(--session-scheduled))}.cal-event.is-group:not(.kind-tinted){box-shadow:inset 3px 0 #6b8499}.private-class-card.open{box-shadow:var(--shadow);grid-column:1/-1}.private-class-card-head{flex-direction:column;gap:.65rem;display:flex}.private-class-card-title h3{font-size:1.05rem;font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 .4rem}.private-class-card-badges{flex-wrap:wrap;gap:.35rem;display:flex}.private-class-card-meta{gap:.45rem;margin:0;display:grid}.private-class-card-meta>div{gap:.1rem;display:grid}.private-class-card-meta dt{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);font-size:.72rem}.private-class-card-meta dd{margin:0;font-size:.92rem;font-weight:550}.private-class-card-actions{flex-wrap:wrap;gap:.4rem;margin-top:auto;display:flex}.private-class-card-actions .btn{align-items:center;gap:.3rem;display:inline-flex}.private-class-card-body{border-top:1px solid var(--line);flex-direction:column;gap:.75rem;padding-top:.9rem;display:flex}.sessions-flat{gap:.85rem;display:grid}.sessions-flat-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.sessions-flat-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.session-line{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:.55rem .75rem;min-width:0;padding:.65rem 0;display:flex}.session-line--row{align-items:center}.session-card{border:1px solid var(--line);background:var(--surface,#fff);border-radius:10px;flex-direction:column;gap:.65rem;margin:0;padding:.75rem .85rem;display:flex}@supports (color:color-mix(in lab, red, red)){.session-card{background:color-mix(in srgb, var(--surface,#fff) 94%, transparent)}}.session-card{min-width:0}.session-card.is-editing{border-color:var(--accent,#1e4d7b)}@supports (color:color-mix(in lab, red, red)){.session-card.is-editing{border-color:color-mix(in srgb, var(--accent,#1e4d7b) 35%, var(--line))}}.session-card.is-editing{box-shadow:0 0 0 1px var(--accent,#1e4d7b)}@supports (color:color-mix(in lab, red, red)){.session-card.is-editing{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent,#1e4d7b) 12%, transparent)}}.session-card-row{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.65rem 1.25rem;display:flex}.session-card-main{flex-direction:column;flex:0 16rem;gap:.3rem;min-width:0;max-width:min(22rem,100%);display:flex}.session-card-when{letter-spacing:-.01em;font-size:.95rem;font-weight:650;line-height:1.25}.session-card-meta{flex-wrap:wrap;align-items:center;gap:.35rem .55rem;min-width:0;display:flex}.session-card-class{text-overflow:ellipsis;white-space:nowrap;max-width:12rem;padding:.1rem .4rem;font-size:.72rem;overflow:hidden}.session-card-students{text-overflow:ellipsis;white-space:nowrap;flex:8rem;min-width:0;font-size:.84rem;overflow:hidden}.session-card-price{font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.84rem}.session-card-actions{flex-wrap:wrap;flex:none;align-items:center;gap:.3rem;display:flex}.session-card-icon{color:var(--ink-muted,#6b7a82);padding:.35rem;line-height:0}.session-card-icon:hover{color:var(--ink,#1a1f24)}.session-card-icon[aria-pressed=true]{color:var(--accent,#1e4d7b);background:var(--accent,#1e4d7b)}@supports (color:color-mix(in lab, red, red)){.session-card-icon[aria-pressed=true]{background:color-mix(in srgb, var(--accent,#1e4d7b) 12%, transparent)}}.session-card-edit{border-top:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:.55rem .75rem;padding-top:.55rem;display:flex}.session-card-edit .field{min-width:7.5rem;margin:0}.session-card-edit .field-narrow{min-width:5.5rem;max-width:6.5rem}.session-card-edit-actions{align-items:center;gap:.35rem;margin-left:auto;display:flex}.sessions-flat-create{border:1px dashed var(--line)}@supports (color:color-mix(in lab, red, red)){.sessions-flat-create{border:1px dashed color-mix(in srgb, var(--line) 80%, transparent)}}.sessions-flat-create{background:var(--surface,#fff);border-radius:8px;padding:.65rem .75rem}@supports (color:color-mix(in lab, red, red)){.sessions-flat-create{background:color-mix(in srgb, var(--surface,#fff) 92%, var(--line))}}.sessions-flat-create .session-line{border-bottom:none;padding:0}.sessions-flat-create .field{min-width:7.5rem;margin:0}.sessions-flat-create .field-narrow{min-width:5.5rem;max-width:6.5rem}.sessions-flat-students{flex:9rem;min-width:8rem;max-width:16rem}.student-share-split{margin-top:.65rem}.student-share-split-hint{margin:.15rem 0 .45rem;font-size:.8rem}.student-share-split-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.student-share-split-list li{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.student-share-split-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.9rem;overflow:hidden}.student-share-split-input{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.student-share-split-input input{text-align:right;width:4.25rem}.session-line-date{flex:none;min-width:6.5rem;font-size:.95rem}.session-line-class{text-overflow:ellipsis;white-space:nowrap;flex:0 10rem;min-width:0;font-weight:600;overflow:hidden}.session-line-students{text-overflow:ellipsis;white-space:nowrap;flex:10rem;min-width:0;font-size:.86rem;overflow:hidden}.session-row-list{border-top:1px solid var(--line);margin:0 0 .85rem;padding:0;list-style:none}.session-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:.65rem 1.25rem;padding:.75rem 0;display:flex}.session-row-main{flex:0 16rem;gap:.3rem;min-width:0;max-width:min(22rem,100%);display:grid}.session-row-tags{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.session-row-date{font-size:.98rem}.session-row-notes{margin:0;font-size:.85rem}.session-row-actions{flex-wrap:wrap;flex:none;align-items:center;gap:.35rem;display:flex}.session-row-edit{gap:.65rem;width:100%;display:grid}.session-status-tag.status-scheduled{color:#1e4d7b;background:#1e4d7b1f}.session-status-tag.status-completed{color:#0f6b5c;background:#0f6b5c24}.session-status-tag.status-missed{color:#c45a12;background:#c45a1224}.session-status-tag.status-cancelled{color:#5a6d75;background:#5a6d7524}.session-add-form{gap:.75rem;padding:.5rem 0;display:grid}.session-add-row{flex-wrap:wrap;align-items:flex-end;gap:.65rem;display:flex}.session-add-row .field{flex:0 auto;min-width:7.5rem;margin:0}.student-chip-field{min-width:0;margin:0;position:relative}.student-chip-field>label{font-size:.78rem}.student-chip-empty{margin:0;padding:.35rem 0;font-size:.82rem}.student-ms{gap:.3rem;display:grid;position:relative}.student-ms.is-disabled{opacity:.65;pointer-events:none}.student-ms-trigger{border:1px solid var(--line);width:100%;min-height:2rem;color:var(--ink);font:inherit;cursor:pointer;text-align:left;background:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:.4rem;padding:.25rem .45rem .25rem .55rem;font-size:.82rem;display:flex}.student-ms-trigger-multi{align-items:flex-start;min-height:2.35rem;padding-top:.35rem;padding-bottom:.35rem}.student-ms-trigger-body{flex:1;min-width:0}.student-ms.is-open .student-ms-trigger{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.student-ms.is-open .student-ms-trigger{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}}.student-ms-trigger-label{text-overflow:ellipsis;white-space:nowrap;font-weight:550;overflow:hidden}.student-ms-trigger-label.is-placeholder{color:var(--ink-muted,#6b7a82);font-weight:400}.student-ms-chips{flex-wrap:wrap;gap:.2rem;display:flex}.student-ms-chips-in-trigger{gap:.25rem}.student-chip{background:var(--ink);border:none;align-items:center;gap:.15rem;max-width:7rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.student-chip{background:color-mix(in srgb, var(--ink) 7%, white)}}.student-chip{color:var(--ink);cursor:pointer;border-radius:3px;padding:.05rem .2rem .05rem .3rem;font-size:.72rem;font-weight:550;line-height:1.2}.student-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-chip:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.student-chip:hover{background:color-mix(in srgb, var(--accent) 12%, white)}}.student-chip:hover{color:var(--accent)}.student-ms-menu{z-index:40;border:1px solid var(--line);background:#fff;border-radius:6px;gap:.2rem;min-width:11rem;padding:.3rem;display:grid;position:absolute;top:calc(100% + 3px);left:0;right:0;box-shadow:0 6px 16px #0f1e281a}.student-ms-search{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:4px;padding:.28rem .4rem;font-size:.78rem}.student-ms-options{max-height:9.5rem;margin:0;padding:0;list-style:none;overflow:auto}.student-ms-empty{padding:.35rem .4rem;font-size:.75rem}.student-ms-option{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--ink);background:0 0;border:none;border-radius:4px;align-items:center;gap:.4rem;padding:.28rem .35rem;font-size:.8rem;display:flex}.student-ms-option:hover{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.student-ms-option:hover{background:color-mix(in srgb, var(--accent-soft) 45%, white)}}.student-ms-option.is-selected{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.student-ms-option.is-selected{background:color-mix(in srgb, var(--accent-soft) 35%, white)}}.student-ms-check{border:1px solid var(--line);flex-shrink:0;justify-content:center;align-items:center;width:.95rem;height:.95rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.student-ms-check{border:1px solid color-mix(in srgb, var(--line) 90%, var(--ink))}}.student-ms-check{color:var(--accent);background:#fff;border-radius:3px}.student-ms-option.is-selected .student-ms-check{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.student-ms-option.is-selected .student-ms-check{background:color-mix(in srgb, var(--accent) 12%, white)}}.student-ms-option-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.private-class-inline-fields{flex-wrap:wrap;align-items:flex-end;gap:.65rem;display:flex}.private-class-inline-fields .field{flex:1;min-width:140px}.class-avatar-stack{flex-wrap:wrap;align-items:center;gap:0;margin-top:.15rem;display:flex}.class-avatar-empty{margin:.15rem 0 0;font-size:.8rem}.class-avatar{letter-spacing:.02em;width:1.85rem;height:1.85rem;color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--line);cursor:default;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;margin-left:-.35rem;font-size:.65rem;font-weight:700;display:inline-flex;position:relative}.class-avatar:first-child{margin-left:0}.class-avatar-more{color:var(--ink-muted);background:var(--surface-2);font-size:.62rem}.class-avatar-tip{background:var(--ink);color:#fff;letter-spacing:0;white-space:nowrap;opacity:0;pointer-events:none;z-index:5;border-radius:8px;padding:.3rem .5rem;font-size:.72rem;font-weight:550;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + .4rem);left:50%;transform:translate(-50%)translateY(.15rem)}.class-avatar:hover .class-avatar-tip,.class-avatar:focus-visible .class-avatar-tip{opacity:1;transform:translate(-50%)translateY(0)}.class-assign{border-top:1px solid var(--line);flex-direction:column;gap:.65rem;padding-top:.85rem;display:flex}.class-assign-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.class-assign-head h4{margin:0;font-size:.88rem;font-weight:650}.class-assign-roster{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.class-assign-roster li{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .55rem;display:flex}.class-assign-roster .muted{font-size:.78rem}.class-assign-empty{margin:0;font-size:.85rem}.class-assign-form{align-items:start;gap:.65rem;display:grid}.class-assign-form .field{margin:0}.class-assign-multiselect{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:6.5rem;font:inherit;padding:.35rem;line-height:1.35}.class-assign-multiselect option{border-radius:4px;padding:.3rem .4rem}.class-assign-multiselect option:checked{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.class-assign-multiselect option:checked{background:color-mix(in srgb, var(--accent) 22%, white)}}.class-assign-multiselect option:checked{color:var(--ink)}.class-assign-hint{margin:.3rem 0 0;font-size:.78rem}.class-assign-msg{margin:0;font-size:.82rem}.class-accordion{gap:.5rem;display:grid}.class-accordion-item{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.class-accordion-item.kind-private{border-left:3px solid var(--kind-private)}.class-accordion-item.kind-institutional{border-left:3px solid var(--kind-institutional)}.class-accordion-item.open{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.class-accordion-item.open{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}}.class-accordion-item.kind-private.open{border-color:var(--kind-private)}@supports (color:color-mix(in lab, red, red)){.class-accordion-item.kind-private.open{border-color:color-mix(in srgb, var(--kind-private) 45%, var(--line))}}.class-accordion-item.kind-institutional.open{border-color:var(--kind-institutional)}@supports (color:color-mix(in lab, red, red)){.class-accordion-item.kind-institutional.open{border-color:color-mix(in srgb, var(--kind-institutional) 45%, var(--line))}}.class-accordion-head{align-items:center;gap:.5rem;padding:.75rem .9rem;display:grid}@media (width>=900px){.class-accordion-head{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto}}.class-accordion-toggle{appearance:none;font:inherit;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.45rem;padding:0;display:inline-flex}.class-accordion-title{flex-wrap:wrap;align-items:center;gap:.45rem;display:inline-flex}.class-accordion-meta{flex-wrap:wrap;gap:.75rem;font-size:.88rem;display:flex}.class-accordion-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}.class-accordion-body{border-top:1px solid var(--line);background:var(--accent-soft);padding:.85rem .9rem 1rem}@supports (color:color-mix(in lab, red, red)){.class-accordion-body{background:color-mix(in srgb, var(--accent-soft) 22%, white)}}.class-instructors{border-bottom:1px dashed var(--line);gap:.5rem;margin-bottom:.15rem;padding-bottom:.85rem;display:grid}.class-instructors-head{align-items:center;gap:.45rem;display:flex}.class-instructors-mark{background:var(--accent-soft);width:1.55rem;height:1.55rem;color:var(--accent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.class-instructors-title{letter-spacing:-.01em;font-size:.84rem;font-weight:650}.class-instructors-count{background:var(--surface);border:1px solid var(--line);min-width:1.35rem;height:1.35rem;color:var(--ink-muted);border-radius:999px;justify-content:center;align-items:center;margin-left:auto;padding:0 .4rem;font-size:.72rem;font-weight:650;display:inline-flex}.class-instructors-empty{color:var(--ink-muted);margin:0;font-size:.82rem}.class-instructors-list{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.class-instructor{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:.55rem;padding:.32rem .35rem .32rem .4rem;display:flex}.class-instructor-avatar{background:var(--accent);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.7rem;height:1.7rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.class-instructor-avatar{background:color-mix(in srgb, var(--accent) 14%, white)}}.class-instructor-avatar{color:var(--accent);letter-spacing:.02em;font-size:.62rem;font-weight:700}.class-instructor-copy{flex:1;gap:.02rem;min-width:0;display:grid}.class-instructor-name{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:600;overflow:hidden}.class-instructor-email{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.class-instructor-remove{appearance:none;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:1.65rem;height:1.65rem;display:inline-flex}.class-instructor-remove:hover:not(:disabled){color:#b91c1c;background:#b91c1c14}.class-instructor-remove:disabled{opacity:.45;cursor:default}.class-instructors-add{position:relative}.class-instructors-add-btn{border:1px dashed var(--accent);align-items:center;gap:.4rem;width:100%;min-height:2.2rem;padding:.35rem .7rem;display:flex}@supports (color:color-mix(in lab, red, red)){.class-instructors-add-btn{border:1px dashed color-mix(in srgb, var(--accent) 40%, var(--line))}}.class-instructors-add-btn{background:var(--accent-soft);border-radius:10px}@supports (color:color-mix(in lab, red, red)){.class-instructors-add-btn{background:color-mix(in srgb, var(--accent-soft) 40%, white)}}.class-instructors-add-btn{color:var(--ink);font:inherit;cursor:pointer;text-align:left;font-size:.84rem;font-weight:600}.class-instructors-add-btn>span{flex:1}.class-instructors-add-btn>svg:first-child{color:var(--accent)}.class-instructors-add-btn:hover:not(:disabled){border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.class-instructors-add-btn:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 60%, var(--line))}}.class-instructors-add-btn:hover:not(:disabled){background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.class-instructors-add-btn:hover:not(:disabled){background:color-mix(in srgb, var(--accent-soft) 75%, white)}}.class-instructors-add-btn:disabled{opacity:.65;cursor:default}.class-instructors-chevron{color:var(--ink-muted);transition:transform .15s}.class-instructors-add-btn.is-open .class-instructors-chevron{transform:rotate(180deg)}.class-instructors-menu{z-index:30;border:1px solid var(--line);background:#fff;border-radius:10px;max-height:12.5rem;margin:0;padding:.3rem;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 10px 24px #0f172a1a}.class-instructors-option{cursor:pointer;width:100%;font:inherit;text-align:left;color:var(--ink);background:0 0;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.35rem .4rem;display:flex}.class-instructors-option:hover{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.class-instructors-option:hover{background:color-mix(in srgb, var(--accent-soft) 55%, white)}}.class-instructors-option-text{gap:.05rem;min-width:0;font-size:.84rem;font-weight:600;display:grid}.class-instructors-option-text .muted{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:450;overflow:hidden}.once-session-picker{border-bottom:1px dashed var(--line);margin-bottom:.85rem;padding-bottom:.85rem}.class-workspace-body{gap:1.25rem;display:grid}@media (width>=800px){.class-workspace-body{grid-template-columns:1fr 1fr}}.class-workspace-col{align-content:start;gap:.65rem;display:grid}.class-workspace-list{margin:0;padding:0;list-style:none}.class-workspace-list>li{border-bottom:1px dashed var(--line);padding:.55rem 0}.class-workspace-list>li:last-child{border-bottom:none}.class-workspace-item-head{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.materials-panel{padding:1rem 1.1rem 1.25rem}.materials-workspace{gap:.75rem;display:grid}.materials-session-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.55rem;display:grid}.materials-session-grid--standalone{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.55rem}.materials-session-list{border-top:1px solid var(--line);flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.materials-accordion-item{border-bottom:1px solid var(--line);min-width:0}.materials-accordion-line{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:nowrap;align-items:center;gap:.45rem .65rem;min-width:0;padding:.55rem 0;display:flex}.materials-accordion-line:hover{background:var(--line)}@supports (color:color-mix(in lab, red, red)){.materials-accordion-line:hover{background:color-mix(in srgb, var(--line) 28%, transparent)}}.materials-accordion-chevron{color:var(--ink-muted,#6b7a82);flex-shrink:0;display:inline-flex}.materials-accordion-title{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-size:.92rem;font-weight:600;overflow:hidden}.materials-accordion-meta{white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:.8rem}.materials-accordion-panel{gap:.85rem;padding:0 0 .75rem 1.4rem;display:grid}.materials-accordion-section{gap:.35rem;display:grid}.materials-accordion-section-label{letter-spacing:.03em;text-transform:uppercase;color:var(--ink-muted,#6b7a82);margin:0;font-size:.7rem;font-weight:650}.materials-class-tag{text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:9rem;padding:.08rem .35rem;font-size:.7rem;overflow:hidden}.materials-accordion-panel .btn{flex-shrink:0;padding:.3rem .6rem;font-size:.82rem}.materials-line-list{margin:0;padding:0;list-style:none}.materials-line{border-bottom:1px dashed var(--line);flex-wrap:nowrap;align-items:center;gap:.55rem .75rem;min-width:0;padding:.35rem 0;display:flex}@supports (color:color-mix(in lab, red, red)){.materials-line{border-bottom:1px dashed color-mix(in srgb, var(--line) 70%, transparent)}}.materials-line{font-size:.86rem}.materials-line-list>.materials-line:last-child{border-bottom:none}.materials-line-title{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-weight:600;overflow:hidden}.materials-line-meta{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.82rem;overflow:hidden}.materials-line .linkish,.materials-line time{white-space:nowrap;flex-shrink:0}.materials-line--empty{border-bottom:none;padding:.2rem 0}.materials-line--action{flex-wrap:wrap;gap:.45rem .65rem;padding-top:.45rem}.materials-composer{gap:.45rem;max-width:36rem;margin-top:.35rem;display:grid}.materials-composer-file{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.materials-composer-chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:.35rem;max-width:100%;padding:.28rem .35rem .28rem .55rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.materials-composer-chip{background:color-mix(in srgb, var(--surface) 70%, white)}}.materials-composer-chip{font-size:.8rem}.materials-composer-chip-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.materials-composer-chip-remove{width:1.35rem;height:1.35rem;color:var(--ink-muted,#6b7a82);cursor:pointer;background:0 0;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.materials-composer-chip-remove:hover:not(:disabled){background:var(--line)}@supports (color:color-mix(in lab, red, red)){.materials-composer-chip-remove:hover:not(:disabled){background:color-mix(in srgb, var(--line) 55%, transparent)}}.materials-composer-chip-remove:hover:not(:disabled){color:var(--ink)}.materials-composer-chip-remove:disabled{opacity:.5;cursor:not-allowed}.materials-composer-bar{border:1px solid var(--line);background:var(--surface);border-radius:1.35rem;align-items:center;gap:.15rem;min-height:2.75rem;padding:.3rem .35rem .3rem .4rem;display:flex}@supports (color:color-mix(in lab, red, red)){.materials-composer-bar{background:color-mix(in srgb, var(--surface) 55%, white)}}.materials-composer-bar{box-shadow:0 1px 2px var(--ink)}@supports (color:color-mix(in lab, red, red)){.materials-composer-bar{box-shadow:0 1px 2px color-mix(in srgb, var(--ink) 4%, transparent)}}.materials-composer-bar{transition:border-color .15s,box-shadow .15s}.materials-composer-bar:focus-within{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.materials-composer-bar:focus-within{border-color:color-mix(in srgb, var(--accent) 55%, var(--line))}}.materials-composer-bar:focus-within{box-shadow:0 0 0 3px var(--accent-soft), 0 1px 2px var(--ink)}@supports (color:color-mix(in lab, red, red)){.materials-composer-bar:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-soft) 70%, transparent), 0 1px 2px color-mix(in srgb, var(--ink) 4%, transparent)}}.materials-composer-attach{width:2.1rem;height:2.1rem;color:var(--ink-muted,#6b7a82);cursor:pointer;background:0 0;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.materials-composer-attach:hover:not(:disabled){background:var(--line)}@supports (color:color-mix(in lab, red, red)){.materials-composer-attach:hover:not(:disabled){background:color-mix(in srgb, var(--line) 45%, transparent)}}.materials-composer-attach:hover:not(:disabled){color:var(--ink)}.materials-composer-attach:disabled{opacity:.5;cursor:not-allowed}.materials-composer-field{min-width:0;color:var(--ink);font:inherit;background:0 0;border:none;outline:none;flex:auto;padding:.45rem .35rem;font-size:.9rem;line-height:1.35}.materials-composer-field::placeholder{color:var(--ink-muted,#6b7a82)}.materials-composer-field--button{text-align:left;cursor:pointer;color:var(--ink-muted,#6b7a82)}.materials-composer-field--button:hover:not(:disabled){color:var(--ink)}.materials-composer-field--button:disabled{cursor:not-allowed;opacity:.7}.materials-composer-send{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:2.1rem;height:2.1rem;padding:0;transition:opacity .15s,transform .15s;display:inline-flex}.materials-composer-send:hover:not(:disabled){transform:translateY(-1px)}.materials-composer-send:disabled{opacity:.35;cursor:not-allowed;transform:none}.materials-session-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:.65rem;margin-top:.25rem;display:flex}.materials-session-pagination .btn{align-items:center;gap:.25rem;display:inline-flex}.enrollment-sessions{background:var(--line);padding:.75rem .5rem 1rem}@supports (color:color-mix(in lab, red, red)){.enrollment-sessions{background:color-mix(in srgb, var(--line) 28%, transparent)}}.enrollment-sessions{border-radius:var(--radius-sm,6px)}.enrollment-class-refs{border:1px dashed var(--ink-muted);margin:0 0 1rem;padding:.65rem .75rem}@supports (color:color-mix(in lab, red, red)){.enrollment-class-refs{border:1px dashed color-mix(in srgb, var(--ink-muted) 35%, var(--line))}}.enrollment-class-refs{border-radius:var(--radius-sm,6px);background:var(--surface,#fff)}@supports (color:color-mix(in lab, red, red)){.enrollment-class-refs{background:color-mix(in srgb, var(--surface,#fff) 88%, var(--line))}}.enrollment-class-refs-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 .55rem;font-size:.72rem;font-weight:650}.enrollment-class-ref-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.enrollment-class-ref{border-top:1px solid var(--line);grid-template-columns:minmax(8rem,1.2fr) minmax(0,2fr) auto;align-items:center;gap:.65rem 1rem;padding:.45rem 0;display:grid}@supports (color:color-mix(in lab, red, red)){.enrollment-class-ref{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent)}}.enrollment-class-ref:first-child{border-top:0;padding-top:0}.enrollment-class-ref-main{flex-direction:column;gap:.15rem;min-width:0;display:flex}.enrollment-class-ref-name{color:var(--ink);font-size:.92rem;font-weight:600}.enrollment-class-ref-meta{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.enrollment-class-ref-amounts{flex-wrap:wrap;gap:.55rem 1rem;margin:0;display:flex}.enrollment-class-ref-amounts>div{flex-direction:column;gap:.1rem;min-width:4.25rem;display:flex}.enrollment-class-ref-amounts dt{letter-spacing:.03em;text-transform:uppercase;color:var(--ink-muted);margin:0;font-size:.68rem;font-weight:600}.enrollment-class-ref-amounts dd{font-variant-numeric:tabular-nums;color:var(--ink);margin:0;font-size:.86rem}.enrollment-class-ref-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.enrollment-class-ref-status{border-color:var(--line);padding:.2rem .4rem;font-size:.8rem}@supports (color:color-mix(in lab, red, red)){.enrollment-class-ref-status{border-color:color-mix(in srgb, var(--line) 80%, transparent)}}.enrollment-class-ref-status{color:var(--ink-muted);background:0 0}@media (width<=720px){.enrollment-class-ref{grid-template-columns:1fr;align-items:stretch}.enrollment-class-ref-actions{justify-content:flex-start}}.enrollment-classes-heading{margin:0 0 .5rem;font-size:.92rem;font-weight:650}.enrollment-sessions-toolbar .enrollment-classes-heading{align-self:flex-end;margin:0 .5rem 0 0;padding-bottom:.35rem}.enrollment-sessions-toolbar{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:.75rem}.enrollment-sessions-actions{flex-wrap:wrap;gap:.5rem;margin-left:auto;display:flex}.enrollment-sessions .input-compact{width:5.5rem;max-width:100%;padding:.3rem .4rem;font-size:.85rem}.enrollment-sessions-row>td{border-top:0;padding-top:0}.attendance-filters{align-items:flex-end;margin-bottom:1rem}.attendance-sessions-panel{margin-bottom:1rem}.attendance-sessions-meta{margin-bottom:.65rem;font-size:.85rem}.attendance-sessions-table tbody tr.is-selected{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.attendance-sessions-table tbody tr.is-selected{background:color-mix(in srgb, var(--accent-soft) 55%, white)}}.attendance-actions-col{text-align:center;width:2.5rem;padding-left:.25rem;padding-right:.25rem}.attendance-delete-btn{color:#b42318}.attendance-delete-btn:hover:not(:disabled){color:#912018;background:#b423181a}.attendance-students-cell{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;overflow:hidden}.attendance-note-cell{vertical-align:top;min-width:8rem;max-width:16rem}.attendance-note-toggle{width:100%;max-width:16rem;color:inherit;font:inherit;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;margin:0;padding:.15rem 0;display:block;overflow:hidden}.attendance-note-toggle.is-empty{color:var(--muted,#64748b)}.attendance-note-toggle:hover{text-decoration:underline}.attendance-note-editor{gap:.4rem;min-width:12rem;display:grid}.attendance-note-editor textarea{resize:vertical;width:100%;min-height:4.5rem;font:inherit}.attendance-note-actions{flex-wrap:wrap;gap:.35rem;display:flex}.attendance-roster-panel{margin-top:.5rem}.mkt{--mkt-ink:#0f172a;--mkt-muted:#64748b;--mkt-teal:#0369a1;--mkt-mint:#38bdf8;--mkt-mint-soft:#e0f2fe;--mkt-on-mint:#0b1220;--mkt-dark:#0f172a;--mkt-paper:#f8fafc;--mkt-line:#e2e8f0;--mkt-display:"Space Grotesk", var(--font-display), system-ui, sans-serif;--mkt-body:"Outfit", var(--font-ui), system-ui, sans-serif;background:var(--mkt-paper);min-height:100svh;color:var(--mkt-ink);font-family:var(--mkt-body)}.mkt h1,.mkt h2,.mkt h3,.mkt .mkt-wordmark span,.mkt .mkt-schedule-title,.mkt .mkt-student-stat,.mkt .mkt-invoice-title,.mkt .mkt-invoice-total strong,.mkt .mkt-plan-price{font-family:var(--mkt-display);letter-spacing:-.03em;font-weight:700;line-height:1.12}.mkt a{text-decoration:none}.mkt a:not(.mkt-btn){color:inherit}.mkt-mark{flex-direction:column;flex-shrink:0;justify-content:center;gap:4px;width:25px;height:25px;display:inline-flex}.mkt-mark-seat{background:currentColor;border-radius:2px;width:25px;height:7px;display:block}.mkt-mark-legs{justify-content:space-between;width:25px;display:flex}.mkt-mark-legs span{background:currentColor;width:6px;height:14px;display:block}.mkt-mark-mint{color:var(--mkt-mint,#38bdf8)}.mkt-mark-teal{color:var(--mkt-teal,#0369a1)}.mkt-wordmark{align-items:center;gap:10px;display:inline-flex}.mkt-wordmark span{letter-spacing:-.05em;font-size:1.95rem}.mkt-wordmark.dark span{color:var(--mkt-ink)}.mkt-nav{justify-content:space-between;align-items:center;gap:1.5rem;padding:1.75rem clamp(1.25rem,4vw,4rem);display:flex}.mkt-nav-hero .mkt-wordmark span{color:#fff}.mkt-nav-links{gap:2rem;font-size:1rem;display:none}.mkt-nav-hero .mkt-nav-links{color:#94a3b8}.mkt-nav-light .mkt-nav-links{color:var(--mkt-ink)}.mkt-nav-links .is-active{color:var(--mkt-teal)}.mkt-nav-actions{align-items:center;gap:1.5rem;display:flex}@media (width>=900px){.mkt-nav-links{display:flex}}.mkt-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.55rem;min-height:44px;padding:.75rem 1.125rem;font-size:.9rem;font-weight:500;display:inline-flex}.mkt-btn-pill,.mkt-pricing-v2 .mkt-btn{border-radius:999px}.mkt-btn-lg{gap:1.25rem;padding:.95rem 1.35rem}a.mkt-btn-mint,.mkt-btn-mint{background:var(--mkt-mint);border-color:var(--mkt-mint);color:var(--mkt-on-mint)}a.mkt-btn-mint:hover,.mkt-btn-mint:hover{color:var(--mkt-on-mint);background:#7dd3fc;border-color:#7dd3fc}a.mkt-btn-dark,.mkt-btn-dark{background:var(--mkt-dark);border-color:var(--mkt-dark);color:#f8fafc}a.mkt-btn-dark:hover,.mkt-btn-dark:hover{color:#f8fafc;background:#1e293b;border-color:#1e293b}a.mkt-btn-ghost,.mkt-btn-ghost{border-color:var(--mkt-line);color:var(--mkt-ink);background:#fff}a.mkt-btn-ghost:hover,.mkt-btn-ghost:hover{border-color:var(--mkt-teal);color:var(--mkt-ink)}.mkt-plan-card.is-featured a.mkt-btn-mint,.mkt-plan-card.is-featured .mkt-btn-mint{background:var(--mkt-mint);border-color:var(--mkt-mint);color:var(--mkt-on-mint)}.mkt-plan-card.is-featured a.mkt-btn-ghost,.mkt-plan-card.is-featured .mkt-btn-ghost{color:var(--mkt-ink);background:#fff;border-color:#fff}.mkt-link-light{color:#f8fafc;font-size:1rem}a.mkt-text-link,.mkt-text-link{color:var(--mkt-teal);margin-top:.5rem;font-size:1rem;display:inline-block}a.mkt-text-link.mint,.mkt-text-link.mint{color:var(--mkt-mint)}.mkt-hero-band{background:var(--mkt-dark);color:#fff}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.mkt-home-classic [id],.mkt-home-classic .mkt-section,.mkt-home-classic .mkt-cta-wrap,.mkt-home-classic .mkt-journey{scroll-margin-top:5.5rem}.mkt-hero{align-items:center;gap:3rem;padding:3rem clamp(1.25rem,4vw,4rem) 5.5rem;display:grid}.mkt-hero-classic{width:100%;max-width:1200px;margin-inline:auto}@media (width>=1100px){.mkt-hero-classic{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:3rem}}.mkt-hero-classic .mkt-hero-copy{flex-direction:column;gap:1.35rem;display:flex}.mkt-hero-classic h1{letter-spacing:-.035em;color:#fff;margin:0;font-size:clamp(2.6rem,6vw,4.2rem);line-height:1.1}.mkt-hero-classic .mkt-btn-lg{border-radius:8px}.mkt-tech-grid{gap:1rem;margin-top:2rem;display:grid}@media (width>=800px){.mkt-tech-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.mkt-tech-card{border:1px solid var(--mkt-line);background:#fff;border-radius:16px;padding:1.35rem 1.4rem}.mkt-tech-card h3{margin:0 0 .45rem;font-size:1.15rem}.mkt-tech-card p{color:var(--mkt-muted);margin:0;font-size:.9rem;line-height:1.5}.mkt-professions{background:#fff}.mkt-professions-intro{padding-bottom:1rem}.mkt-profession{align-items:center;gap:1.75rem;width:min(1120px,100% - 2.5rem);margin-inline:auto;padding:0 0 3.5rem;display:grid}@media (width>=900px){.mkt-profession{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:3.5rem;padding:1.5rem 0 4.5rem}.mkt-profession.is-flip .mkt-profession-media{order:2}.mkt-profession.is-flip .mkt-profession-copy{order:1}}.mkt-profession-media{background:#e2e8f0;min-height:240px;margin:0;overflow:hidden}.mkt-profession-media img{object-fit:cover;object-position:center;width:100%;height:clamp(240px,36vw,420px);display:block}.mkt-profession-copy{flex-direction:column;gap:.85rem;padding-inline:.15rem;display:flex}.mkt-profession-index{color:var(--mkt-teal);letter-spacing:.04em;margin:0;font-size:.95rem}.mkt-profession-copy h3{font-family:var(--mkt-display);letter-spacing:-.03em;margin:0;font-size:clamp(1.6rem,3vw,2.1rem);line-height:1.15}.mkt-profession-copy p:last-child{color:var(--mkt-muted);max-width:36ch;margin:0;font-size:1rem;line-height:1.5}.mkt-home-classic .mkt-journey{gap:2rem;margin-top:2.5rem;display:grid}@media (width>=900px){.mkt-home-classic .mkt-journey{grid-template-columns:repeat(3,minmax(0,1fr))}}.mkt-home-classic .mkt-footer{width:min(1120px,100% - 2.5rem);margin-inline:auto;padding-inline:0}.mkt-shell{width:min(960px,100% - 2.5rem);margin-inline:auto}.mkt-shell-nav .mkt-nav{padding-left:0;padding-right:0}.mkt-shell-section{padding:clamp(3.5rem,7vw,4.5rem) 0}.mkt-shell-white{background:#fff}.mkt-shell-dark{background:var(--mkt-dark);color:#fff}.mkt-shell-dark h2{color:#fff}.mkt-shell-cta{padding-top:1.5rem;padding-bottom:2.5rem}.mkt-reveal{opacity:0;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);will-change:opacity, transform;transform:translateY(22px)}.mkt-reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.mkt-reveal{opacity:1;transition:none;transform:none}}.mkt-hero-v2,.mkt-hero-v3{flex-direction:column;align-items:flex-start;gap:1.25rem;padding-top:2.5rem;padding-bottom:4rem;display:flex}.mkt-hero-v2 h1,.mkt-hero-v3 h1{letter-spacing:-.035em;color:#fff;max-width:14ch;margin:0;font-size:clamp(2.1rem,5vw,2.75rem)}.mkt-hero-v2 .mkt-lead-light,.mkt-hero-v3 .mkt-lead-light{max-width:46ch;font-size:1rem;line-height:1.6}.mkt-hero-media,.mkt-media-block{width:100%;margin-top:.35rem}.mkt-hero-media img,.mkt-media-block img{object-fit:cover;border-radius:20px;width:100%;height:auto;max-height:360px;display:block}.mkt-feature-stack,.mkt-steps-stack,.mkt-role-stack{flex-direction:column;gap:.75rem;margin-top:1.75rem;display:flex}.mkt-feature-row,.mkt-step-row{border:1px solid var(--mkt-line);background:#fff;border-radius:16px;grid-template-columns:2.5rem minmax(0,1fr);align-items:start;gap:1rem;padding:1.15rem 1.25rem;display:grid}.mkt-feature-row h3,.mkt-step-row h3,.mkt-role-soft h3{margin:0 0 .3rem;font-size:1.1rem}.mkt-feature-row p,.mkt-step-row p,.mkt-role-soft p{color:var(--mkt-muted);margin:0;font-size:.9rem;line-height:1.45}.mkt-role-soft{background:var(--mkt-paper);border-radius:14px;padding:1.1rem 1.2rem}.mkt-cta-band-stack{flex-direction:column;align-items:flex-start!important;gap:1.25rem!important}.mkt-home-v3 .mkt-lead{max-width:46ch}.mkt-home-v3 h2{max-width:16ch;font-size:clamp(1.7rem,3.5vw,2rem)}.mkt-home-v3 .mkt-footer{width:min(960px,100% - 2.5rem);padding-inline:0}.mkt-btn-on-dark{color:#fff!important;background:0 0!important;border-color:#ffffff47!important}.mkt-btn-on-dark:hover{background:#ffffff14!important}.mkt-discipline-chips{flex-wrap:wrap;gap:.65rem;margin-top:.5rem;display:flex}.mkt-discipline-chips span{color:var(--mkt-mint);background:#1a454d;border-radius:999px;padding:.5rem .9rem;font-size:.85rem;font-weight:500}.mkt-feature-grid{gap:1rem;margin-top:2.5rem;display:grid}@media (width>=900px){.mkt-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.mkt-feature-card{border:1px solid var(--mkt-line);background:#fff;border-radius:20px;flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.mkt-feature-n{letter-spacing:.08em;color:var(--mkt-teal);font-size:.75rem;font-weight:500}.mkt-feature-card h3,.mkt-step h3{margin:0;font-size:1.35rem}.mkt-feature-card p,.mkt-step p{color:var(--mkt-muted);margin:0;font-size:.9rem;line-height:1.5}.mkt-fields{gap:3rem;display:grid}@media (width>=960px){.mkt-fields{grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:start;gap:4rem}}.mkt-fields-copy h2{max-width:14ch}.mkt-field-row{border-bottom:1px solid var(--mkt-line);padding:1.1rem 0}.mkt-field-row strong{font-family:var(--mkt-display);letter-spacing:-.02em;margin-bottom:.35rem;font-size:1rem;font-weight:700;display:block}.mkt-field-row p{color:var(--mkt-muted);margin:0;font-size:.9rem;line-height:1.5}.mkt-steps{gap:1.75rem;margin-top:2.25rem;display:grid}@media (width>=900px){.mkt-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}.mkt-step{flex-direction:column;gap:.65rem;display:flex}.mkt-hero-copy{flex-direction:column;gap:1.5rem;display:flex}.mkt-eyebrow{color:var(--mkt-mint);letter-spacing:.02em;align-items:center;gap:.55rem;margin:0;font-size:1rem;display:flex}.mkt-signal{background:var(--mkt-mint);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #38bdf833}.mkt-hero h1{letter-spacing:-.03em;color:#fff;margin:0;font-size:clamp(2.8rem,7vw,4.875rem)}.mkt-lead,.mkt-lead-light{max-width:42rem;margin:0;font-size:1rem;line-height:1.5}.mkt-lead{color:var(--mkt-muted)}.mkt-lead-light{color:#c5dbdd}.mkt-hero-actions{flex-wrap:wrap;align-items:center;gap:1.125rem;display:flex}.mkt-hero-note{color:#8db0b5;margin:0;font-size:1rem}.mkt-hero-card{background:linear-gradient(#1e293b 0%,#0f172a 100%);border-radius:28px;flex-direction:column;gap:1.25rem;min-height:480px;padding:1.875rem;display:flex;position:relative;overflow:hidden}.mkt-hero-orbit{pointer-events:none;background:radial-gradient(circle,#0000 42%,#38bdf81f 43%,#0000 44%),radial-gradient(circle,#0000 58%,#38bdf814 59%,#0000 60%);border-radius:50%;width:450px;height:450px;position:absolute;top:-95px;right:-40px}.mkt-preview-label{color:var(--mkt-mint);justify-content:space-between;align-items:center;font-size:1rem;display:flex;position:relative}.mkt-schedule-card{color:var(--mkt-ink);background:#fff;border-radius:16px;flex-direction:column;gap:1.15rem;padding:1.6rem;display:flex;position:relative;box-shadow:0 12px 32px #0f172a14}.mkt-schedule-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.mkt-schedule-title{margin:.3rem 0 0;font-size:1.625rem}.mkt-muted{color:var(--mkt-muted);margin:0;font-size:1rem}.mkt-chip{color:var(--mkt-muted);white-space:nowrap;background:#f1f5f9;border-radius:100px;align-items:center;padding:.25rem .55rem;font-size:1rem;display:inline-flex}.mkt-chip-good{background:var(--mkt-mint-soft);color:var(--mkt-teal)}.mkt-rule{background:var(--mkt-line);width:100%;height:1px}.mkt-schedule-row{align-items:center;gap:1.125rem;display:flex}.mkt-schedule-time{width:42px;color:var(--mkt-teal);flex-shrink:0}.mkt-schedule-bar{background:var(--mkt-mint);border-radius:2px;flex-shrink:0;width:3px;height:42px}.mkt-schedule-info{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.mkt-schedule-info strong{color:var(--mkt-ink);font-weight:400}.mkt-schedule-info span{color:var(--mkt-muted)}.mkt-connected{background:var(--mkt-mint);color:var(--mkt-ink);border-radius:12px;align-items:flex-start;gap:.8rem;padding:1rem;display:flex;position:relative}.mkt-connected strong,.mkt-connected span{display:block}.mkt-connected span{color:var(--mkt-teal);margin-top:.15rem}.mkt-connected>div{flex:1}.mkt-check{border:2px solid var(--mkt-teal);border-radius:50%;flex-shrink:0;width:20px;height:20px;position:relative}.mkt-check:after{content:"";border-right:2px solid var(--mkt-teal);border-bottom:2px solid var(--mkt-teal);width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(40deg)}.mkt-category-band{color:#a9cdd0;border-top:1px solid #315359;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1.5rem clamp(1.25rem,4vw,4rem);font-size:1rem;display:flex}.mkt-section{padding:clamp(3rem,7vw,5rem) clamp(1.25rem,4vw,5rem)}.mkt-section-white{background:#fff}.mkt-section-dark{background:var(--mkt-dark);color:#fff}.mkt-section-mint{background:var(--mkt-mint-soft)}.mkt-kicker{color:var(--mkt-teal);margin:0 0 1rem;font-size:1rem}.mkt-kicker.mint{color:var(--mkt-mint)}.mkt h2{max-width:18ch;margin:0;font-size:clamp(2rem,4vw,3rem)}.mkt-section-dark h2{color:#fff}.mkt .mkt-lead{margin-top:1rem}.mkt-journey{gap:2.5rem;margin-top:2.5rem;display:grid}@media (width>=900px){.mkt-journey{grid-template-columns:repeat(3,minmax(0,1fr))}}.mkt-journey-step h3{margin:1rem 0 .75rem;font-size:1.55rem}.mkt-journey-step p{color:var(--mkt-muted);margin:0}.mkt-journey-head{color:var(--mkt-ink);justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.mkt-journey-head span{color:var(--mkt-muted)}.mkt-split{align-items:center;gap:3rem;display:grid}@media (width>=1000px){.mkt-split{grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:5rem}}.mkt-detail-list{margin:1.5rem 0 0;padding:0}.mkt-detail-list>div{border-bottom:1px solid var(--mkt-line);justify-content:space-between;gap:1rem;padding:.875rem 0;display:flex}.mkt-detail-list dt{color:var(--mkt-muted);margin:0}.mkt-detail-list dd{text-align:right;color:var(--mkt-ink);margin:0}.mkt-student-card{background:#daecf5;border-radius:24px;flex-direction:column;gap:1.5rem;padding:2.25rem;display:flex}.mkt-student-id{align-items:center;gap:1rem;display:flex}.mkt-avatar{background:var(--mkt-dark);width:58px;height:58px;color:var(--mkt-mint);border-radius:100px;flex-shrink:0;place-items:center;display:grid}.mkt-student-id strong{font-family:var(--mkt-display);font-size:1.625rem;font-weight:700;display:block}.mkt-student-id span{color:var(--mkt-muted)}.mkt-student-panel{background:#fff;border-radius:16px;flex-direction:column;gap:.85rem;padding:1.5rem;display:flex}.mkt-student-stat{margin:0;font-size:2.25rem}.mkt-credit-track{gap:6px;display:flex}.mkt-credit-track span{background:var(--mkt-mint-soft);border-radius:4px;flex:1;height:10px}.mkt-credit-track span.is-used{background:var(--mkt-teal)}.mkt-invoice-card{color:var(--mkt-ink);background:#fff;border-radius:18px;flex-direction:column;justify-self:end;gap:1.05rem;width:100%;max-width:520px;padding:2rem;display:flex}.mkt-invoice-head{justify-content:space-between;align-items:center;display:flex}.mkt-invoice-title{margin:0;font-size:1.875rem}.mkt-invoice-total{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.mkt-invoice-total strong{font-size:2rem}.mkt-role-grid{gap:1.5rem;margin-top:2.25rem;display:grid}@media (width>=900px){.mkt-role-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.mkt-role-card{border:1px solid var(--mkt-line);background:#fff;border-radius:16px;flex-direction:column;gap:1rem;padding:1.75rem;display:flex}.mkt-role-card h3{margin:0;font-size:1.625rem}.mkt-role-card p{color:var(--mkt-muted);margin:0}.mkt-split-disciplines{gap:3rem;display:grid}@media (width>=900px){.mkt-split-disciplines{grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:5rem}}.mkt-discipline-list>div{border-bottom:1px solid #bddcd4;gap:1.25rem;padding:.875rem 0;display:flex}.mkt-discipline-list strong{flex-shrink:0;width:95px;font-weight:400}.mkt-discipline-list span{color:var(--mkt-teal)}.mkt-faq{gap:3rem;display:grid}@media (width>=900px){.mkt-faq{grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:5rem}}.mkt-faq-item{border-bottom:1px solid var(--mkt-line);padding:1.35rem 0}.mkt-faq-item summary{cursor:default;font-family:var(--mkt-display);letter-spacing:-.03em;justify-content:space-between;gap:1rem;font-size:1.3rem;font-weight:700;list-style:none;display:flex}.mkt-faq-item summary::-webkit-details-marker{display:none}.mkt-faq-item p{color:var(--mkt-muted);margin:.65rem 0 0}.mkt-cta-wrap{padding:0 clamp(1.25rem,4vw,4rem) 2.5rem}.mkt-cta-band{background:var(--mkt-mint);border-radius:28px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;padding:clamp(2rem,5vw,3.5rem);display:flex}.mkt-cta-band h2{max-width:14ch;color:var(--mkt-on-mint,#0b1220);margin:0;font-size:clamp(2.2rem,5vw,3.6rem)}.mkt-cta-band p{color:var(--mkt-on-mint,#0b1220);margin:.9rem 0 0}.mkt-footer{flex-direction:column;gap:1.75rem;padding:2.5rem 0 3rem;display:flex}.mkt-pricing>.mkt-footer{margin-top:1rem;padding-bottom:3rem}.mkt-footer-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.mkt-footer-links{color:var(--mkt-muted);flex-wrap:wrap;gap:1.5rem;display:flex}.mkt-footer-bottom{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 1.5rem;display:flex}.mkt-footer-bottom p,.mkt-footer>p{color:var(--mkt-muted);margin:0}.mkt-footer-legal{flex-wrap:wrap;gap:1.25rem;display:flex}.mkt.mkt-legal .mkt-footer-legal a,.mkt .mkt-footer-legal a{color:var(--mkt-teal);text-decoration:underline}.mkt-pricing .mkt-nav-light{width:min(800px,100% - 2.5rem);margin-inline:auto;padding:3rem 0 2rem}.mkt-pricing-main{flex-direction:column;gap:3rem;width:min(800px,100% - 2.5rem);margin-inline:auto;padding:0 0 4rem;display:flex}.mkt-pricing>.mkt-footer,.mkt-pricing .mkt-shell{width:min(800px,100% - 2.5rem);margin-inline:auto;padding-inline:0}.mkt-pricing-promise{flex-direction:column;align-items:flex-start;gap:1.125rem;display:flex}.mkt-pricing-promise h1{max-width:12ch;margin:0;font-size:clamp(2.6rem,7vw,4.5rem)}.mkt-interval{background:#f1f5f9;border-radius:999px;gap:.25rem;padding:.25rem;display:inline-flex}.mkt-interval-btn{color:var(--mkt-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.5rem 1rem;font-size:.85rem;font-weight:500}.mkt-interval-btn.is-active{color:var(--mkt-ink);background:#fff;box-shadow:0 1px 2px #0f172a0f}.mkt-plan-grid{gap:1.5rem;display:grid}@media (width>=840px){.mkt-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.mkt-plan-period{font-family:var(--mkt-body);letter-spacing:0;opacity:.75;margin-left:.25rem;font-size:1rem;font-weight:400}.mkt-plan-card{border:1px solid var(--mkt-line);background:#fff;border-radius:20px;flex-direction:column;gap:1.25rem;padding:1.75rem;display:flex}.mkt-plan-card.is-featured{background:var(--mkt-dark);color:#fff;border-color:#0000}.mkt-plan-name{color:var(--mkt-teal);letter-spacing:.02em;margin:0;font-size:.85rem;font-weight:500}.mkt-plan-card.is-featured .mkt-plan-name{color:var(--mkt-mint)}.mkt-plan-price{margin:0;font-size:clamp(2.4rem,4vw,2.5rem)}.mkt-plan-blurb{color:var(--mkt-muted);margin:0;font-size:.9rem;line-height:1.45}.mkt-plan-card.is-featured .mkt-plan-blurb{color:#94a3b8}.mkt-plan-rule{background:var(--mkt-line);width:100%;height:1px}.mkt-plan-card.is-featured .mkt-plan-rule{background:#1e293b}.mkt-plan-lines{flex-direction:column;flex:1;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.mkt-plan-lines li{color:var(--mkt-muted);align-items:center;gap:.65rem;font-size:.9rem;display:flex}.mkt-plan-lines li:before{content:"";background:var(--mkt-teal);border-radius:50%;flex-shrink:0;width:6px;height:6px}.mkt-plan-card.is-featured .mkt-plan-lines li{color:#cbd5e1}.mkt-plan-card.is-featured .mkt-plan-lines li:before{background:var(--mkt-mint)}.mkt-pricing-v2 .mkt-pricing-promise h1{max-width:16ch;font-size:clamp(2rem,5vw,2.75rem)}.mkt-pricing-cta-quiet{border:1px solid var(--mkt-line);background:#fff!important}.mkt-pricing-cta-quiet h2{max-width:none;font-size:1.25rem!important}.mkt-compare{flex-direction:column;gap:.35rem;display:flex}.mkt-compare h2{max-width:none;margin:0;font-size:1.3rem}.mkt-compare>.mkt-lead{margin:0 0 .75rem;font-size:.95rem}.mkt-compare-table{--mkt-compare-cols:2;width:100%}.mkt-compare-head,.mkt-compare-row{grid-template-columns:minmax(8rem, 1.5fr) repeat(var(--mkt-compare-cols), minmax(0, 1fr));align-items:center;gap:.75rem;padding:1rem .75rem;display:grid}.mkt-compare-head{color:var(--mkt-muted);background:#f1f5f9;font-size:.95rem}.mkt-compare-row{border-bottom:1px solid var(--mkt-line);min-height:64px;font-size:.95rem}.mkt-compare-row>span:first-child{color:var(--mkt-ink)}.mkt-compare-row>span:not(:first-child){color:var(--mkt-muted)}@media (width<=640px){.mkt-compare-head,.mkt-compare-row{grid-template-columns:minmax(0, 1.2fr) repeat(var(--mkt-compare-cols), minmax(0, 1fr));gap:.5rem;padding:.85rem .5rem;font-size:.85rem}}.mkt-pricing-faq{gap:2.5rem;display:grid}@media (width>=800px){.mkt-pricing-faq{grid-template-columns:1fr 1fr;gap:2.5rem}}.mkt-pricing-faq h3{margin:0 0 1rem;font-size:1.3rem}.mkt-pricing-faq p{color:var(--mkt-muted);margin:0}.mkt-pricing-cta{background:var(--mkt-mint);color:var(--mkt-on-mint,#0b1220);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:2rem;display:flex}.mkt-pricing-cta .mkt-btn-dark,.mkt-cta-band .mkt-btn-dark{color:#f8fafc}.mkt-pricing-cta h2{max-width:14ch;margin:0;font-size:clamp(1.8rem,4vw,2rem)}.mkt-pricing-legal{color:var(--mkt-muted);margin:0}.theme-workspace{--accent:#5a4fcf;--accent-hover:#4a3fb8;--accent-soft:#5a4fcf1f;--surface:#f9fafb;--surface-2:#f3f4f6;--line:#e5e7eb;--ink:#111827;--ink-muted:#6b7280;--radius:14px;--radius-sm:10px;--radius-lg:18px;--shadow-sm:0 1px 3px #1118270f;--shadow:0 8px 24px #11182714;--kind-private:#5a4fcf;--kind-private-soft:#5a4fcf1f;background:var(--surface)}.theme-workspace.theme-institution-teal{--accent:#0f766e;--accent-hover:#0d5f59;--accent-soft:#0f766e1f;--surface:#f4f9f8;--surface-2:#e7f2f0;--kind-private:#0f766e;--kind-private-soft:#0f766e1f}.theme-workspace.theme-institution-navy{--accent:#1e40af;--accent-hover:#1e3a8a;--accent-soft:#1e40af1f;--surface:#f5f7fb;--surface-2:#e8eef8;--kind-private:#1e40af;--kind-private-soft:#1e40af1f}.theme-workspace.theme-institution-ember{--accent:#c2410c;--accent-hover:#9a3412;--accent-soft:#c2410c1f;--surface:#fbf7f4;--surface-2:#f3ebe4;--kind-private:#c2410c;--kind-private-soft:#c2410c1f}.theme-workspace .sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;gap:.75rem;overflow:hidden}.theme-workspace .brand-name{color:var(--accent);letter-spacing:-.02em;font-weight:700}.theme-workspace .brand-mark{background:linear-gradient(135deg,#5a4fcf 0%,#7c6ff0 55%,#9b8ef5 100%)}.theme-workspace .nav-link.active{background:var(--accent-soft);color:var(--accent);box-shadow:none;font-weight:600}.theme-workspace .nav-link:hover{background:var(--surface-2);color:var(--ink)}.theme-workspace .nav-group{gap:.1rem}.theme-workspace .nav-group-toggle{border-radius:var(--radius-sm);color:var(--ink-muted)}.theme-workspace .nav-group-toggle:hover{background:var(--surface-2);color:var(--ink)}.theme-workspace .nav-sub{border-left:none;gap:.1rem;margin-left:0;padding:.15rem 0 .25rem 1.45rem}.theme-workspace .nav-link-sub{border-radius:var(--radius-sm);padding:.45rem .65rem;font-size:.875rem}.theme-workspace .nav-group.open .nav-group-main.active{background:var(--accent-soft);color:var(--accent);box-shadow:none;font-weight:600}.theme-workspace .ws-nav{scrollbar-width:thin;flex-direction:column;flex:auto;gap:.12rem;min-height:0;padding-right:.1rem;display:flex;overflow:hidden auto}.theme-workspace .ws-nav-label{flex:1}.theme-workspace .ws-nav-badge{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;font-size:.7rem;font-weight:700;display:inline-flex}.theme-workspace .ws-create-team{color:var(--muted)}.theme-workspace .ws-create-team-form{flex-direction:column;gap:.45rem;padding:.35rem .5rem .5rem;display:flex}.theme-workspace .ws-create-team-form input{width:100%;font-size:.85rem}.theme-workspace .ws-create-team-actions{flex-wrap:wrap;gap:.35rem;display:flex}.theme-workspace .ws-create-team-error{margin:0;font-size:.75rem}.theme-workspace .ws-sidebar-bottom{border-top:1px solid var(--line);z-index:0;background:#fff;flex-direction:column;flex-shrink:0;gap:.35rem;margin-top:0;padding-top:.45rem;display:flex}.theme-workspace .ws-help-card{border-radius:var(--radius-sm);color:var(--ink-muted);background:0 0;border:none;align-items:center;gap:.5rem;padding:.45rem .55rem;font-size:.82rem;text-decoration:none;display:flex}.theme-workspace .ws-help-card:hover{background:var(--surface-2);color:var(--ink)}.theme-workspace .ws-help-card strong{font-size:inherit;font-weight:500;display:inline}.theme-workspace .ws-help-card span{display:none}.theme-workspace .ws-help-card svg{color:inherit;flex-shrink:0;width:16px;height:16px;margin-top:0}.theme-workspace .ws-settings-link{margin:0}.theme-workspace .ws-profile{border-top:none;flex-direction:row;align-items:center;gap:.55rem;padding-top:.3rem}.theme-workspace .ws-profile-meta{flex:1;min-width:0}.theme-workspace .ws-role{color:var(--ink-muted);padding:0 .35rem;font-size:.75rem}.theme-workspace .ws-signout{white-space:nowrap;border-radius:999px;flex-shrink:0;justify-content:center;width:auto;min-width:0;min-height:2rem;padding:.45rem .7rem;font-size:.8rem;font-weight:600;line-height:1}.theme-workspace .ws-avatar{background:var(--accent-soft);width:2.25rem;height:2.25rem;color:var(--accent);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.theme-workspace .ws-avatar-sm{width:2rem;height:2rem;font-size:.7rem}.theme-workspace .main{z-index:1;background:var(--surface);padding:1.25rem 1.75rem 2.5rem;position:relative}.theme-workspace .ws-topbar{border-bottom:1px solid var(--line);margin:0 0 1.35rem;padding-bottom:.85rem}.theme-workspace .ws-topbar-left,.theme-workspace .ws-topbar-right{align-items:center;gap:.65rem;display:flex}.theme-workspace .ws-breadcrumb{color:var(--ink-muted);align-items:center;gap:.4rem;font-size:.88rem;display:flex}.theme-workspace .ws-breadcrumb-sep{opacity:.5}.theme-workspace .ws-breadcrumb-item{align-items:center;gap:.4rem;display:inline-flex}.theme-workspace .ws-breadcrumb-link{color:var(--ink-muted);text-decoration:none}.theme-workspace .ws-breadcrumb-link:hover{color:var(--ink);text-decoration:underline}.theme-workspace .ws-breadcrumb-current{color:var(--ink);font-weight:600}.theme-workspace .workspace-switcher-static,.theme-workspace .workspace-trigger{background:var(--surface);border-color:var(--line)}.theme-workspace .teacher-switcher{width:100%;min-width:0;margin-right:0}.theme-workspace .teacher-switcher-select{width:100%}.theme-workspace .btn{border-radius:999px}.theme-workspace .btn-secondary{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.theme-workspace .btn-secondary{border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}}.theme-workspace .btn-secondary{color:var(--accent)}.theme-workspace .panel{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;padding:1.35rem 1.4rem}.theme-workspace .panel+.panel{margin-top:1.25rem}@media (width<=700px){.theme-workspace .ws-stats,.theme-workspace .ws-stats.board-stats{grid-template-columns:1fr}}.theme-workspace .ws-home{flex-direction:column;gap:1.5rem;display:flex}.theme-workspace .ws-home-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.25rem;display:flex}.theme-workspace .ws-home-header h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(1.55rem,2.4vw,1.95rem);line-height:1.15}.theme-workspace .ws-home-header p{color:var(--ink-muted);margin:.4rem 0 0;font-size:.95rem}.theme-workspace .ws-home-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.theme-workspace .ws-join-action{position:relative}.theme-workspace .ws-join-panel{z-index:40;border:1px solid var(--line);background:var(--surface);width:min(22rem,100vw - 2rem);box-shadow:0 12px 32px var(--ink);border-radius:12px;padding:1rem 1.1rem;position:absolute;top:calc(100% + .45rem);right:0}@supports (color:color-mix(in lab, red, red)){.theme-workspace .ws-join-panel{box-shadow:0 12px 32px color-mix(in srgb, var(--ink) 12%, transparent)}}.theme-workspace .ws-join-panel .form-row{margin-bottom:0}.theme-workspace .ws-trial-banner{border:1px solid var(--accent);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;display:flex}@supports (color:color-mix(in lab, red, red)){.theme-workspace .ws-trial-banner{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line))}}.theme-workspace .ws-trial-banner{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.theme-workspace .ws-trial-banner{background:color-mix(in srgb, var(--accent) 10%, var(--surface))}}.theme-workspace .ws-trial-banner strong{font-size:.95rem;display:block}.theme-workspace .ws-trial-banner p{color:var(--ink-muted);max-width:40rem;margin:.25rem 0 0;font-size:.88rem}.theme-workspace .ws-trial-banner-ended{border-color:#b45309}@supports (color:color-mix(in lab, red, red)){.theme-workspace .ws-trial-banner-ended{border-color:color-mix(in srgb, #b45309 40%, var(--line))}}.theme-workspace .ws-trial-banner-ended{background:#b45309}@supports (color:color-mix(in lab, red, red)){.theme-workspace .ws-trial-banner-ended{background:color-mix(in srgb, #b45309 12%, var(--surface))}}.ws-promo-trial{margin-bottom:1rem}.ws-promo-trial-value{margin:.15rem 0 0;font-size:1.05rem}.ws-owned-org-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:.85rem 1rem}.ws-owned-org-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.ws-theme-picker{flex-wrap:wrap;gap:.65rem;display:flex}.ws-theme-option{border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink);border-radius:10px;align-items:center;gap:.45rem;padding:.45rem .7rem;font-size:.9rem;display:inline-flex}.ws-theme-option:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ws-theme-option:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}}.ws-theme-option.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.ws-theme-swatch{border-radius:999px;flex-shrink:0;width:1rem;height:1rem;box-shadow:inset 0 0 0 1px #0000001f}.theme-workspace .ws-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.theme-workspace .ws-stats.board-stats,.theme-workspace .ws-stats.ws-stats-compact{grid-template-columns:repeat(3,minmax(11rem,15rem));justify-content:start}.theme-workspace .ws-stats.ws-stats-admin{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr))}.theme-workspace .ws-stat{border:1px solid var(--line);border-radius:var(--radius-lg);min-height:5.25rem;box-shadow:var(--shadow-sm);background:#fff;align-items:center;gap:.85rem;padding:1.1rem 1.25rem;display:flex}.theme-workspace .ws-stat-icon{background:var(--accent-soft);width:2.5rem;height:2.5rem;color:var(--accent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.theme-workspace .ws-stat-blue .ws-stat-icon{color:#2563eb;background:#3b82f61f}.theme-workspace .ws-stat-purple .ws-stat-icon{background:var(--accent-soft);color:var(--accent)}.theme-workspace .ws-stat-green .ws-stat-icon{color:#059669;background:#10b9811f}.theme-workspace .ws-stat-value{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.45rem;font-weight:700;line-height:1.15}.theme-workspace .ws-stat-label{color:var(--ink-muted);margin-top:.15rem;font-size:.82rem}.theme-workspace .ws-grid-main{grid-template-columns:minmax(0,1.7fr) minmax(16rem,.9fr);align-items:start;gap:1.15rem;display:grid}@media (width<=960px){.theme-workspace .ws-grid-main{grid-template-columns:1fr}}.theme-workspace .ws-card{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;padding:1.35rem 1.4rem}.theme-workspace .ws-card+.ws-card{margin-top:0}.theme-workspace .ws-card-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.theme-workspace .ws-card-head .ws-card-title{margin:0}.theme-workspace .ws-card-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .95rem;font-size:1.1rem;font-weight:700}.theme-workspace .ws-card-subtitle{color:var(--ink-muted);margin:0 0 .65rem;font-size:.88rem;font-weight:700}.theme-workspace .ws-empty-soft{text-align:left;padding:1.25rem .5rem}.theme-workspace .ws-upnext{flex-direction:column;gap:.45rem;display:flex}.theme-workspace .ws-upnext strong{font-size:1.05rem}.theme-workspace .ws-quick-links{flex-direction:column;gap:.15rem;display:flex}.theme-workspace .ws-quick-links a{border-bottom:1px solid var(--line);color:var(--ink);padding:.55rem 0;font-size:.92rem;font-weight:600;text-decoration:none;display:block}.theme-workspace .ws-quick-links a:last-child{border-bottom:none}.theme-workspace .ws-quick-links a:hover{color:var(--accent)}.theme-workspace .ws-absences{border-top:1px solid var(--line);margin-top:1.15rem;padding-top:1rem}.theme-workspace .ws-week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;margin-bottom:1rem;display:grid}.theme-workspace .ws-week-day{appearance:none;background:var(--surface);cursor:pointer;color:var(--ink-muted);font:inherit;border:none;border-radius:12px;flex-direction:column;align-items:center;gap:.35rem;padding:.55rem .25rem;display:flex}.theme-workspace .ws-week-day:hover{background:var(--surface-2)}.theme-workspace .ws-week-day.active{background:var(--accent);color:#fff}.theme-workspace .ws-week-dow{text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:600}.theme-workspace .ws-week-num{border-radius:999px;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.88rem;font-weight:700;display:inline-flex}.theme-workspace .ws-week-day.active .ws-week-num{background:#fff3}.theme-workspace .ws-session-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.theme-workspace .ws-session-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.theme-workspace .ws-session-list>li:first-child .ws-session-row{border-top:none;padding-top:0}.theme-workspace .ws-session-time{color:var(--ink-muted);min-width:4.5rem;font-size:.8rem}.theme-workspace .ws-upnext-title{margin:0;font-size:1.15rem}.theme-workspace .ws-upnext-meta{color:var(--ink-muted);margin:.35rem 0 1rem;font-size:.9rem}.theme-workspace .ws-pill{border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.theme-workspace .ws-pill-paid{color:#047857;background:#10b98124}.theme-workspace .ws-pill-due{color:#b45309;background:#f59e0b29}.theme-workspace .ws-discover{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem;display:grid}.theme-workspace .ws-discover-card{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;display:flex;overflow:hidden}.theme-workspace .ws-discover-thumb{background:radial-gradient(circle at 20% 30%,#5a4fcf59,#0000 50%),radial-gradient(circle at 80% 70%,#3b82f640,#0000 45%),linear-gradient(135deg,#eef0ff,#f5f3ff);height:7rem}.theme-workspace .ws-discover-body{flex-direction:column;flex:1;gap:.35rem;padding:.9rem 1rem 1.1rem;display:flex}.theme-workspace .ws-discover-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:.68rem;font-weight:700}.theme-workspace .ws-discover-body h3{margin:0;font-size:.98rem}.theme-workspace .ws-discover-body .btn{align-self:flex-start;margin-top:auto}.theme-workspace .ws-table-wrap{overflow-x:auto}.theme-workspace .ws-table{border-collapse:collapse;width:100%;font-size:.9rem}.theme-workspace .ws-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);border-bottom:1px solid var(--line);padding:.55rem .65rem;font-size:.75rem;font-weight:600}.theme-workspace .ws-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:.75rem .65rem}.theme-workspace .ws-class-row{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.85rem;display:grid}.theme-workspace .ws-class-card{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;padding:1rem 1.1rem}.theme-workspace .ws-class-card.kind-tinted{border-top:3px solid var(--class-kind-color,var(--kind-private))}.theme-workspace .ws-class-card h3{margin:0 0 .35rem;font-size:.98rem}.theme-workspace .ws-side-stack{flex-direction:column;gap:.85rem;display:flex}.theme-workspace .ws-action-row{flex-wrap:wrap;gap:.45rem;margin-top:.75rem;display:flex}@media (width<=960px){.theme-workspace .ws-stats,.theme-workspace .ws-grid-main{grid-template-columns:1fr}}@media (width<=900px){.theme-workspace .ws-help-card{display:none}}.theme-workspace .page-header h1{letter-spacing:-.02em}.theme-workspace.theme-platform{--mkt-mint:#38bdf8;--mkt-teal:#0369a1;--mkt-on-mint:#0b1220;--mkt-dark:#0f172a;--accent:#0369a1;--accent-hover:#0f172a;--accent-soft:#38bdf829;--surface:#f7faff;--surface-2:#f1f5f9;--line:#e2e8f0;--ink:#0f172a;--ink-muted:#475569;--radius:12px;--radius-sm:8px;--radius-lg:16px;--shadow-sm:none;--shadow:none;--font-display:"Space Grotesk", system-ui, sans-serif;--font-body:"Outfit", system-ui, sans-serif;background:var(--surface);font-family:var(--font-body)}.theme-platform .sidebar{color:#94a3b8;z-index:40;background:#0f172a;border-right:none;transition:background .2s,border-color .2s;overflow:visible}@media (width<=900px){.app .sidebar{z-index:60;-webkit-overflow-scrolling:touch;height:100dvh;max-height:100dvh;position:fixed;top:0;bottom:0;left:0;overflow:hidden auto}.theme-workspace .panel.table-wrap,.table-wrap{min-width:0;max-width:100%}.form-row>.panel-heading{grid-column:1/-1}}.theme-platform .sidebar--private{background:#0f172a;border-right:1px solid #94a3b840}.theme-platform .sidebar--private .mkt-mark-mint{color:#94a3b8}.theme-platform .sidebar--business{background:linear-gradient(#0c4a6e 0%,#0f172a 42% 100%);border-right:1px solid #38bdf859}.theme-platform .sidebar--business .mkt-mark-mint{color:#38bdf8}.theme-platform .sidebar--business .nav-link.active{color:#0b1220;background:#38bdf8}.theme-platform .sidebar--joined{background:linear-gradient(#064e3b 0%,#0f172a 42% 100%);border-right:1px solid #34d39959}.theme-platform .sidebar--joined .mkt-mark-mint{color:#34d399}.theme-platform .sidebar--joined .nav-link.active{color:#0b1220;background:#34d399}.theme-platform .sidebar--joined .nav-link.active svg{color:#0b1220}.theme-platform .ws-nav{z-index:0;position:relative}.theme-platform .brand{align-items:center;gap:.65rem}.theme-platform .brand-name{color:#fff;font-family:var(--font-display);letter-spacing:-.04em;text-transform:lowercase;font-size:1.35rem;font-weight:700;line-height:1.1}.theme-platform .brand-sub{color:#94a3b8;margin-top:.1rem;font-size:.78rem}.theme-platform .brand .mkt-mark,.theme-platform .mkt-mark-mint{color:#38bdf8}.theme-platform .nav-link{color:#f8fafc;border-radius:12px;gap:.65rem}.theme-platform .nav-link:hover{color:#fff;background:#ffffff0f}.theme-platform .nav-link.active{color:#0b1220;background:#38bdf8;font-weight:500}.theme-platform .nav-link.active svg{color:#0b1220}.theme-platform .ws-sidebar-bottom{z-index:0;background:0 0;border-top:1px solid #94a3b833;padding:.6rem 0 0}.theme-platform .ws-profile,.theme-platform .sidebar-foot.ws-profile{color:#e2e8f0;background:#ffffff0f;border-top:none;border-radius:14px;flex-direction:row;justify-content:space-between;align-items:center;gap:.55rem;padding:.7rem;display:flex}.theme-platform .sidebar-user{color:#f8fafc;padding:0;font-weight:500}.theme-platform .ws-role{color:#94a3b8;padding:0}.theme-platform .ws-signout.btn-ghost,.theme-platform .ws-signout{width:auto;box-shadow:none;border-radius:999px;padding:.5rem .75rem;font-size:.8125rem;font-weight:600;color:#0b1220!important;background:#38bdf8!important;border:1px solid #38bdf8!important}.theme-platform .ws-signout.btn-ghost:hover,.theme-platform .ws-signout:hover{color:#0b1220!important;background:#7dd3fc!important;border-color:#7dd3fc!important}.theme-platform .main{background:var(--surface)}.theme-platform .ws-topbar{border-bottom:1px solid var(--line);background:0 0}.theme-platform .platform-home{gap:1.75rem}.theme-platform .platform-home-header{align-items:flex-start;gap:1rem}.theme-platform .platform-kicker{color:var(--accent);letter-spacing:.04em;margin:0 0 .5rem;font-size:.85rem}.theme-platform .platform-home-header h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(2rem,3vw,2.5rem)}.theme-platform .platform-home-header p{max-width:40ch;color:var(--ink-muted);margin:.5rem 0 0}.theme-platform .muted,.theme-platform .empty,.theme-platform .ws-empty-soft,.theme-platform .platform-ops-lead,.theme-platform .ws-stat-label,.theme-platform .ws-breadcrumb,.theme-platform .ws-breadcrumb-link{color:var(--ink-muted)}.theme-platform .ws-breadcrumb-current{color:var(--ink)}.theme-platform .linkish{color:var(--accent)}.theme-platform .platform-status{color:#047857;white-space:nowrap;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;align-items:center;padding:.45rem .8rem;font-size:.85rem;font-weight:500;display:inline-flex}.theme-platform .student-home-header{border:1px solid var(--line);background:#fff;border-radius:20px;padding:1.35rem 1.5rem;transition:background .2s,border-color .2s}.theme-platform .student-home-header--private{background:#f8fafc;border-color:#cbd5e1}.theme-platform .student-home-header--private .platform-kicker{color:#475569}.theme-platform .student-home-header--business{background:linear-gradient(135deg,#e0f2fe 0%,#f0f9ff 55%,#fff 100%);border-color:#7dd3fc}.theme-platform .student-home-header--business .platform-kicker{color:#0369a1}.theme-platform .student-home-header--joined{background:linear-gradient(135deg,#d1fae5 0%,#ecfdf5 55%,#fff 100%);border-color:#6ee7b7}.theme-platform .student-home-header--joined .platform-kicker{color:#047857}.theme-platform .student-home-header-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.theme-platform .student-home .platform-kicker{letter-spacing:0;text-transform:none;font-size:.9rem;font-weight:600}.theme-platform .workspace-control-label{color:#94a3b8}.theme-platform .teacher-switcher-select,.theme-platform .workspace-trigger,.theme-platform .workspace-switcher-static{color:#f8fafc;background:#1e293b;border:1px solid #334155}.theme-platform .workspace-trigger--private{background:#1e293b;border-color:#64748b}.theme-platform .workspace-trigger--private .workspace-trigger-symbol{color:#cbd5e1}.theme-platform .workspace-trigger--business{background:#1b3f5a;border-color:#38bdf8}.theme-platform .workspace-trigger--business .workspace-trigger-symbol{color:#7dd3fc}.theme-platform .workspace-trigger--joined{background:#1b4348;border-color:#34d399}.theme-platform .workspace-trigger--joined .workspace-trigger-symbol{color:#6ee7b7}.theme-platform .workspace-trigger:hover{filter:brightness(1.08)}.theme-platform .workspace-switcher.is-open .workspace-trigger{border-width:2px;padding:calc(.75rem - 1px)}.theme-platform .workspace-switcher.is-open .workspace-trigger--private{border-color:#94a3b8}.theme-platform .workspace-switcher.is-open .workspace-trigger--private svg:last-child{color:#cbd5e1}.theme-platform .workspace-switcher.is-open .workspace-trigger--business{border-color:#38bdf8}.theme-platform .workspace-switcher.is-open .workspace-trigger--business svg:last-child{color:#7dd3fc}.theme-platform .workspace-switcher.is-open .workspace-trigger--joined{border-color:#34d399}.theme-platform .workspace-switcher.is-open .workspace-trigger--joined svg:last-child{color:#6ee7b7}.theme-platform .workspace-org{color:#f8fafc}.theme-platform .workspace-role{color:#94a3b8}.theme-platform .workspace-trigger svg:last-child{color:#94a3b8;flex-shrink:0}.theme-platform .workspace-switcher.is-open .workspace-trigger svg:last-child{color:#38bdf8}.theme-platform .page-header{margin-bottom:1.25rem}.theme-platform .page-header h1{letter-spacing:-.03em;font-size:clamp(1.75rem,2.5vw,2.25rem)}.theme-platform .panel{border:1px solid var(--line);box-shadow:none;background:#fff;border-radius:20px}.theme-platform .ws-stats-admin{gap:.75rem}.theme-platform .ws-stat{box-shadow:none;border-radius:12px;min-height:0;padding:1.1rem 1.15rem}.theme-platform .ws-stat-value{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.75rem}.theme-platform .platform-grid{gap:1rem}.theme-platform .ws-card{box-shadow:none;border-radius:16px}.theme-platform .ws-card-title{font-family:var(--font-display);letter-spacing:-.02em}.theme-platform .platform-quick-links a{border:1px solid var(--line);color:var(--ink);padding:.75rem 0;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding-inline:.85rem;font-weight:500;text-decoration:none;display:flex}.theme-platform .platform-quick-links a:hover{border-color:#38bdf8}@supports (color:color-mix(in lab, red, red)){.theme-platform .platform-quick-links a:hover{border-color:color-mix(in srgb, #38bdf8 45%, var(--line))}}.theme-platform .platform-quick-links a:hover{background:#38bdf80f}.theme-platform .platform-quick-links a span:last-child{color:var(--accent)}.theme-platform .platform-quick-links{flex-direction:column;gap:.5rem;margin-top:.85rem;display:flex}.theme-platform .platform-ops{border-color:var(--line);color:var(--ink);background:#fff}.theme-platform .platform-ops .ws-card-title{color:var(--ink)}.theme-platform .platform-ops-lead{color:var(--ink-muted);margin:0;font-size:.95rem;line-height:1.45}.theme-platform .platform-ops-actions{flex-direction:column;align-items:stretch;gap:.75rem;margin-top:1.25rem;display:flex}.theme-platform .platform-ops-actions .ws-join-action,.theme-platform .platform-ops-actions .ws-join-action>.btn{width:100%}.theme-platform .platform-header-pill{color:#0369a1;white-space:nowrap;background:#fff;border:1px solid #38bdf8;border-radius:999px;align-items:center;padding:.45rem .85rem;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.theme-platform .platform-header-pill:hover{background:#38bdf81a}.theme-platform .ws-trial-banner{background:#ecfdf5;border-color:#a7f3d0;border-radius:14px}.theme-platform .ws-trial-banner strong,.theme-platform .ws-trial-banner p{color:#047857}a.platform-btn-mint,.theme-platform .platform-btn-mint,.theme-platform a.platform-btn-mint{border-radius:12px;justify-content:center;box-shadow:0 10px 24px #38bdf833;color:#0b1220!important;background:#38bdf8!important;border-color:#38bdf8!important}a.platform-btn-mint:hover,.theme-platform .platform-btn-mint:hover,.theme-platform a.platform-btn-mint:hover{color:#0b1220!important;background:#7dd3fc!important;border-color:#7dd3fc!important}a.platform-btn-ghost,.theme-platform .platform-btn-ghost,.theme-platform a.platform-btn-ghost{border-radius:12px;justify-content:center;color:#0369a1!important;background:#fff!important;border-color:#38bdf8!important}a.platform-btn-ghost:hover,.theme-platform .platform-btn-ghost:hover,.theme-platform a.platform-btn-ghost:hover{color:#0369a1!important;background:#38bdf81a!important;border-color:#38bdf8!important}.theme-platform .page-header h1,.theme-platform .panel-heading,.theme-platform h1,.theme-platform h2{font-family:var(--font-display)}.theme-platform .btn{border-radius:8px}.theme-platform .btn:not(.btn-secondary):not(.btn-ghost):not(.btn-danger):not(.btn-green):not(.platform-btn-ghost):not(.workspace-join-lookup):not(.workspace-join-cancel){background:#0f172a;border-color:#0f172a}.theme-platform .btn:not(.btn-secondary):not(.btn-ghost):not(.btn-danger):not(.btn-green):not(.platform-btn-ghost):not(.workspace-join-lookup):not(.workspace-join-cancel):hover{background:#1e293b;border-color:#1e293b}.institution-manage-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.65rem;padding:.55rem 0;display:flex}.institution-manage-row:last-child{border-bottom:none}.institution-swatch{border-radius:999px;flex-shrink:0;width:.85rem;height:.85rem}.institution-manage-row input[type=color]{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;width:2rem;height:1.6rem;padding:0}.theme-workspace .institution-card{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.theme-workspace .institution-card:first-child{border-top:none;padding-top:0}.theme-workspace .panel.table-wrap{border-radius:var(--radius-lg)}.theme-workspace .page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.15rem;display:flex}.theme-workspace .page-header h1{margin:0;font-size:clamp(1.35rem,2vw,1.7rem)}.theme-workspace .page-header p{color:var(--ink-muted);margin:.3rem 0 0}.theme-workspace .tab-row{border:1px solid var(--line);background:#fff;border-radius:999px;flex-wrap:wrap;gap:.35rem;width:fit-content;max-width:100%;margin-bottom:1.15rem;padding:.3rem;display:flex}.theme-workspace .tab-btn{appearance:none;color:var(--ink-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.5rem .95rem;font-size:.88rem;font-weight:600}.theme-workspace .tab-btn:hover{color:var(--ink);background:var(--surface)}.theme-workspace .tab-btn.active,.theme-workspace .tab-btn.kind-private.active,.theme-workspace .tab-btn.kind-institutional.active{background:var(--accent);color:#fff}.theme-workspace .students-filters{margin-bottom:1rem}.theme-workspace .students-filters-row{align-items:end}.theme-workspace .students-filters-count{margin:.75rem 0 0;font-size:.88rem}.theme-workspace .student-assign-ms{min-width:10.5rem;max-width:14rem}.theme-workspace .student-assign-ms .student-ms-menu{min-width:100%;right:auto}.theme-workspace .student-teacher-chips{flex-wrap:wrap;gap:.35rem;display:flex}.theme-workspace .student-teacher-chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:.25rem;padding:.2rem .45rem .2rem .55rem;font-size:.82rem;font-weight:500;display:inline-flex}.theme-workspace .student-teacher-chip-x{appearance:none;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;padding:0 .15rem;font-size:1rem;line-height:1}.theme-workspace .student-teacher-chip-x:hover:not(:disabled){color:var(--ink)}.theme-workspace .student-teacher-chip-x:disabled{opacity:.5;cursor:default}.theme-workspace table.data{border-collapse:collapse;width:100%;font-size:.9rem}.theme-workspace table.data th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);border-bottom:1px solid var(--line);padding:.55rem .65rem;font-size:.75rem;font-weight:600}.theme-workspace table.data td{border-bottom:1px solid var(--line);padding:.75rem .65rem}.theme-workspace .badge{background:var(--accent-soft);color:var(--accent);border:none;border-radius:999px}.theme-workspace .badge.badge-idle{color:#475569;background:#eef2f6}.instructor-availability{cursor:pointer;align-items:center;gap:.4rem;display:inline-flex}.theme-workspace .teacher-quick-links{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.theme-workspace .teacher-quick-link{border:1px solid var(--line);border-radius:var(--radius-lg);color:inherit;box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:.25rem;padding:1rem 1.1rem;text-decoration:none;display:flex}.theme-workspace .teacher-quick-link:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.theme-workspace .teacher-quick-link:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}}.theme-workspace .teacher-quick-link strong{color:var(--accent)}.theme-workspace .teacher-quick-link span{color:var(--ink-muted);font-size:.82rem}.mkt-auth-shell{--mkt-ink:#0f172a;--mkt-muted:#64748b;--mkt-teal:#0369a1;--mkt-mint:#38bdf8;--mkt-on-mint:#0b1220;--mkt-dark:#0f172a;--mkt-paper:#f8fafc;--mkt-line:#e2e8f0;--mkt-display:"Space Grotesk", var(--font-display), system-ui, sans-serif;--mkt-body:"Outfit", var(--font-body), system-ui, sans-serif;background:var(--mkt-paper);min-height:100svh;color:var(--mkt-ink);font-family:var(--mkt-body);display:grid}@media (width>=960px){.mkt-auth-shell{grid-template-columns:minmax(280px,620px) minmax(0,1fr)}}.mkt-auth-brand{background:var(--mkt-dark);color:#fff;flex-direction:column;gap:4rem;min-height:100svh;padding:4rem;display:none}@media (width>=960px){.mkt-auth-brand{display:flex}}.mkt-auth-brand-mark{color:#fff;font-family:var(--mkt-display);letter-spacing:-.05em;text-transform:lowercase;align-items:center;gap:.65rem;width:fit-content;font-size:1.95rem;font-weight:700;text-decoration:none;display:inline-flex}.mkt-auth-brand-copy{flex-direction:column;gap:1.5rem;display:flex}.mkt-auth-brand-kicker{color:var(--mkt-mint);letter-spacing:.02em;margin:0;font-size:1rem}.mkt-auth-brand-copy h2{font-family:var(--mkt-display);letter-spacing:-.03em;color:#fff;margin:0;font-size:clamp(2.4rem,4vw,4rem);font-weight:700;line-height:1.12}.mkt-auth-brand-copy>p:last-child{color:#94a3b8;margin:0;font-size:1rem}.mkt-auth-artwork{flex-direction:column;justify-content:center;min-height:300px;margin-top:auto;padding:2rem;display:flex;position:relative}.mkt-auth-bench{flex-direction:column;gap:1.125rem;width:min(100%,390px);display:flex}.mkt-auth-bench-seat{background:var(--mkt-mint);border-radius:15px;height:54px;display:block}.mkt-auth-bench-legs{justify-content:space-between;display:flex}.mkt-auth-bench-legs span{border-radius:12px;width:60px;height:180px;display:block}.mkt-auth-bench-legs span:first-child{background:#0369a1}.mkt-auth-bench-legs span:last-child{background:#38bdf8}.mkt-auth-orbit{pointer-events:none;width:230px;height:230px;position:absolute;top:-.5rem;left:14.5rem}.mkt-auth-brand-note{color:#94a3b8;margin:0;font-size:1rem}.mkt-auth-panel{flex-direction:column;gap:2.5rem;min-height:100svh;padding:2rem 1.5rem 2.5rem;display:flex}@media (width>=960px){.mkt-auth-panel{gap:4rem;padding:5rem clamp(2.5rem,7vw,6.875rem) 4rem}}.mkt-auth-panel-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.mkt-auth-back{color:var(--mkt-teal);font-size:1rem;text-decoration:none}.mkt-auth-back:hover{text-decoration:underline}.mkt-auth-help{color:var(--mkt-muted);display:inline-flex}.mkt-auth-mobile-brand{display:none}@media (width<=959px){.mkt-auth-back{display:none}.mkt-auth-mobile-brand{color:var(--mkt-ink);font-family:var(--mkt-display);letter-spacing:-.05em;text-transform:lowercase;align-items:center;gap:.65rem;font-size:1.95rem;font-weight:700;text-decoration:none;display:inline-flex}}.mkt-auth-panel-body{flex-direction:column;flex:1;gap:1.75rem;width:min(100%,600px);display:flex}.mkt-auth-intro{flex-direction:column;align-items:flex-start;gap:.85rem;display:flex}.mkt-auth-role{letter-spacing:.01em;color:#0369a1;background:#ecfeff;border:1px solid #38bdf8;border-radius:999px;align-items:center;padding:.35rem .75rem;font-size:.8125rem;font-weight:600;display:inline-flex}.mkt-auth-role-student{color:#047857;background:#ecfdf5;border-color:#86efac}.mkt-auth-intro h1{font-family:var(--mkt-display);letter-spacing:-.03em;color:var(--mkt-ink);margin:0;font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.12}.mkt-auth-sub{color:var(--mkt-muted);margin:0;font-size:1rem;line-height:1.45}.mkt-auth-notice{background:#e0f2fe;border-radius:8px;align-items:flex-start;gap:.75rem;padding:1.125rem;display:flex}.mkt-auth-notice-dot{background:var(--mkt-teal);width:1.25rem;height:1.25rem;box-shadow:inset 0 0 0 4px #e0f2fe, inset 0 0 0 5px var(--mkt-teal);border-radius:50%;flex-shrink:0;margin-top:.1rem}.mkt-auth-notice strong{color:var(--mkt-ink);font-weight:500;display:block}.mkt-auth-notice p{color:var(--mkt-muted);margin:.2rem 0 0;font-size:.95rem}.mkt-auth-form,.mkt-signup-stage{flex-direction:column;gap:1.75rem;width:min(100%,22rem);display:flex}.mkt-signup-stage{gap:0}.mkt-auth-field{flex-direction:column;gap:.45rem;display:flex}.mkt-auth-field label{color:var(--mkt-ink);font-size:1rem}.mkt-auth-field input{border:1px solid var(--mkt-line);min-height:46px;color:var(--mkt-ink);font:inherit;background:#fff;border-radius:8px;padding:.7rem .8rem;font-size:1rem}.mkt-auth-field input:disabled{color:var(--mkt-muted);background:#eef3f3}.mkt-auth-field input:focus{border-color:var(--mkt-teal);outline:none;box-shadow:0 0 0 3px #0369a11f}.mkt-auth-field-hint{color:var(--mkt-muted);margin:0;font-size:.95rem}.mkt-auth-submit{background:var(--mkt-mint);color:#0b1220;min-height:44px;font:inherit;cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:.65rem 1.15rem;font-size:1rem;font-weight:500}.mkt-auth-submit:hover:not(:disabled){color:#0b1220;background:#7dd3fc}.mkt-auth-submit:disabled{opacity:.65;cursor:not-allowed}.mkt-signup-stage{width:min(100%,22rem);overflow:hidden}.mkt-signup-track{width:200%;transition:transform .38s cubic-bezier(.22,1,.36,1);display:flex}.mkt-signup-track.is-form{transform:translate(-50%)}.mkt-signup-slide{flex-direction:column;flex:0 0 50%;gap:1.25rem;width:50%;min-width:0;padding-right:.15rem;display:flex}.mkt-signup-choices{flex-direction:column;gap:.75rem;display:flex}.mkt-signup-choice{border:1px solid var(--mkt-line);width:100%;color:var(--mkt-ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;gap:.35rem;padding:1rem 1.05rem;display:flex}.mkt-signup-choice strong{font-size:1.05rem;font-weight:650}.mkt-signup-choice span{color:var(--mkt-muted);font-size:.95rem;line-height:1.4}.mkt-signup-choice:hover{border-color:var(--mkt-teal);background:#0369a10a}.mkt-signup-back{color:#5b21b6;min-height:36px;font:inherit;cursor:pointer;background:#f5f3ff;border:1px solid #c4b5fd;border-radius:8px;align-self:flex-start;align-items:center;gap:.4rem;margin:0;padding:.4rem .85rem;font-size:.9rem;font-weight:600;display:inline-flex}.mkt-signup-back:hover{background:#ede9fe;border-color:#a78bfa}.mkt-auth-switch{color:var(--mkt-ink);margin:0;font-size:1rem}.mkt-auth-switch a,.mkt-auth-hint a{color:var(--mkt-teal);font-weight:500;text-decoration:none}.mkt-auth-switch a:hover,.mkt-auth-hint a:hover{text-decoration:underline}.mkt-auth-hint{color:var(--mkt-muted);margin:0;font-size:1rem;line-height:1.45}.mkt-auth-legal{color:var(--mkt-muted);align-items:flex-start;gap:.65rem;margin:0;font-size:.95rem;line-height:1.45;display:flex}.mkt-auth-legal input{flex-shrink:0;margin-top:.2rem}.mkt-auth-legal label{cursor:pointer}.mkt-auth-legal a{color:var(--mkt-teal);font-weight:500;text-decoration:underline}.mkt-legal .mkt-nav-light,.mkt-legal>.mkt-footer{width:min(720px,100% - 2.5rem);margin-inline:auto;padding-inline:0}.mkt-legal-main{width:min(720px,100% - 2.5rem);margin-inline:auto;padding:0 0 4rem}.mkt-legal-main h1{margin:.35rem 0 .75rem;font-size:clamp(2.4rem,6vw,3.6rem)}.mkt-legal-updated{color:var(--mkt-muted);margin:0 0 1.75rem}.mkt-legal-main h2{margin:1.85rem 0 .5rem;font-size:1.35rem}.mkt-legal-main p{margin:0 0 .85rem;font-size:1.02rem;line-height:1.55}.mkt.mkt-legal .mkt-legal-main a{color:var(--mkt-teal);text-decoration:underline}.mkt-auth-shell .error{margin:0}.billing-hub-page{flex-direction:column;gap:1rem;min-height:0;display:flex}.billing-hub.ws-home{gap:.85rem}.billing-hub-tabs{margin-bottom:0}.billing-hub-panel{min-width:0}.billing-hub-panel>.page-header>div:first-child{display:none}.billing-hub-panel>.page-header{margin-bottom:.75rem}.billing-hub-panel-embed{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;min-height:70vh;overflow:hidden}.billing-hub-embed{min-height:70vh;display:block}.student-bills-filters{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.student-bills-filters .field{min-width:12rem;margin:0}.student-bills-table-wrap{margin-bottom:1rem;overflow:auto}.bill-icon-actions{align-items:center;gap:.35rem;display:inline-flex}.bill-icon{display:inline-flex;position:relative}.bill-icon-btn{cursor:pointer;justify-content:center;align-items:center;width:2.15rem;min-width:2.15rem;height:2.15rem;min-height:2.15rem;padding:0;display:inline-flex}.panel.table-wrap:has(.bill-icon-actions){overflow:visible}.bill-icon-popup{z-index:30;border:1px solid var(--line,#e5e7eb);color:#0f172a;white-space:nowrap;pointer-events:none;opacity:0;background:#fff;border-radius:.55rem;padding:.4rem .6rem;font-size:.75rem;font-weight:600;line-height:1.2;position:absolute;bottom:calc(100% + .4rem);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0f172a1f}.bill-icon:hover .bill-icon-popup,.bill-icon:focus-within .bill-icon-popup{opacity:1}.student-bills-table{width:100%}.student-bills-table tbody tr{cursor:pointer}.student-bills-table tbody tr.is-selected{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.student-bills-table tbody tr.is-selected{background:color-mix(in srgb, var(--accent-soft) 55%, white)}}.student-bills-check{text-align:center;width:2rem}.student-bills-status{background:var(--surface);color:var(--ink-muted);border-radius:999px;padding:.15rem .45rem;font-size:.75rem;font-weight:650;display:inline-block}.student-bills-status.status-not-invoiced{color:#4a5560;background:#5a6d751f}.student-bills-status.status-invoice-drafted{color:#9a3412;background:#b453091f}.student-bills-status.status-invoice-sent{color:#1e3a8a;background:#2f6fed1f}.student-bills-status.status-paid{color:#0f4a40;background:#168a7624}.student-bills-action{flex-direction:column;gap:.85rem;display:flex}.student-bills-sum{flex-direction:column;gap:.15rem;display:flex}.student-bills-action-fields{flex-wrap:wrap;align-items:flex-end;gap:.85rem;display:flex}.student-bills-action-fields .field{margin:0}.student-bills-notes{flex:1;min-width:14rem}.student-bills-action-btns{flex-wrap:wrap;gap:.55rem;display:flex}.billing-editor-page{flex-direction:column;flex:1;gap:.75rem;height:100%;min-height:0;display:flex}.billing-editor-back{flex-shrink:0;margin:0}.billing-editor-page .ledgerform-embed{border:1px solid var(--line);border-radius:var(--radius-lg);flex:1;min-height:0}.main-embed>.ws-topbar{flex-shrink:0}.main-embed>:not(.ws-topbar){flex:1;min-height:0}.private-class-card.inactive{opacity:.72;background:var(--surface-2,#f6f6f4)}.status-select{cursor:pointer;border:1px solid #0000;border-radius:8px;min-height:2rem;padding:.35rem .55rem;font-weight:650}.status-select.status-scheduled{color:#1e4d7b;background:#1e4d7b1f;border-color:#1e4d7b47}.status-select.status-completed{color:#0f6b5c;background:#0f6b5c24;border-color:#0f6b5c47}.status-select.status-missed{color:#c45a12;background:#c45a1224;border-color:#c45a124d}.status-select.status-cancelled{color:#5a6d75;background:#5a6d7524;border-color:#5a6d7547}.status-select:disabled{opacity:.65;cursor:wait}.status-select option{background:#fff;font-weight:600}.policy-checklist{border:1px solid var(--line);background:#ffffff8c;border-radius:10px;flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.policy-checklist>li{border-bottom:1px solid var(--line);margin:0}.policy-checklist>li:last-child{border-bottom:none}.policy-check-row{cursor:default;align-items:flex-start;gap:.75rem;margin:0;padding:.85rem 1rem;display:flex}.policy-check-row:hover{background:#00000006}.policy-check-row input[type=checkbox]{flex-shrink:0;margin-top:.2rem}.policy-check-copy{flex-direction:column;flex:1;gap:.35rem;width:100%;min-width:0;display:flex}.policy-check-title{letter-spacing:-.01em;color:var(--ink,#1a1f24);font-size:.92rem;font-weight:650}.policy-check-body{color:var(--muted,#5a6570);font-size:.9rem;line-height:1.45}.policy-check-body strong{color:var(--ink,#1a1f24);font-weight:650}.policy-body-editor{flex-direction:column;gap:.35rem;width:100%;min-width:0;display:flex}.policy-check-body-input{box-sizing:border-box;border:1px solid var(--line);background:var(--paper,#fff);width:100%;min-width:0;font:inherit;color:var(--ink,#1a1f24);resize:none;border-radius:8px;outline:none;min-height:4.5rem;margin:0;padding:.65rem .75rem;font-size:.92rem;line-height:1.5;transition:border-color .15s,box-shadow .15s;overflow:hidden}.policy-check-body-input:focus{border-color:var(--accent,#6b5cff);box-shadow:var(--focus-ring,0 0 0 3px #6b5cff2e)}.policy-body-preview{color:var(--muted,#5a6570);margin:0;padding:.45rem .15rem 0;font-size:.86rem;line-height:1.45}.policy-body-preview strong{color:var(--ink,#1a1f24);font-weight:650}.policy-check-hint{font-size:.78rem}.policy-custom-row .field{margin-bottom:0}.policy-checklist-readonly{background:0 0;border:none;gap:.85rem}.policy-checklist-readonly>li{border:none;padding:0}.policy-custom{flex-direction:column;gap:.65rem;margin-top:.25rem;display:flex}.policy-custom-head{justify-content:space-between;align-items:center;display:flex}.policy-custom-empty{margin:0;font-size:.9rem}.policy-custom-row{flex-direction:column;gap:.5rem;padding:.85rem 1rem;display:flex}.policy-checklist-custom{margin-top:.15rem}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
