@charset "UTF-8";@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/libre-baskerville-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/libre-baskerville-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/libre-baskerville-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/libre-baskerville-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Libre Baskerville;font-style:italic;font-display:swap;font-weight:400;src:url(/fonts/libre-baskerville-latin-ext-400-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Libre Baskerville;font-style:italic;font-display:swap;font-weight:400;src:url(/fonts/libre-baskerville-latin-400-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono-cyrillic-ext-400-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-mono-cyrillic-ext-500-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-mono-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-mono-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/ibm-plex-mono-cyrillic-ext-600-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/ibm-plex-mono-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/ibm-plex-mono-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/ibm-plex-mono-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--select-chevron: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%3Cg%20stroke%3D%22%23a4a4a3%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M18%209.00005C18%209.00005%2013.5811%2015%2012%2015C10.4188%2015%206%209%206%209%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E)}.dark{--select-chevron: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%3Cg%20stroke%3D%22%237c7770%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M18%209.00005C18%209.00005%2013.5811%2015%2012%2015C10.4188%2015%206%209%206%209%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E)}:root,.dark{--color-background: var(--surface-canvas);--color-surface: var(--surface-default);--color-surface-muted: var(--surface-muted);--color-border: var(--border-default);--color-brand: var(--action-primary);--brand-primary-hover: var(--action-primary-hover);--color-brand-hover: var(--brand-primary-hover);--color-brand-strong: var(--action-primary);--color-brand-secondary: var(--data-5);--color-brand-danger: var(--action-danger);--color-brand-soft: color-mix(in sRGB, var(--action-primary) 14%, var(--surface-default));--color-brand-subtle: color-mix(in sRGB, var(--action-primary) 14%, var(--surface-default));--color-brand-ink: var(--text-brand);--color-on-accent: var(--action-primary-on);--color-warning: var(--status-warning);--color-danger: var(--action-danger);--font-family-base: var(--font-sans);--font-family-display: var(--font-sans);--font-family-document: var(--font-sans);--bg: var(--color-background);--panel: var(--color-surface);--panel2: var(--color-surface-muted);--line: var(--color-border);--brand: var(--color-brand);--brand2: var(--color-brand-secondary);--soft: var(--color-brand-soft);--warn: var(--color-warning);--bad: var(--color-danger);--focus-ring: var(--focus);--brand-ink: var(--color-brand-ink);--field-bg: var(--surface-field);--field-border: var(--border-field)}.dark{color:var(--text)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:color-mix(in sRGB,var(--text-muted) 55%,transparent) transparent}html,body{max-width:100%;overflow-x:clip}button,a,summary,[role=button],input,select,textarea{-webkit-tap-highlight-color:transparent}@media(hover:none){:focus-visible{outline:none}}::selection{color:var(--text);background:color-mix(in sRGB,var(--brand2) 18%,transparent)}*::-webkit-scrollbar{width:8px;height:8px}.scroll-fade--top,.scroll-fade--bottom{--scroll-fade-size: 20px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%}.scroll-fade--top:not(.scroll-fade--bottom){-webkit-mask-image:linear-gradient(to bottom,transparent,var(--neutral-1000) var(--scroll-fade-size));mask-image:linear-gradient(to bottom,transparent,var(--neutral-1000) var(--scroll-fade-size))}.scroll-fade--bottom:not(.scroll-fade--top){-webkit-mask-image:linear-gradient(to bottom,var(--neutral-1000) calc(100% - var(--scroll-fade-size)),transparent);mask-image:linear-gradient(to bottom,var(--neutral-1000) calc(100% - var(--scroll-fade-size)),transparent)}.scroll-fade--top.scroll-fade--bottom{-webkit-mask-image:linear-gradient(to bottom,transparent,var(--neutral-1000) var(--scroll-fade-size),var(--neutral-1000) calc(100% - var(--scroll-fade-size)),transparent);mask-image:linear-gradient(to bottom,transparent,var(--neutral-1000) var(--scroll-fade-size),var(--neutral-1000) calc(100% - var(--scroll-fade-size)),transparent)}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{min-height:30px;border:2px solid transparent;border-radius:var(--radius-pill);background:color-mix(in sRGB,var(--text-muted) 55%,transparent);background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:color-mix(in sRGB,var(--text-muted) 75%,transparent);background-clip:padding-box}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}html.modal-open{overflow:hidden}body{font-family:var(--font-family-base);font-size:var(--font-size-body);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);letter-spacing:var(--tracking-normal);margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3{font-family:var(--font-family-display);letter-spacing:-.01em}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4-5);gap:var(--space-4)}.topbar h1{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.topbar:not(:has(button,.btn,a,input,select)){margin-bottom:0}.sub{color:var(--text-muted)}.btn{--button-background: transparent;--button-border: var(--field-border);--button-color: var(--text);--button-min-height: 42px;--button-padding-x: 16px;--button-font-size: var(--font-size-body);--button-gap: 7px;display:inline-flex;align-items:center;justify-content:center;gap:var(--button-gap);min-height:var(--button-min-height);border-radius:var(--radius-xl);padding:var(--space-1) var(--button-padding-x);font-size:var(--button-font-size);font-weight:700;line-height:1.15;background:var(--button-background);color:var(--button-color);border:1px solid var(--button-border);transition:color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),filter var(--dur) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.btn--sm,.ui-button--sm{--button-min-height: 36px;--button-padding-x: 13px;--button-font-size: var(--font-size-body-small);--button-gap: 6px}.btn--md,.ui-button--md{--button-min-height: 42px;--button-padding-x: 16px;--button-font-size: var(--font-size-body);--button-gap: 7px}.btn--lg,.ui-button--lg{--button-min-height: 48px;--button-padding-x: 20px;--button-font-size: var(--font-size-body-large);--button-gap: 8px}.btn.secondary{--button-background: transparent;--button-border: var(--field-border);--button-color: var(--text)}.btn.primary{--button-background: var(--action-primary);--button-border: var(--action-primary);--button-color: var(--color-on-accent);background:var(--button-background);box-shadow:none}.btn.ghost{--button-background: transparent;--button-border: transparent;--button-color: var(--text);box-shadow:none}.btn.soft{--button-background: color-mix(in sRGB, var(--action-primary) 12%, var(--surface-default));--button-border: transparent;--button-color: var(--text-brand);box-shadow:none}.btn.danger{--button-background: transparent;--button-border: color-mix(in sRGB, var(--bad) 32%, var(--line));--button-color: var(--bad)}@media(hover:hover){.btn.secondary:hover{background:color-mix(in sRGB,var(--action-primary) 6%,transparent);border-color:color-mix(in sRGB,var(--action-primary) 30%,var(--field-border))}.btn.primary:hover{--button-glow: 0 5px 14px color-mix(in sRGB, var(--action-primary) 22%, transparent);background:var(--color-brand-hover);box-shadow:var(--button-glow)}.btn.ghost:hover{background:color-mix(in sRGB,var(--brand2) 9%,transparent);color:var(--brand-ink, var(--brand2))}.btn.soft:hover{background:color-mix(in sRGB,var(--action-primary) 20%,var(--surface-default))}.btn.danger:hover{background:color-mix(in sRGB,var(--bad) 9%,transparent);border-color:color-mix(in sRGB,var(--bad) 55%,var(--line))}}.btn:active:not(:disabled,[aria-disabled=true]){transform:scale(.97)}.btn{--button-focus-ring: 0 0 0 3px color-mix(in sRGB, var(--focus) 24%, transparent);--button-focus-glow: 0 8px 20px color-mix(in sRGB, var(--pink-420) 20%, transparent)}.btn:focus-visible{outline:0;box-shadow:var(--button-focus-ring)}.btn.primary:focus-visible{box-shadow:var(--button-focus-glow),var(--button-focus-ring)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;filter:none;opacity:.55;transform:none}.grid{display:grid;gap:var(--space-4-5)}.student-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);text-align:center;margin-bottom:var(--space-3-5)}.student-metrics div{padding:var(--space-2) var(--space-1);border:1px solid var(--field-border);background:transparent;border-radius:var(--radius-xl)}.student-metrics b,.student-metrics small{display:block}.student-metrics small{color:var(--text-muted);font-size:var(--font-size-caption-small)}.page{display:none}.page.active{display:block}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-2)}.day{min-height:115px;padding:var(--space-2-5);border-radius:var(--radius-xl);border:1px solid var(--line);background:var(--panel2)}.day .date{font-weight:800;margin-bottom:var(--space-2)}.day.today{border-color:var(--brand2)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4-5) var(--space-3)}.form-grid>.full{grid-column:1/-1}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{margin:0;appearance:none}input[type=number]{appearance:textfield}select{appearance:none;cursor:pointer;padding-right:var(--space-10);background-image:var(--select-chevron);background-position:calc(100% - 18px) 50%;background-size:14px 14px;background-repeat:no-repeat}select:disabled{cursor:not-allowed}@supports (appearance: base-select){select:not([multiple]),select:not([multiple])::picker(select){appearance:base-select}select:not([multiple])::picker-icon,select:not([multiple]) option::checkmark{display:none}select:not([multiple])::picker(select){position-area:block-end span-inline-end;margin-block-start:var(--space-1-5);border:1px solid var(--border-field);border-radius:var(--radius-xl);background:var(--surface-field);box-shadow:var(--shadow-lg);transform-origin:top center;transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur) var(--ease-out),display var(--dur-fast) allow-discrete,overlay var(--dur-fast) allow-discrete}select:not([multiple]) option{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:transparent;color:var(--text);cursor:pointer}select:not([multiple]) option:is(:hover,:focus-visible){background:color-mix(in sRGB,var(--action-primary) 14%,var(--surface-default));outline:none}select:not([multiple]) option:checked{background:color-mix(in sRGB,var(--text) 6%,transparent)}select:not([multiple]):not(:open)::picker(select){opacity:0;transform:translateY(-6px) scale(.98)}@starting-style{select:not([multiple])::picker(select):popover-open{opacity:0;transform:translateY(-6px) scale(.98)}}}.modal-wrap{position:fixed;inset:0;background:color-mix(in sRGB,var(--neutral-938) 58%,transparent);display:none;align-items:center;justify-content:center;padding:var(--space-4-5);z-index:var(--z-modal);overscroll-behavior:contain}.modal-wrap.open{display:flex}.modal{width:min(720px,100%);max-height:92vh;overflow:auto;overscroll-behavior:contain;background:var(--panel);border-radius:var(--radius-3xl);box-shadow:var(--shadow-card)}.modal-head{position:sticky;top:0;background:var(--panel);display:flex;justify-content:space-between;align-items:center;padding:var(--space-4-5) var(--space-5);border-bottom:1px solid var(--line);z-index:var(--z-sticky)}.modal-head h2{margin:0;font-size:var(--font-size-title);line-height:var(--line-height-snug);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-snug)}.close{display:grid;place-items:center;border:0;background:transparent;color:var(--text);width:44px;height:44px;border-radius:var(--radius-lg);font-size:var(--font-size-title);cursor:pointer;transition:color var(--dur-160) ease,background-color var(--dur-160) ease,box-shadow var(--dur-160) ease,transform var(--dur-100) ease}.close:hover{color:var(--brand-ink);background:var(--soft)}.close:active{transform:scale(.94)}.close:focus-visible{--close-focus-ring: 0 0 0 3px color-mix(in sRGB, var(--focus) 28%, transparent);outline:0;box-shadow:var(--close-focus-ring)}.modal-body{padding:var(--space-5)}.modal-foot{position:sticky;bottom:0;z-index:var(--z-sticky);display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--line);background:var(--panel);--modal-foot-shadow: 0 -8px 20px -12px color-mix(in sRGB, var(--neutral-945) 28%, transparent);box-shadow:var(--modal-foot-shadow)}.modal-foot-cancel{margin-right:auto}.profile-summary{display:flex;gap:var(--space-3-5);align-items:center;margin-bottom:var(--space-4-5)}.mini-table{width:100%;border-collapse:collapse}.mini-table th,.mini-table td{text-align:left;padding:var(--space-2-5) var(--space-2);border-bottom:1px solid var(--line);vertical-align:top}.mini-table th{font-size:var(--font-size-caption);color:var(--text-muted)}.report-paper{--paper-ink: var(--blue-810);--paper-muted: var(--neutral-520);--paper-line: color-mix(in sRGB, var(--blue-810) 9%, transparent);--paper-pink-bg: var(--neutral-40);--paper-pink: var(--pink-450);--paper-green-bg: var(--neutral-42);--paper-green: var(--emerald-470);--paper-blue-bg: var(--blue-50);--paper-blue: var(--blue-500);--paper-peach-bg: var(--amber-40);--paper-pill-bg: var(--neutral-50);--paper-pill-ink: var(--blue-630);--paper-shadow: 0 12px 35px color-mix(in sRGB, var(--blue-920) 10%, transparent);font-family:var(--font-family-document);background:var(--color-on-accent);color:var(--paper-ink);border-radius:var(--radius-3xl);box-shadow:var(--paper-shadow);overflow:hidden}.paper-head{padding:var(--space-6) var(--space-6) 0;background:var(--color-on-accent)}.paper-head h2{font-size:var(--font-size-heading);line-height:1.2;font-weight:700;color:var(--paper-ink);text-transform:none;letter-spacing:0;margin:0}.paper-pills{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-3-5)}.paper-pill{padding:var(--space-2) var(--space-3-5);background:var(--paper-pill-bg);border-radius:var(--radius-pill);color:var(--paper-pill-ink);font-size:var(--font-size-caption);line-height:1.2;font-weight:700}.paper-body{padding:var(--space-5);display:grid;gap:var(--space-3-5)}.paper-section{border-radius:var(--radius-2xl);padding:var(--space-4-5) var(--space-5);background:var(--surface-neutral);line-height:1.4}.paper-section[data-report-section=nextPackage]{background:linear-gradient(135deg,var(--amber-40),var(--amber-60))}.paper-section[data-report-section=general]{background:var(--paper-pink-bg)}.paper-section[data-report-section=topics]{background:var(--paper-green-bg)}.paper-section[data-report-section=hws]{background:var(--paper-blue-bg)}.paper-section[data-report-section=tests]{background:var(--paper-peach-bg)}.paper-section[data-report-section=comments]{background:var(--paper-pink-bg)}.paper-title{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-3-5);font-size:var(--font-size-body-large);line-height:1.2;font-weight:700;color:var(--paper-ink)}.paper-lines{margin:0;padding:0;list-style:none}.paper-lines li{margin:var(--space-2) 0}.paper-stat{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.paper-stat-summary{margin-top:var(--space-3-5);padding-top:var(--space-3-5);border-top:1px solid var(--paper-line)}.paper-big{font-size:var(--font-size-page-title);line-height:1.2;font-weight:700}.paper-caption{margin-top:var(--space-1-5);font-size:var(--font-size-body);line-height:1.2;color:var(--paper-muted)}.paper-avg{margin-top:var(--space-2);font-size:var(--font-size-body);line-height:1.2;font-weight:600}.paper-table{width:100%;border-collapse:collapse;font-size:var(--font-size-body);line-height:1.2}.paper-table th{padding:0 var(--space-2) var(--space-2-5) 0;text-align:left;font-size:var(--font-size-caption);font-weight:600;color:var(--paper-muted)}.paper-table td{padding:var(--space-3-5) var(--space-2) var(--space-3-5) 0;border-top:1px solid var(--paper-line);vertical-align:middle;min-width:0;overflow-wrap:anywhere}.paper-cell-fit{width:1%;white-space:nowrap}.paper-cell-date{white-space:nowrap;color:var(--paper-muted)}.paper-badge{display:inline-block;min-width:28px;padding:var(--space-1-5) var(--space-2-5);border-radius:var(--radius-pill);background:var(--paper-muted);color:var(--color-on-accent);font-size:var(--font-size-caption);line-height:1;font-weight:700;text-align:center;white-space:nowrap}.paper-badge-ok{background:var(--paper-green-bg);color:var(--paper-green)}.paper-badge-bad{background:var(--paper-pink-bg);color:var(--paper-pink)}.paper-badge-info{background:var(--paper-blue-bg);color:var(--paper-blue)}.paper-badge-grade{background:var(--paper-pink-bg);color:var(--paper-pink)}.paper-topic-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--space-3-5) var(--space-6)}.paper-topic-group ul{margin:0;padding:0;list-style:none}.paper-topic-group li{display:flex;gap:var(--space-2-5);padding:var(--space-3) 0;border-top:1px solid var(--paper-line);font-size:var(--font-size-body);line-height:1.2}.paper-topic-date{flex:none;color:var(--paper-muted)}.ring-box{display:flex;justify-content:center;flex:none}.ring-item{display:grid;justify-items:center;gap:var(--space-1-5)}.ring-label{font-size:var(--font-size-caption);line-height:1.2;color:var(--paper-muted)}.ring-css{width:96px;height:96px;position:relative}.ring-css svg{overflow:visible}.ring-value{stroke-dasharray:326.726;stroke-dashoffset:326.726;transition:stroke-dashoffset var(--dur-700) var(--ease-standard)}.ring-css b{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--font-size-body-large);line-height:1;white-space:nowrap;color:var(--paper-ink)}@media(max-width:760px){.calendar-days{display:flex;overflow-x:auto}.day{min-width:145px}.form-grid{grid-template-columns:1fr}}@media(max-width:470px){.student-metrics{font-size:var(--font-size-caption)}}.payment-balance-state strong,.payment-history-amount,.payment-progress b,.timeline-hours span,.timeline-event__time,.timeline-draft__time,.paper-stat b,.board-zoom-value{font-variant-numeric:tabular-nums}.fade-enter-active,.fade-leave-active{transition:opacity var(--dur) var(--ease-out)}.fade-enter-from,.fade-leave-to{opacity:0}.fade-up-enter-active{transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}.fade-up-leave-active{transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.fade-up-enter-from,.fade-up-leave-to{opacity:0;transform:translateY(10px)}.list-enter-active{transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}.list-leave-active{position:absolute;transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.list-enter-from,.list-leave-to{opacity:0;transform:translateY(10px)}.list-move{transition:transform var(--dur) var(--ease-out)}.pop-enter-active,.pop-leave-active{transform-origin:var(--pop-origin, top center);transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.pop-enter-from,.pop-leave-to{opacity:0;transform:scale(.98)}.icon-swap-enter-active{transition:opacity var(--dur) var(--ease-spring),transform var(--dur) var(--ease-spring)}.icon-swap-leave-active{transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.icon-swap-enter-from,.icon-swap-leave-to{opacity:0;transform:scale(.6)}@keyframes panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.panel-in{animation:panel-in var(--dur) var(--ease-out)}@keyframes reveal-in{0%{opacity:0}}@keyframes entity-fresh-in{0%{opacity:0;transform:scale(.97)}}@keyframes payment-confirmed{0%{background-color:color-mix(in sRGB,var(--status-success) 16%,var(--surface-default))}}.timeline-event--fresh,.student-schedule__lesson.is-fresh{animation:entity-fresh-in var(--dur) var(--ease-out)}.payment-balance-item.is-confirmed{animation:payment-confirmed var(--dur-900) var(--ease-out)}@keyframes invalid-nudge{20%{transform:translate(-3px)}45%{transform:translate(3px)}70%{transform:translate(-2px)}85%{transform:translate(1px)}}.invalid-nudge{animation:invalid-nudge var(--dur-slow) var(--ease-out)}@keyframes calendar-shift-next{0%{opacity:.4;transform:translate(8px)}}@keyframes calendar-shift-prev{0%{opacity:.4;transform:translate(-8px)}}.calendar-days--shift-next{animation:calendar-shift-next var(--dur) var(--ease-out)}.calendar-days--shift-prev{animation:calendar-shift-prev var(--dur) var(--ease-out)}.timeline-draft.timeline-event--temporary{transition:none}@keyframes report-step-in{0%{opacity:0;transform:translate(-12px)}}@keyframes report-step-fade{0%{opacity:0}}@media(max-width:1199px){.report-builder[data-mobile-step=edit] .reports-editor{animation:report-step-in var(--dur) var(--ease-out)}.report-builder[data-mobile-step=preview] .report-preview-column{animation:report-step-fade var(--dur) var(--ease-out)}}.board-tool,.board-icon-btn{transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.board-brush-options:not([hidden]),.board-page.board-more-open .board-more-panel{animation:reveal-in var(--dur-fast) var(--ease-out)}.board-page.board-fullscreen{animation:reveal-in var(--dur) var(--ease-out)}.board-page.board-fullscreen .board-toolbar{animation:reveal-in var(--dur) var(--ease-out) var(--dur-80) backwards}@keyframes card-morph-out{to{opacity:0}}@keyframes card-morph-in{0%{opacity:0}}html[data-card-morph] .ui-modal-enter-active,html[data-card-morph] .ui-modal-enter-active .modal,html[data-card-morph] .ui-modal-enter-active .modal-body,html[data-card-morph] .ui-modal-enter-active .modal-foot{transition:none}html[data-card-morph] .ui-modal-enter-from,html[data-card-morph] .ui-modal-enter-from .modal,html[data-card-morph] .ui-modal-enter-from .modal-body,html[data-card-morph] .ui-modal-enter-from .modal-foot{opacity:1;transform:none}html[data-card-morph] .ui-modal-leave-active{display:none}html[data-card-morph] .profile-modal-card{view-transition-name:schedule-side-panel}html[data-card-morph]::view-transition-group(schedule-side-panel){animation-duration:var(--dur-slow);animation-timing-function:var(--ease-expo)}html[data-card-morph]::view-transition-old(schedule-side-panel){animation:card-morph-out var(--dur-fast) var(--ease-out) both}html[data-card-morph]::view-transition-new(schedule-side-panel){animation:card-morph-in var(--dur) var(--ease-out) var(--dur-80) both}html[data-list-morph] .entity-cell-name{display:inline-block}html[data-list-morph] .reveal-in{animation-duration:0s}html[data-list-morph]::view-transition-group(*){animation-duration:var(--dur-slow);animation-timing-function:var(--ease-expo)}html[data-list-morph]::view-transition-group(root){animation-duration:var(--dur);animation-timing-function:var(--ease-out)}html[data-circle-reveal]::view-transition-old(root),html[data-circle-reveal]::view-transition-new(root){animation:none;mix-blend-mode:normal}html[data-welcome] .dashboard-page__welcome>*,html[data-welcome] .dashboard-page__col{animation:reveal-in var(--dur) var(--ease-out) backwards}html[data-welcome] .dashboard-page__welcome>:nth-child(2),html[data-welcome] .dashboard-page__col--main{animation-delay:var(--dur-80)}html[data-welcome] .dashboard-page__welcome>:nth-child(3),html[data-welcome] .dashboard-page__col--side{animation-delay:calc(var(--dur-80) * 2)}html[data-welcome] .dashboard-page__welcome>:nth-child(4){animation-delay:calc(var(--dur-80) * 3)}@keyframes board-open-fade{to{opacity:0}}.board-loading-state[data-thumb],.board-open-ghost{background:var(--board-open-thumb) top left/100% auto no-repeat #fff}.board-loading-state[data-thumb] b{padding:var(--space-1-5) var(--space-3-5);border-radius:var(--radius-round);background:var(--surface)}.board-open-ghost{position:absolute;inset:68px 12px 12px;z-index:7;border-radius:var(--radius-xl);pointer-events:none;animation:board-open-fade var(--dur) var(--ease-out) forwards}::view-transition-group(board-open){animation-duration:var(--dur-slow);animation-timing-function:var(--ease-expo)}@keyframes sparkle-burst-main{40%{transform:scale(.8) rotate(-12deg)}}@keyframes sparkle-burst-top{40%{opacity:.4;transform:translate(2px,-2px) scale(1.3)}}@keyframes sparkle-burst-bottom{40%{opacity:.4;transform:translate(2px,2px) scale(1.3)}}.sparkle-burst .ui-icon>*{transform-box:fill-box;transform-origin:center}.sparkle-burst:is(:hover,:focus-visible) .ui-icon>*{animation:sparkle-burst-main var(--dur-500) var(--ease-spring)}.sparkle-burst:is(:hover,:focus-visible) .ui-icon>:nth-child(2){animation-name:sparkle-burst-top;animation-delay:var(--dur-80)}.sparkle-burst:is(:hover,:focus-visible) .ui-icon>:nth-child(3){animation-name:sparkle-burst-bottom;animation-delay:var(--dur-160)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html{min-width:320px}.grid{min-width:0}@media(max-width:1280px){.report-paper{max-width:820px}.calendar-days{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1050px){.calendar-days{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.topbar{align-items:flex-start}.topbar h1{font-size:var(--font-size-heading)}.report-builder{grid-template-columns:1fr}.calendar-days{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-1)}.day{min-width:160px;scroll-snap-align:start}.form-grid{grid-template-columns:1fr}.modal{max-height:88vh}}@media(min-width:821px)and (max-width:1050px){.schedule-page .calendar-days{grid-template-columns:repeat(7,minmax(92px,1fr))!important;min-width:692px}.schedule-page .calendar-weekday{display:block!important}.schedule-page .mobile-weekday{display:none!important}.schedule-page .day{min-width:0;padding:var(--space-2)}.schedule-page .day .date{font-size:var(--font-size-caption-small)}}.schedule-page .calendar-card{overflow-x:auto}.schedule-page .calendar-days{display:grid!important;grid-template-columns:repeat(7,minmax(105px,1fr))!important;min-width:735px}.schedule-page .day.past-day{background:color-mix(in sRGB,var(--surface-muted) 72%,var(--surface-canvas));opacity:.58}@media(max-width:600px){.topbar{display:grid}.paper-head,.paper-body{padding:var(--space-3-5)}.modal-wrap{padding:var(--space-2)}.modal{border-radius:var(--radius-2xl)}.modal-body{padding:var(--space-4)}.modal-foot{padding:var(--space-3) var(--space-4)}}@media(max-width:380px){.topbar h1{font-size:var(--font-size-heading)}.student-metrics{font-size:var(--font-size-caption)}.paper-pill{font-size:var(--font-size-caption-small)}}.calendar-days{min-width:770px}.calendar-weekday{padding:var(--space-0-5);color:var(--text-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-extrabold);text-align:center}.calendar-card{overflow-x:auto}@media(max-width:820px){.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);overflow:visible;scroll-snap-type:none}.day{min-width:0}}.page.active>.topbar h1{color:var(--text);font-size:var(--font-size-page-title);line-height:var(--line-height-tight);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight)}.form-grid>.ui-collapse.full{grid-column:1/-1}.schedule-page .calendar-days[data-calendar-view=day]{grid-template-columns:minmax(0,1fr)!important;min-width:0!important}.profile-lesson-link{display:inline-flex;margin-top:var(--space-2);text-decoration:none}@media(max-width:820px){.schedule-page .calendar-card{overflow:visible;padding:0;border:0;background:transparent;box-shadow:none}.schedule-page .calendar-days{display:block!important;min-width:0!important;overflow:visible!important;padding:0!important}.schedule-page .calendar-weekday{display:none}.schedule-page .day{display:none;min-width:0;min-height:0;margin:0 0 var(--space-2-5);padding:var(--space-3-5);border-radius:var(--radius-2xl);background:var(--surface-default);box-shadow:var(--shadow-sm)}.schedule-page .day.has-events,.schedule-page .day.today{display:block}.schedule-page .day .date{display:flex;align-items:center;margin-bottom:var(--space-2-5);font-size:var(--font-size-body);text-transform:capitalize}.schedule-page .mobile-weekday{display:inline}.schedule-page .calendar-days[data-calendar-view=week] .day,.schedule-page .calendar-days[data-calendar-view=month] .day{display:block;width:100%;min-width:0;min-height:70px}.schedule-page .calendar-days[data-calendar-view=month] .day.outside-month{display:none}}.mobile-weekday{display:none}.modal-foot{flex-wrap:wrap}@media(max-width:820px){.modal-foot .btn{flex:1 1 auto}}@media(max-width:420px){.modal-foot{display:grid;grid-template-columns:1fr;padding:var(--space-3) var(--space-4)}.modal-foot .btn{width:100%;margin:0}}.modal-wrap.open .modal{animation:modal-in var(--dur) ease}.paper-section{transition:box-shadow var(--dur-200) ease,border-color var(--dur-200) ease,transform var(--dur-200) ease}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}.tutorial-modal{width:min(760px,100%)}.tutorial-progress{height:7px;overflow:hidden;border-radius:var(--radius-pill);background:var(--border-default)}.tutorial-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--action-primary),var(--data-5));transition:width var(--dur-280) ease}.tutorial-step-count{margin-top:var(--space-3);color:var(--text-muted);font-size:var(--font-size-caption-small);line-height:var(--line-height-snug);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.tutorial-modal h3{margin:var(--space-6) 0 var(--space-2-5);font-size:var(--font-size-title);line-height:var(--line-height-normal);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-snug)}.tutorial-modal p{max-width:64ch;margin:0;color:var(--text-muted);white-space:pre-line;font-size:var(--font-size-body-large);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-normal);letter-spacing:var(--tracking-normal)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}[hidden]{display:none!important}@media(max-width:820px){.schedule-page .schedule-actions .schedule-add,.students-toolbar .students-toolbar-actions,.board-new{display:none!important}.schedule-page,.board-page .board-library-screen{padding-bottom:var(--space-16)}}.payments-page{width:100%;color:var(--text);font-family:var(--font-family-display);letter-spacing:var(--tracking-snug)}.payments-page .payments-topbar{margin:0;padding:0;border:0}.payments-page .payments-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);margin-bottom:var(--space-8)}.payments-page .payments-stat{min-height:168px}.payments-page .payments-stats-dots{display:none}.payments-page .payment-stat-heading{display:flex;gap:var(--space-2-5);align-items:flex-start;justify-content:space-between}.payments-page .payment-stat-label{color:var(--text-muted);font-size:var(--font-size-label);line-height:var(--line-height-normal);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-normal);letter-spacing:var(--tracking-wide);text-transform:uppercase}.payments-page .received-stat .payment-stat-label{color:var(--status-success-text)}.payments-page .charged-stat .payment-stat-label{color:var(--status-warning)}.payments-page .debt-stat .payment-stat-label,.payments-page .debt-stat .payment-stat-value{color:var(--text-brand)}.payments-page .payment-stat-value{padding-top:var(--space-7);font-size:var(--font-size-display);line-height:var(--line-height-tight);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight)}.payments-page .payment-stat-note{display:block;margin-top:var(--space-2);color:var(--text-muted);font-size:var(--font-size-body);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-normal);letter-spacing:var(--tracking-normal)}.payments-page .payments-workbench{container:payments-workbench/inline-size;margin-bottom:var(--space-4-5)}.payments-page .payments-workbench-head{display:flex;gap:var(--space-4);align-items:center;justify-content:space-between;padding:var(--space-6);border-bottom:1px solid var(--border-default)}.payments-page .payments-workbench-head .payments-sections{flex:none;min-width:0;max-width:100%}.payments-page .payments-toolbar{display:flex;flex:1 1 0;gap:var(--space-2-5);align-items:center;justify-content:flex-end;min-width:0}.payments-page .payments-toolbar .payments-search{margin-right:auto}.payments-page .payments-toolbar .payments-accept-action{flex:none}@container payments-workbench (width < 1000px){.payments-page .payments-accept-action{--button-gap: 0;--button-padding-x: 0;width:var(--button-min-height)}.payments-page .payments-accept-action .payments-toolbar__label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}@container payments-workbench (width < 720px){.payments-page .payments-workbench-head{gap:var(--space-2-5)}}@container payments-workbench (width < 480px){.payments-page .payments-workbench .payments-workbench-head{gap:var(--space-2);padding-inline:var(--space-3)}.payments-page .payments-sections.ui-tabs--raised .ui-tabs__list{padding-inline:var(--space-1)}.payments-page .payments-sections.ui-tabs--raised .ui-tabs__tab{padding-inline:var(--space-2-5)}}.payments-page .payment-balance-list{padding:var(--space-6) var(--space-6) var(--space-8)}.payments-page .payment-balance-stack,.payments-page .payment-history-list{display:grid;gap:var(--space-3)}.payments-page .payment-history-list{gap:var(--space-2-5)}.payments-page .payments-extra{display:grid;gap:var(--space-3);padding-top:var(--space-3)}.payments-page .payment-history-list .payments-extra{gap:var(--space-2-5);padding-top:0}.payments-page .entity-card-enter-active,.payments-page .entity-card-leave-active,.payments-page .entity-card-move{transition:opacity var(--dur-240),transform var(--dur-300)}.payments-page .entity-card-enter-from,.payments-page .entity-card-leave-to{opacity:0;transform:translateY(10px) scale(.98)}@media(prefers-reduced-motion:reduce){.payments-page .entity-card-enter-active,.payments-page .entity-card-leave-active,.payments-page .entity-card-move{transition:none}}.payments-page .payments-show-more{margin-top:var(--space-2-5)}.payments-page .payment-balance-item{display:grid;grid-template-columns:5px minmax(150px,1fr) minmax(250px,1.35fr) minmax(120px,auto) auto;gap:var(--space-3-5);align-items:center;min-width:0;min-height:92px;padding:var(--space-4) var(--space-4-5);border:1px solid var(--border-default);border-radius:var(--radius-2xl);background:var(--surface-default)}.payments-page .payment-state-rail{align-self:stretch;width:5px;min-height:46px;border-radius:var(--radius-pill);background:var(--status-success)}.payments-page .payment-balance-item[data-kind=need] .payment-state-rail{background:var(--action-danger)}.payments-page .payment-balance-item[data-kind=ending] .payment-state-rail{background:var(--action-primary)}.payments-page .payment-balance-main{min-width:0}.payments-page .payment-balance-main b{display:block;font-size:var(--font-size-body-large);font-weight:var(--font-weight-bold)}.payments-page .payment-balance-main small{display:block;margin-top:var(--space-0-5);color:var(--text-muted);font-size:var(--font-size-body-small)}.payments-page .payment-progress-head{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:var(--space-2-5);align-items:center;color:var(--text-muted);font-size:var(--font-size-body-small)}.payments-page .payment-progress-head b{text-align:right}.payments-page .payment-progress-label{display:inline-flex;gap:var(--space-1);align-items:center}.payments-page .payment-progress-bar{display:block;height:5px;margin:var(--space-1-5) 0 var(--space-1);overflow:hidden;border-radius:var(--radius-pill);background:var(--border-default)}.payments-page .payment-progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--status-success);transition:width var(--dur-500) var(--ease-out)}@starting-style{.payments-page .payment-progress-bar span{width:0}}.payments-page .payment-progress small{color:var(--text-muted);font-size:var(--font-size-caption)}.payments-page .payment-balance-state{font-size:var(--font-size-caption);font-weight:var(--font-weight-extrabold);text-align:right}.payments-page .payment-balance-state strong{display:block;color:var(--text);font-size:var(--font-size-body-large)}.payments-page .payment-balance-state span{display:block;margin-top:var(--space-1);color:var(--text-muted);font-size:var(--font-size-caption-small)}.payments-page .payment-balance-item:is([data-kind=need],[data-kind=ending]) .payment-balance-state strong{color:var(--action-danger)}.payments-page .payment-balance-item[data-kind=ok] .payment-balance-state span,.payments-page .payment-balance-item .payment-balance-state .payment-balance-advance{color:var(--status-success-text)}.payments-page .payment-balance-item .payment-row-action{white-space:nowrap}.payments-page .payments-history-card{padding:var(--space-7) var(--space-6) var(--space-11)}.payments-page .payments-list-head{display:flex;gap:var(--space-6);align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.payments-page .payments-list-title{min-width:0}.payments-page .payments-list-title h2{margin:0;color:var(--text);font-size:var(--font-size-title-small);line-height:var(--line-height-snug);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-snug)}.payments-page .payments-list-title span{display:block;margin-top:var(--space-0-5);color:var(--text-muted);font-size:var(--font-size-body-small)}.payments-page .payments-list-controls{display:flex;flex:none;gap:var(--space-2);align-items:center}.payments-page .payments-list-controls .payments-list-filter{max-width:220px}.payments-page .payments-period-picker{position:relative}.payments-page .payments-period-trigger{white-space:nowrap}.payments-page .payments-period-popover{position:absolute;z-index:var(--z-dropdown);top:calc(100% + 8px);right:0;width:min(260px,100vw - 32px);max-height:min(70vh,560px);padding:var(--space-2-5);overflow-y:auto;border:1px solid var(--border-default);border-radius:var(--radius-2xl);background:var(--surface-default);box-shadow:var(--shadow-lg)}.payments-page .payments-period-popover.is-custom{width:min(344px,100vw - 32px);padding:var(--space-3-5)}.payments-page .payments-period-list{display:grid;gap:var(--space-0-5);margin:0;padding:0;list-style:none}.payments-page .payments-period-option{justify-content:flex-start}.payments-page .payments-period-option .ui-button__content{flex:1;text-align:start}.payments-page .payments-period-option[aria-selected=true]{background:var(--surface-neutral)}.payments-page .payments-period-custom{display:grid;gap:var(--space-2)}.payments-page .payments-period-custom-back{justify-self:start}.payments-page .payments-period-custom .ui-calendar{width:100%;padding:var(--space-1) 0 0}.payments-page .payments-period-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-default)}@media(max-width:1199px){.payments-page .payment-balance-item{grid-template-columns:5px minmax(0,1fr) minmax(150px,auto);grid-template-areas:"rail identity state" "rail progress action"}.payments-page .payment-state-rail{grid-area:rail}.payments-page .payment-balance-main{grid-area:identity}.payments-page .payment-progress{grid-area:progress}.payments-page .payment-balance-state{grid-area:state}.payments-page .payment-balance-item .payment-row-action{grid-area:action;justify-self:end}}@media(max-width:1050px){.payments-page .payments-stats{gap:var(--space-3);margin-bottom:var(--space-5)}.payments-page .payments-stat{min-height:140px}.payments-page .payment-stat-value{padding-top:var(--space-5);font-size:var(--font-size-page-title)}.payments-page .payments-workbench-head{gap:var(--space-3-5);padding:var(--space-5)}.payments-page .payment-balance-list,.payments-page .payments-history-card{padding:var(--space-6) var(--space-5)}}@media(max-width:820px){.payments-page .payments-stats{gap:var(--space-2)}.payments-page .payments-stat{min-height:0}.payments-page .payment-stat-label{font-size:var(--font-size-caption)}.payments-page .payment-stat-value{padding-top:var(--space-3);font-size:var(--font-size-heading)}.payments-page .payment-stat-note{min-height:2lh;font-size:var(--font-size-caption)}.payments-page .payments-workbench-head{position:sticky;z-index:var(--z-sticky);top:var(--page-header-h, calc(env(safe-area-inset-top, 0px) + 8px) );padding:var(--space-3-5);background:var(--ui-card-background);border-radius:var(--radius-surface) var(--radius-surface) 0 0}.payments-page .payments-toolbar .payments-accept-action{display:none}.payments-page .payment-balance-list,.payments-page .payments-history-card{padding:var(--space-3-5)}.payments-page .payment-balance-item{grid-template-columns:5px minmax(0,1fr);grid-template-areas:"rail identity" "progress progress" "state state" "action action";padding:var(--space-3-5)}.payments-page .payment-state-rail{min-height:42px}.payments-page .payment-progress{margin-top:var(--space-1)}.payments-page .payment-balance-state{display:flex;gap:var(--space-2-5);align-items:baseline;justify-content:space-between;text-align:left}.payments-page .payment-balance-state span{margin-top:0;text-align:right}}@media(max-width:767px){.payments-page .payments-list-head{flex-wrap:wrap;gap:var(--space-3)}.payments-page .payments-list-title,.payments-page .payments-list-controls{width:100%}.payments-page .payments-list-controls .payments-list-filter{flex:1 1 auto;min-width:0;max-width:none}.payments-page .payment-balance-item .payment-row-action{width:100%}}@media(max-width:479px){.payments-page .payments-period-picker{position:static}.payments-page .payments-period-popover,.payments-page .payments-period-popover.is-custom{position:fixed;inset:auto 0 0;width:auto;max-height:min(82dvh,620px);padding:var(--space-3-5) var(--space-3-5) calc(var(--space-3-5) + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:var(--radius-3xl) var(--radius-3xl) 0 0;box-shadow:var(--shadow-2xl)}.payments-page .payments-period-actions{position:sticky;bottom:calc(-14px - env(safe-area-inset-bottom));margin-inline:calc(var(--space-3-5) * -1);padding:var(--space-3) var(--space-3-5) calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--surface-default)}.payments-page .payments-period-actions .ui-button{flex:1}}@media(max-width:600px){.payments-page .payment-stat-note{min-height:0}.payments-page .payments-stats{display:flex;gap:var(--space-2);margin-inline:calc(-1 * var(--space-4));margin-bottom:var(--space-2);padding-inline:var(--space-4);overflow-x:auto;scroll-padding-inline:var(--space-4);scroll-snap-type:x mandatory;scrollbar-width:none}.payments-page .payments-stats::-webkit-scrollbar{display:none}.payments-page .payments-stat{flex:0 0 78%;scroll-snap-align:start}.payments-page .payments-stat--debt{order:-1}.payments-page .payment-stat-value{padding-top:var(--space-1)}.payments-page .payments-stats-dots{display:flex;gap:var(--space-1-5);justify-content:center;margin-bottom:var(--space-4)}.payments-page .payments-stats-dot{width:var(--space-1-5);height:var(--space-1-5);background:var(--border-default);border-radius:var(--radius-pill)}.payments-page .payments-stats-dot.is-active{background:var(--text-muted)}}.ui-modal-wrap:has(.profile-modal-card){--profile-warm: color-mix(in sRGB, var(--brand) 7%, var(--panel));--profile-warm-line: color-mix(in sRGB, var(--brand) 22%, var(--line));--profile-pink-soft: color-mix(in sRGB, var(--brand2) 9%, var(--panel));--profile-green-soft: color-mix(in sRGB, var(--status-success) 12%, var(--panel));--profile-amber-soft: color-mix(in sRGB, var(--warn) 13%, var(--panel))}.ui-modal-wrap:has(.profile-modal-card) .profile-modal-card{width:min(1160px,100%);max-height:min(94vh,980px);overflow:hidden;border-radius:var(--radius-4xl)}.ui-modal-wrap:has(.profile-modal-card) .modal-head{position:relative;padding:var(--space-6) var(--space-7) var(--space-5);border-bottom:1px solid var(--line)}.ui-modal-wrap:has(.profile-modal-card) .modal-head h2{font-size:var(--font-size-page-title);line-height:var(--line-height-tight);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight);font-size:clamp(var(--font-size-heading),2vw,var(--font-size-page-title))}.ui-modal-wrap:has(.profile-modal-card) .close{width:42px;height:42px;border:1px solid color-mix(in sRGB,var(--brand) 12%,var(--line));border-radius:var(--radius-xl);background:transparent}.ui-modal-wrap:has(.profile-modal-card) .modal-body{overflow:auto;max-height:calc(min(94vh,980px) - 154px);padding:var(--space-6) var(--space-7) var(--space-7)}.ui-modal-wrap:has(.profile-modal-card) .modal-foot{padding:var(--space-3-5) var(--space-7);background:color-mix(in sRGB,var(--panel) 94%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.ui-modal-wrap:has(.profile-modal-card) .modal-foot .primary{min-width:150px}.ui-modal-wrap:has(.profile-modal-card) .profile-redesign{display:grid;gap:var(--space-5)}.ui-modal-wrap:has(.profile-modal-card) .profile-hero{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(500px,1.7fr);gap:var(--space-7);align-items:center}.ui-modal-wrap:has(.profile-modal-card) .profile-identity{min-width:0}.ui-modal-wrap:has(.profile-modal-card) .profile-summary{margin:0;gap:var(--space-4)}.ui-modal-wrap:has(.profile-modal-card) .profile-kicker{margin-bottom:var(--space-1-5);color:var(--color-brand-strong);font-size:var(--font-size-caption-small);line-height:var(--line-height-snug);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.ui-modal-wrap:has(.profile-modal-card) .profile-summary h2{font-size:var(--font-size-display);line-height:var(--line-height-tight);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);font-size:clamp(var(--font-size-heading),2.5vw,var(--font-size-display))}.ui-modal-wrap:has(.profile-modal-card) .profile-summary .sub{margin-top:var(--space-1-5);font-size:var(--font-size-body-large)}.ui-modal-wrap:has(.profile-modal-card) .profile-lesson-link{justify-self:start;margin-top:var(--space-2-5)}.ui-modal-wrap:has(.profile-modal-card) .profile-name{margin:0}.ui-modal-wrap:has(.profile-modal-card) .profile-history-scroll{overflow:auto}.ui-modal-wrap:has(.profile-modal-card) .profile-load-more{margin-top:var(--space-3)}.ui-modal-wrap:has(.profile-modal-card) .profile-meta{display:grid;grid-template-columns:minmax(180px,.72fr) minmax(270px,1.28fr);gap:var(--space-3);align-items:stretch}.ui-modal-wrap:has(.profile-modal-card) .profile-meta-item{display:flex;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-3-5) var(--space-4);border-left:1px solid var(--line)}.ui-modal-wrap:has(.profile-modal-card) .profile-meta-item>span:last-child{min-width:0;display:grid;gap:var(--space-1)}.ui-modal-wrap:has(.profile-modal-card) .profile-meta-item small,.ui-modal-wrap:has(.profile-modal-card) .profile-next-card small,.ui-modal-wrap:has(.profile-modal-card) .profile-preview-row small{color:var(--text-muted);font-size:var(--font-size-caption);font-weight:600}.ui-modal-wrap:has(.profile-modal-card) .profile-meta-item b{overflow-wrap:anywhere;font-size:var(--font-size-label);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-normal)}.ui-modal-wrap:has(.profile-modal-card) .profile-meta-icon,.ui-modal-wrap:has(.profile-modal-card) .profile-kpi-icon,.ui-modal-wrap:has(.profile-modal-card) .profile-info-icon,.ui-modal-wrap:has(.profile-modal-card) .profile-next-icon{flex:0 0 auto;display:grid;place-items:center;border-radius:var(--radius-round)}.ui-modal-wrap:has(.profile-modal-card) .profile-meta-icon{width:34px;height:34px;color:var(--brand2);background:var(--profile-pink-soft)}.ui-modal-wrap:has(.profile-modal-card) .profile-meta-icon svg,.ui-modal-wrap:has(.profile-modal-card) .profile-kpi-icon svg,.ui-modal-wrap:has(.profile-modal-card) .profile-info-icon svg,.ui-modal-wrap:has(.profile-modal-card) .profile-next-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ui-modal-wrap:has(.profile-modal-card) .profile-extra-contacts{grid-column:1/-1;display:flex;gap:var(--space-2-5);flex-wrap:wrap;padding-left:var(--space-4)}.ui-modal-wrap:has(.profile-modal-card) .profile-extra-contacts>div{display:inline-flex;gap:var(--space-1-5);align-items:baseline;min-width:0;padding:var(--space-1-5) var(--space-2-5);border:1px solid var(--field-border);border-radius:var(--radius-lg);background:transparent}.ui-modal-wrap:has(.profile-modal-card) .profile-extra-contacts span{color:var(--text-muted);font-size:var(--font-size-caption-small)}.ui-modal-wrap:has(.profile-modal-card) .profile-extra-contacts b{font-size:var(--font-size-caption);overflow-wrap:anywhere}.ui-modal-wrap:has(.profile-modal-card) .student-metrics{margin:0;gap:var(--space-3-5);text-align:left}.ui-modal-wrap:has(.profile-modal-card) .student-metrics>div{position:relative;display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:var(--space-3-5);align-items:center;min-height:86px;padding:var(--space-4) var(--space-4-5);border:1px solid var(--line);border-radius:var(--radius-2xl);background:var(--panel)}.ui-modal-wrap:has(.profile-modal-card) .student-metrics b{grid-column:2;align-self:end;font-size:var(--font-size-heading);line-height:var(--line-height-tight);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight)}.ui-modal-wrap:has(.profile-modal-card) .student-metrics small{grid-column:2;align-self:start;margin-top:var(--space-1);font-size:var(--font-size-caption)}.ui-modal-wrap:has(.profile-modal-card) .profile-kpi-icon{grid-row:1/3;width:46px;height:46px}.ui-modal-wrap:has(.profile-modal-card) .profile-kpi-icon-attendance{color:var(--status-success);background:var(--profile-green-soft)}.ui-modal-wrap:has(.profile-modal-card) .profile-kpi-icon-homework{color:var(--warn);background:var(--profile-amber-soft)}.ui-modal-wrap:has(.profile-modal-card) .profile-kpi-icon-tests{color:var(--brand2);background:var(--profile-pink-soft)}.ui-modal-wrap:has(.profile-modal-card) .profile-panel-overview{display:grid;gap:var(--space-4-5)}.ui-modal-wrap:has(.profile-modal-card) .profile-next-card{display:grid;grid-template-columns:62px minmax(190px,.9fr) minmax(240px,1.15fr) minmax(240px,1.15fr);align-items:center;gap:var(--space-5);min-height:118px;padding:var(--space-5) var(--space-5);border:1px solid var(--profile-warm-line);border-radius:var(--radius-2xl);background:linear-gradient(110deg,var(--profile-warm),color-mix(in sRGB,var(--brand2) 3%,var(--panel)))}.ui-modal-wrap:has(.profile-modal-card) .profile-next-icon{width:54px;height:54px;color:var(--brand);background:color-mix(in sRGB,var(--brand) 10%,var(--panel));outline:1px solid color-mix(in sRGB,var(--brand) 10%,transparent);outline-offset:-1px}.ui-modal-wrap:has(.profile-modal-card) .profile-next-icon svg{width:26px;height:26px}.ui-modal-wrap:has(.profile-modal-card) .profile-next-column{display:grid;gap:var(--space-1-5);min-width:0;align-content:center}.ui-modal-wrap:has(.profile-modal-card) .profile-next-column+.profile-next-column{min-height:58px;padding-left:var(--space-5);border-left:1px solid var(--profile-warm-line)}.ui-modal-wrap:has(.profile-modal-card) .profile-next-primary b{font-size:var(--font-size-body-large)}.ui-modal-wrap:has(.profile-modal-card) .profile-next-primary strong{color:var(--brand-ink);font-size:var(--font-size-body-large)}.ui-modal-wrap:has(.profile-modal-card) .profile-next-column span{overflow-wrap:anywhere}.ui-modal-wrap:has(.profile-modal-card) .profile-notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.ui-modal-wrap:has(.profile-modal-card) .profile-info-card{display:flex;gap:var(--space-3-5);min-width:0;padding:var(--space-4) var(--space-4-5);border:1px solid var(--line);border-radius:var(--radius-2xl);background:var(--panel)}.ui-modal-wrap:has(.profile-modal-card) .profile-info-icon{width:42px;height:42px}.ui-modal-wrap:has(.profile-modal-card) .profile-info-goals{color:var(--brand2);background:var(--profile-pink-soft)}.ui-modal-wrap:has(.profile-modal-card) .profile-info-notes{color:var(--warn);background:var(--profile-amber-soft)}.ui-modal-wrap:has(.profile-modal-card) .profile-info-card b{font-size:var(--font-size-label)}.ui-modal-wrap:has(.profile-modal-card) .profile-info-card p{margin:var(--space-1) 0 0;color:var(--text-muted);overflow-wrap:anywhere}.ui-modal-wrap:has(.profile-modal-card) .profile-history-preview,.ui-modal-wrap:has(.profile-modal-card) .profile-panel-history{padding:var(--space-4) var(--space-4-5);border:1px solid var(--line);border-radius:var(--radius-2xl);background:var(--panel)}.ui-modal-wrap:has(.profile-modal-card) .profile-section-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2-5)}.ui-modal-wrap:has(.profile-modal-card) .profile-preview-row{display:grid;grid-template-columns:.85fr .8fr 1.45fr 1.3fr .75fr;gap:var(--space-3-5);padding-top:var(--space-3);border-top:1px solid var(--line)}.ui-modal-wrap:has(.profile-modal-card) .profile-preview-row>span{min-width:0;display:grid;gap:var(--space-1)}.ui-modal-wrap:has(.profile-modal-card) .profile-preview-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-body-small)}.ui-modal-wrap:has(.profile-modal-card) .profile-history-heading{display:flex;align-items:center;gap:var(--space-1-5);margin:0 0 var(--space-3);font-size:var(--font-size-title-small);line-height:var(--line-height-snug);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-snug)}.ui-modal-wrap:has(.profile-modal-card) .profile-panel-history>div{overflow:visible}.ui-modal-wrap:has(.profile-modal-card) .profile-panel-history .mini-table th,.ui-modal-wrap:has(.profile-modal-card) .profile-panel-history .mini-table td{padding:var(--space-3) var(--space-2-5)}.ui-modal-wrap:has(.profile-modal-card) .profile-history-row{cursor:pointer;transition:background-color var(--dur-160) var(--ease-out)}.ui-modal-wrap:has(.profile-modal-card) .profile-history-row:hover,.ui-modal-wrap:has(.profile-modal-card) .profile-history-row:focus-visible{background:var(--soft)}.ui-modal-wrap:has(.profile-modal-card) .profile-history-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}@media(max-width:980px){.ui-modal-wrap:has(.profile-modal-card) .profile-modal-card{width:min(900px,100%)}.ui-modal-wrap:has(.profile-modal-card) .profile-hero{grid-template-columns:1fr;gap:var(--space-4)}.ui-modal-wrap:has(.profile-modal-card) .profile-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-modal-wrap:has(.profile-modal-card) .profile-meta-item{border-left:0;padding:var(--space-3) var(--space-3-5);border:1px solid var(--line);border-radius:var(--radius-xl);background:transparent}.ui-modal-wrap:has(.profile-modal-card) .profile-extra-contacts{padding-left:0}.ui-modal-wrap:has(.profile-modal-card) .profile-next-card{grid-template-columns:54px 1fr 1fr}.ui-modal-wrap:has(.profile-modal-card) .profile-next-card .profile-next-column:last-child{grid-column:2/4;padding:var(--space-3-5) 0 0;border-left:0;border-top:1px solid var(--profile-warm-line)}}@media(max-width:720px){.ui-modal-wrap:has(.profile-modal-card){padding:0;align-items:stretch}.ui-modal-wrap:has(.profile-modal-card) .profile-modal-card{width:100%;height:100dvh;max-height:none;border-radius:0}.ui-modal-wrap:has(.profile-modal-card) .modal-head{padding:max(var(--space-4),env(safe-area-inset-top)) var(--space-4-5) var(--space-3-5)}.ui-modal-wrap:has(.profile-modal-card) .modal-body{max-height:none;height:calc(100dvh - 132px);padding:var(--space-4-5)}.ui-modal-wrap:has(.profile-modal-card) .modal-foot{padding:var(--space-2-5) var(--space-3-5) max(var(--space-2-5),env(safe-area-inset-bottom))}.ui-modal-wrap:has(.profile-modal-card) .modal-foot .btn{flex:1 1 auto;min-width:0;padding-inline:var(--space-3)}.ui-modal-wrap:has(.profile-modal-card) .modal-foot .danger{flex:0 0 44px;width:44px;overflow:hidden;color:transparent;position:relative}.ui-modal-wrap:has(.profile-modal-card) .modal-foot .danger:before{content:"×";position:absolute;inset:0;display:grid;place-items:center;color:var(--bad);font-size:var(--font-size-heading)}.ui-modal-wrap:has(.profile-modal-card) .profile-redesign{gap:var(--space-4)}.ui-modal-wrap:has(.profile-modal-card) .profile-summary h2{font-size:var(--font-size-page-title)}.ui-modal-wrap:has(.profile-modal-card) .profile-meta{grid-template-columns:1fr}.ui-modal-wrap:has(.profile-modal-card) .student-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.ui-modal-wrap:has(.profile-modal-card) .student-metrics>div{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:var(--space-1);min-height:112px;padding:var(--space-3) var(--space-2-5);text-align:center}.ui-modal-wrap:has(.profile-modal-card) .profile-kpi-icon,.ui-modal-wrap:has(.profile-modal-card) .student-metrics b,.ui-modal-wrap:has(.profile-modal-card) .student-metrics small{grid-column:1;grid-row:auto;justify-self:center}.ui-modal-wrap:has(.profile-modal-card) .profile-kpi-icon{width:38px;height:38px}.ui-modal-wrap:has(.profile-modal-card) .student-metrics b{font-size:var(--font-size-title)}.ui-modal-wrap:has(.profile-modal-card) .profile-next-card{grid-template-columns:46px 1fr;gap:var(--space-3);padding:var(--space-4)}.ui-modal-wrap:has(.profile-modal-card) .profile-next-icon{width:44px;height:44px}.ui-modal-wrap:has(.profile-modal-card) .profile-next-card .profile-next-column{grid-column:2;padding:0;border:0;min-height:auto}.ui-modal-wrap:has(.profile-modal-card) .profile-next-card .profile-next-column+.profile-next-column{padding-top:var(--space-3);border-left:0;border-top:1px solid var(--profile-warm-line)}.ui-modal-wrap:has(.profile-modal-card) .profile-next-card .profile-next-column:last-child{grid-column:2}.ui-modal-wrap:has(.profile-modal-card) .profile-notes-grid{grid-template-columns:1fr}.ui-modal-wrap:has(.profile-modal-card) .profile-preview-row{grid-template-columns:1fr 1fr}.ui-modal-wrap:has(.profile-modal-card) .profile-preview-row>span:nth-child(n+3){grid-column:1/-1}.ui-modal-wrap:has(.profile-modal-card) .profile-panel-history{padding:var(--space-3)}.ui-modal-wrap:has(.profile-modal-card) .profile-panel-history .mini-table,.ui-modal-wrap:has(.profile-modal-card) .profile-panel-history .mini-table tbody,.ui-modal-wrap:has(.profile-modal-card) .profile-panel-history .mini-table tr,.ui-modal-wrap:has(.profile-modal-card) .profile-panel-history .mini-table td{display:block;width:100%}.ui-modal-wrap:has(.profile-modal-card) .profile-panel-history .mini-table thead{display:none}.ui-modal-wrap:has(.profile-modal-card) .profile-panel-history .mini-table tr{padding:var(--space-3) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-xl);background:transparent}.ui-modal-wrap:has(.profile-modal-card) .profile-panel-history .mini-table tr+tr{margin-top:var(--space-2-5)}.ui-modal-wrap:has(.profile-modal-card) .profile-panel-history .mini-table td{display:grid;grid-template-columns:minmax(105px,.45fr) 1fr;gap:var(--space-3);padding:var(--space-1-5) 0;border:0}.ui-modal-wrap:has(.profile-modal-card) .profile-panel-history .mini-table td:before{content:attr(data-label);color:var(--text-muted);font-size:var(--font-size-caption-small);line-height:var(--line-height-snug);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}}@media(max-width:460px){.ui-modal-wrap:has(.profile-modal-card) .modal-head h2{font-size:var(--font-size-title)}.ui-modal-wrap:has(.profile-modal-card) .modal-body{padding:var(--space-3-5)}.ui-modal-wrap:has(.profile-modal-card) .profile-summary{gap:var(--space-3)}.ui-modal-wrap:has(.profile-modal-card) .profile-summary h2{font-size:var(--font-size-heading)}.ui-modal-wrap:has(.profile-modal-card) .profile-summary .sub{font-size:var(--font-size-body)}.ui-modal-wrap:has(.profile-modal-card) .profile-meta-item{padding:var(--space-2-5) var(--space-3)}.ui-modal-wrap:has(.profile-modal-card) .student-metrics>div{min-height:106px;padding-inline:var(--space-1-5)}.ui-modal-wrap:has(.profile-modal-card) .student-metrics small{line-height:1.25}.ui-modal-wrap:has(.profile-modal-card) .profile-next-card{grid-template-columns:1fr}.ui-modal-wrap:has(.profile-modal-card) .profile-next-icon,.ui-modal-wrap:has(.profile-modal-card) .profile-next-card .profile-next-column,.ui-modal-wrap:has(.profile-modal-card) .profile-next-card .profile-next-column:last-child{grid-column:1}.ui-modal-wrap:has(.profile-modal-card) .profile-next-column+.profile-next-column{padding-top:var(--space-3)}.ui-modal-wrap:has(.profile-modal-card) .profile-preview-row{grid-template-columns:1fr}.ui-modal-wrap:has(.profile-modal-card) .profile-preview-row>span:nth-child(n){grid-column:1}.ui-modal-wrap:has(.profile-modal-card) .modal-foot{gap:var(--space-1-5)}.ui-modal-wrap:has(.profile-modal-card) .modal-foot .btn{--button-min-height: 36px;--button-padding-x: 13px;--button-font-size: var(--font-size-body-small);--button-gap: 6px}}.profile-call-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}body:has(.students-page.active),body:has(.students-page.active) .main{background:var(--bg)}.students-form-check b,.students-form-check small{display:block}.students-form-check b{font-weight:var(--font-weight-bold)}.students-form-check small{margin-top:var(--space-0-5);color:var(--text-muted);font-size:var(--font-size-caption);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);letter-spacing:var(--tracking-normal)}.students-page{--students-empty-max-width: 720px;--student-card-skeleton-h: 266px;--group-card-skeleton-h: 199px;width:100%;color:var(--text);font-family:var(--font-family-display);letter-spacing:var(--tracking-snug)}.students-page .entity-card-enter-active,.students-page .entity-card-move{transition:opacity var(--dur-240) ease,transform var(--dur-300) var(--ease-out)}.students-page .entity-card-enter-from{opacity:0;transform:translateY(10px) scale(.97)}.students-page .entity-card-leave-active{pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.students-page .entity-card-leave-to{opacity:0;transform:scale(.98)}@media(prefers-reduced-motion:reduce){.students-page .entity-card-enter-active,.students-page .entity-card-leave-active,.students-page .entity-card-move{transition:none}.students-page .entity-card-leave-to{transform:none}}.students-page .students-topbar{margin:0;padding:0;border:0}.students-page .students-toolbar{display:flex;align-items:center;gap:var(--space-3);width:100%;margin-bottom:var(--space-5)}.students-page .students-toolbar-search{display:flex;flex:1 1 auto;align-items:center;gap:var(--space-2-5);min-width:0}.students-page .students-groups-control,.students-page .students-view-control{flex:none}.students-page .students-view-control .ui-menu-trigger{display:inline-flex;gap:var(--space-2);align-items:center;width:auto;height:42px;padding-inline:var(--space-3-5);border:1px solid var(--field-border);border-radius:var(--radius-xl);color:var(--text);font:inherit;letter-spacing:normal;white-space:nowrap;font-size:var(--font-size-label);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);letter-spacing:var(--tracking-normal);transition:background-color var(--dur-fast) var(--ease-out)}@media(hover:hover){.students-page .students-view-control .ui-menu-trigger:hover{background:var(--surface-muted)}}.students-page .students-view-control .ui-menu-trigger[aria-expanded=true]{background:var(--surface-muted)}.students-page .students-view-control .ui-menu-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.students-page .students-view-caret{color:var(--text-muted)}@container app-content (width <= 1000px){.students-page .students-toolbar-label.is-secondary{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.students-page .students-view-control .ui-menu-trigger{gap:0;padding-inline:var(--space-2-5)}.students-page .students-view-control .students-view-caret{display:none}.students-page .students-toolbar:has(.student-search:focus-within) .students-toolbar-label,.students-page .students-toolbar:has(.student-search:focus-within) .students-filter-label,.students-page .students-toolbar:has(.student-search input:not(:placeholder-shown)) .students-toolbar-label,.students-page .students-toolbar:has(.student-search input:not(:placeholder-shown)) .students-filter-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.students-page .students-toolbar:has(.student-search:focus-within) .students-view-control .ui-menu-trigger,.students-page .students-toolbar:has(.student-search input:not(:placeholder-shown)) .students-view-control .ui-menu-trigger{gap:0;padding-inline:var(--space-2-5)}.students-page .students-toolbar:has(.student-search:focus-within) .students-view-control .students-view-caret,.students-page .students-toolbar:has(.student-search input:not(:placeholder-shown)) .students-view-control .students-view-caret{display:none}.students-page .students-toolbar:has(.student-search:focus-within) .students-filter-trigger,.students-page .students-toolbar:has(.student-search input:not(:placeholder-shown)) .students-filter-trigger{--button-padding-x: 0;width:42px}}@container app-content (width <= 640px){.students-page .students-toolbar-label,.students-page .students-filter-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.students-page .students-view-control .ui-menu-trigger{gap:0;padding-inline:var(--space-2-5)}.students-page .students-view-control .students-view-caret{display:none}.students-page .students-filter-trigger{--button-padding-x: 0;width:42px}}.students-page .students-toolbar-controls{display:flex;flex:0 0 auto;align-items:center;gap:var(--space-2);margin-left:auto}.students-page .students-toolbar-actions{display:flex;flex:0 0 auto;gap:var(--space-2)}.students-page .students-add,.students-page .students-filter{position:relative;flex:0 0 auto}.students-page .students-filter-dot{width:7px;height:7px;border-radius:var(--radius-round);background:var(--action-primary)}.students-page .students-menu{position:absolute;z-index:var(--z-dropdown);top:calc(100% + 8px);right:0;display:grid;gap:var(--space-0-5);width:max-content;min-width:210px;padding:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-2xl);background:var(--surface-default);box-shadow:var(--shadow-md)}.students-page .students-menu .ui-button{justify-content:flex-start;white-space:nowrap}.students-page .students-filter-option .ui-button__content{flex:1;text-align:start}.students-page .students-filter-option.is-active{background:var(--surface-neutral);color:var(--text-brand)}.students-page .students-block{min-width:0}.students-page .students-section-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2-5)}.students-page .students-section-head h2{margin:0;color:var(--text);font-family:inherit;font-size:var(--font-size-page-title);line-height:var(--line-height-tight);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight)}.students-page .student-grid{display:flex;gap:var(--space-5);width:100%;padding:var(--space-1) var(--space-1-5) var(--space-2) var(--space-0-5);overflow:auto hidden;overscroll-behavior-inline:contain;scroll-behavior:smooth;scrollbar-width:none;scroll-padding-inline:2px;scroll-snap-type:inline mandatory;touch-action:pan-x pan-y}.students-page .student-grid::-webkit-scrollbar{display:none}.students-page .student-grid.has-next{-webkit-mask-image:linear-gradient(to right,currentColor calc(100% - 24px),transparent);mask-image:linear-gradient(to right,currentColor calc(100% - 24px),transparent)}.students-page .student-grid.has-previous{-webkit-mask-image:linear-gradient(to right,transparent,currentColor 16px);mask-image:linear-gradient(to right,transparent,currentColor 16px)}.students-page .student-grid.has-previous.has-next{-webkit-mask-image:linear-gradient(to right,transparent,currentColor 16px,currentColor calc(100% - 24px),transparent);mask-image:linear-gradient(to right,transparent,currentColor 16px,currentColor calc(100% - 24px),transparent)}.students-page .group-grid{gap:var(--space-4-5)}.students-page .student-grid>.students-carousel-note{grid-column:1/-1;flex:0 1 var(--students-empty-max-width);width:min(100%,var(--students-empty-max-width));margin-inline:auto;text-align:center}.students-page .student-card,.students-page .group-card{--tile-tone: var(--text-brand);--tile-tone-ink: color-mix(in sRGB, var(--tile-tone) 55%, var(--text));position:relative;flex:0 0 320px;align-self:start;min-width:0;scroll-snap-align:start;color:var(--text);font-family:inherit;transform:translateY(var(--lift-y, 0));transition:box-shadow var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}.students-page .student-card:hover,.students-page .group-card:hover{--lift-y: calc(-1 * var(--space-0-5));box-shadow:var(--shadow-sm)}.students-page .student-card:focus-within,.students-page .group-card:focus-within{--lift-y: calc(-.5 * var(--space-0-5))}.students-page .students-grid-skeleton__card{flex:0 0 320px;min-width:0}.students-page .student-card{min-height:220px}.students-page .student-card.is-danger{--tile-tone: var(--action-danger)}.students-page .student-card.is-warning{--tile-tone: var(--status-warning)}.students-page .student-card.is-ending{--tile-tone: var(--red-380)}.students-page .student-card.is-neutral{--tile-tone: var(--text-muted)}.students-page .student-card.is-success{--tile-tone: var(--status-success-text)}.students-page .student-card>.student-card-menu,.students-page .group-card>.group-card-menu{position:absolute;z-index:var(--z-raised);top:12px;right:12px}.students-page .student-card-main{display:flex;flex:1;flex-direction:column;min-height:218px;padding:var(--space-5) var(--space-5) 0;border-radius:var(--radius-surface);cursor:pointer}.students-page .student-card-main:focus{outline:0}.students-page .student-card-main:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.students-page .student-top{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding-right:var(--space-7)}.students-page .student-top h3{display:-webkit-box;margin:0 0 var(--space-0-5);overflow:hidden;color:var(--text);font-family:inherit;font-size:var(--font-size-title-small);font-weight:var(--font-weight-bold);line-height:24px;letter-spacing:var(--tracking-snug);overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.students-page .student-identity{min-width:0}.students-page .student-identity .meta{overflow:hidden;color:var(--text);font-size:var(--font-size-body-large);line-height:22px;text-overflow:ellipsis;white-space:nowrap}.students-page .student-card-eyebrow{margin-bottom:var(--space-1);color:var(--tile-tone-ink);font-size:var(--font-size-caption-small);line-height:var(--line-height-snug);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.students-page .student-card-facts{display:grid;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3-5);border-top:1px solid color-mix(in sRGB,var(--border-default) 75%,transparent)}.students-page .student-fact{display:flex;align-items:flex-start;gap:var(--space-2);min-width:0;color:var(--text);font-size:var(--font-size-body-large);line-height:22px}.students-page .student-fact b{flex:1 1 auto;min-width:0;font-weight:var(--font-weight-medium)}.students-page .student-fact-icon{flex:0 0 18px;width:18px;height:18px}.students-page .student-fact-schedule b{display:-webkit-box;overflow:hidden;line-height:var(--line-height-snug);-webkit-box-orient:vertical;-webkit-line-clamp:2}.students-page .student-fact-schedule .student-fact-icon{color:var(--tile-tone-ink)}.students-page .student-fact-terms b{white-space:nowrap}.students-page .student-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2-5);min-height:74px;margin-top:auto;padding:var(--space-4) 0 var(--space-5)}.students-page .student-identity .group-member-names{color:var(--text-muted)}.students-page .group-card-bottom{justify-content:flex-end}.students-page .student-card-tools{display:flex;gap:var(--space-1-5);margin-left:auto}.students-page .students-video-link{display:grid;flex:0 0 38px;place-items:center;width:38px;height:38px;margin-left:auto;border-radius:var(--radius-xl);color:var(--text-brand);background:color-mix(in sRGB,var(--surface-default) 74%,transparent);transition:color var(--dur-180) var(--ease-out),background-color var(--dur-180) var(--ease-out)}.students-page .students-video-link:hover,.students-page .students-video-link:focus-visible{color:var(--action-primary-on);background:var(--action-primary)}.students-page .students-video-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.students-page .entity-table-skeleton{display:grid;gap:var(--space-2);width:100%;padding:var(--space-3);border-radius:var(--radius-surface);background:var(--surface-default);box-shadow:var(--shadow-xs)}.students-page .roster-wrap{width:100%;container:roster/inline-size}.students-page .roster{--roster-cols: minmax(0, 1.6fr) minmax(0, 1.3fr) minmax(0, 1.1fr) minmax(0, .8fr) minmax(0, 1fr) auto;display:grid;grid-template-columns:var(--roster-cols);column-gap:var(--space-4);overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-surface);background:var(--surface-default);box-shadow:var(--shadow-xs)}.students-page .groups-roster{--roster-cols: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, .8fr) auto}.students-page .roster-row{display:grid;cursor:pointer;grid-column:1/-1;grid-template-columns:subgrid;align-items:center;min-height:var(--space-14);padding:var(--space-2-5) var(--space-3);border-top:1px solid color-mix(in sRGB,var(--border-default) 64%,transparent);transition:background-color var(--dur-150) var(--ease-out)}.students-page .roster-row:first-child{border-top:0}.students-page .roster-row:hover{background:color-mix(in sRGB,var(--text-brand) 4%,transparent)}.students-page .roster-main.ui-button{--button-min-height: 0;--button-padding-x: 0;justify-content:flex-start;min-width:0;padding:0;color:var(--text);font-weight:var(--font-weight-regular);text-align:left}.students-page .roster-main.ui-button .ui-button__content{display:flex;align-items:center;gap:var(--space-3);min-width:0}.students-page .roster-dot{flex:none;width:var(--space-2-5);height:var(--space-2-5);border-radius:var(--radius-round);background:var(--status-success)}.students-page .roster-dot--warning{background:var(--status-warning)}.students-page .roster-dot--danger{background:var(--action-danger)}.students-page .roster-dot--info{visibility:hidden}.students-page .roster-name-wrap{display:grid;min-width:0}.students-page .roster-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-body-large);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-normal)}.students-page .roster-sub{overflow:hidden;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-body-small);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);letter-spacing:var(--tracking-normal)}.students-page .roster-cell{min-width:0;overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:var(--font-size-body);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);letter-spacing:var(--tracking-normal)}.students-page .roster-cell--money{display:grid}.students-page .roster-money{overflow:hidden;text-overflow:ellipsis;font-weight:var(--font-weight-semibold)}.students-page .roster-money--debt,.students-page .roster-money--partial{color:var(--action-danger)}.students-page .roster-money--paid{color:var(--status-success-text)}.students-page .roster-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-1)}.students-page .roster-tools{display:flex;align-items:center;gap:var(--space-1-5)}.students-page .roster-tool.ui-button,.students-page .student-card-tool.ui-button{--button-min-height: var(--space-9);--button-padding-x: 0;--button-gap: 0;width:var(--space-9);border-radius:var(--radius-lg)}.students-page .roster-tool-label,.students-page .roster-tool .call-start__label,.students-page .student-card-tool .call-start__label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@container roster (width >= 1240px){.students-page .roster-tool.ui-button{--button-padding-x: var(--space-3);--button-gap: var(--space-1-5);width:auto}.students-page .roster-tool-label,.students-page .roster-tool .call-start__label{position:static;width:auto;height:auto;clip-path:none}}.students-page .table-row-enter-active{transition:opacity var(--dur) var(--ease-out)}.students-page .table-row-leave-active{transition:opacity var(--dur-fast) var(--ease-out)}.students-page .table-row-enter-from,.students-page .table-row-leave-to{opacity:0}.students-page .roster-summary{margin:var(--space-3) 0 0;color:var(--text-muted);text-align:center;font-size:var(--font-size-caption);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);letter-spacing:var(--tracking-normal)}@media(hover:hover)and (pointer:fine){.students-page .roster-tools{opacity:0;transition:opacity var(--dur-150) var(--ease-out)}.students-page .roster-row:hover .roster-tools,.students-page .roster-row:focus-within .roster-tools{opacity:1}}@container roster (width <= 960px){.students-page .students-roster{--roster-cols: minmax(0, 1.6fr) minmax(0, 1.3fr) minmax(0, 1.1fr) minmax(0, .8fr) auto}.students-page .roster-cell--contact{display:none}}@container roster (width <= 840px){.students-page .students-roster{--roster-cols: minmax(0, 1.6fr) minmax(0, 1.3fr) minmax(0, 1.1fr) auto}.students-page .roster-cell--attendance{display:none}}@container roster (width <= 700px){.students-page .students-roster{--roster-cols: minmax(0, 1.6fr) minmax(0, 1.1fr) auto}.students-page .groups-roster{--roster-cols: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, .8fr) auto}.students-page .roster-cell--schedule{display:none}}@container roster (width <= 560px){.students-page .roster.roster{--roster-cols: minmax(0, 1fr) auto}.students-page .roster-cell,.students-page .roster-tools{display:none}}@media(max-width:1050px){.students-page .student-card,.students-page .group-card,.students-page .students-grid-skeleton__card{flex-basis:min(44vw,350px)}}@container app-content (width <= 1050px){.students-page .student-card,.students-page .group-card,.students-page .students-grid-skeleton__card{flex-basis:min(44cqw,350px)}}@media(max-width:820px){.students-page{overflow-x:clip}.students-page .students-toolbar{gap:var(--space-2-5)}.students-page .student-grid{gap:var(--space-3);max-width:100%;padding-right:var(--space-3-5);-webkit-mask-image:none;mask-image:none}.students-page .student-card,.students-page .group-card,.students-page .students-grid-skeleton__card{flex-basis:min(82vw,360px)}.students-page{--student-card-skeleton-h: 294px;--group-card-skeleton-h: 229px}.students-page .students-section-head h2{font-size:var(--font-size-heading)}}@media(max-width:720px){.students-page .students-toolbar{flex-wrap:nowrap;gap:var(--space-1-5)}.students-page .students-toolbar-search{flex:1 1 0;gap:var(--space-1-5)}.students-page .student-search{--ui-input-search-width: 104px}.students-page .students-toolbar-controls{flex:0 0 auto}.students-page .students-filter .students-menu{right:auto;left:0}}@media(max-width:420px){.students-page .student-card,.students-page .group-card,.students-page .students-grid-skeleton__card{flex-basis:calc(100vw - 48px)}}@media(min-width:821px)and (max-height:900px){.students-page .students-section-head{margin-bottom:var(--space-1-5)}.students-page .students-section-head h2{font-size:var(--font-size-heading);line-height:30px}.students-page .student-card{min-height:0}.students-page .student-card-main{min-height:0;padding-top:var(--space-4)}.students-page .student-card-facts{gap:var(--space-1-5);margin-top:var(--space-2);padding-top:var(--space-2)}.students-page .student-card-footer{min-height:60px;padding-block:var(--space-2) var(--space-4)}.students-page .group-card .student-card-main{padding:var(--space-4) var(--space-4) 0}.students-page .group-card .student-card-facts{margin-top:var(--space-2-5)}}.reports-page{--reports-tools-height: 0px;padding-bottom:var(--space-7)}.reports-page .reports-topbar{margin:0}.reports-page .report-builder{display:grid;grid-template-columns:minmax(380px,.82fr) minmax(520px,1.18fr);gap:var(--space-5);align-items:start}.reports-page .report-builder--selecting{grid-template-columns:minmax(0,760px)}.reports-page .report-builder--selecting .reports-editor-form{grid-template-columns:minmax(0,1fr)}.reports-page .report-reveal{animation:reports-reveal var(--dur) var(--ease-out) backwards}@media(prefers-reduced-motion:reduce){.reports-page .report-reveal{animation:none}}.reports-page .reports-editor{min-width:0;overflow:hidden}.reports-page .reports-editor-head{padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--border-default)}.reports-page .reports-editor-head h2{margin:0;font-size:var(--font-size-title);line-height:var(--line-height-snug);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-snug)}.reports-page .reports-editor-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3-5);padding:var(--space-4-5) var(--space-5) var(--space-5)}.reports-page .reports-editor-range,.reports-page .reports-editor-full{grid-column:1/-1}.reports-page .reports-editor-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3-5)}.reports-page .report-accordion{border-top:1px solid var(--border-default)}.reports-page .report-editor-section+.report-editor-section{border-top:1px solid var(--border-default)}.reports-page .report-editor-section>.report-section-toggle{grid-template-columns:minmax(0,1fr) auto}.reports-page .report-section-chevron{flex:0 0 auto;color:var(--text-muted);transition:transform var(--dur-180) var(--ease-out),color var(--dur-180) var(--ease-out)}.reports-page .report-section-toggle[aria-expanded=true] .report-section-chevron{color:var(--text-brand);transform:rotate(180deg)}.reports-page .report-editor-panel{display:grid;gap:var(--space-3);padding:var(--space-3) var(--space-4-5) var(--space-4-5)}.reports-page .report-editor-panel[hidden]{display:none}.reports-page .builder-list{display:grid;gap:var(--space-2);min-width:0}.reports-page .builder-list:empty{display:none}.reports-page .builder-item{display:grid;grid-template-columns:30px minmax(0,1fr) 42px;align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-xl);background:var(--surface-muted)}.reports-page .builder-item>.report-drag-handle{grid-area:1/1;cursor:grab;touch-action:none}.reports-page .builder-item>.report-drag-handle:active{cursor:grabbing}.reports-page .builder-item>.r-name{grid-area:1/2;min-width:0;width:100%}.reports-page .builder-item>.r-remove{grid-area:1/3}.reports-page .builder-item.has-grade{grid-template-columns:30px minmax(0,1fr) 72px 42px}.reports-page .builder-item.has-grade>.r-remove{grid-area:1/4}.reports-page .builder-item>.r-grade{grid-area:1/3;min-width:0}.reports-page .builder-item.is-dragging{opacity:.45}.reports-page .builder-item.is-drag-over{border-color:var(--focus)}.reports-page .report-drag-grip{width:12px;height:18px;background-image:radial-gradient(circle,currentColor 1.5px,transparent 1.7px);background-size:6px 6px}.reports-page .r-grade .ui-select{width:100%}.reports-page .report-topic-meta{grid-area:2/2;display:flex;align-items:center;gap:var(--space-2);min-width:0}.reports-page .report-topic-meta .r-subject{flex:1;min-width:0}.reports-page .report-topic-meta .r-date{width:112px;min-width:0}.reports-page .report-add-row{justify-self:start}.reports-page .report-preview-column{min-width:0}.reports-page .report-composition{display:flex;flex-wrap:wrap;gap:var(--space-2-5) var(--space-4-5);min-width:0;margin:0 0 var(--space-4);padding:var(--space-3) var(--space-3-5) var(--space-3-5);border:1px solid var(--border-default);border-radius:var(--radius-xl);background:var(--surface-default)}.reports-page .report-composition legend{padding:0 var(--space-1);font-size:var(--font-size-caption);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);letter-spacing:var(--tracking-normal);font-weight:var(--font-weight-semibold)}.reports-page .report-paper,.reports-page .paper-section,.reports-page .paper-section li,.reports-page .paper-table td,.reports-page .paper-section[data-report-section=nextPackage]>div{min-width:0;overflow-wrap:anywhere}.reports-page .paper-section ul{max-width:100%}.reports-page .report-tools-spacer{height:calc(var(--reports-tools-height) + 24px)}.reports-page .report-tools{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3);min-width:0}.reports-page .report-tool{flex:1 1 0;min-width:0;white-space:nowrap}.reports-page .report-tools.is-fixed{position:fixed;left:var(--report-tools-left, 0);bottom:max(14px,env(safe-area-inset-bottom));z-index:var(--z-floating);width:var(--report-tools-width, auto);margin:0;padding:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-2xl);background:color-mix(in sRGB,var(--surface-default) 92%,transparent);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.reports-page .report-mobile-next,.reports-page .report-mobile-back{display:none}@media(max-width:1199px){.reports-page .report-builder{grid-template-columns:1fr}.reports-page .report-preview-column{width:100%}.reports-page .report-builder[data-mobile-step=edit] .report-preview-column,.reports-page .report-builder[data-mobile-step=preview] .reports-editor{display:none}.reports-page .report-mobile-next{display:grid;gap:var(--space-2);padding:var(--space-4);border-top:1px solid var(--border-default)}.reports-page .report-mobile-hint{margin:0;color:var(--text-muted);font-size:var(--font-size-caption);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);letter-spacing:var(--tracking-normal)}.reports-page .report-mobile-back{display:block;margin-bottom:var(--space-5)}.reports-page .report-tools-spacer{height:calc(var(--reports-tools-height) + var(--mobile-shell-bottom-clearance, 24px) + 16px)}.reports-page .report-tools.is-fixed{right:calc(18px + env(safe-area-inset-right));bottom:var(--mobile-shell-bottom-clearance, calc(24px + env(safe-area-inset-bottom)) );left:auto;flex-direction:column;gap:var(--space-3);width:auto;padding:0;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}.reports-page .report-tools .report-tool{flex:none;gap:0;width:48px;height:48px;padding:0;border-radius:var(--radius-round);box-shadow:var(--shadow-md);pointer-events:auto}.reports-page .report-tools .report-tool--copy,.reports-page .report-tools .report-tool--copy:hover{background:var(--surface-default)}.reports-page .report-tool-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap;clip-path:inset(50%)}}@media(max-width:767px){.reports-page{padding-bottom:var(--space-4-5)}.reports-page .reports-editor-head{padding:var(--space-4) var(--space-3-5) var(--space-3)}.reports-page .reports-editor-form{grid-template-columns:1fr;gap:var(--space-3);padding:var(--space-3-5)}.reports-page .report-editor-panel{padding:var(--space-2) var(--space-2) var(--space-2-5)}.reports-page .builder-item.has-grade{grid-template-columns:30px minmax(0,1fr) 64px 42px}}@media(max-width:600px){.reports-page .reports-editor-range{grid-template-columns:1fr}}@media(max-width:820px){.app .main:has(>.reports-page.active [data-mobile-step=edit]){padding-bottom:calc(var(--space-16) + var(--space-4-5) + env(safe-area-inset-bottom))}.reports-page:has([data-mobile-step=edit]){padding-bottom:0}}@media(max-width:820px){.reports-page .paper-section{padding:var(--space-3-5)}.reports-page .paper-table{font-size:var(--font-size-caption)}.reports-page .paper-table td{padding:var(--space-2-5) var(--space-1-5) var(--space-2-5) 0}.reports-page .paper-big{font-size:var(--font-size-heading)}.reports-page .paper-topic-groups{grid-template-columns:1fr}}.reports-recordings-filter{display:flex;gap:var(--space-2);align-items:center;margin-bottom:var(--space-4);color:var(--text);white-space:nowrap}.reports-recordings-filter__select{width:auto;min-width:0;max-width:min(320px,100%)}.reports-empty-note{width:min(100%,720px);margin-inline:auto}@keyframes reports-reveal{0%{opacity:0;transform:translateY(var(--space-2))}}.schedule-page,.schedule-day-sheet,.schedule-legend{--schedule-cell: color-mix(in sRGB, var(--surface-muted) 82%, var(--border-default));--schedule-today-bg: color-mix(in sRGB, var(--action-primary) 16%, var(--surface-default));--schedule-today-ink: var(--text);--schedule-selection: var(--data-5);--schedule-lesson-bg: var(--calendar-lesson-planned-surface);--schedule-lesson-bg-hover: color-mix(in sRGB, var(--text) 4%, var(--schedule-lesson-bg));--schedule-lesson-ink: var(--text);--schedule-event-hue: var(--calendar-event);--schedule-event-bg: var(--calendar-event-surface);--schedule-event-bg-hover: color-mix(in sRGB, var(--text) 4%, var(--schedule-event-bg));--schedule-event-ink: var(--text);--schedule-dismissed-bg: var(--calendar-dismissed-surface);--schedule-dismissed-line: var(--calendar-dismissed-pattern);--schedule-dismissed-pattern: repeating-linear-gradient( 135deg, transparent 0 6px, var(--schedule-dismissed-line) 6px 8px );--schedule-cancelled-bg: var(--schedule-dismissed-bg);--schedule-cancelled-bg-hover: color-mix(in sRGB, var(--text) 4%, var(--schedule-dismissed-bg));--schedule-cancelled-ink: var(--text-muted)}.schedule-legend{display:grid;gap:var(--space-3);width:min(300px,100vw - 2 * var(--space-4));padding:var(--space-3)}.schedule-legend__title{font-size:var(--font-size-title-small);line-height:var(--line-height-snug);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-snug)}.schedule-legend__list{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.schedule-legend__list li{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:var(--space-3);font-size:var(--font-size-body-small);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);letter-spacing:var(--tracking-normal)}.schedule-legend__sample{display:block;width:44px;height:32px;border-left:3px solid var(--calendar-lesson-planned);border-radius:var(--radius-lg);background:var(--schedule-lesson-bg)}.ui-menu.schedule-legend-menu .ui-menu-trigger,.ui-menu.schedule-view-menu .ui-menu-trigger{--button-min-height: 42px;--button-padding-x: 16px;--button-font-size: var(--font-size-body);--button-gap: 7px;width:var(--button-min-height);min-width:var(--button-min-height);height:var(--button-min-height);min-height:var(--button-min-height);border:1px solid var(--border-field);border-radius:var(--radius-round);transition:background-color var(--dur-fast) var(--ease-out)}@media(hover:hover){.ui-menu.schedule-legend-menu .ui-menu-trigger:hover,.ui-menu.schedule-view-menu .ui-menu-trigger:hover{background:var(--surface-muted)}}.ui-menu.schedule-legend-menu .ui-menu-trigger[aria-expanded=true],.ui-menu.schedule-view-menu .ui-menu-trigger[aria-expanded=true]{background:var(--surface-muted)}.schedule-toolbar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);container:schedule-toolbar/inline-size}.schedule-toolbar .schedule-view-menu{display:none}@container schedule-toolbar (width < 600px){.schedule-toolbar .schedule-view-control{display:none}.schedule-toolbar .schedule-view-menu{display:block;order:1}}.schedule-period{display:grid;flex:1 1 auto;grid-template-columns:auto minmax(0,auto) auto;align-content:center;align-items:center;justify-content:start;gap:var(--space-1);min-width:0;max-width:360px;container:schedule-period/inline-size}.schedule-period__short{display:none}@container schedule-period (width < 300px){.schedule-period__full{display:none}.schedule-period__short{display:inline}}.schedule-period strong{min-width:0;overflow:hidden;font-size:var(--font-size-body);font-weight:var(--font-weight-normal);text-align:center;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}.schedule-actions{display:flex;flex:none;margin-inline-start:auto;align-items:center;gap:var(--space-2)}@media(max-width:1150px){.schedule-toolbar .schedule-view-control .ui-tabs__tab{padding-inline:var(--space-2-5)}.schedule-toolbar .schedule-view-control .ui-tabs__tab>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}@media(max-width:1024px){.schedule-toolbar{margin-bottom:var(--space-3)}.schedule-add__label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.schedule-toolbar .schedule-add{--button-gap: 0;--button-padding-x: 0;width:var(--button-min-height)}}@media(max-width:820px){.schedule-toolbar{position:sticky;z-index:var(--z-sticky);top:var(--page-header-h, 0);background:var(--bg)}}@media(max-width:600px){.schedule-toolbar{gap:var(--space-1);margin-bottom:0}.schedule-period{gap:var(--space-0-5);justify-content:center}.schedule-period strong{font-size:var(--font-size-body-small)}}.schedule-workspace{display:grid;width:100%;min-width:0;grid-template-columns:minmax(0,1fr) 318px;align-items:stretch;gap:var(--space-6)}@media(min-width:821px){.schedule-page-layout,.schedule-page-layout>.ui-page-layout__content{height:calc(100dvh - var(--page-header-space, 0px) - 36px);min-height:0}.schedule-page-layout>.ui-page-layout__content{display:grid;grid-template-rows:auto minmax(0,1fr)}.schedule-page-layout .schedule-workspace,.schedule-page-layout .calendar-card,.schedule-page-layout .calendar-days{min-height:0}.schedule-page-layout .schedule-workspace,.schedule-page-layout .calendar-card{height:100%}.schedule-page-layout .calendar-days[data-calendar-view=month]{height:100%;grid-template-rows:28px repeat(6,minmax(0,1fr))}.schedule-page-layout .calendar-days[data-calendar-view=month] .day{min-height:0}}.schedule-page .calendar-card{width:100%;min-width:0;padding:0;border:0;background:transparent;box-shadow:none}.schedule-page .schedule-today{border-radius:var(--radius-3xl)}.schedule-page .calendar-days{grid-template-rows:28px repeat(6,minmax(112px,1fr));gap:var(--space-1)}.schedule-page .calendar-weekday{padding:0 0 var(--space-2-5);font-weight:600}.schedule-page .day{position:relative;display:block;width:100%;min-height:112px;padding:var(--space-2-5);border:1px solid color-mix(in sRGB,var(--border-default) 55%,transparent);border-radius:var(--radius-xl);background:var(--schedule-cell);cursor:pointer;text-align:left}.schedule-page .day .date{font-size:var(--font-size-body-large);font-weight:550}.schedule-page .day.today{color:var(--schedule-today-ink);background:var(--schedule-today-bg)}.schedule-page .day.selected:not(.today){border-color:var(--schedule-selection);background:var(--surface-default)}.schedule-page .day.selected:not(.today):after{position:absolute;inset:0;border:1px solid var(--schedule-selection);border-radius:inherit;content:"";pointer-events:none}.schedule-page .day:hover:not(.today):not(.selected){border-color:color-mix(in sRGB,var(--border-default) 88%,var(--text));background:color-mix(in sRGB,var(--schedule-cell) 92%,var(--surface-default))}.schedule-page .day.outside-month{color:var(--text-muted)}.schedule-page .day.past-day{opacity:1}.month-event-counts{position:absolute;right:10px;bottom:10px;display:flex;gap:var(--space-1)}.month-event-count{display:grid;min-width:25px;height:25px;place-items:center;padding-inline:var(--space-1-5);border-radius:var(--radius-md);color:var(--calendar-lesson-planned-text);background:var(--calendar-lesson-planned-surface);font-size:var(--font-size-body-small);font-weight:800}.birthday-mark{font-style:normal;line-height:1}.day .birthday-mark,.timeline-day-head .birthday-mark{position:absolute;top:8px;right:8px;font-size:var(--font-size-title)}.timeline-day-head .birthday-mark{top:4px;right:4px;font-size:var(--font-size-body-large)}.schedule-summary-birthday{margin:var(--space-2) 0 0;font-weight:700}.calendar-days[data-calendar-view=week],.calendar-days[data-calendar-view=day]{--timeline-time-column: 62px;--timeline-day-min: 110px;display:block!important;min-width:760px!important}.timeline-head{display:grid;grid-template-columns:var(--timeline-time-column) repeat(var(--timeline-days),minmax(var(--timeline-day-min),1fr));min-height:74px}.timeline-day-head{position:relative;display:grid;align-content:center;justify-items:center;gap:var(--space-0-5);padding:var(--space-2);border:0;background:transparent;cursor:pointer}.timeline-day-head b{display:grid;min-width:32px;height:32px;place-items:center;border-radius:var(--radius-round);font-size:var(--font-size-body-large)}.timeline-day-head span{font-size:var(--font-size-body-small);font-weight:750;text-transform:lowercase}.timeline-day-head.is-today b{outline:2px solid var(--data-5);outline-offset:-2px}.timeline-day-head.is-selected b{color:var(--action-primary-on);background:var(--action-primary);outline:0}.timeline-scroll{max-height:none;overflow-y:visible;padding-top:var(--space-3)}.timeline-grid{position:relative;display:grid;grid-template-columns:var(--timeline-time-column) repeat(var(--timeline-days),minmax(var(--timeline-day-min),1fr));height:var(--timeline-height)}.timeline-hours{position:relative;border-right:1px solid var(--text)}.timeline-hours span{position:absolute;color:var(--text-muted);right:10px;font-size:var(--font-size-caption);line-height:16px;transform:translateY(-50%);white-space:nowrap}.timeline-hours span.is-last{transform:translateY(-100%)}.schedule-page .calendar-days[data-calendar-view=week] .timeline-scroll{padding-top:0}.schedule-page .calendar-days[data-calendar-view=week] .timeline-hours span:first-child{transform:none}.timeline-lines{position:absolute;inset:0 0 0 var(--timeline-time-column);pointer-events:none}.timeline-lines i{position:absolute;right:0;left:0;border-top:1px solid var(--border-default)}.timeline-column{position:relative;border-right:1px solid color-mix(in sRGB,var(--border-default) 70%,transparent);touch-action:pan-y;-webkit-user-select:none;user-select:none}.timeline-column.is-today:before{position:absolute;inset:0;background:color-mix(in sRGB,var(--schedule-today-bg) 12%,transparent);content:"";pointer-events:none}.schedule-page .calendar-days[data-calendar-view=day] .timeline-grid:has(.timeline-column.is-today){background:color-mix(in sRGB,var(--schedule-today-bg) 12%,transparent)}.schedule-page .calendar-days[data-calendar-view=day] .timeline-column.is-today:before{background:transparent}.schedule-page .calendar-days[data-calendar-view=day] .timeline-column.is-selected:after{position:absolute;inset:0;border-inline:1px solid color-mix(in sRGB,var(--schedule-selection) 55%,transparent);content:"";pointer-events:none}.timeline-draft{position:absolute;right:5px;left:5px;display:flex;align-items:flex-end;padding:var(--space-2);border-radius:var(--radius-lg);background:color-mix(in sRGB,var(--surface-muted) 86%,transparent);box-shadow:var(--shadow);pointer-events:none}.timeline-draft span{font-size:var(--font-size-caption-small);pointer-events:none}.timeline-draft__time time,.timeline-draft__time i{font:inherit;font-style:normal}.timeline-hover-line{position:absolute;right:5px;left:5px;height:2px;background:var(--calendar-lesson-planned);pointer-events:none}.timeline-hover-line:before{position:absolute;top:-3px;left:0;width:8px;height:8px;border-radius:var(--radius-round);background:inherit;content:""}.timeline-hover-line time{position:absolute;right:0;bottom:var(--space-1);padding:var(--space-0-5) var(--space-1);border-radius:var(--radius-sm);color:var(--text);background:var(--surface-default);font-size:var(--font-size-caption-small);line-height:1}.timeline-event{position:absolute;right:5px;left:5px;width:auto;display:flex;align-items:flex-start;flex-direction:column;gap:var(--space-1);overflow:hidden;padding:var(--space-2);border:0;border-left:2px solid var(--calendar-lesson-planned);border-radius:var(--radius-lg);color:var(--schedule-lesson-ink);background:var(--schedule-lesson-bg);cursor:pointer;text-align:left;transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.timeline-event:focus-visible{outline:2px solid var(--focus);outline-offset:0;border-left-color:transparent;box-shadow:none}.timeline-event--event{border-left-color:var(--schedule-event-hue);color:var(--schedule-event-ink);background:var(--schedule-event-bg)}.timeline-event.timeline-event--frozen,.schedule-summary-card.schedule-summary-card--frozen{--schedule-card-edge: var(--text-muted);border-left-color:var(--text-muted);color:var(--schedule-cancelled-ink);background:var(--schedule-cancelled-bg);cursor:default}.timeline-event.timeline-event--frozen:hover,.schedule-summary-card.schedule-summary-card--frozen:hover{background:var(--schedule-cancelled-bg)}.timeline-event--cancelled{border-left-color:transparent;color:var(--schedule-cancelled-ink);background:var(--schedule-cancelled-bg)}.timeline-event--cancelled:hover{background:var(--schedule-cancelled-bg-hover)}.timeline-event--cancelled b{text-decoration:line-through}.timeline-event--temporary{border:2px dashed var(--calendar-lesson-planned);color:var(--schedule-lesson-ink);background:color-mix(in sRGB,var(--schedule-lesson-bg) 72%,transparent);pointer-events:none;transition:top var(--dur-fast) ease-out}.timeline-event b,.timeline-event span{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.timeline-event span{margin-top:auto;font-size:var(--font-size-caption-small);font-weight:700}.timeline-event__time time,.timeline-event__time i{font:inherit;font-style:normal}.schedule-today{height:100%;border:1px solid var(--border-default);background:var(--surface-default);min-height:0;padding:var(--space-7) var(--space-6) var(--space-7);overflow-y:auto;border-radius:var(--radius-4xl)}.schedule-summary-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-2-5);min-height:62px;font-size:var(--font-size-body-large);font-weight:700}.schedule-summary-section+.schedule-summary-section{margin-top:var(--space-1)}.schedule-summary-cards{display:grid;gap:var(--space-2-5);margin-bottom:var(--space-3)}@media(min-width:1280px){.schedule-page-layout .schedule-today{display:flex;flex-direction:column}.schedule-page-layout .schedule-today-summary{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.schedule-page-layout .schedule-summary-section--lesson{display:flex;flex:0 1 auto;flex-direction:column}.schedule-page-layout .schedule-summary-section--lesson:has(.schedule-summary-cards--lesson-scroll){min-height:calc(62px + 7.125rem + var(--space-3))}.schedule-page-layout .schedule-summary-section--event{flex:none}.schedule-summary-cards--lesson-scroll{flex:1 1 auto;min-height:0;overflow-y:auto}.schedule-summary-cards--lesson-scroll>.schedule-summary-card{min-height:7.125rem}.schedule-summary-cards--event-scroll{max-height:calc(9rem + var(--space-2-5));overflow-y:auto}.schedule-summary-cards--event-scroll>.schedule-summary-card{min-height:4.5rem}}.schedule-summary-card{--schedule-card-edge: var(--calendar-lesson-planned);position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:var(--space-3);width:100%;padding:var(--space-3-5);border:0;border-radius:var(--radius-2xl);color:var(--schedule-lesson-ink);background:var(--schedule-lesson-bg);cursor:pointer;text-align:left}.schedule-summary-card:before{position:absolute;inset:0;border-left:3px solid var(--schedule-card-edge, transparent);border-radius:inherit;content:"";pointer-events:none}.schedule-summary-card>time{align-self:start;padding-top:var(--space-0-5);font-size:var(--font-size-body);font-weight:850}.schedule-summary-card:hover{background:var(--schedule-lesson-bg-hover)}.schedule-summary-card--cancelled{--schedule-card-edge: transparent;color:var(--schedule-cancelled-ink);background:var(--schedule-cancelled-bg)}.schedule-summary-card--cancelled:hover{background:var(--schedule-cancelled-bg-hover)}.schedule-summary-card--cancelled b{text-decoration:line-through}.schedule-summary-card--event{--schedule-card-edge: var(--calendar-event);color:var(--schedule-event-ink);background:var(--schedule-event-bg)}.timeline-event--state-planned{border-left-color:var(--calendar-lesson-planned);background:var(--calendar-lesson-planned-surface)}.schedule-summary-card--state-planned{--schedule-card-edge: var(--calendar-lesson-planned);background:var(--calendar-lesson-planned-surface)}.schedule-summary-card--state-planned:hover{background:color-mix(in sRGB,var(--text) 4%,var(--calendar-lesson-planned-surface))}.timeline-event--state-in_progress{border-left-color:var(--calendar-lesson-planned);background:var(--calendar-lesson-planned-surface)}.schedule-summary-card--state-in_progress{--schedule-card-edge: var(--calendar-lesson-planned);background:var(--calendar-lesson-planned-surface)}.schedule-summary-card--state-in_progress:hover{background:color-mix(in sRGB,var(--text) 4%,var(--calendar-lesson-planned-surface))}.timeline-event--state-pending{border-left-color:var(--calendar-lesson-pending);background:var(--calendar-lesson-pending-surface)}.schedule-summary-card--state-pending{--schedule-card-edge: var(--calendar-lesson-pending);background:var(--calendar-lesson-pending-surface)}.schedule-summary-card--state-pending:hover{background:color-mix(in sRGB,var(--text) 4%,var(--calendar-lesson-pending-surface))}.timeline-event--state-done{border-left-color:var(--calendar-lesson-done);background:var(--calendar-lesson-done-surface)}.schedule-summary-card--state-done{--schedule-card-edge: var(--calendar-lesson-done);background:var(--calendar-lesson-done-surface)}.schedule-summary-card--state-done:hover{background:color-mix(in sRGB,var(--text) 4%,var(--calendar-lesson-done-surface))}.month-event-count--lesson{color:var(--calendar-lesson-planned-text);background:var(--calendar-lesson-planned-surface)}.month-event-count--pending{color:var(--calendar-lesson-pending-text);background:var(--calendar-lesson-pending-surface)}.month-event-count--done{color:var(--calendar-lesson-done-text);background:var(--calendar-lesson-done-surface)}.month-event-count--event{color:var(--calendar-event-text);background:var(--calendar-event-surface)}.timeline-event--state-paid_missed,.timeline-event--moved,.timeline-event--cancelled,.schedule-summary-card--state-paid_missed,.schedule-summary-card--moved,.schedule-summary-card--cancelled,.month-event-count--missed{color:var(--text-muted);background:var(--schedule-dismissed-bg)}.timeline-event--moved,.schedule-summary-card--moved{background-image:var(--schedule-dismissed-pattern)}.timeline-event--moved,.timeline-event--cancelled{border-left-color:transparent}.timeline-event--state-paid_missed{border-left-color:var(--calendar-lesson-done)}.schedule-summary-card--moved{--schedule-card-edge: transparent}.schedule-summary-card--state-paid_missed{--schedule-card-edge: var(--calendar-lesson-done)}.month-event-count--missed{color:var(--calendar-lesson-done-text)}.timeline-event--state-paid_missed:hover,.schedule-summary-card--state-paid_missed:hover,.schedule-summary-card--moved:hover{background:var(--schedule-cancelled-bg-hover)}.schedule-summary-card--moved:hover{background-image:var(--schedule-dismissed-pattern)}.timeline-event--state-paid_missed b,.schedule-summary-card--state-paid_missed b{text-decoration:line-through}.schedule-legend__sample.timeline-event--cancelled,.schedule-legend__sample.timeline-event--state-paid_missed{position:relative}.schedule-legend__sample.timeline-event--cancelled:after,.schedule-legend__sample.timeline-event--state-paid_missed:after{position:absolute;inset-inline:var(--space-2);top:50%;border-top:1px solid var(--text-muted);content:""}.schedule-summary-card--event:hover{background:var(--schedule-event-bg-hover)}.schedule-summary-label{display:flex;align-items:center;gap:var(--space-2)}.schedule-summary-section--lesson .schedule-summary-label svg{color:var(--calendar-lesson-planned-text)}.schedule-summary-section--event .schedule-summary-label svg{color:var(--calendar-event-text)}.schedule-summary-card>span:last-child{display:grid;min-width:0;gap:var(--space-0-5)}.schedule-summary-card b,.schedule-summary-card small,.schedule-summary-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-summary-card b{display:flex;align-items:center;gap:var(--space-1-5)}.schedule-summary-card b svg{flex:0 0 auto}.schedule-summary-card__title{min-width:0;overflow:hidden;text-overflow:ellipsis}.schedule-summary-card small{color:currentColor;font-size:var(--font-size-caption)}.schedule-summary-card strong{margin-top:var(--space-2);font-size:var(--font-size-body-small)}@media(max-width:1280px){.schedule-workspace{grid-template-columns:minmax(0,1fr)}.schedule-today{display:none}}@media(max-width:820px){.schedule-page .calendar-card{overflow-x:auto;border:1px solid var(--border-default);border-radius:var(--radius-2xl);background:var(--surface-default);box-shadow:none;overscroll-behavior-inline:contain;scrollbar-width:thin}.schedule-page .calendar-days[data-calendar-view=week]{min-width:700px!important}.schedule-page .calendar-days[data-calendar-view=day]{min-width:0!important}.calendar-days[data-calendar-view=week],.calendar-days[data-calendar-view=day]{--timeline-time-column: 54px;--timeline-day-min: 88px}.timeline-head{min-height:64px}.timeline-lines{left:var(--timeline-time-column)}.timeline-scroll{max-height:none;min-height:0;overflow-y:visible;padding-top:var(--space-2)}.timeline-hours{background:transparent}.timeline-hours span{right:7px;font-size:var(--font-size-caption-small)}.timeline-day-head{padding-inline:var(--space-1)}.timeline-event{right:3px;left:3px;gap:var(--space-0-5);padding:var(--space-1-5);font-size:var(--font-size-caption)}.timeline-draft{right:3px;left:3px;padding:var(--space-1-5)}}@media(max-width:600px){.schedule-page .calendar-days[data-calendar-view=week]{min-width:0!important}.schedule-page .calendar-days[data-calendar-view=week],.schedule-page .calendar-days[data-calendar-view=day]{--timeline-time-column: 38px;--timeline-day-min: 0px}.schedule-page .calendar-days[data-calendar-view=week] .timeline-day-head{min-width:0;padding:var(--space-1) 0}.schedule-page .calendar-days[data-calendar-view=week] .timeline-day-head b{min-width:26px;height:26px;font-size:var(--font-size-body);font-weight:800}.schedule-page .calendar-days[data-calendar-view=week] .timeline-day-head span{color:var(--text);font-size:var(--font-size-caption-small);font-weight:800}.schedule-page .calendar-days[data-calendar-view=week] .timeline-event{right:2px;left:2px;padding:var(--space-1) var(--space-0-5);border-left-width:1px;border-radius:var(--radius-sm);font-size:var(--font-size-caption-small)}.schedule-page .calendar-days[data-calendar-view=week] .timeline-event span{font-size:var(--font-size-micro)}.schedule-page .calendar-days[data-calendar-view=week] .timeline-event b,.schedule-page .calendar-days[data-calendar-view=week] .timeline-event__time{overflow:visible;width:100%;max-width:none;line-height:1.15;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.schedule-page .calendar-days[data-calendar-view=week] .timeline-event__time time{display:block}.schedule-page .calendar-days[data-calendar-view=week] .timeline-draft{right:2px;left:2px;padding:var(--space-0-5)}.schedule-page .calendar-days[data-calendar-view=week] .timeline-draft span{overflow:visible;width:100%;font-size:var(--font-size-micro);line-height:1.15;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.schedule-page .calendar-days[data-calendar-view=week] .timeline-draft__time time{display:block}.schedule-page .calendar-days[data-calendar-view=week] .timeline-hours span,.schedule-page .calendar-days[data-calendar-view=day] .timeline-hours span{right:5px;color:var(--text);font-size:var(--font-size-caption-small);font-weight:650}.schedule-page .calendar-days[data-calendar-view=week] .timeline-scroll,.schedule-page .calendar-days[data-calendar-view=day] .timeline-scroll{max-height:calc(100dvh - var(--page-header-space, 0px) - 260px);min-height:420px}.schedule-page .calendar-days[data-calendar-view=day] .timeline-day-head{padding-block:var(--space-1)}.schedule-page .calendar-days[data-calendar-view=month]{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;grid-template-rows:24px repeat(6,minmax(58px,1fr));min-width:0!important;gap:var(--space-0-5)}.schedule-page .calendar-days[data-calendar-view=month] .calendar-weekday{display:grid;place-items:center;padding:0;color:var(--text-muted);font-size:var(--font-size-caption-small);font-weight:700}.schedule-page .calendar-days[data-calendar-view=month] .day{display:block;min-width:0;min-height:58px;margin:0;padding:var(--space-1-5);border-radius:var(--radius-lg);box-shadow:none}.schedule-page .calendar-days[data-calendar-view=month] .day.outside-month{display:block;opacity:.48}.schedule-page .calendar-days[data-calendar-view=month] .day .date{display:block;margin:0;font-size:var(--font-size-caption);line-height:1}.schedule-page .calendar-days[data-calendar-view=month] .mobile-weekday{display:none}.schedule-page .calendar-days[data-calendar-view=month] .month-event-count{right:5px;bottom:5px;min-width:18px;height:18px;padding-inline:var(--space-1);border-radius:var(--radius-sm);font-size:var(--font-size-micro)}.timeline-scroll{max-height:none}}@media(hover:none){.timeline-event--temporary,.timeline-hover-line{display:none}}.schedule-page .calendar-days[data-calendar-view=day] .timeline-head{display:none}@media(max-width:1024px){.schedule-page .calendar-days[data-calendar-view=week]{min-width:0!important}.schedule-page .calendar-days[data-calendar-view=week],.schedule-page .calendar-days[data-calendar-view=day]{--timeline-time-column: 54px;--timeline-day-min: 0px}.schedule-page .calendar-days[data-calendar-view=week] .timeline-lines,.schedule-page .calendar-days[data-calendar-view=day] .timeline-lines{left:var(--timeline-time-column)}}@media(max-width:820px){body:has(.schedule-page.active){padding-bottom:0;overflow:hidden}.app .main:has(>.schedule-page.active),.app.sidebar-compact .main:has(>.schedule-page.active){padding-bottom:0}}@media(min-width:1025px){.schedule-page .timeline-scroll{max-height:calc(100vh - var(--page-header-space, 0px) - 190px);min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}}@media(min-width:601px)and (max-width:1024px){.schedule-page .calendar-card{overflow:hidden;border:0;border-radius:0;background:transparent}.schedule-page .calendar-days[data-calendar-view=month]{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;grid-template-rows:34px repeat(6,minmax(0,1fr));min-width:0!important;gap:var(--space-1)}.schedule-page .calendar-days[data-calendar-view=month] .calendar-weekday{display:grid;place-items:center;padding:0;color:var(--text);font-size:var(--font-size-body-small)}.schedule-page .calendar-days[data-calendar-view=month] .day,.schedule-page .calendar-days[data-calendar-view=month] .day.has-events,.schedule-page .calendar-days[data-calendar-view=month] .day.today,.schedule-page .calendar-days[data-calendar-view=month] .day.outside-month{display:block;min-width:0;min-height:0;margin:0;padding:var(--space-2);border-radius:var(--radius-xl);box-shadow:none}.schedule-page .calendar-days[data-calendar-view=month] .day .date{display:block;margin:0;font-size:var(--font-size-body)}.schedule-page .calendar-days[data-calendar-view=month] .mobile-weekday{display:none}.schedule-page .calendar-days[data-calendar-view=week] .timeline-head{min-height:104px}.schedule-page .calendar-days[data-calendar-view=week] .timeline-day-head b{font-size:var(--font-size-label);font-weight:750}.schedule-page .calendar-days[data-calendar-view=week] .timeline-day-head span{color:var(--text);font-size:var(--font-size-caption);font-weight:750}.schedule-page .calendar-days[data-calendar-view=week] .timeline-scroll,.schedule-page .calendar-days[data-calendar-view=day] .timeline-scroll{max-height:calc(100dvh - var(--page-header-space, 0px) - 190px);min-height:0;overflow-y:auto;overscroll-behavior:contain}}@media(min-width:601px)and (max-width:820px){.schedule-page .calendar-days[data-calendar-view=week] .timeline-scroll,.schedule-page .calendar-days[data-calendar-view=day] .timeline-scroll{max-height:calc(100dvh - var(--page-header-space, 0px) - 210px - env(safe-area-inset-bottom))}}@media(max-width:600px){.schedule-page .calendar-card{width:calc(100% + 20px);margin-inline:calc(var(--space-2-5) * -1);overflow:hidden;border:0;border-radius:0;background:transparent}.schedule-page .timeline-hours{background:transparent}.schedule-page .calendar-days[data-calendar-view=week],.schedule-page .calendar-days[data-calendar-view=day]{--timeline-time-column: 42px;--timeline-day-min: 0px}.schedule-page .calendar-days[data-calendar-view=week] .timeline-lines,.schedule-page .calendar-days[data-calendar-view=day] .timeline-lines{left:var(--timeline-time-column)}.schedule-page .timeline-hours span{right:4px}.schedule-page .calendar-days[data-calendar-view=month]{grid-template-rows:32px repeat(6,76px);gap:var(--space-1)}.schedule-page .calendar-days[data-calendar-view=month] .calendar-weekday{color:var(--text);font-size:var(--font-size-caption)}.schedule-page .calendar-days[data-calendar-view=month] .day,.schedule-page .calendar-days[data-calendar-view=month] .day.has-events,.schedule-page .calendar-days[data-calendar-view=month] .day.today,.schedule-page .calendar-days[data-calendar-view=month] .day.outside-month{min-height:76px;padding:var(--space-1-5);border-radius:var(--radius-lg)}.schedule-page .calendar-days[data-calendar-view=month] .day .date{font-size:var(--font-size-body-small)}.schedule-page .calendar-days[data-calendar-view=month] .month-event-counts{right:4px;bottom:4px;display:grid;grid-template-columns:repeat(2,18px);gap:var(--space-0-5)}.schedule-page .calendar-days[data-calendar-view=month] .month-event-count{width:18px;min-width:18px;height:16px;padding-inline:0;font-size:var(--font-size-micro)}.schedule-page .calendar-days[data-calendar-view=week] .timeline-head{min-height:80px}.schedule-page .calendar-days[data-calendar-view=week] .timeline-day-head{align-content:center;gap:var(--space-1-5)}.schedule-page .calendar-days[data-calendar-view=week] .timeline-day-head b{font-size:var(--font-size-body)}.schedule-page .calendar-days[data-calendar-view=week] .timeline-day-head span{font-size:var(--font-size-caption-small)}.schedule-page .calendar-days[data-calendar-view=week] .timeline-scroll,.schedule-page .calendar-days[data-calendar-view=day] .timeline-scroll{max-height:calc(100dvh - var(--page-header-space, 0px) - 210px - env(safe-area-inset-bottom));min-height:0;overflow-y:auto;overscroll-behavior:contain}}@media(max-width:820px){:root.page-header-shell:has(.schedule-page.active){--mobile-shell-bottom-clearance: calc(96px + env(safe-area-inset-bottom)) }}@media(max-width:820px){.schedule-page-layout,.schedule-page-layout>.ui-page-layout__content{height:calc(100dvh - var(--page-header-space, 0px) - 24px - var(--mobile-shell-bottom-clearance));min-height:0}.schedule-page-layout>.ui-page-layout__content{display:grid;grid-template-rows:auto minmax(0,1fr)}.schedule-page-layout .schedule-workspace,.schedule-page-layout .calendar-card,.schedule-page-layout .calendar-days{min-height:0}.schedule-page-layout .schedule-workspace,.schedule-page-layout .calendar-card,.schedule-page-layout .calendar-days{height:100%}.schedule-page .calendar-days[data-calendar-view=month]{grid-template-rows:32px repeat(6,minmax(0,1fr));gap:var(--space-0-5)}.schedule-page .calendar-days[data-calendar-view=month] .day,.schedule-page .calendar-days[data-calendar-view=month] .day.has-events,.schedule-page .calendar-days[data-calendar-view=month] .day.today,.schedule-page .calendar-days[data-calendar-view=month] .day.outside-month{min-height:0}.schedule-page .calendar-days[data-calendar-view=week],.schedule-page .calendar-days[data-calendar-view=day]{display:grid!important;grid-template-columns:minmax(0,1fr)!important}.schedule-page .calendar-days[data-calendar-view=week]{grid-template-rows:80px minmax(0,1fr)}.schedule-page .calendar-days[data-calendar-view=day]{grid-template-rows:minmax(0,1fr)}.schedule-page .calendar-days[data-calendar-view=week] .timeline-scroll{grid-row:2;height:auto;max-height:none;min-height:0;overflow-y:auto}.schedule-page .calendar-days[data-calendar-view=day] .timeline-scroll{grid-row:1;height:auto;max-height:none;min-height:0;overflow-y:auto}}@media(min-width:821px){.schedule-page .calendar-days[data-calendar-view=week]{display:grid!important;height:100%;min-width:0!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:74px minmax(0,1fr)}.schedule-page .calendar-days[data-calendar-view=week] .timeline-head,.schedule-page .calendar-days[data-calendar-view=week] .timeline-grid{grid-template-columns:var(--timeline-time-column) repeat(7,minmax(0,1fr))}.schedule-page .calendar-days[data-calendar-view=week] .timeline-head{grid-row:1}.schedule-page .calendar-days[data-calendar-view=day]{display:grid!important;height:100%;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)}.schedule-page .calendar-days[data-calendar-view=week] .timeline-scroll{grid-row:2}.schedule-page .calendar-days[data-calendar-view=day] .timeline-scroll{grid-row:1}.schedule-page .calendar-days[data-calendar-view=week] .timeline-scroll,.schedule-page .calendar-days[data-calendar-view=day] .timeline-scroll{height:auto;max-height:none;min-height:0;overflow-y:auto}}.schedule-day-sheet .schedule-today{display:block;height:auto;padding:0;overflow:visible;border:0;border-radius:0;background:transparent}@media(hover:none){.schedule-page .timeline-scroll,.schedule-page .calendar-card{-webkit-overflow-scrolling:touch}}@media(max-width:820px){.schedule-page .timeline-scroll,.schedule-page .calendar-card{overscroll-behavior-y:auto;touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch}}[data-theme=dark] .schedule-page .calendar-days[data-calendar-view=month] .calendar-weekday,[data-theme=dark] .schedule-page .day.outside-month{color:var(--text)}.main:has(.settings-page.active){padding-bottom:var(--space-6)}.main:not(.main--page-header):has(.settings-page.active){padding-top:var(--space-6)}.settings-page .topbar{display:none}.settings{max-width:760px;margin:0 auto}.settings__head{display:contents}.settings__title{margin:0 0 var(--space-4);font-size:var(--font-size-page-title);line-height:var(--line-height-tight);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight)}.settings__nav{position:sticky;top:var(--page-header-h, 0);z-index:var(--z-sticky);margin-bottom:var(--space-3-5);padding-block:var(--space-1-5) var(--space-2);background:var(--bg)}.settings__nav--header{position:static;margin-bottom:0;padding-block:0;background:none}.settings__tab-short{display:none}@media(max-width:380px){.settings__nav--header .settings__tab-full{display:none}.settings__nav--header .settings__tab-short{display:inline}}.sgroup{margin-bottom:var(--space-6)}.sgroup__title{margin:0 0 var(--space-3);padding:0 var(--space-1);font-size:var(--font-size-title);line-height:var(--line-height-snug);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-snug)}.sgroup__sub{margin:calc(var(--space-2) * -1) 0 var(--space-3);padding:0 var(--space-1);color:var(--text-muted);font-size:var(--font-size-body)}.scard{overflow:hidden;border-radius:var(--radius-surface);background:var(--surface-default);box-shadow:var(--shadow-surface)}.scard>*+*{border-top:1px solid var(--line)}.scard--gap{margin-top:var(--space-3)}.settings__input{width:100%;min-width:0;padding:var(--space-1) 0;border:0;background:transparent;color:var(--text);font:inherit;font-size:var(--font-size-label);text-align:right}.settings__input:focus{outline:none;color:var(--brand)}.settings__select{display:flex;min-width:0;max-width:100%}.settings .settings__select select.ui-select,.settings .settings__select .ui-select-trigger{width:auto;max-width:100%;min-height:0;padding:var(--space-1) 0 var(--space-1) var(--space-2);border:0;background-color:transparent;color:var(--text-muted);font-size:var(--font-size-body);text-align:right;text-align-last:right}.settings .settings__select .ui-select-trigger svg{color:var(--text-muted)}.settings .settings__select select.ui-select{padding-right:var(--space-6);background-position:calc(100% - 4px) 50%}.contact-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2) var(--space-5);padding:0 var(--space-1)}.contact-link{display:inline-flex;align-items:center;gap:var(--space-1-5);color:var(--brand);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);text-decoration:none}.contact-link:hover{text-decoration:underline}.contact-link__icon{color:var(--brand)}.settings__tg{flex:0 0 auto;width:20px;height:20px;color:var(--brand)}.theme-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin:0;padding:0;border:0}.theme-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-2-5);padding:var(--space-3-5);border:2px solid transparent;border-radius:var(--radius-surface);background:var(--surface-default);box-shadow:var(--shadow-surface);cursor:pointer}.theme-card--on{border-color:var(--brand)}.theme-card__preview{width:100%;height:76px;border-radius:var(--radius-lg);outline:1px solid var(--theme-preview-edge);outline-offset:-1px}.theme-card__preview[data-variant=light]{--theme-preview-edge: color-mix(in sRGB, var(--neutral-1000) 8%, transparent);background:var(--neutral-0)}.theme-card__preview[data-variant=dark]{--theme-preview-edge: color-mix(in sRGB, var(--neutral-0) 10%, transparent);background:var(--neutral-900)}.theme-card__preview[data-variant=system]{--theme-preview-edge: color-mix(in sRGB, var(--neutral-460) 22%, transparent);background:linear-gradient(90deg,var(--neutral-0) 0 50%,var(--neutral-900) 50% 100%)}.theme-card__name{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold)}@media(max-width:820px){.main:has(.settings-page.active){padding-bottom:calc(var(--space-16) + var(--space-10) + env(safe-area-inset-bottom))}}@media(max-width:600px){.main:not(.main--page-header):has(.settings-page.active){padding:var(--space-4) var(--space-3-5) calc(var(--space-16) + var(--space-10) + env(safe-area-inset-bottom))}.settings__title{font-size:var(--font-size-page-title)}.theme-pick{grid-template-columns:1fr;gap:var(--space-2-5)}.theme-card{flex-direction:row;padding:var(--space-3) var(--space-4)}.theme-card__preview{width:64px;height:44px;flex:0 0 64px}.theme-card__name{flex:1 1 auto}}.nmatrix{display:grid;grid-template-columns:minmax(0,1fr) repeat(var(--nmatrix-cols, 2),96px)}.nmatrix__head,.nmatrix__label,.nmatrix__cell{padding:var(--space-3) var(--space-4-5)}.nmatrix__head{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding-block:var(--space-3-5) var(--space-2-5)}.nmatrix__channel{color:var(--text-muted);font-size:var(--font-size-body-small);font-weight:var(--font-weight-semibold);white-space:nowrap}.nmatrix__label{display:flex;flex-direction:column;justify-content:center;gap:var(--space-0-5);min-width:0;border-top:1px solid var(--line)}.nmatrix__title{font-size:var(--font-size-body-large);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-normal)}.nmatrix__hint{color:var(--text-muted);font-size:var(--font-size-body-small);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-normal);letter-spacing:var(--tracking-normal)}.nmatrix__cell{display:flex;align-items:center;justify-content:center;border-top:1px solid var(--line)}.nmatrix__control{display:flex;align-items:center;justify-content:center;height:25px}.nmatrix__reminder{grid-column:1/-1}.nmatrix__stub{opacity:.45}@media(max-width:600px){.nmatrix{grid-template-columns:minmax(0,1fr) repeat(var(--nmatrix-cols, 2),84px)}.nmatrix__head,.nmatrix__cell{padding-inline:var(--space-1)}.nmatrix__label{padding-inline:var(--space-3-5) var(--space-2)}.nmatrix__channel{font-size:var(--font-size-caption)}}.ntoasts{position:fixed;top:16px;right:16px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2-5);width:min(360px,100vw - 32px);pointer-events:none}.ntoast{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2-5);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-xl);background:var(--text);color:var(--panel);pointer-events:auto;touch-action:pan-y}.ntoast__text{display:flex;flex-direction:column;gap:var(--space-0-5);min-width:0;text-align:left;overflow-wrap:anywhere}.ntoast__title{font-size:var(--font-size-label);line-height:var(--line-height-normal);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-normal)}.ntoast__body{opacity:.8;font-size:var(--font-size-body-small);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-normal);letter-spacing:var(--tracking-normal)}.ntoast__hint{margin-top:var(--space-1);font-size:var(--font-size-body-small);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-normal);letter-spacing:var(--tracking-normal)}.ntoast__hint a{color:inherit;font-weight:600;text-decoration:underline}.ntoast__close{--text: var(--panel);--surface-muted: color-mix(in sRGB, var(--panel) 14%, transparent)}.ntoast-enter-active{transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}.ntoast-leave-active{position:absolute;right:0;left:0;transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.ntoast-enter-from,.ntoast-leave-to{opacity:0;transform:translateY(-8px)}.ntoast-move{transition:transform var(--dur) var(--ease-out)}@media(max-width:820px){.ntoasts{top:12px;right:12px;left:12px;width:auto}}.cookie-banner{position:fixed;right:18px;bottom:18px;z-index:var(--z-cookie);display:grid;gap:var(--space-3);box-sizing:border-box;width:min(400px,100vw - 36px);padding:var(--space-4-5);border:1px solid var(--border-default);border-radius:var(--radius-3xl);background:var(--surface-default);color:var(--text);box-shadow:var(--shadow-lg);animation:cookie-banner-in var(--dur-slow) var(--ease-out) both}.cookie-banner__title{margin:0;font-size:var(--font-size-body-large)}.cookie-banner__text{margin:0;color:var(--text-muted);font-size:var(--font-size-caption);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-normal);letter-spacing:var(--tracking-normal)}.cookie-banner__text a{color:inherit;text-decoration:underline}.cookie-banner__actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.cookie-banner__actions--two{grid-template-columns:repeat(2,minmax(0,1fr))}.cookie-banner__actions>.ui-button{--button-padding-x: var(--space-2);white-space:nowrap}.cookie-banner__row{padding:var(--space-2-5) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-xl)}.cookie-banner__row-title{display:block;font-size:var(--font-size-body);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-normal)}.cookie-banner__row-text{display:block;color:var(--text-muted);font-size:var(--font-size-caption-small)}@keyframes cookie-banner-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.cookie-banner{animation:none}}@media(max-width:820px){.cookie-banner{right:8px;bottom:calc(88px + env(safe-area-inset-bottom));left:8px;width:auto}}.subscription-page .topbar{display:none}.subscription{max-width:760px;margin:0 auto}.subscription-section{margin-bottom:var(--space-7)}.subscription-section>h2{margin:0 0 var(--space-3);padding:0 var(--space-1);font-size:var(--font-size-title);line-height:var(--line-height-snug);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-snug)}.subscription-current{overflow:hidden;border-radius:var(--radius-surface);background:var(--surface-default);box-shadow:var(--shadow-surface)}.subscription-current>*+*{border-top:1px solid var(--line)}.plan-card__consent{margin:auto 0 var(--space-3-5)}.plan-card__consent--modal{margin:0}.recurring-consent{display:block;color:var(--text-muted);font-size:var(--font-size-caption);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-normal);letter-spacing:var(--tracking-normal)}.plan-card__consent--modal .recurring-consent{font-size:var(--font-size-body-small)}.plan-card__consent a{color:var(--brand-ink)}.subscription__alert{margin-bottom:var(--space-5)}@keyframes subscription-paid-check{0%{opacity:0;transform:scale(.4)}}.subscription__alert--paid .ui-alert__icon{animation:subscription-paid-check var(--dur-slow) var(--ease-spring) var(--dur-80) backwards}@media(max-width:820px){.main:has(.subscription-page.active){padding-bottom:calc(var(--space-16) + var(--space-10) + env(safe-area-inset-bottom))}}@media(max-width:600px){.subscription-section{margin-bottom:var(--space-5)}.subscription-renewal__idle{display:none}}@media(any-pointer:coarse){body input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=range]),body textarea,body select{font-size:var(--font-size-body-large)}}:root{--surface-hover: color-mix(in sRGB, var(--surface-muted) 92%, var(--action-primary) 8%)}[data-theme=dark]{--surface-hover: color-mix(in sRGB, var(--surface-muted) 88%, var(--action-primary) 12%)}html{scrollbar-gutter:stable}body{background:var(--surface-canvas)}.app{display:grid;min-height:100dvh;grid-template-columns:312px minmax(0,1fr);transition:grid-template-columns var(--dur-shell) var(--ease-expo)}.app.sidebar-compact{grid-template-columns:88px minmax(0,1fr)}.main{grid-column:2;container-name:app-content;container-type:inline-size;box-sizing:border-box;width:100%;min-width:0;max-width:1800px;margin:0 auto;padding:var(--space-4-5) var(--space-10) var(--space-4-5) var(--space-4-5)}.main>.page{min-width:0}.sidebar{position:fixed;top:18px;left:18px;z-index:var(--z-shell);display:flex;flex-direction:column;box-sizing:border-box;width:288px;height:calc(100vh - 36px);padding:var(--space-3-5);overflow:hidden auto;border-radius:var(--radius-3xl);background:var(--surface-nav);color:var(--text-nav-muted);box-shadow:var(--shadow-nav);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:width var(--dur-shell) var(--ease-expo),padding var(--dur-shell) var(--ease-expo)}.sidebar-compact .sidebar{width:64px;padding-inline:var(--space-2);scrollbar-width:none}.sidebar-compact .sidebar::-webkit-scrollbar{display:none}.sidebar-head{display:flex;align-items:center;justify-content:space-between;min-height:48px;margin-bottom:var(--space-4-5)}.sidebar-compact .sidebar-head{justify-content:center}@media(min-width:821px){.page-header-shell .sidebar-head{position:relative;top:-5px}}.sidebar-brand{display:flex;align-items:center;min-width:0}.sidebar-brand-logo{display:block;width:132px;height:auto;transform-origin:right center;transition:opacity var(--dur-180) ease,transform var(--dur-shell) var(--ease-expo),filter var(--dur) ease}.sidebar-compact .sidebar-brand-logo{opacity:0;filter:blur(2px);transform:translate(74px) scale(.36)}.sidebar-brand-logo--dark,.dark .sidebar-brand-logo--light{display:none}.dark .sidebar-brand-logo--dark{display:block}.sidebar-toggle{position:relative;flex:none;overflow:visible}.sidebar-toggle:before{position:absolute;inset:3px;border-radius:var(--radius-round);background:color-mix(in sRGB,var(--action-nav) 11%,transparent);content:"";opacity:0;transform:scale(.72);pointer-events:none;transition:opacity var(--dur-240) ease,transform var(--dur-280) var(--ease-expo)}.sidebar-toggle:hover:before,.sidebar-toggle:focus-visible:before{opacity:1;transform:scale(1)}.sidebar-compact .sidebar-toggle:before{animation:sidebar-owl-discovery var(--dur-1800) var(--ease-expo) var(--dur-shell) 2}.sidebar-toggle-owl{position:absolute;inset:0;width:38px;height:33px;margin:auto;color:var(--text-ink);opacity:0;overflow:visible;transform:scale(.38) translate(-18px);transform-origin:center;transition:opacity var(--dur) ease,transform var(--dur-shell) var(--ease-expo)}.sidebar-toggle-owl-pupil{transform:translate(0);transform-box:fill-box;transform-origin:center;transition:transform var(--dur-slow) var(--ease-expo)}.sidebar-toggle-morph{position:absolute;top:50%;left:50%;width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5;transform:translate(-50%,-50%) rotate(180deg);transform-origin:center;transition:opacity var(--dur-180) ease,transform var(--dur-shell) var(--ease-expo)}.sidebar-compact .sidebar-toggle-owl{opacity:1;transform:scale(1) translate(0)}.sidebar-compact .sidebar-toggle-morph{opacity:0}.sidebar-compact .sidebar-toggle:hover .sidebar-toggle-owl-pupil,.sidebar-compact .sidebar-toggle:focus-visible .sidebar-toggle-owl-pupil{transform:translate(18px)}@keyframes sidebar-owl-discovery{0%,to{opacity:0;transform:scale(.72)}42%{opacity:1;transform:scale(1.12)}}.nav{display:grid;gap:var(--space-1)}@media(min-width:821px){.nav{flex:1 0 auto;align-content:start}}.nav-item,.sidebar-profile-card{position:relative;display:flex;align-items:center;gap:var(--space-2-5);box-sizing:border-box;width:100%;min-width:0;min-height:46px;padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-xl);color:var(--text);font-weight:var(--font-weight-medium);text-decoration:none;transition:color var(--dur-200) ease,background-color var(--dur-200) ease,padding var(--dur-shell) var(--ease-expo),gap var(--dur-shell) var(--ease-expo)}.nav-item:hover,.sidebar-profile-card:hover{background:var(--surface-nav-accent);color:var(--text-nav-accent)}.nav-item.active,.sidebar-profile-card.active{background:var(--surface-nav-active);color:var(--text-nav-active);font-weight:var(--font-weight-semibold)}.nav-item:focus-visible,.sidebar-profile-card:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.nav-secondary{margin-top:var(--space-3)}.nav-item>.ico,.sidebar-profile-card>.ico{display:grid;flex:0 0 23px;place-items:center;color:var(--icon-nav)}.nav-item.active>.ico,.sidebar-profile-card.active>.ico{color:var(--icon-nav-active)}[data-theme=dark] .nav-item:not(.active),[data-theme=dark] .nav-item:not(.active)>.ico{color:var(--text)}.nav-label,.side-label{display:block;min-width:0;max-width:220px;overflow:hidden;white-space:nowrap;transition:max-width var(--dur-shell) var(--ease-expo),opacity var(--dur-240) ease,transform var(--dur-shell) var(--ease-expo)}.nav-label{translate:0 .15em}.sidebar-compact .nav-label,.sidebar-compact .side-label{max-width:0;opacity:0;transform:translate(-8px);pointer-events:none}.sidebar-compact .nav-item,.sidebar-compact .sidebar-profile-card{justify-content:safe center;gap:0;padding-inline:0}.nav-count{margin-left:auto}.sidebar-compact .nav-count{position:absolute;top:3px;right:3px}.nav-group{padding:var(--space-3) var(--space-3) var(--space-1);overflow:hidden;color:var(--text-nav-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);white-space:nowrap}.sidebar-compact .nav-group{color:transparent}.nav [data-page=settings],.nav-phone{display:none}.sidebar-profile{margin-top:auto;padding-top:var(--space-3-5);border-top:1px solid var(--border-nav)}.sidebar-compact .sidebar-profile{padding-top:var(--space-3)}@media(max-width:820px){:root{--mobile-shell-bottom-clearance: calc(108px + env(safe-area-inset-bottom)) }.app,.app.sidebar-compact{display:block}.main{padding:var(--space-6) var(--space-4-5) var(--mobile-shell-bottom-clearance)}.sidebar,.sidebar-compact .sidebar{inset:auto 12px calc(36px + env(safe-area-inset-bottom));display:block;width:auto;height:54px;padding:var(--space-1);overflow:visible;border:1px solid var(--border-nav);background:color-mix(in sRGB,var(--surface-nav) 90%,transparent);box-shadow:var(--shadow-sm)}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.sidebar,.sidebar-compact .sidebar{background:color-mix(in sRGB,var(--surface-nav) 72%,transparent);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%)}}.dark .sidebar,.dark .sidebar-compact .sidebar{border-color:color-mix(in sRGB,var(--text-ink) 28%,var(--surface-nav));background:color-mix(in sRGB,var(--surface-nav) 95%,var(--text-ink));box-shadow:var(--shadow-2xl)}.sidebar-head,.sidebar-profile,.nav-group,.nav-grouped{display:none}.nav .nav-phone{display:flex}.nav{grid-auto-columns:minmax(42px,1fr);grid-auto-flow:column;gap:var(--space-0-5);min-width:0}.nav-item,.sidebar-compact .nav-item{justify-content:center;min-height:44px;padding:var(--space-1);gap:0;border-radius:var(--radius-2xl)}.nav-label,.sidebar-compact .nav-label{display:none}.nav-secondary{margin-top:0}.nav-count{position:absolute;top:3px;right:3px}}@media(max-width:480px){.main{padding-inline:var(--space-3-5)}.sidebar,.sidebar-compact .sidebar{inset-inline:10px}}@media(max-width:820px){:root.page-header-shell{--mobile-shell-bottom-clearance: calc(96px + env(safe-area-inset-bottom)) }:root.page-header-shell:has(.app-fab,.quick-actions--floating){--mobile-shell-bottom-clearance: calc(152px + env(safe-area-inset-bottom)) }.page-header-shell .sidebar,.page-header-shell .sidebar-compact .sidebar{inset:auto max(10px,50% - 260px) calc(8px + env(safe-area-inset-bottom) - var(--nav-away, 0px));height:auto;padding:var(--space-1-5) var(--space-2);border-radius:var(--radius-pill);transition:bottom var(--dur-slow) var(--ease-expo)}.page-header-shell .app-fab{bottom:calc(88px + env(safe-area-inset-bottom) - var(--nav-away, 0px));transition:bottom var(--dur-slow) var(--ease-expo)}.nav-away-dragging.page-header-shell .sidebar,.nav-away-dragging.page-header-shell .app-fab{transition:none}.page-header-shell .nav{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;grid-template-columns:none;gap:0}.page-header-shell .nav-item,.page-header-shell .sidebar-compact .nav-item{flex-direction:column;gap:var(--space-0-5);min-height:0;padding:var(--space-1-5) 0;border-radius:var(--radius-xl)}.page-header-shell .nav-item:not(.active),.page-header-shell .nav-item:not(.active)>.ico{color:var(--text-muted)}.page-header-shell .nav-label,.page-header-shell .sidebar-compact .nav-label{display:block;max-width:100%;font-size:var(--font-size-micro);line-height:var(--line-height-normal);text-overflow:ellipsis;opacity:1;transform:none}.page-header-shell .nav-count{top:0;right:calc(50% - 22px)}}@media(max-width:380px){.page-header-shell .sidebar,.page-header-shell .sidebar-compact .sidebar{right:6px;left:6px;padding-inline:var(--space-1)}.page-header-shell .nav-label,.page-header-shell .sidebar-compact .nav-label{letter-spacing:var(--tracking-tight)}}@media(prefers-reduced-motion:reduce){.app,.sidebar,.nav-item,.sidebar-profile-card,.nav-label,.side-label,.sidebar-brand-logo,.sidebar-toggle:before,.sidebar-toggle-owl,.sidebar-toggle-morph,.sidebar-toggle-owl-pupil{transition:none;animation:none}}body.app-is-hydrating #page-board>:not(.ui-page-skeleton){display:none!important}.board-page>.ui-page-skeleton{display:none}body.app-is-hydrating .board-page>.ui-page-skeleton{display:grid}.skeleton-board-title,.skeleton-board-grid>i{border-radius:var(--radius-lg);background:var(--surface-muted)}.skeleton-board-title{width:min(300px,62%);height:34px}.skeleton-board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4-5);min-height:460px}@keyframes header-search-grow{0%{flex-basis:var(--space-9);min-width:var(--space-9);opacity:0}}.ui-input-group.header-search-enter-active{overflow:hidden;animation:header-search-grow var(--dur-240) var(--ease-out)}.ui-input-group.header-search-leave-active{overflow:hidden;animation:header-search-grow var(--dur-200) var(--ease-out) reverse}.ui-button.header-search-enter-active,.ui-button.header-search-leave-active{transition:none}@media(prefers-reduced-motion:reduce){.ui-input-group.header-search-enter-active,.ui-input-group.header-search-leave-active{animation:none}}body:has(.maintenance){margin:0;background:#fff7fa;color:#27212a;font-family:Onest,sans-serif}.maintenance{display:grid;min-height:100vh;min-height:100dvh;place-items:center;padding:24px;box-sizing:border-box}.maintenance__card{width:min(100%,520px);padding:clamp(28px,6vw,48px);box-sizing:border-box;border:1px solid #fbe2ea;border-radius:24px;background:#fff;box-shadow:0 20px 60px #57233b12}.maintenance__brand{display:block;margin-bottom:48px;color:#e91e63;font-size:24px;font-weight:800}.maintenance__badge{display:inline-block;padding:8px 12px;border-radius:999px;background:#fff0f5;color:#ba1952;font-size:13px;font-weight:700}.maintenance h1{margin:20px 0 12px;font-size:clamp(28px,6vw,38px);line-height:1.15}.maintenance p{margin:0;font-size:17px;line-height:1.5}.maintenance .maintenance__note{margin-top:28px;color:#766d75;font-size:15px}
