.account-security-page{gap:var(--space-4);flex-direction:column;min-width:0;max-width:48rem;display:flex}.account-section{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.account-section>p{max-width:100%;margin:0}.account-section__heading{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.account-section__label{color:var(--color-text-muted)}.account-section__note{color:var(--color-text-muted);font-size:var(--font-size-sm)}.account-section__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.account-sessions{gap:var(--space-3);flex-direction:column;width:100%;margin:0;padding:0;list-style:none;display:flex}.account-session{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface-sunken);border-radius:var(--radius-md);flex-direction:column;display:flex}.account-session__head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.account-session__client{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.account-session__details{gap:var(--space-2) var(--space-6);flex-wrap:wrap;margin:0;display:flex}.account-session__details dt{color:var(--color-text-muted);font-size:var(--font-size-sm)}.account-session__details dd{overflow-wrap:anywhere;margin:0}.account-session__note{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.apps-grid{gap:var(--space-4);margin:var(--space-4) 0 var(--space-6);grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));padding:0;list-style:none;display:grid}.apps-card{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.apps-card>*{margin:0}.apps-card__title{font-size:var(--font-size-lg);overflow-wrap:anywhere}.apps-card__publisher,.apps-card__meta{color:var(--color-text-muted);font-size:var(--font-size-sm);overflow-wrap:anywhere}.apps-card__badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.apps-card__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-block-start:auto;display:flex}.apps-toolbar{align-items:flex-end;gap:var(--space-3);margin-block:var(--space-4);flex-wrap:wrap;display:flex}.apps-section{gap:var(--space-4);flex-direction:column;margin-block-end:var(--space-6);display:flex}.apps-section>h2,.apps-section>p{margin:0}.webhooks-masked{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-size-sm);overflow-wrap:anywhere}.webhooks-example{align-items:flex-start;gap:var(--space-2);flex-direction:column;margin-block-start:var(--space-4);display:flex}.webhooks-example__title,.webhooks-test__title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.webhooks-example__code{width:100%;padding:var(--space-3);background:var(--color-surface-sunken);border-radius:var(--radius-md);font-size:var(--font-size-sm);white-space:pre;margin:0;overflow-x:auto}.webhooks-test{gap:var(--space-2);border-block-start:1px solid var(--color-border);flex-direction:column;margin-block-start:var(--space-5);padding-block-start:var(--space-4);display:flex}.webhooks-test>p{margin:0}.webhooks-test__row{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}.webhooks-preview{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0}.webhooks-preview__caption{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-block-end:var(--space-2)}.webhooks-preview__header{margin:0 0 var(--space-1)}.webhooks-preview__name{font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.webhooks-preview__badge{padding:0 var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.04em}.apps-back{margin-block-end:var(--space-4);display:inline-block}.apps-facts{gap:var(--space-3) var(--space-5);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));margin:0;display:grid}.apps-facts>div{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.apps-facts dt{color:var(--color-text-muted);font-size:var(--font-size-sm)}.apps-facts dd{font-weight:var(--font-weight-medium);overflow-wrap:anywhere;margin:0}.apps-note{padding:var(--space-3) var(--space-4);background:var(--color-surface-sunken);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin:0}.apps-note>p{margin:0 0 var(--space-2)}.apps-note--warning{background:var(--color-warning-surface);color:var(--color-warning-text)}.apps-note--danger{background:var(--color-danger-surface);color:var(--color-danger-text)}.apps-scopes{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.apps-scopes__item{gap:var(--space-1);flex-direction:column;display:flex}.apps-scopes__title{align-items:center;gap:var(--space-2);font-weight:var(--font-weight-medium);flex-wrap:wrap;display:flex}.apps-scopes__description{color:var(--color-text-muted);font-size:var(--font-size-sm)}.apps-choices{gap:var(--space-3);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.apps-choices__legend{font-weight:var(--font-weight-semibold);margin-block-end:var(--space-2);padding:0}.apps-choice{column-gap:var(--space-3);row-gap:var(--space-1);grid-template-columns:auto 1fr;align-items:start;display:grid}.apps-choice>input{margin-block-start:.25rem}.apps-choice>label{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.apps-choice>p{grid-column:2;margin:0}.apps-notice{padding:var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md)}.apps-notice__text{padding:var(--space-3) var(--space-4);border-inline-start:3px solid var(--color-border-strong);background:var(--color-surface-sunken);margin:0}.apps-form{gap:var(--space-4);flex-direction:column;display:flex}.apps-secret{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.apps-secret>:first-child{flex:1;min-width:14rem}.oauth-page{gap:var(--space-4);flex-direction:column;max-width:40rem;margin-inline:auto;display:flex}.oauth-page__title{margin:0}.oauth-page__school{color:var(--color-text-muted);margin:0}.school-brand{align-items:center;gap:var(--space-2);min-width:0;display:inline-flex}.school-brand__logo{object-fit:contain;flex:none;width:auto;max-width:6rem;height:2rem}.school-brand__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-layout{grid-template:"header header""nav main"1fr/15rem minmax(0,1fr);min-height:100vh;display:grid}.admin-header{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;grid-area:header;display:flex}.admin-header__toggle{display:none}.admin-header__title{font-weight:var(--font-weight-semibold)}.admin-header__school{min-width:0;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-header__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-inline-start:auto;display:flex}.admin-nav{padding:var(--space-4) var(--space-3);background:var(--color-surface);border-inline-end:1px solid var(--color-border);grid-area:nav}.admin-nav__list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.admin-nav__badge{min-inline-size:1.5rem;padding:0 var(--space-2);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;text-align:center;color:var(--color-on-danger);background:var(--color-danger);border-radius:999px;line-height:1.5rem}.admin-nav__link{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--color-text);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:background-color var(--duration-fast) var(--easing-standard);text-decoration:none;display:flex}.admin-nav__link:hover{background:var(--color-surface-sunken)}.admin-nav__link[aria-current=page]{background:var(--color-accent-surface);color:var(--color-accent-text)}.admin-main{min-width:0;max-width:64rem;padding:var(--space-8) var(--space-6) var(--space-12);grid-area:main}.admin-backdrop{display:none}@media (width<=48rem){.admin-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"header""main"}.admin-header__toggle{display:inline-flex}.admin-main{padding:var(--space-6) var(--space-4) var(--space-12)}.admin-nav{z-index:20;width:min(18rem,85vw);box-shadow:var(--shadow-md);visibility:hidden;transition:transform var(--duration-normal) var(--easing-standard), visibility 0s linear var(--duration-normal);position:fixed;inset-block:0;inset-inline-start:0;overflow-y:auto;transform:translate(-100%)}.admin-nav[data-open=true]{visibility:visible;transition:transform var(--duration-normal) var(--easing-standard);transform:none}.admin-backdrop{z-index:10;background:var(--color-scrim);display:block;position:fixed;inset:0}}.support-section{gap:var(--space-3);margin:0 0 var(--space-6);flex-direction:column;display:flex}.support-section__title{font-size:var(--font-size-lg);margin:0}.support-reason{overflow-wrap:anywhere}.support-muted{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm);display:block}.support-banner{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);margin:0 0 var(--space-6);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-warning-surface);color:var(--color-warning-text);flex-wrap:wrap;font-weight:600;display:flex}.support-banner__list{margin:0;padding:0;list-style:none}.support-banner__link{color:inherit;text-decoration:underline}.appearance{gap:var(--space-8);align-items:start;display:grid}@media (width>=64rem){.appearance{grid-template-columns:minmax(0,1fr) minmax(0,22rem)}}.appearance__fields{gap:var(--space-6);min-width:0;display:grid}.appearance__group{gap:var(--space-3);border:0;min-width:0;margin:0;padding:0;display:grid}.appearance__legend{margin:0 0 var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);padding:0}.appearance__row{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.appearance__row:empty{display:none}.appearance__picker{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;width:3rem;height:2.5rem;padding:0}.appearance__swatch{width:1rem;height:1rem;border-radius:var(--radius-sm);vertical-align:middle;margin-inline-end:var(--space-2);display:inline-block}.appearance__logo{min-height:4rem;padding:var(--space-3);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);align-items:center;display:flex}.appearance__logo-image{object-fit:contain;max-width:12rem;max-height:4rem}.appearance__muted{color:var(--color-text-muted);margin:0}.appearance__ok{color:var(--color-success-text);margin:0}.appearance__error{color:var(--color-danger-text);margin:0}.appearance__previews{gap:var(--space-4);min-width:0;display:grid}.appearance-preview{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);color:var(--color-text);margin:0;overflow:hidden}.appearance-preview__caption{padding:var(--space-2) var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm)}.appearance-preview__header{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-block:1px solid var(--color-border);background:var(--color-surface);font-weight:var(--font-weight-semibold);display:flex}.appearance-preview__logo{object-fit:contain;max-width:5rem;height:1.75rem}.appearance-preview__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.appearance-preview__body{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);flex-wrap:wrap;display:flex}.appearance-preview__button{pointer-events:none}.appearance-preview__link{color:var(--color-accent-text);text-decoration:underline}.appearance-preview__badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:var(--color-accent-surface);color:var(--color-accent-text);font-size:var(--font-size-sm)}.people-filters{align-items:end;gap:var(--space-3) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));margin-block-end:var(--space-5);display:grid}.people-filters .ui-field{margin:0}.people-filters__clear{align-items:flex-end;display:flex}.people-results[aria-busy=true]{opacity:.6;transition:opacity var(--duration-fast) var(--easing-standard)}.people-name{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.people-name__button{font:inherit;font-weight:var(--font-weight-semibold);color:var(--color-accent-text);text-align:start;cursor:pointer;background:0 0;border:0;padding:0}.people-name__button:hover{text-decoration:underline}.people-name__email,.people-muted{font-size:var(--font-size-sm);color:var(--color-text-muted);overflow-wrap:anywhere}.people-muted{margin:0}.people-badges{gap:var(--space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.people-links{gap:var(--space-1);font-size:var(--font-size-sm);flex-direction:column;display:flex}.people-more{justify-content:center;margin-block-start:var(--space-4);display:flex}.ui-dialog__content.people-drawer{width:min(32rem,100vw);max-height:none;animation:people-drawer-in var(--duration-normal) var(--easing-standard);border-block:0;border-inline-end:0;border-radius:0;inset:0 0 0 auto;transform:none}.people-detail{gap:var(--space-5);flex-direction:column;display:flex}.people-detail__summary{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.people-detail__section{gap:var(--space-3);flex-direction:column;display:flex}.people-detail__heading{font-size:var(--font-size-md);margin:0}.people-detail__list{border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.people-detail__item{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.people-detail__item+.people-detail__item{border-top:1px solid var(--color-border)}.people-detail__item-text{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:inline-flex}.people-picker{gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-sunken);border-radius:var(--radius-md);flex-direction:column;display:flex}.people-picker .ui-field{margin:0}.people-picker__actions{justify-content:flex-end;display:flex}@keyframes people-drawer-in{0%{opacity:0;transform:translateX(var(--space-6))}}.help-link{border:1px solid var(--color-border-strong);width:1.75rem;height:1.75rem;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:50%;flex:none;justify-content:center;align-items:center;line-height:1;text-decoration:none;display:inline-flex}.help-link:hover{color:var(--color-accent-text);border-color:var(--color-accent);background:var(--color-accent-surface)}.help-link:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.help-page{max-width:72rem}.help-page__back{margin:0 0 var(--space-4)}.help-page__note{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-warning-surface);color:var(--color-warning-text);border-radius:var(--radius-md)}.help-page__search{max-width:32rem;margin-bottom:var(--space-6);display:block}.help-page__error{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.help-page__error p{margin:0}.help-page__layout{gap:var(--space-8);grid-template-columns:minmax(0,14rem) minmax(0,1fr);align-items:start;display:grid}@media (width<=48rem){.help-page__layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}}.help-page__guides ul,.help-guide__contents ul,.help-index__sections,.help-results__list{margin:0;padding:0;list-style:none}.help-page__guides ul{gap:var(--space-1);flex-direction:column;display:flex}.help-page__guides a{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text);text-decoration:none;display:block}.help-page__guides a:hover{background:var(--color-surface-sunken)}.help-page__guides a[aria-current=page]{background:var(--color-accent-surface);color:var(--color-accent-text);font-weight:var(--font-weight-medium)}.help-page__content{min-width:0}.help-page__content h2{margin-top:0}.help-index{gap:var(--space-8);flex-direction:column;display:flex}.help-index__sections{gap:var(--space-2) var(--space-4);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.help-guide__contents{margin:var(--space-4) 0 var(--space-6);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.help-guide__contents ul{gap:var(--space-2);flex-direction:column;display:flex}.help-section{scroll-margin-top:var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--color-border)}.help-section--current{padding-left:var(--space-4);border-left:4px solid var(--color-accent)}.help-page .safe-markdown blockquote{padding:var(--space-3) var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-muted);margin:0}.help-results__list{gap:var(--space-4);flex-direction:column;display:flex}.help-results__item{gap:var(--space-1);flex-direction:column;display:flex}.help-results__guide{color:var(--color-text-muted);font-size:var(--font-size-sm)}.help-results__snippet{overflow-wrap:anywhere;margin:0}.billing-section{gap:var(--space-4);flex-direction:column;margin-block-end:var(--space-6);display:flex}.billing-section>h2,.billing-section>p{margin:0}.billing-section__description{color:var(--color-text-muted);font-size:var(--font-size-sm)}.billing-card{gap:var(--space-3);flex-direction:column;display:flex}.billing-card>*{margin:0}.billing-details{gap:var(--space-3) var(--space-5);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));margin:0;display:grid}.billing-details>div{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.billing-details dt{color:var(--color-text-muted);font-size:var(--font-size-sm)}.billing-details dd{font-weight:var(--font-weight-medium);overflow-wrap:anywhere;margin:0}.billing-note{padding:var(--space-3) var(--space-4);background:var(--color-surface-sunken);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin:0}.billing-note--warning{background:var(--color-warning-surface);color:var(--color-warning-text)}.billing-stats{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));display:grid}.billing-plans{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));margin:0;padding:0;list-style:none;display:grid}.billing-plan{align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.billing-plan h3,.billing-plan__price{margin:0}.billing-plan__price{font-weight:600}.billing-form{gap:var(--space-4);flex-direction:column;max-width:32rem;display:flex}.billing-form .ui-field{margin:0}.billing-person{gap:var(--space-2);flex-direction:column;display:flex}.billing-person__chosen{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.billing-person__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0}.billing-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.billing-link{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.billing-muted{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.billing-quota{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.announcement-admin__title{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.announcement-admin__open{font:inherit;font-weight:var(--font-weight-semibold);color:var(--color-accent-text);text-align:start;cursor:pointer;text-underline-offset:.2em;overflow-wrap:anywhere;background:0 0;border:0;padding:0;text-decoration:underline}.announcement-admin__open:hover{color:var(--color-accent-hover)}.announcement-admin__muted{font-size:var(--font-size-sm);color:var(--color-text-muted)}.announcement-admin__more{justify-content:center;margin-block-start:var(--space-4);display:flex}.read-rate{align-items:center;gap:var(--space-2);grid-template-columns:minmax(5rem,1fr) auto auto;min-inline-size:13rem;display:grid}.read-rate__track{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);block-size:.5rem;overflow:hidden}.read-rate__fill{background:var(--color-accent);border-radius:inherit;block-size:100%}.read-rate__text{font-variant-numeric:tabular-nums;white-space:nowrap}.read-rate__percent{font-size:var(--font-size-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.read-rate__none{font-size:var(--font-size-sm);color:var(--color-text-muted)}.ui-dialog__content.announcement-drawer{width:min(34rem,100vw);max-height:none;animation:announcement-drawer-in var(--duration-normal) var(--easing-standard);border-block:0;border-inline-end:0;border-radius:0;inset:0 0 0 auto;transform:none}.announcement-detail{gap:var(--space-5);flex-direction:column;display:flex}.announcement-detail__stats{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));display:grid}.announcement-detail__section{gap:var(--space-3);flex-direction:column;display:flex}.announcement-detail__heading{font-size:var(--font-size-md);margin:0}.announcement-detail__note{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.announcement-people{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.announcement-people__person{gap:var(--space-1);padding-block:var(--space-2);border-block-end:1px solid var(--color-border);flex-direction:column;display:flex}.announcement-people__name{font-weight:var(--font-weight-medium);overflow-wrap:anywhere}.announcement-people__context{font-size:var(--font-size-sm);color:var(--color-text-muted)}.announcement-people__more{margin-block-start:var(--space-3)}@keyframes announcement-drawer-in{0%{opacity:0;transform:translateX(var(--space-6))}}.imports-wizard{gap:var(--space-5);display:grid}.imports-steps{gap:var(--space-2) var(--space-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.imports-steps__item{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);display:flex}.imports-steps__item[aria-current=step]{font-weight:var(--font-weight-semibold);color:var(--color-text)}.imports-steps__number{block-size:1.75rem;inline-size:1.75rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text);background:var(--color-surface-sunken);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);place-items:center;display:inline-grid}.imports-steps__item[data-state=done] .imports-steps__number{color:var(--color-success-text);background:var(--color-success-surface)}.imports-steps__item[aria-current=step] .imports-steps__number{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent)}.imports-step{gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:grid}.imports-step>form{gap:var(--space-4);display:grid}.imports-step .ui-field,.imports-step .ui-form-actions{margin:0}.imports-step__title{font-size:var(--font-size-lg);margin:0}.imports-text,.imports-note{margin:0}.imports-note{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md)}.imports-note--warning{color:var(--color-warning-text);background:var(--color-warning-surface)}.imports-legend{font-weight:var(--font-weight-semibold);margin-block-end:var(--space-2);padding:0}.imports-help{gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-surface-sunken);border-radius:var(--radius-md);display:grid}.imports-help__steps{gap:var(--space-1);margin:0;padding-inline-start:var(--space-5);display:grid}.imports-note--success{color:var(--color-success-text);background:var(--color-success-surface)}.imports-stats{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));display:grid}.imports-section{gap:var(--space-3);display:grid}.imports-section__title{font-size:var(--font-size-md);margin:0}.imports-error-counts,.imports-reasons{margin:0;padding-inline-start:var(--space-5)}.imports-reasons{min-inline-size:14rem}.imports-table td{vertical-align:top}.imports-muted{color:var(--color-text-muted)}.imports-inline{gap:var(--space-3);flex-wrap:wrap;display:flex}.imports-choices{gap:var(--space-3);border:0;margin:0;padding:0;display:grid}.imports-choice{column-gap:var(--space-3);grid-template-columns:auto 1fr;align-items:start;display:grid}.imports-choice>input{margin-block-start:.25rem}.imports-choice .ui-field__hint{margin:var(--space-1) 0 0}.imports-confirm{gap:var(--space-2);margin:0;padding-inline-start:var(--space-5);display:grid}.imports-upload-status{gap:var(--space-2);display:grid}.imports-upload-status .status{margin:0}.imports-progress{block-size:.5rem;inline-size:100%;accent-color:var(--color-accent)}.imports-section>.ui-field{max-inline-size:28rem;margin:0}.imports-fix-rows{gap:var(--space-4);display:grid}.imports-fix-row{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0;display:grid}.imports-fix-row[data-removed]{background:var(--color-surface-sunken)}.imports-fix-row__title{padding:0 var(--space-1);font-weight:var(--font-weight-semibold)}.imports-fix-row__fields{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));display:grid}.imports-fix-row .ui-field{margin:0}.imports-code{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.classes-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));margin:0;padding:0;list-style:none;display:grid}.classes-card{display:flex}.classes-card__body{gap:var(--space-3);flex-direction:column;flex:1;min-width:0;display:flex}.classes-card__header{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.classes-card__name{font-size:var(--font-size-lg);margin:0}.classes-card__stats{gap:var(--space-2);grid-template-columns:repeat(3,1fr);margin:0;display:grid}.classes-card__stats>div{gap:var(--space-1);flex-direction:column-reverse;display:flex}.classes-card__stats dt{font-size:var(--font-size-sm);color:var(--color-text-muted)}.classes-card__stats dd{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.classes-card__homeroom{overflow-wrap:anywhere;margin:0}.classes-card__failed{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-danger);flex-wrap:wrap;display:flex}.classes-card__body>.ui-button{align-self:flex-start;margin-block-start:auto}.classes-muted{font-size:var(--font-size-sm);color:var(--color-text-muted);overflow-wrap:anywhere;margin:0}.ui-dialog__content.classes-drawer{border-block:0;border-inline-end:0;border-radius:0;width:min(34rem,100vw);max-height:none;inset:0 0 0 auto;transform:none}.classes-detail{gap:var(--space-5);flex-direction:column;display:flex}.classes-detail__section{gap:var(--space-3);flex-direction:column;display:flex}.classes-detail__heading{font-size:var(--font-size-md);margin:0}.classes-detail__value{font-weight:var(--font-weight-semibold);overflow-wrap:anywhere;margin:0}.classes-detail__result{font-size:var(--font-size-sm);margin:0}.classes-detail__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.classes-detail__list{border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.classes-detail__item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);display:flex}.classes-detail__item+.classes-detail__item{border-block-start:1px solid var(--color-border)}.classes-detail__item-text{gap:var(--space-1);overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.classes-add-subject,.classes-form{gap:var(--space-4);flex-direction:column;display:flex}.classes-form__homeroom{gap:var(--space-2);flex-direction:column;display:flex}.classes-form__label{font-weight:var(--font-weight-medium)}.classes-form__actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.report-message-form{gap:var(--space-4);display:grid}.report-message-form__error{font-size:var(--font-size-sm);color:var(--color-danger-text);margin:0}.link-previews{gap:var(--space-1);margin:var(--space-1) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.link-preview{max-width:32rem;padding:var(--space-2) var(--space-3);color:var(--color-text);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-inline-start:3px solid var(--color-border-strong);border-radius:var(--radius-md);overflow-wrap:anywhere;transition:border-color var(--duration-fast) var(--easing-standard);flex-direction:column;gap:.125rem;text-decoration:none;display:flex}.link-preview:hover{border-color:var(--color-border-strong)}.link-preview:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.link-preview__site{gap:0 var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.link-preview__site-name,.link-preview__title,.link-preview__description{unicode-bidi:isolate}.link-preview__site-name{font-weight:var(--font-weight-semibold)}.link-preview__title{font-weight:var(--font-weight-semibold);color:var(--color-accent-text);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.link-preview:hover .link-preview__title{text-underline-offset:.15em;text-decoration:underline}.link-preview__description{font-size:var(--font-size-sm);color:var(--color-text-muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.custom-emoji{object-fit:contain;vertical-align:-.3em;width:1.375em;height:1.375em;display:inline-block}.custom-emoji--pending{vertical-align:baseline;width:auto;height:auto}.custom-emoji--large{vertical-align:middle;width:4rem;height:4rem}.custom-emoji-trigger{font:inherit;color:inherit;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;padding:0;display:inline}.custom-emoji-trigger:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:1px}.ui-popover.custom-emoji-popover{align-items:center;gap:var(--space-2);padding:var(--space-3);flex-direction:column;display:flex}.custom-emoji-popover__name{font-weight:var(--font-weight-semibold);margin:0}.custom-emoji-popover__note{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.custom-emoji-missing{text-align:center;min-width:1.375em;color:var(--color-text-muted);display:inline-block}.message-body{gap:var(--space-1);overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.message-body>*,.message-body__quote>*,.message-body__list li>*{margin:0}.message-body__paragraph{white-space:pre-wrap}.message-body__link{color:var(--color-accent-text);text-underline-offset:.15em;text-decoration:underline}.message-body__link:hover{color:var(--color-accent-hover)}.message-body__link-target{color:var(--color-text-muted);font-size:var(--font-size-sm)}.message-body__code{padding:.05em var(--space-1);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.message-body__quote{gap:var(--space-1);color:var(--color-text-muted);border-inline-start:3px solid var(--color-border-strong);flex-direction:column;padding-inline-start:var(--space-3);display:flex}.message-body__list{gap:var(--space-1);flex-direction:column;margin:0;padding-inline-start:var(--space-6);display:flex}.message-body__list li>*+*{margin-block-start:var(--space-1)}.message-body__mention{padding:0 var(--space-1);color:var(--color-accent-text);background:var(--color-accent-surface);border-radius:var(--radius-sm)}.message-body__mention[data-self=true]{color:var(--color-on-accent);background:var(--color-accent);font-weight:var(--font-weight-semibold)}.code-block{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;max-width:100%;display:flex;overflow:hidden}.code-block__bar{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-block-end:1px solid var(--color-border);font-size:var(--font-size-xs);display:flex}.code-block__language{color:var(--color-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.code-block__status{min-width:0;color:var(--color-text-muted);text-align:end;flex:1}.code-block__status[data-failed]{color:var(--color-danger-text)}.code-block__copy{min-height:1.75rem;font-size:var(--font-size-xs);padding-block:0}.code-block__code{padding:var(--space-2) var(--space-3);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-size-sm);white-space:pre;overflow-wrap:normal;tab-size:2;margin:0;line-height:1.5;overflow-x:auto}.code-block__code:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.wf-section{gap:var(--space-3);margin:0 0 var(--space-5);flex-direction:column;display:flex}.card.wf-section{padding:var(--space-4)}.wf-section__head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.wf-section__title{font-size:var(--font-size-lg);margin:0}.wf-muted{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.wf-note,.wf-warning{color:var(--color-warning-text);font-weight:var(--font-weight-medium);margin:0}.wf-code{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-inline-start:var(--space-2)}.wf-list,.wf-templates{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.wf-templates{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}.wf-list__item{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);display:flex}.wf-list__text{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.wf-list__name{font-weight:var(--font-weight-semibold)}.wf-template{align-items:flex-start;gap:var(--space-2);padding:var(--space-4);flex-direction:column;display:flex}.wf-template__name{align-items:center;gap:var(--space-2);font-size:var(--font-size-md);flex-wrap:wrap;margin:0;display:flex}.wf-switch{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.wf-switch__label{min-inline-size:3rem;color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:end}.wf-switch__input{block-size:1.25rem;inline-size:1.25rem;accent-color:var(--color-accent)}.wf-builder{gap:var(--space-4);margin:0 0 var(--space-5);padding:var(--space-4);flex-direction:column;display:flex}.wf-builder__heading{font-size:var(--font-size-lg);margin:0}.wf-builder__content{gap:var(--space-3);flex-direction:column;display:flex}.wf-steps{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.wf-steps__item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:inherit;font:inherit;cursor:pointer;background:0 0;display:inline-flex}.wf-steps__item:disabled{color:var(--color-text-muted);cursor:not-allowed}.wf-steps__item[aria-current=step]{border-width:2px;border-color:var(--color-accent);font-weight:var(--font-weight-semibold)}.wf-steps__number{background:var(--color-surface-sunken);block-size:1.5rem;inline-size:1.5rem;font-size:var(--font-size-sm);border-radius:50%;place-items:center;display:inline-grid}.wf-issues{color:var(--color-danger-text);font-weight:var(--font-weight-medium);margin:0}.wf-choices{gap:var(--space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.wf-choices__legend{font-weight:var(--font-weight-semibold);margin-block-end:var(--space-2)}.wf-choice{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex}.wf-choice__text{gap:var(--space-1);flex-direction:column;display:flex}.wf-choice__label{align-items:center;gap:var(--space-2);font-weight:var(--font-weight-medium);flex-wrap:wrap;display:flex}.wf-choice__description{color:var(--color-text-muted);font-size:var(--font-size-sm)}.wf-checkbox{align-items:center;gap:var(--space-2);display:flex}.wf-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.wf-actions{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.wf-action{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.wf-action__head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.wf-action__title{font-size:var(--font-size-md);margin:0}.wf-variables{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.wf-variables__label{color:var(--color-text-muted);font-size:var(--font-size-sm)}.wf-variables__button{gap:var(--space-2)}.wf-variables__name{font-size:var(--font-size-sm)}.wf-message-preview{gap:var(--space-1);padding:var(--space-3);border-inline-start:3px solid var(--color-accent);background:var(--color-surface-sunken);flex-direction:column;display:flex}.wf-message-preview__label{color:var(--color-text-muted);font-size:var(--font-size-sm)}.wf-message-preview__text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.wf-preview{padding:var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.wf-preview__title{margin:0 0 var(--space-2);font-size:var(--font-size-md)}.wf-preview__list{gap:var(--space-1) var(--space-3);grid-template-columns:max-content 1fr;margin:0;display:grid}.wf-preview__list dt{color:var(--color-text-muted)}.wf-preview__list dd{margin:0}.wf-preview__actions{margin:0;padding-inline-start:var(--space-5)}.wf-secret{margin:0 0 var(--space-4);padding:var(--space-3);border:1px solid var(--color-warning-text);border-radius:var(--radius-md)}.wf-secret p{margin:0 0 var(--space-2)}.wf-secret__value{overflow-wrap:anywhere}.wf-dry-run__label{font-weight:var(--font-weight-medium);margin:0}.wf-dry-run__chosen{font-weight:var(--font-weight-semibold)}.wf-dry-run__result{gap:var(--space-2);flex-direction:column;display:flex}.wf-dry-run__outcome{margin:0}.wf-dry-run__conditions,.wf-dry-run__steps{margin:0;padding-inline-start:var(--space-5)}.wf-dry-run__step-outcome{font-weight:var(--font-weight-medium)}.wf-table-wrap{overflow-x:auto}.wf-table{border-collapse:collapse;inline-size:100%}.wf-table th,.wf-table td{padding:var(--space-2);border-block-end:1px solid var(--color-border);text-align:start;vertical-align:top}@media (width<=40rem){.wf-list__item{flex-direction:column;align-items:flex-start}.wf-preview__list{grid-template-columns:1fr}}.comm-rules{margin:0 0 var(--space-4);flex-direction:column;padding:0;list-style:none;display:flex}.comm-rule{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-4);border-inline-start:3px solid #0000;display:flex}.comm-rule+.comm-rule{border-block-start:1px solid var(--color-border)}.comm-rule--changed{border-inline-start-color:var(--color-accent)}.comm-rule__text{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.comm-rule__label{font-weight:var(--font-weight-semibold)}.comm-rule__description,.comm-rule__notes,.comm-rule__notes p,.comm-rule__default{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.comm-rule__locked{color:var(--color-warning-text);font-weight:var(--font-weight-medium)}.comm-rule__control{align-items:center;gap:var(--space-2);display:flex}.comm-rule__state{min-inline-size:3.5rem;color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:end}.comm-rule__switch{block-size:1.25rem;inline-size:1.25rem;accent-color:var(--color-accent)}.comm-actions{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.comm-actions__unsaved{color:var(--color-text-muted);font-weight:var(--font-weight-medium);margin:0}.comm-risks{margin:var(--space-3) 0 0;padding-inline-start:var(--space-5)}@media (width<=40rem){.comm-rule{flex-direction:column}}.channel-templates-page{gap:var(--space-8);align-items:start;display:grid}@media (width>=64rem){.channel-templates-page{grid-template-columns:minmax(0,24rem) minmax(0,1fr)}}.channel-templates-page__form,.channel-templates-page__list,.channel-templates-page__lists{gap:var(--space-4);min-width:0;display:grid}.channel-templates-page__lists{gap:var(--space-8)}.channel-templates-page__heading{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.channel-templates-page__choice{gap:var(--space-2);display:grid}.channel-templates-page__label{font-weight:var(--font-weight-semibold)}.channel-templates-page__hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.channel-templates-page__error{color:var(--color-danger-text);margin:0}.channel-templates-page__roles{gap:var(--space-2);border:0;margin:0;padding:0;display:grid}.channel-templates-page__role{align-items:center;gap:var(--space-2);display:flex}.channel-templates-page__role input{accent-color:var(--color-accent)}.channel-templates-page__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.channel-templates-page__items{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.channel-templates-page__item{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.channel-templates-page__meta{gap:var(--space-1);flex:16rem;min-width:0;display:grid}.channel-templates-page__name{align-items:center;gap:var(--space-2);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.channel-templates-page__item-actions{gap:var(--space-2);display:flex}.default-channel{gap:var(--space-3);margin:0 0 var(--space-6);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.default-channel__header{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.default-channel__title{font-size:var(--font-size-lg);overflow-wrap:anywhere;margin:0}.default-channel__subtitle{margin:var(--space-2) 0 0;font-size:var(--font-size-md)}.default-channel__muted{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.default-fill{align-items:center;gap:var(--space-2);grid-template-columns:minmax(5rem,1fr) auto auto auto;display:grid}.default-fill__track{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);block-size:.5rem;overflow:hidden}.default-fill__fill{background:var(--color-accent);border-radius:inherit;block-size:100%}.default-fill__track--near .default-fill__fill{background:var(--color-warning-text)}.default-fill__track--full .default-fill__fill{background:var(--color-danger)}.default-fill__text{font-variant-numeric:tabular-nums;white-space:nowrap}.default-fill__percent{color:var(--color-text-muted);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.custom-emoji-form{gap:var(--space-4);min-width:0;display:grid}.custom-emoji-form__file{gap:var(--space-2);display:grid}.custom-emoji-form__file input{max-width:100%}.custom-emoji-form__label{font-weight:var(--font-weight-semibold)}.custom-emoji-form__hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.custom-emoji-form__error{color:var(--color-danger-text);margin:0}.custom-emoji-page{gap:var(--space-8);align-items:start;display:grid}@media (width>=64rem){.custom-emoji-page{grid-template-columns:minmax(0,22rem) minmax(0,1fr)}}.custom-emoji-page__list{gap:var(--space-4);min-width:0;display:grid}.custom-emoji-page__heading{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.custom-emoji-page__usage,.custom-emoji-page__date{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.custom-emoji-page__usage{font-variant-numeric:tabular-nums}.custom-emoji-page__limit{color:var(--color-warning-text);margin:0}.custom-emoji-page__items{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.custom-emoji-page__item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex}.custom-emoji-page__meta{flex:1;min-width:0;display:grid}.custom-emoji-page__name{overflow-wrap:anywhere;font-weight:var(--font-weight-semibold)}.invitations-filters{align-items:end;gap:var(--space-3) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));margin-block-end:var(--space-5);display:grid}.invitations-filters .ui-field{margin:0}.invitations-filters__clear{align-items:flex-end;display:flex}.invitations-results[aria-busy=true]{opacity:.6;transition:opacity var(--duration-fast) var(--easing-standard)}.invitations-results>.error{margin-block-end:var(--space-3)}.invitation-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:var(--font-weight-semibold);letter-spacing:.06em;overflow-wrap:anywhere}.invitation-target{gap:var(--space-1);font-size:var(--font-size-sm);overflow-wrap:anywhere;flex-direction:column;display:flex}.invitation-muted{font-size:var(--font-size-sm);color:var(--color-text-muted)}.invitation-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.invitations-more{justify-content:center;margin-block-start:var(--space-4);display:flex}.invitation-form{gap:var(--space-4);flex-direction:column;display:flex}.invitation-form .ui-field{margin:0}.invitation-form__student{gap:var(--space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.invitation-form__student legend{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:0}.invitation-form__chosen{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.invitation-created{gap:var(--space-4);flex-direction:column;display:flex}.invitation-created__code{gap:var(--space-2);padding:var(--space-4);text-align:center;background:var(--color-accent-surface);border:1px solid var(--color-accent);border-radius:var(--radius-md);flex-direction:column;display:flex}.invitation-created__label{font-size:var(--font-size-sm);color:var(--color-accent-text);margin:0}.invitation-created__value{font-size:var(--font-size-2xl);color:var(--color-accent-text);-webkit-user-select:all;user-select:all}.invitation-created__summary{gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.announcements,.announcement-detail,.announcement-new{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.announcements a.ui-button,.announcement-form a.ui-button{text-decoration:none}.announcement-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.announcement-item{gap:var(--space-1);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.announcement-item[data-important=true]{border-inline-start:4px solid var(--color-warning-text)}.announcement-item__title{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);margin:0}.announcement-item[data-unread=true] .announcement-item__title{font-weight:var(--font-weight-semibold)}.announcement-item__link{color:var(--color-text);overflow-wrap:anywhere}.announcement-item__meta{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);flex-wrap:wrap;margin:0;display:flex}.announcement-list__more,.announcement-report__more{align-self:center}.announcement-detail__back{font-size:var(--font-size-sm);align-self:flex-start}.announcement-detail__meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.announcement-detail__body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.announcement-report{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.announcement-report__audience,.announcement-report__note{color:var(--color-text-muted);margin:0}.announcement-report__stats{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));display:grid}.announcement-report__section{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.announcement-report__heading{font-size:var(--font-size-lg);margin:0}.announcement-report__filter{max-width:16rem}.announcement-report__people{border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.announcement-report__person{justify-content:space-between;gap:var(--space-1) var(--space-3);padding:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.announcement-report__person+.announcement-report__person{border-block-start:1px solid var(--color-border)}.announcement-report__name{font-weight:var(--font-weight-medium);overflow-wrap:anywhere}.announcement-report__context{color:var(--color-text-muted);font-size:var(--font-size-sm);overflow-wrap:anywhere}.announcement-form{gap:var(--space-4);flex-direction:column;max-width:40rem;display:flex}.announcement-form__group{gap:var(--space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.announcement-form__legend{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:0}.announcement-form__choices{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.announcement-form__choice{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.announcement-form__choice .ui-field__hint{flex-basis:100%}.announcement-form__note{color:var(--color-text-muted);margin:0}.announcement-response{gap:var(--space-3);min-width:0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.announcement-response__heading{font-size:var(--font-size-lg);margin:0}.announcement-response__deadline,.announcement-response__meta,.announcement-response__note,.announcement-response__status{color:var(--color-text-muted);overflow-wrap:anywhere;margin:0}.announcement-response__deadline[data-closed=true]{color:var(--color-warning-text)}.announcement-response__children{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.announcement-response__child{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}.announcement-response__group{gap:var(--space-2);flex-direction:column;display:flex}.announcement-response__child-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.announcement-response__child-name{font-size:var(--font-size-md);overflow-wrap:anywhere;margin:0}.announcement-response__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.announcement-responses__filters{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.admin-meetings{gap:var(--space-6);min-width:0;display:grid}.admin-meetings__section{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;display:grid}.admin-meetings__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.admin-meetings__heading{gap:var(--space-1);min-width:0;display:grid}.admin-meetings__section-title{font-size:var(--font-size-lg);margin:0}.admin-meetings__description,.admin-meetings__muted{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.admin-meetings__title{align-items:center;gap:var(--space-2);overflow-wrap:anywhere;flex-wrap:wrap;display:inline-flex}.admin-meetings__days{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));margin:0;padding:0;list-style:none;display:grid}.admin-meetings__day{gap:var(--space-2);height:100%;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;display:grid}.admin-meetings__day-title{font-size:var(--font-size-md);margin:0}.admin-meetings__occupancy{gap:var(--space-1);display:grid}.admin-meetings__occupancy-total{margin:0;font-weight:600}.admin-meetings__bar{border-radius:var(--radius-sm);background:var(--color-border);height:.5rem;overflow:hidden}.admin-meetings__bar-fill{background:var(--color-accent);height:100%;display:block}.admin-meetings__teacher-list{font-size:var(--font-size-sm);margin:0;padding-inline-start:var(--space-4)}.admin-meetings__day-actions,.admin-meetings__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-meetings__actions{justify-content:flex-end}.admin-meetings__more{justify-content:center;margin-block-start:var(--space-4);display:flex}.admin-meetings__form{gap:var(--space-4);flex-direction:column;display:flex}.admin-meetings__time{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));display:grid}.admin-meetings__teachers{gap:var(--space-2);border:0;min-width:0;margin:0;padding:0;display:grid}.admin-meetings__chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.admin-meetings__chip{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);display:inline-flex}.admin-meetings__switch-row{gap:var(--space-2);display:grid}.admin-meetings__switch{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.admin-meetings__switch-input{block-size:1.25rem;inline-size:1.25rem;accent-color:var(--color-accent);margin:0}.admin-meetings__switch-label{font-weight:600}.admin-meetings__switch-state{color:var(--color-text-muted);font-size:var(--font-size-sm)}.audit-filters{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));align-items:start;margin-block-end:var(--space-4);display:grid}.audit-filters__clear{place-self:end start}.audit-person{gap:var(--space-1);flex-direction:column;min-inline-size:0;display:flex}.audit-person__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.audit-person__chosen{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.audit-person__name{font-weight:var(--font-weight-medium);overflow-wrap:anywhere}.audit-person__none{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.audit-person__results{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.audit-person__results li+li{border-block-start:1px solid var(--color-border)}.audit-person__pick{inline-size:100%;padding:var(--space-2) var(--space-3);font:inherit;color:var(--color-accent-text);text-align:start;cursor:pointer;background:0 0;border:0}.audit-person__pick:hover{color:var(--color-accent-hover);background:var(--color-surface-sunken)}.audit-download{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;margin-block-end:var(--space-4);display:flex}.audit-download__hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.audit-log .status,.audit-log .error{margin-block-end:var(--space-4)}.audit-action,.audit-target{align-items:flex-start;gap:var(--space-1);flex-direction:column;min-inline-size:8rem;display:flex}.audit-muted{font-size:var(--font-size-sm);color:var(--color-text-muted)}.audit-code{font-size:var(--font-size-sm);color:var(--color-text-muted);overflow-wrap:anywhere}.audit-details summary{color:var(--color-accent-text);cursor:pointer}.audit-details__json{max-block-size:14rem;max-inline-size:24rem;margin:var(--space-2) 0 0;padding:var(--space-2);font-size:var(--font-size-sm);white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:auto}.audit-more{justify-content:center;margin-block-start:var(--space-4);display:flex}.moderation-filters{margin-block-end:var(--space-4)}.moderation-more{justify-content:center;margin-block-start:var(--space-4);display:flex}.report-content{align-items:flex-start;gap:var(--space-1);flex-direction:column;min-inline-size:12rem;display:flex}.report-content__open{font:inherit;color:var(--color-accent-text);text-align:start;cursor:pointer;text-underline-offset:.2em;overflow-wrap:anywhere;background:0 0;border:0;padding:0;text-decoration:underline}.report-content__open:hover{color:var(--color-accent-hover)}.report-content__muted{font-size:var(--font-size-sm);color:var(--color-text-muted)}.report-status{gap:var(--space-1);flex-wrap:wrap;display:flex}.ui-dialog__content.report-drawer{width:min(34rem,100vw);max-height:none;animation:report-drawer-in var(--duration-normal) var(--easing-standard);border-block:0;border-inline-end:0;border-radius:0;inset:0 0 0 auto;transform:none}.report-detail{gap:var(--space-5);flex-direction:column;display:flex}.report-detail__section{gap:var(--space-3);flex-direction:column;display:flex}.report-detail__heading{font-size:var(--font-size-md);margin:0}.report-detail__note{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.report-detail__hints{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.report-detail__text{white-space:pre-wrap;overflow-wrap:anywhere}.report-preview{padding:var(--space-3) var(--space-4);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-inline-start:.25rem solid var(--color-border-strong);border-radius:var(--radius-md);margin:0}.report-facts{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.report-facts__row{gap:var(--space-3);grid-template-columns:minmax(6rem,9rem) minmax(0,1fr);display:grid}.report-facts__row dt{color:var(--color-text-muted);font-size:var(--font-size-sm)}.report-facts__row dd{overflow-wrap:anywhere;margin:0}.report-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@keyframes report-drawer-in{0%{opacity:0;transform:translateX(var(--space-6))}}.onboarding{gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;margin-block-end:var(--space-6);display:flex}.onboarding__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.onboarding__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.onboarding__description,.onboarding__progress,.onboarding__hint{color:var(--color-text-muted);margin:0}.onboarding__progress{font-weight:var(--font-weight-medium)}.onboarding__error{color:var(--color-danger-text);margin:0}.onboarding__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.onboarding__item{column-gap:var(--space-3);padding-block:var(--space-3);grid-template-columns:auto 1fr;align-items:start;display:grid}.onboarding__item+.onboarding__item{border-block-start:1px solid var(--color-border)}.onboarding__item>input{block-size:1.125rem;inline-size:1.125rem;margin-block-start:.2rem}.onboarding__body{gap:var(--space-1);flex-direction:column;min-inline-size:0;display:flex}.onboarding__label{font-weight:var(--font-weight-medium)}.onboarding__item[data-done=true] .onboarding__label{text-decoration:line-through}.onboarding__hint{font-size:var(--font-size-sm)}.onboarding__link{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-accent-text);text-underline-offset:.2em;align-self:flex-start}.onboarding__link:hover{color:var(--color-accent-hover)}.overview-cards{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.overview-card{min-inline-size:0}.overview-card .ui-stat-card__hint{overflow-wrap:anywhere}.overview-card .error{margin-block-start:var(--space-2)}.overview-card__link{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-accent-text);text-underline-offset:.2em;margin-block-start:auto;padding-block-start:var(--space-2);text-decoration:underline}.overview-card__link:hover{color:var(--color-accent-hover)}.overview-columns{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));align-items:start;margin-block-start:var(--space-6);display:grid}.overview-section{min-inline-size:0}.overview-section__title{margin:0 0 var(--space-3);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.overview-todo,.overview-activity{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.overview-todo__item,.overview-activity__item{padding:var(--space-3) var(--space-4)}.overview-todo__item+.overview-todo__item,.overview-activity__item+.overview-activity__item{border-block-start:1px solid var(--color-border)}.overview-todo__item{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.overview-todo__item a{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-accent-text);text-underline-offset:.2em}.overview-todo__item a:hover{color:var(--color-accent-hover)}.overview-todo__note{align-items:center;gap:var(--space-3);color:var(--color-text-muted);flex-wrap:wrap;margin-block-start:var(--space-3);display:flex}.overview-todo__note p{margin:0}.overview-activity__item{gap:var(--space-1);flex-direction:column;display:flex}.overview-activity__action{font-weight:var(--font-weight-medium)}.overview-activity__meta,.overview-activity__code{font-size:var(--font-size-sm);color:var(--color-text-muted)}.overview-activity__code{overflow-wrap:anywhere}.overview-connectors{flex-direction:column;margin-block-start:var(--space-6);display:flex}.overview-connectors__note{margin:0 0 var(--space-3);color:var(--color-text-muted)}.overview-connectors__name{font-weight:var(--font-weight-medium)}.overview-connectors__state{font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--color-text-muted);margin-inline-start:var(--space-2)}.overview-connectors__warning{font-weight:var(--font-weight-medium);color:var(--color-warning-text);flex-basis:100%}.settings{gap:var(--space-6);min-width:0;max-width:48rem;display:grid}.settings-section{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;display:grid}.settings-section__header{gap:var(--space-1);display:grid}.settings-section__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.settings-section__description,.settings-section__aside,.settings-note{color:var(--color-text-muted);margin:0}.settings-form{gap:var(--space-4);min-width:0;display:grid}.settings-row{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.settings-field{gap:var(--space-2);justify-items:start;display:grid}.settings-field__label{font-weight:var(--font-weight-medium)}.settings-terms{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.settings-term{gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:0;margin:0;display:grid}@media (width>=48rem){.settings-term{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:start}.settings-term__remove{margin-top:1.75rem}}.settings-term__legend{padding:0 var(--space-1);font-weight:var(--font-weight-semibold)}.settings-warnings:empty{display:none}.settings-warning{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-warning-surface);color:var(--color-warning-text);margin:0}.settings-warnings{gap:var(--space-2);display:grid}.settings-location{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-accent-surface);color:var(--color-accent-text);font-weight:var(--font-weight-medium);flex-wrap:wrap;margin:0;display:flex}.settings-requests{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.settings-request{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.settings-request__who{flex:12rem;min-width:0;display:grid}.settings-request__name{overflow-wrap:anywhere;font-weight:var(--font-weight-semibold)}.settings-request__meta{color:var(--color-text-muted);font-size:var(--font-size-sm)}.settings-request__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.storage-section{gap:var(--space-4);flex-direction:column;margin-block-end:var(--space-6);display:flex}.storage-section>h2,.storage-section>p{margin:0}.storage-section__header{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.storage-section__header>h2{margin:0}.storage-section__description,.storage-muted{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.storage-stats{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));display:grid}.storage-card{gap:var(--space-3);flex-direction:column;display:flex}.storage-roles{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.storage-role__form{align-items:end;gap:var(--space-3);grid-template-columns:minmax(10rem,1fr) auto auto auto;display:grid}.storage-role__form .ui-field{margin:0}.storage-role__unit{color:var(--color-text-muted);padding-block-end:var(--space-2)}.storage-role--dimmed{opacity:.6}.storage-role--dimmed:focus-within,.storage-role--dimmed:hover{opacity:1}@media (width<=40rem){.storage-role__form{grid-template-columns:minmax(0,1fr) auto}}.storage-person{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.storage-person__name{font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.storage-badges{gap:var(--space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.storage-limit-cell{gap:var(--space-1);flex-direction:column;min-inline-size:15rem;display:flex}.storage-usage{align-items:center;gap:var(--space-2);grid-template-columns:minmax(5rem,1fr) auto auto auto;display:grid}.storage-usage__track{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);block-size:.5rem;overflow:hidden}.storage-usage__fill{background:var(--color-accent);border-radius:inherit;block-size:100%}.storage-usage__track--near .storage-usage__fill{background:var(--color-warning-text)}.storage-usage__track--full .storage-usage__fill{background:var(--color-danger)}.storage-usage__text{font-variant-numeric:tabular-nums;white-space:nowrap}.storage-usage__percent{color:var(--color-text-muted);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.storage-row-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.storage-more{justify-content:center;display:flex}.storage-limit-form{gap:var(--space-4);flex-direction:column;display:flex}.storage-limit-form .ui-field{margin:0}.storage-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.channel-icon{flex:none;width:1em;height:1em}.channel-nav{gap:var(--space-4);flex-direction:column;display:flex}.channel-nav__heading{font-size:var(--font-size-sm);margin:0}.channel-nav__toggle{align-items:center;gap:var(--space-1);width:100%;padding:var(--space-1) var(--space-2);font:inherit;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-align:start;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;display:flex}.channel-nav__toggle:hover{background:var(--color-surface-sunken);color:var(--color-text)}.channel-nav__chevron{width:1rem;height:1rem;transition:transform var(--duration-fast) var(--easing-standard);flex:none}.channel-nav__toggle[aria-expanded=false] .channel-nav__chevron{transform:rotate(-90deg)}.channel-nav__content{gap:var(--space-1);flex-direction:column;margin-block-start:var(--space-1);display:flex}.channel-nav__content[hidden]{display:none}.channel-nav__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.channel-nav__link{align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-1) var(--space-2);color:var(--color-text);border-radius:var(--radius-sm);text-decoration:none;display:flex}.channel-nav__link:hover{background:var(--color-surface-sunken)}.channel-nav__link .channel-icon,.channel-nav__link[data-archived=true]{color:var(--color-text-muted)}.channel-nav__link[aria-current=page]{background:var(--color-accent-surface);color:var(--color-accent-text);font-weight:var(--font-weight-semibold)}.channel-nav__link[aria-current=page] .channel-icon{color:inherit}.channel-nav__link--browse{color:var(--color-accent-text);font-size:var(--font-size-sm)}.channel-nav__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.channel-nav__note{padding:0 var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.channel-nav__option{align-items:center;gap:var(--space-2);padding:0 var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);display:flex}.channel-nav__option input{accent-color:var(--color-accent)}.channel-page{gap:var(--space-6);flex-direction:column;display:flex}.channel-header{gap:var(--space-2);border-block-end:1px solid var(--color-border);flex-direction:column;padding-block-end:var(--space-4);display:flex}.channel-header__row{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.channel-header__title{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--font-size-xl);margin:0;display:flex}.channel-header__title .channel-icon{color:var(--color-text-muted)}.channel-header__name{overflow-wrap:anywhere;min-width:0}.channel-header__meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.channel-header__members{color:var(--color-text-muted);font-size:var(--font-size-sm)}.channel-header__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-inline-start:auto;display:flex}.channel-header__topic{color:var(--color-text-muted);overflow-wrap:anywhere;margin:0}.channel-page--feed{gap:var(--space-4);height:calc(100dvh - 9rem);min-height:20rem}.channel-page__join{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.channel-browse-page{max-width:48rem}.channel-browse{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.channel-browse__item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);display:flex}.channel-browse__item+.channel-browse__item{border-block-start:1px solid var(--color-border)}.channel-browse__text{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.channel-browse__name{align-items:center;gap:var(--space-2);color:var(--color-text);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere;text-decoration:none;display:inline-flex}.channel-browse__name:hover{text-decoration:underline}.channel-browse__topic{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.channel-nav__count{margin-inline-start:auto}.calendar,.calendar-new{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.calendar a.ui-button,.calendar-form a.ui-button,.calendar-subscribe a.ui-button{text-decoration:none}.calendar-toolbar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.calendar-toolbar__nav{gap:var(--space-2);flex-wrap:wrap;display:flex}.calendar-toolbar__month{font-size:var(--font-size-lg);flex:1;margin:0}.calendar-legend{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.calendar-grid{table-layout:fixed;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);width:100%}.calendar-grid__weekday{padding:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:start;border:1px solid var(--color-border)}.calendar-grid__day{height:6.5rem;padding:var(--space-1);vertical-align:top;border:1px solid var(--color-border);overflow:hidden}.calendar-grid__day[data-outside=true]{background:var(--color-surface-sunken)}.calendar-grid__day[data-outside=true] .calendar-grid__number{color:var(--color-text-muted)}.calendar-grid__number{min-width:1.5rem;padding:0 var(--space-1);font-size:var(--font-size-sm);text-align:center;border-radius:var(--radius-full);display:inline-block}.calendar-grid__day[data-today=true] .calendar-grid__number{background:var(--color-accent);color:var(--color-on-accent);font-weight:var(--font-weight-semibold)}.calendar-grid__events{margin:var(--space-1) 0 0;flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}.calendar-chip{gap:var(--space-1);width:100%;padding:0 var(--space-1);font:inherit;font-size:var(--font-size-xs);line-height:var(--line-height-normal);text-align:start;white-space:nowrap;border-radius:var(--radius-sm);cursor:pointer;border:0;display:flex;overflow:hidden}.calendar-chip__time{font-weight:var(--font-weight-semibold);flex:none}.calendar-chip__title{text-overflow:ellipsis;min-width:0;overflow:hidden}.calendar-chip--neutral{background:var(--color-surface-sunken);color:var(--color-text);outline:1px solid var(--color-border);outline-offset:-1px}.calendar-chip--accent{background:var(--color-accent-surface);color:var(--color-accent-text)}.calendar-chip--success{background:var(--color-success-surface);color:var(--color-success-text)}.calendar-chip--warning{background:var(--color-warning-surface);color:var(--color-warning-text)}.calendar-chip--danger{background:var(--color-danger-surface);color:var(--color-danger-text)}@media (width<=40rem){.calendar-grid__day{height:4.5rem;padding:2px}.calendar-chip__time{display:none}}.calendar-list{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.calendar-list__heading{margin:0 0 var(--space-2);font-size:var(--font-size-md)}.calendar-list__events{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.calendar-list__event{align-items:center;gap:var(--space-2) var(--space-3);width:100%;padding:var(--space-3) var(--space-4);color:var(--color-text);font:inherit;text-align:start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;flex-wrap:wrap;display:flex}.calendar-list__event:hover{background:var(--color-surface-sunken)}.calendar-list__time{min-width:4.5rem;color:var(--color-text-muted);font-size:var(--font-size-sm)}.calendar-list__title{font-weight:var(--font-weight-medium);overflow-wrap:anywhere}.calendar-list__location{color:var(--color-text-muted);font-size:var(--font-size-sm)}.calendar-detail{gap:var(--space-3);flex-direction:column;display:flex}.calendar-detail__cancelled{padding:var(--space-2) var(--space-3);color:var(--color-danger-text);background:var(--color-danger-surface);border-radius:var(--radius-sm);margin:0}.calendar-detail__facts{gap:var(--space-2) var(--space-4);grid-template-columns:max-content 1fr;margin:0;display:grid}.calendar-detail__facts dt{color:var(--color-text-muted)}.calendar-detail__facts dd{overflow-wrap:anywhere;margin:0}.calendar-detail__heading{font-size:var(--font-size-md);margin:0}.calendar-detail__description{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.calendar-subscribe{gap:var(--space-3);flex-direction:column;display:flex}.calendar-subscribe__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.calendar-subscribe__note,.calendar-subscribe__meta{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.calendar-subscribe__revoked{padding:var(--space-2) var(--space-3);color:var(--color-success-text);background:var(--color-success-surface);border-radius:var(--radius-sm);margin:0}.calendar-form{gap:var(--space-4);flex-direction:column;max-width:40rem;display:flex}.calendar-form__times{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}.calendar-detail__meeting-link{text-decoration:none}.call-actions{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.call-actions__buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.call-actions__buttons svg,.call-banner svg,.incoming-call__actions svg{flex:none;width:1.125rem;height:1.125rem}.call-actions [aria-disabled=true],.call-banner [aria-disabled=true]{opacity:.55;cursor:not-allowed}.call-actions__reason,.call-actions__error{font-size:var(--font-size-sm);margin:0}.call-actions__reason{color:var(--color-text-muted)}.call-actions__error{color:var(--color-danger-text)}.call-banner{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-4);color:var(--color-accent-text);background:var(--color-accent-surface);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.call-banner__text{font-weight:var(--font-weight-medium);margin:0}.call-banner .call-actions__reason{flex-basis:100%}.incoming-call__actions{justify-content:stretch}.incoming-call__actions .ui-button{flex:1}.call-room{z-index:var(--z-overlay);color:var(--color-text);background:var(--color-surface-sunken);position:fixed;inset:0;overflow:hidden}.call-room:focus{outline:none}.command-runs{gap:var(--space-1);flex-direction:column;flex:none;max-height:40vh;display:flex;overflow-y:auto}.command-runs:empty{display:none}.command-run{gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--color-surface-sunken);border:1px dashed var(--color-border-strong);border-inline-start:3px solid var(--color-accent);border-radius:var(--radius-md);flex-direction:column;display:flex}.command-run[data-status=failed]{border-inline-start-color:var(--color-danger)}.command-run__header{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);display:flex}.command-run__command{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:var(--font-weight-semibold)}.command-run__close{margin-inline-start:auto}.command-run__text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.command-run__text--muted{color:var(--color-text-muted);font-style:italic}.command-run__text--failed{color:var(--color-danger)}.composer__command-hint{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.composer__command-hint code{color:var(--color-text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.command-suggestions{max-width:min(32rem,100%)}.typing-line{min-height:1.25rem;padding-inline:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0;line-height:1.25rem}.status-message{align-items:baseline;gap:var(--space-1) var(--space-2);font-size:var(--font-size-sm);flex-wrap:wrap;margin:0;display:flex}.status-message__text{overflow-wrap:anywhere}.status-message__until{color:var(--color-text-muted);font-size:var(--font-size-xs);flex-basis:100%}.presence-dot{border-radius:var(--radius-full);flex:none;width:.625rem;height:.625rem;display:inline-block}.presence-dot--online{background:var(--color-presence-online)}.presence-dot--away{background:linear-gradient(90deg, var(--color-presence-away) 0 50%, var(--color-surface) 50% 100%);border:2px solid var(--color-presence-away)}.presence-dot--offline{background:var(--color-surface);border:2px solid var(--color-border-strong)}.profile-trigger{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;text-align:start;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;padding:0}.profile-trigger:hover{text-decoration:underline}.profile-trigger:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.profile-trigger--avatar{border-radius:var(--radius-full);display:inline-flex}.profile-trigger--avatar:hover{text-decoration:none}.profile-card{gap:var(--space-3);grid-template-columns:auto 1fr;align-items:center;display:grid}.profile-card>.status-message{border-block-start:1px solid var(--color-border);grid-column:1/-1;padding-block-start:var(--space-3)}.profile-card__details{min-width:0}.profile-card__details>p{overflow-wrap:anywhere;margin:0}.profile-card__name{font-weight:var(--font-weight-semibold)}.profile-card__role,.profile-card__presence{color:var(--color-text-muted);font-size:var(--font-size-sm)}.profile-card__actions{grid-column:1/-1}.profile-form{gap:var(--space-4);flex-direction:column;display:flex}.profile-form__photo{gap:var(--space-3);border:0;align-items:flex-start;margin:0;padding:0;display:flex}.profile-form__photo>legend{font-weight:var(--font-weight-semibold);margin-block-end:var(--space-2);padding:0}.profile-form__photo-controls{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.profile-form__hint{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.profile-form__row{gap:var(--space-2);flex-wrap:wrap;display:flex}.profile-form__error{color:var(--color-danger-text);font-size:var(--font-size-sm);margin:0}.status-form{gap:var(--space-4);flex-direction:column;display:flex}.status-form__presets{gap:var(--space-2);flex-wrap:wrap;display:flex}.status-form__preset{min-width:2.5rem;min-height:2.5rem;font-size:var(--font-size-lg);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);cursor:pointer;line-height:1}.status-form__preset[aria-pressed=true]{background:var(--color-accent-surface);border-color:var(--color-accent)}.status-form__preset:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.status-form__error{color:var(--color-danger-text);font-size:var(--font-size-sm);margin:0}.attachments{gap:var(--space-2);margin:var(--space-1) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.attachments__item{max-width:100%}.attachment-image{width:15rem;max-width:100%;aspect-ratio:4/3;min-block-size:3rem;color:var(--color-text-muted);font:inherit;font-size:var(--font-size-xs);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:zoom-in;place-items:center;padding:0;display:grid;overflow:hidden}.attachment-image:hover{border-color:var(--color-border-strong)}.attachment-image:focus-visible,.attachment-file:focus-visible{outline:var(--focus-ring-width,2px) solid var(--color-focus-ring);outline-offset:2px}.attachment-image__picture{object-fit:contain;width:100%;height:100%}.attachment-image__placeholder{padding:var(--space-2);text-align:center}.attachment-file{align-items:center;gap:var(--space-2);max-width:min(22rem,100%);padding:var(--space-2) var(--space-3);color:var(--color-text);font:inherit;text-align:start;background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex}button.attachment-file{cursor:pointer}button.attachment-file:hover{border-color:var(--color-border-strong)}button.attachment-file[aria-busy=true]{cursor:progress;opacity:.7}.attachment-file--deleted{color:var(--color-text-muted);font-style:italic}.attachment-file__icon,.attachment-file__action,.composer-attachment__icon{width:1.25rem;height:1.25rem;color:var(--color-text-muted);flex:none;display:inline-flex}.attachment-file__icon svg,.attachment-file__action svg,.composer-attachment__icon svg,.attachment-lightbox__download-icon svg{width:100%;height:100%}.attachment-file__text,.composer-attachment__text{flex-direction:column;min-width:0;display:flex}.attachment-file__name,.composer-attachment__name{font-weight:var(--font-weight-medium);white-space:nowrap;text-overflow:ellipsis;unicode-bidi:isolate;overflow:hidden}.attachment-file__meta,.composer-attachment__meta{color:var(--color-text-muted);font-size:var(--font-size-xs)}.ui-dialog__content.attachment-lightbox{width:min(64rem, calc(100vw - 2 * var(--space-4)))}.attachment-lightbox .ui-dialog__title{overflow-wrap:anywhere;unicode-bidi:isolate}.attachment-lightbox__stage{align-items:center;gap:var(--space-2);display:flex}.attachment-lightbox__frame{background:var(--color-surface-sunken);border-radius:var(--radius-md);flex:1;place-items:center;min-width:0;height:min(70dvh,48rem);display:grid}.attachment-lightbox__picture{object-fit:contain;max-width:100%;max-height:100%}.attachment-lightbox__notice{padding:var(--space-4);color:var(--color-text-muted);text-align:center;margin:0}.attachment-lightbox__position{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}.attachment-lightbox__download-icon{width:1rem;height:1rem;margin-inline-end:var(--space-1);display:inline-flex}.composer-attachments{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.composer-attachment{gap:var(--space-1);width:min(18rem,100%);padding:var(--space-2);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.composer-attachment[data-status=failed]{border-color:var(--color-danger)}.composer-attachment__main{align-items:center;gap:var(--space-2);display:flex}.composer-attachment__text{flex:1}.composer-attachment__button{flex:none}.composer-attachment__progress{width:100%;height:.375rem;accent-color:var(--color-accent)}.composer-attachment__error{color:var(--color-danger-text);font-size:var(--font-size-xs)}.composer-attachment__error p{margin:0}.composer__attach,.composer__drive{flex:none}.composer[data-dragging]{outline:2px dashed var(--color-accent);outline-offset:var(--space-1);border-radius:var(--radius-md)}.composer__drop-hint{color:var(--color-accent-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0}.when-field{gap:var(--space-2);border:0;min-width:0;margin:0;padding:0;display:grid}.when-field__legend{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-block-end:var(--space-1);padding:0}.when-field__choice{align-items:baseline;gap:var(--space-2);display:flex}.when-field__at{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-inline-start:var(--space-2)}.when-field__custom{gap:var(--space-1);display:grid}.when-field__custom-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.when-field__input{max-width:18rem}.when-field__preview{min-height:1.25em;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0}.when-field__hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.schedule-send__label{margin:0 0 var(--space-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.schedule-send__text{max-height:8rem;padding:var(--space-2) var(--space-3);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--color-surface-sunken);border-radius:var(--radius-md);margin:0;overflow:auto}.composer__send{gap:1px;display:flex}.composer__send>.ui-button:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.composer__send-menu{border-start-start-radius:0;border-end-start-radius:0}.composer__scheduled-failed{align-items:baseline;gap:var(--space-1) var(--space-3);padding:var(--space-1) var(--space-3);color:var(--color-danger-text);font-size:var(--font-size-sm);background:var(--color-danger-surface);border-radius:var(--radius-sm);flex-wrap:wrap;margin:0;display:flex}.composer{gap:var(--space-1);flex-direction:column;flex:none;display:flex}.composer__option{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);display:flex}.composer__option input{accent-color:var(--color-accent)}.composer__box{align-items:flex-end;gap:var(--space-2);display:flex;position:relative}.composer__input{min-width:0;min-height:2.5rem;max-height:12rem;padding:var(--space-2) var(--space-3);font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);resize:none;field-sizing:content;transition:border-color var(--duration-fast) var(--easing-standard);flex:1}.composer__input::placeholder{color:var(--color-text-muted)}.composer__input:hover:not(:disabled){border-color:var(--color-text-muted)}.composer__input:disabled{opacity:.55;cursor:not-allowed}.composer__input[aria-invalid=true]{border-color:var(--color-danger)}.composer[data-editing=true] .composer__input{border-color:var(--color-accent)}.composer__footer{justify-content:space-between;gap:0 var(--space-3);flex-wrap:wrap;display:flex}.composer__hint,.composer__counter,.composer__notice,.composer__editing,.composer__error{font-size:var(--font-size-xs);margin:0}.composer__hint,.composer__counter,.composer__notice{color:var(--color-text-muted)}.composer__counter[data-over=true],.composer__error{color:var(--color-danger-text);font-weight:var(--font-weight-semibold)}.composer__editing{font-weight:var(--font-weight-semibold)}.composer__status:empty{display:none}.composer__status{padding:var(--space-1) var(--space-3);color:var(--color-warning-text);font-size:var(--font-size-sm);background:var(--color-warning-surface);border-radius:var(--radius-sm)}.composer__toolbar{gap:var(--space-1);flex-wrap:wrap;display:flex}.composer__format{min-width:2rem;min-height:2rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-size-sm)}.composer__format[data-format=bold]{font-weight:700}.composer__format[data-format=italic]{font-style:italic}.composer__format[data-format=strike]{text-decoration:line-through}.mention-suggestions{z-index:var(--z-popover);min-width:14rem;max-width:min(24rem,100%);margin:0 0 var(--space-1);padding:var(--space-1);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);flex-direction:column;list-style:none;display:flex;position:absolute;inset-block-end:100%;inset-inline-start:0}.mention-suggestions__option{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer}.mention-suggestions__option[aria-selected=true]{color:var(--color-accent-text);background:var(--color-accent-surface)}.mention-suggestions__name{font-weight:var(--font-weight-semibold)}.mention-suggestions__hint{color:var(--color-text-muted);font-size:var(--font-size-sm)}.mention-suggestions__option[aria-selected=true] .mention-suggestions__hint{color:inherit}.thread-link{align-items:baseline;gap:0 var(--space-1);font:inherit;font-size:var(--font-size-sm);color:var(--color-accent-text);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;flex-wrap:wrap;margin-block-start:var(--space-1);padding:0;display:inline-flex}.thread-link:hover .thread-link__count,.thread-note .thread-link:hover{text-decoration:underline}.thread-link__count{font-weight:var(--font-weight-semibold)}.thread-link__last{color:var(--color-text-muted)}.thread-note{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.thread-note .thread-link{margin:0}.thread-panel{gap:var(--space-3);flex-direction:column;height:calc(100dvh - 6rem);min-height:20rem;display:flex}.app-shell__aside[data-modal=true] .thread-panel{height:100%;min-height:0}.thread-panel__header{align-items:center;gap:var(--space-2);border-block-end:1px solid var(--color-border);padding-block-end:var(--space-3);display:flex}.thread-panel__heading{flex:1;min-width:0}.thread-panel__title{font-size:var(--font-size-lg);margin:0}.thread-panel__channel{color:var(--color-text-muted);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.thread-panel__body{flex:1;min-height:0;overflow-y:auto}.thread-panel__state{margin:var(--space-4) 0;color:var(--color-text-muted)}.thread-panel__parent{padding-block-end:var(--space-2)}.thread-panel__count{align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);display:flex}.thread-panel__count:after{border-block-start:1px solid var(--color-border);content:"";flex:1}.thread-panel .message-actions{inset-block-start:var(--space-1)}.followed-threads{gap:var(--space-4);flex-direction:column;display:flex}.followed-threads__list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.followed-thread{gap:var(--space-1);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.followed-thread__channel{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.followed-thread__title{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);margin:0}.followed-thread__link{color:var(--color-text);overflow-wrap:anywhere}.followed-thread__link[data-removed=true]{color:var(--color-text-muted);font-style:italic}.followed-thread__meta,.followed-thread__last{color:var(--color-text-muted);font-size:var(--font-size-sm);overflow-wrap:anywhere;margin:0}.followed-threads__more{align-self:center}.unread-badges{align-items:center;gap:var(--space-1);flex:none;margin-inline-start:auto;display:inline-flex}.channel-nav__link[data-unread=true] .channel-nav__name{color:var(--color-text);font-weight:var(--font-weight-semibold)}.channel-nav__link[data-unread=true] .channel-icon{color:var(--color-text)}.channel-nav__head{align-items:center;gap:var(--space-1);display:flex}.channel-nav__head .channel-nav__heading{flex:1;min-width:0}.unread-divider{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3) 0;display:flex}.unread-divider:before,.unread-divider:after{border-block-start:1px solid var(--color-danger);content:"";flex:1}.unread-divider__label{color:var(--color-danger-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0}.message-feed__unread-jump{z-index:1;border-radius:var(--radius-full);box-shadow:var(--shadow-md);position:absolute;inset-block-start:var(--space-3);inset-inline-start:50%;transform:translate(-50%)}.message-blocks{gap:var(--space-2);max-width:36rem;margin:var(--space-1) 0 0;overflow-wrap:anywhere;flex-direction:column;display:flex}.message-blocks__plain,.message-blocks__image-title{unicode-bidi:isolate}.message-blocks__plain{white-space:pre-wrap;margin:0}.message-blocks__divider{border:0;border-top:1px solid var(--color-border);width:100%;margin:0}.message-blocks__image{padding:var(--space-2) var(--space-3);color:var(--color-text);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-inline-start:3px solid var(--color-border-strong);border-radius:var(--radius-md);flex-direction:column;gap:.125rem;text-decoration:none;display:flex}.message-blocks__image:hover .message-blocks__image-title{text-underline-offset:.15em;text-decoration:underline}.message-blocks__image:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.message-blocks__image-title{font-weight:var(--font-weight-semibold);color:var(--color-accent-text)}.message-blocks__image-host{font-size:var(--font-size-xs);color:var(--color-text-muted)}.message-blocks__context{gap:0 var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.message-blocks__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.message-blocks__select{max-width:100%;min-height:2rem;padding:0 var(--space-2);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md)}.message-blocks__select:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.app-view__form{gap:var(--space-3);overflow-wrap:anywhere;flex-direction:column;display:flex}.app-view__error{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-danger-surface);color:var(--color-danger-text);margin:0}.app-view__checkboxes{border:0;min-width:0;margin:0;padding:0}.app-view__checkbox{align-items:center;gap:var(--space-2);margin-top:var(--space-1);display:flex}.message-reactions{align-items:center;gap:var(--space-1);flex-wrap:wrap;margin-block-start:var(--space-1);display:flex}.reaction-chip{align-items:center;gap:var(--space-1);min-height:1.75rem;padding:0 var(--space-2);font:inherit;font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:border-color var(--duration-fast) var(--easing-standard);display:inline-flex}.reaction-chip:hover{border-color:var(--color-border-strong)}.reaction-chip[aria-pressed=true]{color:var(--color-accent-text);background:var(--color-accent-surface);border-color:var(--color-accent)}.reaction-chip[aria-disabled=true]{cursor:default}.reaction-chip__count{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold)}.reaction-add{min-width:1.75rem;min-height:1.75rem}.ui-popover.emoji-picker-popover{width:min(19rem, calc(100vw - 2 * var(--space-4)));padding:var(--space-2)}.emoji-picker{gap:var(--space-2);flex-direction:column;display:flex}.emoji-picker__search{width:100%;min-height:2.25rem;padding:var(--space-1) var(--space-2);font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md)}.emoji-picker__body{gap:var(--space-2);overscroll-behavior:contain;flex-direction:column;max-height:14rem;display:flex;overflow-y:auto}.emoji-picker__title{margin:0 0 var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.emoji-picker__heading{justify-content:space-between;align-items:center;gap:var(--space-2);margin:0 0 var(--space-1);display:flex}.emoji-picker__heading .emoji-picker__title{margin:0}.ui-button.emoji-picker__add{min-height:1.75rem;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}.emoji-picker__none{padding:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.emoji-picker__grid{grid-template-columns:repeat(8,2rem);gap:2px;display:grid}.emoji-picker__emoji{width:2rem;height:2rem;font:inherit;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:1.25rem;line-height:1;display:inline-flex}.emoji-picker__emoji:hover{background:var(--color-surface-sunken)}.message-feed{gap:var(--space-2);flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.message-feed--state{justify-content:flex-end}.message-feed--empty{flex:1;justify-content:center}.message-feed__scroller{overscroll-behavior:contain;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.message-feed__list{flex:none;width:100%;margin-block-start:auto;position:relative}.message-feed__item{width:100%;position:absolute;inset-block-start:0;inset-inline-start:0}.message-feed__start{padding:var(--space-2) var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.message-feed__older{z-index:1;pointer-events:none;justify-content:center;display:flex;position:absolute;inset-block-start:var(--space-2);inset-inline:0}.message-feed__older--error{pointer-events:auto}.message-feed__pill{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);display:inline-flex}.message-feed__new{z-index:1;border-radius:var(--radius-full);box-shadow:var(--shadow-md);position:absolute;inset-block-end:var(--space-3);inset-inline-start:50%;transform:translate(-50%)}.day-divider{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-1);display:flex}.day-divider:before,.day-divider:after{border-block-start:1px solid var(--color-border);content:"";flex:1}.day-divider__label{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0}.message-row{gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-1);border-radius:var(--radius-sm);grid-template-columns:2.5rem minmax(0,1fr);display:grid;position:relative}.message-row[data-grouped=true]{padding-block-start:0}.message-row:hover,.message-row:focus-within{background:var(--color-surface-sunken)}.message-row:focus-visible{outline-offset:-2px}.hidden-message{padding:var(--space-1) var(--space-3)}.hidden-message__reveal{width:100%;padding:var(--space-2) var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font:inherit;text-align:start;cursor:pointer;background:0 0;font-style:italic}.hidden-message__reveal:hover{background:var(--color-surface-sunken)}.message-row[data-current=true]{background:var(--color-surface-sunken);box-shadow:inset 3px 0 0 var(--color-accent)}.message-row[data-mentioned=true]{background:var(--color-warning-surface);box-shadow:inset 3px 0 0 var(--color-warning-text)}.message-row[data-mentioned=true]:hover,.message-row[data-mentioned=true]:focus-within{background:var(--color-warning-surface)}.message-row__warning{margin:var(--space-1) 0 0;color:var(--color-warning-text);font-size:var(--font-size-xs)}.message-row[data-marked=true]{background:var(--color-accent-surface);box-shadow:inset 3px 0 0 var(--color-accent)}.message-row__gutter{justify-content:center;display:flex}.message-row[data-grouped=true] .message-row__time{font-size:var(--font-size-xs);opacity:0;padding-block-start:.15rem}.message-row[data-grouped=true]:hover .message-row__time,.message-row[data-grouped=true]:focus-within .message-row__time{opacity:1}.message-row__body{min-width:0}.message-row__header{align-items:baseline;gap:0 var(--space-2);flex-wrap:wrap;display:flex}.message-row__author{font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.message-row__app-badge{padding:0 var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.04em}.message-row__time{color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap}.message-row__text,.message-row__tombstone,.message-row__status{margin:0}.message-row__text{overflow-wrap:anywhere}.message-row__tombstone{color:var(--color-text-muted);font-style:italic}.message-row__edited{color:var(--color-text-muted);font-size:var(--font-size-xs)}.message-row[data-status=sending] .message-row__text{color:var(--color-text-muted)}.message-row__status{color:var(--color-text-muted);font-size:var(--font-size-xs)}.message-row__status--failed{color:var(--color-danger-text);font-weight:var(--font-weight-semibold)}.message-actions{gap:var(--space-1);display:flex;position:absolute;inset-block-start:calc(-1 * var(--space-3));inset-inline-end:var(--space-3)}.message-actions:empty{display:none}.message-row__failure{align-items:center;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.message-row__status--failed{gap:0 var(--space-2);flex-wrap:wrap;display:flex}.message-row__reason{font-weight:var(--font-weight-regular)}.message-row__failure-actions{gap:var(--space-2);display:flex}.message-row__failure-button{min-height:1.75rem;font-size:var(--font-size-xs);padding-block:0}.message-skeleton{gap:var(--space-4);padding:var(--space-3);flex-direction:column;display:flex}.message-skeleton__row{gap:var(--space-3);display:flex}.message-skeleton__avatar{background:var(--color-surface-sunken);border-radius:var(--radius-full);flex:none;width:2.5rem;height:2.5rem}.message-skeleton__lines{gap:var(--space-2);flex-direction:column;flex:1;padding-block-start:var(--space-1);display:flex}.message-skeleton__lines span{background:var(--color-surface-sunken);border-radius:var(--radius-sm);height:.75rem;animation:1.4s ease-in-out infinite message-skeleton-pulse}.message-skeleton__lines span:first-child{width:30%}.message-skeleton__lines span:last-child{width:70%}@keyframes message-skeleton-pulse{50%{opacity:.5}}.channel-form{gap:var(--space-4);flex-direction:column;display:flex}.channel-form__section{border-block-start:1px solid var(--color-border);padding-block-start:var(--space-4)}.channel-form__heading{font-size:var(--font-size-md);margin:0}.channel-form__label{font-weight:var(--font-weight-medium)}.channel-form__kind{gap:var(--space-2);flex-direction:column;display:flex}.channel-form__hint{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.channel-form__option{align-items:center;gap:var(--space-2);display:flex}.channel-form__option input{accent-color:var(--color-accent)}.channel-form__actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.channel-picker{gap:var(--space-3);flex-direction:column;display:flex}.channel-picker__note,.channel-picker__count{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.channel-picker__results,.channel-picker__chips,.channel-members{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.channel-picker__results{max-height:14rem;overflow-y:auto}.channel-picker__option label{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;display:flex}.channel-picker__option label:hover{background:var(--color-surface-sunken)}.channel-picker__option input{accent-color:var(--color-accent)}.channel-picker__selected{gap:var(--space-2);flex-direction:column;display:flex}.channel-picker__chips{gap:var(--space-2);flex-flow:wrap}.channel-picker__chip{align-items:center;gap:var(--space-1);background:var(--color-accent-surface);color:var(--color-accent-text);border-radius:999px;padding-inline-start:var(--space-3);display:inline-flex}.channel-members{max-height:18rem;overflow-y:auto}.channel-members__item{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;flex-wrap:wrap;display:flex}.channel-members__name{align-items:center;gap:var(--space-2);overflow-wrap:anywhere;flex-wrap:wrap;min-width:0;display:flex}.channel-members__you{color:var(--color-text-muted);font-size:var(--font-size-sm)}.channel-members__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.conferences,.conference-new,.conference-days,.conference-agenda{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.conferences a.ui-button,.conference-new a.ui-button{text-decoration:none}.conference-hint,.conference-meta{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.conference-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.conference-day{gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.conference-day__title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.conference-teacher{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.conference-teacher__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere;margin:0}.conference-teacher__note{color:var(--color-text-muted);margin:0}.conference-teacher__alert{padding:var(--space-2) var(--space-3);color:var(--color-warning-text);background:var(--color-warning-surface);border-radius:var(--radius-sm);margin:0}.conference-teacher__action{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.conference-teacher__action p{margin:0}.conference-slots{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(4.5rem,1fr));display:grid}.conference-slot{min-height:2.5rem;padding:var(--space-2);font:inherit;font-variant-numeric:tabular-nums;text-align:center;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer}button.conference-slot:hover{background:var(--color-accent-surface)}button.conference-slot:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:2px}.conference-slot[aria-pressed=true]{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent)}.conference-slot--taken{color:var(--color-text-muted);background:var(--color-surface-sunken);border-color:var(--color-border);cursor:default;justify-content:center;align-items:center;text-decoration:line-through;display:flex}.conference-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.conference-card{gap:var(--space-2);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.conference-card__title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere;margin:0}.conference-card__when,.conference-card__student,.conference-card__note{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.conference-card__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.conference-card__actions a.ui-button{text-decoration:none}.conference-agenda__list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.conference-agenda__slot{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.conference-agenda__slot+.conference-agenda__slot{border-top:1px solid var(--color-border)}.conference-agenda__time{font-variant-numeric:tabular-nums;min-width:7rem;font-weight:var(--font-weight-medium)}.conference-agenda__free{color:var(--color-text-muted)}.conference-agenda__actions{gap:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}.conference-agenda__actions a.ui-button{text-decoration:none}.conference-form{gap:var(--space-4);flex-direction:column;max-width:40rem;display:flex}.conference-form__time{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}@media (width<=30rem){.conference-agenda__actions{margin-left:0}}.connections-page{gap:var(--space-4);flex-direction:column;min-width:0;max-width:48rem;display:flex}.connection-card{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.connection-card>p{overflow-wrap:anywhere;max-width:100%;margin:0}.connection-card__heading{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.connection-card__account{font-weight:var(--font-weight-medium)}.connection-card__note{color:var(--color-text-muted);font-size:var(--font-size-sm)}.connection-card__calendar{gap:var(--space-1);flex-direction:column;max-width:100%;display:flex}.connection-card__calendar>p{overflow-wrap:anywhere;margin:0}.connection-card__switch{align-items:center;gap:var(--space-2);font-weight:var(--font-weight-medium);display:flex}.connection-card__switch input{block-size:1.25rem;inline-size:1.25rem;accent-color:var(--color-accent)}.connection-card__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.connection-outcome{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-warning-surface);color:var(--color-warning-text);margin:0}.connection-outcome--success{background:var(--color-success-surface);color:var(--color-success-text)}.connection-health p{margin:0}.connection-health__title{font-weight:var(--font-weight-semibold)}.connection-health--ok{font-size:var(--font-size-sm);color:var(--color-success-text);margin:0}.classroom{gap:var(--space-2);width:100%;padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.classroom>p{overflow-wrap:anywhere;margin:0}.classroom__heading,.classroom__subheading{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.classroom__subheading{font-size:var(--font-size-sm)}.classroom-links{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.classroom-link{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.classroom-link__text{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.classroom-link__text>p{overflow-wrap:anywhere;margin:0}.classroom-link__title{font-weight:var(--font-weight-medium)}.classroom-form{align-items:flex-start;gap:var(--space-3);flex-direction:column;width:100%;max-width:28rem;display:flex}.classroom-form .ui-field{width:100%}.guardian-children{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.child-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.child-card{gap:var(--space-3);max-width:48rem;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.child-card__name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere;margin:0}.child-card__facts{gap:var(--space-2) var(--space-6);flex-wrap:wrap;margin:0;display:flex}.child-card__facts>div{gap:var(--space-1);flex-direction:column;display:flex}.child-card__facts dt{color:var(--color-text-muted);font-size:var(--font-size-sm)}.child-card__facts dd{margin:0}.child-card__note{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.child-card__consent{gap:var(--space-2);border-block-start:1px solid var(--color-border);flex-direction:column;padding-block-start:var(--space-3);display:flex}.child-card__consent p{margin:0}.child-card__heading{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0}.child-card__text{gap:var(--space-1);padding:var(--space-3);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;display:flex}.child-card__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.notification-bell{position:relative}.notification-bell__count{pointer-events:none;display:inline-flex;position:absolute;inset-block-start:-.25rem;inset-inline-end:-.25rem}.notification-bell__count .ui-badge{min-width:1.25rem;padding:0 var(--space-1);border:1px solid var(--color-surface);justify-content:center}.notification-menu{width:min(24rem, calc(100vw - 2 * var(--space-4)));flex-direction:column;max-height:min(32rem,100vh - 6rem);display:flex}.notification-menu__header{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.notification-menu__title{font-size:var(--font-size-sm);color:var(--color-text)}.notification-menu__action{font-size:var(--font-size-sm)}.notification-menu__items{flex-direction:column;min-height:0;display:flex;overflow-y:auto}.notification-menu__note{padding:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.notification-menu__more{font-size:var(--font-size-sm);justify-content:center}.notification-item{align-items:flex-start}.notification-item__dot{border-radius:var(--radius-full);flex:none;width:.5rem;height:.5rem;margin-block-start:.45rem}.notification-item[data-unread=true] .notification-item__dot{background:var(--color-accent)}.notification-item__text{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.notification-item__title{overflow-wrap:anywhere}.notification-item[data-unread=true] .notification-item__title{font-weight:var(--font-weight-semibold)}.notification-item__body{color:var(--color-text-muted);font-size:var(--font-size-sm);overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.notification-item__time{color:var(--color-text-muted);font-size:var(--font-size-xs)}.notification-item[data-highlighted] .notification-item__body,.notification-item[data-highlighted] .notification-item__time{color:inherit}.notification-settings{gap:var(--space-6);flex-direction:column;min-width:0;max-width:48rem;display:flex}.notification-settings__section{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.notification-settings__heading{font-size:var(--font-size-lg);margin:0}.notification-settings__note{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.notification-settings__table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.notification-settings__table{border-collapse:collapse;width:100%}.notification-settings__table th,.notification-settings__table td{padding:var(--space-2) var(--space-3);text-align:center;vertical-align:middle}.notification-settings__table th[scope=row],.notification-settings__table thead th:first-child{text-align:start}.notification-settings__table thead th{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:var(--color-surface-sunken)}.notification-settings__table tbody tr+tr{border-block-start:1px solid var(--color-border)}.notification-settings__type{align-items:center;gap:var(--space-2);font-weight:var(--font-weight-medium);flex-wrap:wrap;display:flex}.notification-settings__type-description{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);margin-block-start:var(--space-1);display:block}.notification-settings__switch{width:1.125rem;height:1.125rem;accent-color:var(--color-accent)}.notification-settings__mutes{border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.notification-mute{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3);flex-wrap:wrap;display:flex}.notification-mute+.notification-mute{border-block-start:1px solid var(--color-border)}.notification-mute__name{min-width:0;font-weight:var(--font-weight-medium);overflow-wrap:anywhere;flex:10rem}.notification-mute__control{gap:var(--space-1);font-size:var(--font-size-sm);flex-direction:column;display:flex}.notification-mute__control select{min-width:12rem}.notification-mute__mentions{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);display:flex}.product-logo{flex:none;align-items:center;display:inline-flex}.product-logo__img{width:auto;display:block}.product-logo--header .product-logo__img{height:1.5rem}.product-logo--hero .product-logo__img{height:3.5rem}.product-logo__img--dark,:root[data-theme=dark] .product-logo__img--light{display:none}:root[data-theme=dark] .product-logo__img--dark{display:block}.app-shell{--shell-sidebar-width:16rem;--shell-aside-width:22rem;grid-template:"header""main"minmax(0,1fr)"aside"/minmax(0,1fr);min-height:100vh;display:grid}.app-shell[data-sidebar=expanded]{grid-template-columns:var(--shell-sidebar-width) minmax(0, 1fr);grid-template-areas:"header header""sidebar main""sidebar aside"}.app-shell__skip{z-index:40;padding:var(--space-2) var(--space-4);background:var(--color-surface);color:var(--color-accent-text);font-weight:var(--font-weight-medium);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);position:absolute;inset-block-start:var(--space-2);inset-inline-start:var(--space-2);transform:translateY(-300%)}.app-shell__skip:focus{transform:none}.app-shell__header{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;grid-area:header;display:flex}.app-shell__brand{font-weight:var(--font-weight-semibold)}.app-shell__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-inline-start:auto;display:flex}.app-shell__sidebar{padding:var(--space-4) var(--space-3);background:var(--color-surface);border-inline-end:1px solid var(--color-border);grid-area:sidebar}.app-shell__sidebar-close{margin-block-end:var(--space-3);margin-inline-start:auto}.app-shell__main{min-width:0;padding:var(--space-6) var(--space-6) var(--space-12);grid-area:main}.app-shell__main:focus{outline:none}.app-shell__aside{min-width:0;padding:var(--space-4);background:var(--color-surface);border-block-start:1px solid var(--color-border);grid-area:aside}@media (width>=64rem){.app-shell[data-aside=true]{grid-template-columns:minmax(0, 1fr) var(--shell-aside-width);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"header header""main aside"}.app-shell[data-aside=true][data-sidebar=expanded]{grid-template-columns:var(--shell-sidebar-width) minmax(0, 1fr) var(--shell-aside-width);grid-template-areas:"header header header""sidebar main aside"}.app-shell__aside{border-block-start:0;border-inline-start:1px solid var(--color-border)}}.app-shell__backdrop{display:none}.app-shell__aside[data-modal=true]{z-index:25;width:min(32rem,100vw);padding:var(--space-4);border-block-start:0;border-inline-start:1px solid var(--color-border);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:fixed;inset-block:0;inset-inline-end:0;overflow:hidden}.app-shell__backdrop--aside{z-index:24;background:var(--color-scrim);display:block;position:fixed;inset:0}@media (width<=48rem){.app-shell[data-sidebar]{grid-template:"header""main"minmax(0,1fr)"aside"/minmax(0,1fr)}.app-shell__main{padding:var(--space-6) var(--space-4) var(--space-12)}.app-shell__aside[data-modal=true]{border-inline-start:0;width:100vw}.app-shell__sidebar{z-index:20;width:min(18rem,85vw);box-shadow:var(--shadow-md);visibility:hidden;transition:transform var(--duration-normal) var(--easing-standard), visibility 0s linear var(--duration-normal);flex-direction:column;display:flex;position:fixed;inset-block:0;inset-inline-start:0;overflow-y:auto;transform:translate(-100%)}.app-shell__sidebar[data-open=true]{visibility:visible;transition:transform var(--duration-normal) var(--easing-standard);transform:none}.app-shell__backdrop{z-index:10;background:var(--color-scrim);display:block;position:fixed;inset:0}}.school-switcher{min-width:0;position:relative}.school-switcher__button{max-width:100%}.school-switcher__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.school-switcher__panel{z-index:30;width:max-content;min-width:100%;max-width:min(20rem,90vw);padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin-block-start:var(--space-1);position:absolute;inset-block-start:100%;inset-inline-start:0}.school-switcher__list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.school-switcher__link{padding:var(--space-2) var(--space-3);color:var(--color-text);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);text-decoration:none;display:block}.school-switcher__link:hover{background:var(--color-surface-sunken)}.school-switcher__link[aria-current=page]{background:var(--color-accent-surface);color:var(--color-accent-text)}.user-menu__trigger{max-width:14rem}.user-menu__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.invitation-accept__actions{justify-content:center;align-items:center;gap:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.invitation-accept__actions .card-link{margin-top:0}.meetings,.meeting-new,.meeting-detail{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.meetings a.ui-button,.meeting-new a.ui-button,.meeting-detail a.ui-button{text-decoration:none}.meeting-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.meeting-list__more{width:fit-content;margin:var(--space-3) auto 0;display:flex}.meeting-card{gap:var(--space-2);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.meeting-card__title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere;margin:0}.meeting-card__when,.meeting-card__meta{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.meeting-card__meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.meeting-form{gap:var(--space-4);flex-direction:column;max-width:40rem;display:flex}.meeting-form__time{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.meeting-form__people{border:0;margin:0;padding:0}.meeting-form__people:focus{outline:none}.meeting-form__refused{color:var(--color-danger-text);margin:0}.meeting-detail__notice{padding:var(--space-2) var(--space-3);color:var(--color-text);background:var(--color-surface-sunken);border-radius:var(--radius-sm);margin:0}.meeting-detail__notice--danger{color:var(--color-danger-text);background:var(--color-danger-surface)}.meeting-detail__facts{gap:var(--space-2) var(--space-4);grid-template-columns:max-content 1fr;margin:0;display:grid}.meeting-detail__facts dt{color:var(--color-text-muted)}.meeting-detail__facts dd{overflow-wrap:anywhere;margin:0}.meeting-detail__description{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.meeting-section{gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.meeting-section__title{font-size:var(--font-size-md);margin:0}.meeting-section__text{color:var(--color-text-muted);margin:0}.meeting-answer{gap:var(--space-2);flex-wrap:wrap;display:flex}.meeting-people{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.meeting-people__row{align-items:center;gap:var(--space-2);display:flex}.meeting-people__name{overflow-wrap:anywhere;flex:1;min-width:0}.meeting-prejoin{gap:var(--space-3);flex-direction:column;display:flex}.meeting-prejoin__preview{width:min(100%,28rem);margin:0;padding:0;list-style:none;display:grid}.meeting-prejoin__choice,.meeting-prejoin__reason{color:var(--color-text-muted);margin:0}.meeting-prejoin__controls{justify-content:flex-start}.meeting-prejoin__join{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.meeting-prejoin__join .ui-button[aria-disabled=true]{cursor:not-allowed;opacity:.6}.meeting-room-host{z-index:var(--z-overlay);color:var(--color-text);background:var(--color-surface-sunken);position:fixed;inset:0;overflow:hidden}.meeting-room-host:focus{outline:none}.recordings-page{align-items:flex-start;gap:var(--space-4);flex-direction:column;display:flex}.recordings-page>.ui-data-table{align-self:stretch}.recordings-usage,.recordings-note{color:var(--color-text-muted);margin:0}.recordings-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.recordings-processing{font-size:var(--font-size-sm);color:var(--color-text-muted)}.recordings-warning{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);color:var(--color-warning-text);background:var(--color-warning-surface);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.recordings-warning p{margin:0}.meeting-room{gap:var(--space-3);height:100%;min-height:0;padding:var(--space-4);color:var(--color-text);background:var(--color-surface-sunken);flex-direction:column;display:flex}.meeting-room__header{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.meeting-room__title{font-size:var(--font-size-lg);line-height:var(--line-height-tight);margin:0}.meeting-room__connection{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);color:var(--color-success-text);background:var(--color-success-surface);border-radius:var(--radius-full);margin:0}.meeting-room__connection[data-state=connecting],.meeting-room__connection[data-state=reconnecting]{color:var(--color-warning-text);background:var(--color-warning-surface)}.meeting-room__connection[data-state=disconnected]{color:var(--color-danger-text);background:var(--color-danger-surface)}.meeting-room__waiting,.meeting-room__alone{color:var(--color-text-muted);margin:0}.meeting-room__waiting{padding:var(--space-2) var(--space-3);background:var(--color-accent-surface);color:var(--color-accent-text);border-radius:var(--radius-md)}.meeting-room__lost,.meeting-room__problem,.meeting-room__audio-blocked{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin:0}.meeting-room__lost,.meeting-room__problem{color:var(--color-danger-text);background:var(--color-danger-surface)}.meeting-room__lost p{margin:0 0 var(--space-2)}.meeting-room__lost-actions{gap:var(--space-2);display:flex}.meeting-room__audio-blocked{align-items:center;gap:var(--space-3);color:var(--color-warning-text);background:var(--color-warning-surface);flex-wrap:wrap;display:flex}.meeting-room__audio-blocked p{margin:0}.meeting-room__grid{gap:var(--space-3);flex:1;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));grid-auto-rows:minmax(9rem,1fr);min-height:0;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.meeting-tile{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);min-height:0;position:relative;overflow:hidden}.meeting-tile--speaking{border-color:var(--color-accent)}.meeting-tile__video{object-fit:cover;width:100%;height:100%}.meeting-tile--local .meeting-tile__video{transform:scaleX(-1)}.meeting-tile__placeholder{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.meeting-tile__caption{inset-inline:var(--space-2);align-items:center;gap:var(--space-2);width:fit-content;max-width:calc(100% - 2 * var(--space-2));padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;position:absolute;inset-block-end:var(--space-2)}.meeting-tile__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meeting-tile__muted{width:1rem;height:1rem;color:var(--color-danger-text);display:inline-flex}.meeting-devices{gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));display:grid}.meeting-devices__empty{color:var(--color-text-muted);margin:0}.meeting-room__controls{justify-content:center;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.meeting-room__controls .ui-button svg{flex:none;width:1.25rem;height:1.25rem}.meeting-tile__muted svg{width:100%;height:100%}.meeting-room__body{gap:var(--space-3);flex:1;min-height:0;display:flex}.meeting-room__main{gap:var(--space-3);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.meeting-room__grid--strip{flex:none;grid-template-columns:repeat(auto-fill,minmax(min(100%,10rem),1fr));grid-auto-rows:6.5rem;max-height:7rem}.meeting-stage{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex:1;min-height:12rem;margin:0;position:relative;overflow:hidden}.meeting-stage__video{object-fit:contain;width:100%;height:100%}.meeting-stage__caption{padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);position:absolute;inset-block-end:var(--space-2);inset-inline-start:var(--space-2)}.meeting-room__panel{gap:var(--space-3);width:min(100%,22rem);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;flex:none;display:flex;overflow-y:auto}.lobby-strip{gap:var(--space-2);padding:var(--space-3) var(--space-4);color:var(--color-text);background:var(--color-accent-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.lobby-strip--alert{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent)}.lobby-strip__title,.meeting-lobby__title,.moderator-panel__title{margin:0;font-weight:600}.lobby-strip__list,.moderator-panel__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lobby-strip__row{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.lobby-strip__row[data-new] .lobby-strip__name{font-weight:600}.lobby-strip__since{font-size:var(--font-size-sm);color:var(--color-text-muted)}.lobby-strip__actions,.moderator-panel__actions,.moderator-panel__badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.lobby-strip__actions{margin-inline-start:auto}.moderator-panel__row{gap:var(--space-2);border-block-end:1px solid var(--color-border);flex-direction:column;padding-block-end:var(--space-2);display:flex}.moderator-panel__who{align-items:center;gap:var(--space-2);display:flex}.meeting-lobby{align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}@media (prefers-reduced-motion:no-preference){.lobby-strip--alert{animation:1.2s ease-out 2 lobby-strip-arrival}}@keyframes lobby-strip-arrival{50%{box-shadow:0 0 0 6px var(--color-accent-surface)}}.meeting-room__rec{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);letter-spacing:.08em;color:var(--color-danger-text);background:var(--color-danger-surface);border-radius:var(--radius-full);border:1px solid;margin:0;margin-inline-end:auto;font-weight:700;display:inline-flex}.meeting-room__rec-dot{background:currentColor;border-radius:50%;width:.625rem;height:.625rem}@media (prefers-reduced-motion:no-preference){.meeting-room__rec-dot{animation:1.6s ease-in-out infinite meeting-room-rec}}@keyframes meeting-room-rec{50%{opacity:.35}}.recording-bar{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.recording-bar__text{font-size:var(--font-size-sm);margin:0}.recording-bar--recording{border-color:var(--color-danger-text)}@media (width<=48rem){.meeting-room__body{flex-direction:column}.meeting-room__panel{width:100%;max-height:50%}}.pins-panel{gap:var(--space-3);flex-direction:column;height:calc(100dvh - 6rem);min-height:20rem;display:flex}.app-shell__aside[data-modal=true] .pins-panel{height:100%;min-height:0}.pins-panel__header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.pins-panel__title{font-size:var(--font-size-lg);margin:0}.pins-panel__title:focus-visible{outline-offset:2px}.pins-panel__body{flex:1;min-height:0;overflow-y:auto}.pins-panel__state{color:var(--color-text-muted);margin:0}.pins-panel__list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.pins-panel__item{gap:var(--space-1);min-width:0;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid}.pins-panel__author,.pins-panel__meta{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.pins-panel__text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.pins-panel__actions{gap:var(--space-2);flex-wrap:wrap;margin-block-start:var(--space-1);display:flex}.consent-gate{gap:var(--space-4);flex-direction:column;min-width:0;max-width:48rem;display:flex}.consent-gate__notice{padding:var(--space-3) var(--space-4);background:var(--color-warning-surface);color:var(--color-warning-text);border-radius:var(--radius-md);margin:0}.consent-gate__location{align-items:center;gap:var(--space-2);font-weight:var(--font-weight-medium);flex-wrap:wrap;margin:0;display:flex}.consent-gate__meta{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.consent-gate__text{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.consent-gate__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.safe-markdown{gap:var(--space-3);overflow-wrap:anywhere;flex-direction:column;line-height:1.6;display:flex}.safe-markdown>*{margin:0}.safe-markdown :is(h2,h3,h4,h5,h6){font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.safe-markdown h2{font-size:var(--font-size-lg)}.safe-markdown :is(ul,ol){padding-inline-start:var(--space-6)}.safe-markdown code{padding:0 var(--space-1);background:var(--color-surface-sunken);border-radius:var(--radius-sm)}.privacy-page{gap:var(--space-4);flex-direction:column;min-width:0;max-width:48rem;display:flex}.privacy-section{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.privacy-section>p,.privacy-section>.privacy-erasure{max-width:100%;margin:0}.privacy-section__heading{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.privacy-section__location{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.privacy-section__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.privacy-section__progress,.privacy-section__note{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.privacy-section__details{max-width:100%}.privacy-section__details summary{cursor:pointer;font-weight:var(--font-weight-medium)}.privacy-section__text-title{margin:var(--space-3) 0;font-size:var(--font-size-md)}.privacy-erasure{gap:var(--space-2);flex-direction:column;display:flex}.privacy-erasure>p{margin:0}.privacy-erasure__label{color:var(--color-text-muted)}.privacy-erasure__note{padding:var(--space-3);background:var(--color-surface-sunken);border-radius:var(--radius-md);margin:0}.privacy-erasure__note figcaption{color:var(--color-text-muted);font-size:var(--font-size-sm)}.privacy-erasure__note blockquote{margin:var(--space-1) 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.safe-markdown blockquote{color:var(--color-text-muted);border-inline-start:3px solid var(--color-border-strong);padding-inline-start:var(--space-3)}.safe-markdown pre{padding:var(--space-2) var(--space-3);background:var(--color-surface-sunken);border-radius:var(--radius-sm);overflow-x:auto}.safe-markdown pre code{background:0 0;padding:0}.connection-status{align-items:center;gap:var(--space-2);padding:0 var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);white-space:nowrap;border-radius:var(--radius-full);display:inline-flex}.connection-status[data-state=connected]{background:var(--color-success-surface);color:var(--color-success-text)}.connection-status[data-state=connecting],.connection-status[data-state=reconnecting]{background:var(--color-warning-surface);color:var(--color-warning-text)}.connection-status[data-state=disconnected]{background:var(--color-danger-surface);color:var(--color-danger-text)}.connection-status__dot{border-radius:var(--radius-full);background:currentColor;flex:none;width:.5rem;height:.5rem}.connection-status[data-state=reconnecting] .connection-status__dot,.connection-status[data-state=connecting] .connection-status__dot{animation:1.2s ease-in-out infinite connection-status-pulse}@keyframes connection-status-pulse{50%{opacity:.35}}@media (width<=30rem){.connection-status{padding:var(--space-2)}.connection-status__label{clip-path:inset(50%);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}}.search-launcher{align-items:center;gap:var(--space-2);min-width:0;max-width:24rem;min-height:2.25rem;padding:var(--space-1) var(--space-3);color:var(--color-text-muted);font:inherit;text-align:start;background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;flex:12rem;display:inline-flex}.search-launcher:hover{border-color:var(--color-border-strong)}.search-launcher__icon,.quick-switcher__icon,.quick-switcher__option-icon{flex:none;width:1rem;height:1rem;display:inline-flex}.search-launcher__label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.search-launcher__keys{padding:0 var(--space-1);font-family:inherit;font-size:var(--font-size-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm)}@media (width<=40rem){.search-launcher{flex:none}.search-launcher__label,.search-launcher__keys{display:none}}.quick-switcher.ui-dialog__content{width:min(36rem, calc(100vw - 2 * var(--space-4)));top:15%;transform:translate(-50%)}.quick-switcher__field{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);display:flex}.quick-switcher__field:focus-within{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:2px}.quick-switcher__input{min-width:0;color:var(--color-text);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:0}.quick-switcher__hint{margin:var(--space-2) 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.quick-switcher__list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.quick-switcher__option{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;display:flex}.quick-switcher__option[data-active]{color:var(--color-accent-text);background:var(--color-accent-surface)}.quick-switcher__option-label{overflow-wrap:anywhere;flex:1;min-width:0}.quick-switcher__option-kind{color:var(--color-text-muted);font-size:var(--font-size-sm)}.quick-switcher__empty{color:var(--color-text-muted);margin:0}.search-page{gap:var(--space-4);max-width:48rem;display:grid}.search-page__form{gap:var(--space-2);display:grid}.search-page__label{font-weight:var(--font-weight-medium)}.search-page__row{gap:var(--space-2);flex-wrap:wrap;display:flex}.search-page__input{flex:16rem;min-width:0}.search-page__hint{color:var(--color-text-muted);font-size:var(--font-size-sm);overflow-wrap:anywhere;margin:0}.search-page__status{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.search-page__status:empty{display:none}.search-chips{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.search-chip{align-items:center;gap:var(--space-1);color:var(--color-accent-text);background:var(--color-accent-surface);border:1px solid var(--color-accent);border-radius:var(--radius-full);padding-inline-start:var(--space-3);display:inline-flex}.search-filters{gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid}.search-filters__fields{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.search-filters__checks{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.search-filters__check{align-items:center;gap:var(--space-2);display:inline-flex}.search-filters__actions{justify-content:flex-end;display:flex}.search-ambiguity{gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-warning-surface);color:var(--color-warning-text);border-radius:var(--radius-md);display:grid}.search-ambiguity p{margin:0}.search-ambiguity__list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.search-results{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.search-result__link{gap:var(--space-1);min-width:0;padding:var(--space-3) var(--space-4);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;display:grid}.search-result__link:hover{border-color:var(--color-border-strong)}.search-result__where{color:var(--color-text-muted);font-size:var(--font-size-sm)}.search-result__author{color:var(--color-text);font-weight:var(--font-weight-semibold)}.search-result__reply{padding:0 var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-inline-start:var(--space-2)}.search-result__snippet{white-space:pre-wrap;overflow-wrap:anywhere}.search-result__snippet mark{color:inherit;font-weight:var(--font-weight-semibold);background:var(--color-warning-surface)}.search-page__more{justify-self:start}.polls,.poll-new{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.polls a.ui-button,.poll-form a.ui-button{text-decoration:none}.poll-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.poll-list__more{align-self:center}.poll-card{gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex}.poll-card__question{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere;margin:0}.poll-card__meta{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);flex-wrap:wrap;margin:0;display:flex}.poll-card__note,.poll-card__my-vote{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.poll-card__my-vote{color:var(--color-text);font-weight:var(--font-weight-medium)}.poll-vote{gap:var(--space-3);flex-direction:column;display:flex}.poll-vote__choices,.poll-results{gap:var(--space-2);flex-direction:column;display:flex}.poll-results__list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.poll-results__option{gap:var(--space-1);flex-direction:column;display:flex}.poll-results__row{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.poll-results__text{overflow-wrap:anywhere}.poll-results__option[data-mine=true] .poll-results__text{font-weight:var(--font-weight-semibold)}.poll-results__count{color:var(--color-text-muted);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;margin-inline-start:auto}.poll-results__bar{background:var(--color-surface-sunken);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);block-size:.5rem;overflow:hidden}.poll-results__fill{background:var(--color-accent);block-size:100%}.poll-results__voters summary{cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.poll-results__people{margin:var(--space-2) 0 0;border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;padding:0;list-style:none;display:flex}.poll-results__person{justify-content:space-between;gap:var(--space-1) var(--space-3);padding:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.poll-results__person+.poll-results__person{border-block-start:1px solid var(--color-border)}.poll-results__name{font-weight:var(--font-weight-medium);overflow-wrap:anywhere}.poll-results__choice{color:var(--color-text-muted);font-size:var(--font-size-sm);overflow-wrap:anywhere}.poll-form{gap:var(--space-4);flex-direction:column;max-width:40rem;display:flex}.poll-form__options{gap:var(--space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.poll-form__option-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.poll-form__option{align-items:flex-end;gap:var(--space-2);display:flex}.poll-form__option>.ui-field{flex:1;min-width:0}.poll-form__add{align-self:flex-start}.poll-form__closes-at{max-width:16rem}.personal-page{gap:var(--space-4);max-width:48rem;display:grid}.personal-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.personal-item{gap:var(--space-1);min-width:0;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid}.personal-item[data-due=true]{background:var(--color-accent-surface);border-color:var(--color-accent)}.personal-item__where{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.personal-item__text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.personal-item__meta{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.personal-item__problem{color:var(--color-danger-text);font-size:var(--font-size-sm);margin:0}.personal-item__actions{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;margin-block-start:var(--space-2);display:flex}.personal-page__more{justify-self:start}.my-storage-page{gap:var(--space-4);flex-direction:column;min-width:0;max-width:56rem;display:flex}:root{--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--line-height-tight:1.25;--line-height-normal:1.5;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:9999px;--shadow-sm:0 1px 2px #00000014;--shadow-md:0 4px 12px #00000024;--z-overlay:100;--z-popover:200;--z-toast:300;--z-tooltip:400;--focus-ring-width:2px;--duration-fast:.12s;--duration-normal:.2s;--easing-standard:cubic-bezier(.2, 0, 0, 1)}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f6f7f9;--color-surface:#fff;--color-surface-sunken:#eceff3;--color-text:#1a1d23;--color-text-muted:#4f5868;--color-border:#d9dde4;--color-border-strong:#7d8696;--color-accent:#1e2a3a;--color-accent-hover:#2f4058;--color-on-accent:#fff;--color-accent-surface:#ffe8e5;--color-accent-text:#1e2a3a;--color-highlight:#ff6f61;--color-danger:#c62828;--color-danger-hover:#a71f1f;--color-on-danger:#fff;--color-danger-surface:#fdecec;--color-danger-text:#8a1c1c;--color-success-surface:#e2f4e8;--color-success-text:#14532d;--color-warning-surface:#fcf1d0;--color-warning-text:#6b4400;--color-focus-ring:#1e2a3a;--color-avatar-bg:#ffe0dc;--color-avatar-text:#1e2a3a;--color-presence-online:#1a8a3d;--color-presence-away:#b45309;--color-scrim:#00000080}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#14161a;--color-surface:#1d2026;--color-surface-sunken:#101216;--color-text:#eceef2;--color-text-muted:#a3acba;--color-border:#2f343d;--color-border-strong:#7b8494;--color-accent:#ff6f61;--color-accent-hover:#ff8a7e;--color-on-accent:#1e2a3a;--color-accent-surface:#4f3133;--color-accent-text:#ffb4ab;--color-highlight:#ff6f61;--color-danger:#f26b6b;--color-danger-hover:#ff8a8a;--color-on-danger:#1a0505;--color-danger-surface:#3a1c1c;--color-danger-text:#ffb4b4;--color-success-surface:#16301f;--color-success-text:#8be0a4;--color-warning-surface:#382c0e;--color-warning-text:#f2cc72;--color-focus-ring:#ff8a7e;--color-avatar-bg:#4f3133;--color-avatar-text:#ffd2cc;--color-presence-online:#3fb865;--color-presence-away:#f0a63c;--color-scrim:#000000a6}:root[data-school-brand]:not([data-theme=dark]){--color-accent:var(--school-light-accent);--color-accent-hover:var(--school-light-accent-hover);--color-on-accent:var(--school-light-on-accent);--color-accent-surface:var(--school-light-accent-surface);--color-accent-text:var(--school-light-accent-text);--color-focus-ring:var(--school-light-focus-ring)}:root[data-school-brand][data-theme=dark]{--color-accent:var(--school-dark-accent);--color-accent-hover:var(--school-dark-accent-hover);--color-on-accent:var(--school-dark-on-accent);--color-accent-surface:var(--school-dark-accent-surface);--color-accent-text:var(--school-dark-accent-text);--color-focus-ring:var(--school-dark-focus-ring)}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-md);line-height:var(--line-height-normal);margin:0}:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}h1,h2{margin:0 0 var(--space-3);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-lg)}.page{max-width:42rem;padding:var(--space-8) var(--space-4) var(--space-12);margin:0 auto}.page-corner{top:var(--space-4);right:var(--space-4);justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex;position:absolute}.landing{flex-direction:column;justify-content:center;align-items:flex-start;min-height:100vh;display:flex}.lead{margin:0 0 var(--space-6);color:var(--color-text-muted);font-size:var(--font-size-lg)}.topbar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.topbar h1{margin:0}.topbar-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.school-list{margin:0 0 var(--space-6);gap:var(--space-2);padding:0;list-style:none;display:grid}.school-item{width:100%;font:inherit;color:inherit;text-align:left;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color var(--duration-fast) var(--easing-standard), box-shadow var(--duration-fast) var(--easing-standard);display:flex}.school-item:hover{border-color:var(--color-border-strong)}.school-item[aria-pressed=true]{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.school-text{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.school-name{font-weight:var(--font-weight-semibold)}.school-meta,.status,.empty,.error-code{color:var(--color-text-muted)}.school-meta{font-size:var(--font-size-sm);margin:0}.card{padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.card h2{margin-bottom:var(--space-1)}.error{padding:var(--space-3) var(--space-4);margin:0 0 var(--space-4);background:var(--color-danger-surface);color:var(--color-danger-text);border-radius:var(--radius-md)}.error p{margin:0 0 var(--space-2)}.error p:last-child{margin-bottom:0}.error .error-code{color:inherit;font-size:var(--font-size-sm)}.card-link{margin-top:var(--space-3);color:var(--color-accent-text);font-weight:var(--font-weight-medium);display:inline-block}.home-page{max-width:42rem}.ui-button,.ui-icon-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:2.5rem;font:inherit;font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard), border-color var(--duration-fast) var(--easing-standard), box-shadow var(--duration-fast) var(--easing-standard);border:1px solid #0000;display:inline-flex}.ui-button{padding:var(--space-2) var(--space-4)}.ui-button--primary{background:var(--color-accent);color:var(--color-on-accent)}.ui-button--primary:hover:not(:disabled){background:var(--color-accent-hover)}.ui-button--secondary,.ui-icon-button--secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.ui-button--secondary:hover:not(:disabled),.ui-icon-button--secondary:hover:not(:disabled){background:var(--color-surface-sunken)}.ui-button--danger{background:var(--color-danger);color:var(--color-on-danger)}.ui-button--danger:hover:not(:disabled){background:var(--color-danger-hover)}.ui-button:active:not(:disabled),.ui-icon-button:active:not(:disabled){box-shadow:inset 0 1px 3px #00000040}.ui-button:disabled,.ui-icon-button:disabled{opacity:.55;cursor:not-allowed}.ui-button[aria-busy=true]{cursor:progress}.ui-button__spinner{border:2px solid;border-radius:var(--radius-full);border-right-color:#0000;width:1em;height:1em;animation:.7s linear infinite ui-spin}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-icon-button{width:2.5rem;color:var(--color-text);padding:0}.ui-icon-button--ghost{background:0 0}.ui-icon-button--ghost:hover:not(:disabled){background:var(--color-surface-sunken)}.ui-icon-button__icon{display:inline-flex}.ui-icon-button__icon svg{width:1.25rem;height:1.25rem}.ui-field{gap:var(--space-1);flex-direction:column;display:flex}.ui-field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.ui-field__required{margin-inline-start:var(--space-1)}.ui-field__hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.ui-field__error{font-size:var(--font-size-sm);color:var(--color-danger-text);margin:0}.ui-field__control{width:100%;min-height:2.5rem;padding:var(--space-2) var(--space-3);font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--easing-standard)}.ui-field__control::placeholder{color:var(--color-text-muted)}.ui-field__control:hover:not(:disabled){border-color:var(--color-text-muted)}.ui-field__control:disabled{opacity:.55;cursor:not-allowed}.ui-field__control[aria-invalid=true]{border-color:var(--color-danger)}textarea.ui-field__control{resize:vertical;min-height:5rem}.ui-avatar{width:2.5rem;height:2.5rem;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);background:var(--color-avatar-bg);color:var(--color-avatar-text);border-radius:var(--radius-full);-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative}.ui-avatar__photo{border-radius:inherit;object-fit:cover;width:100%;height:100%}.ui-avatar--sm{width:2rem;height:2rem;font-size:var(--font-size-xs)}.ui-avatar--lg{width:3.5rem;height:3.5rem;font-size:var(--font-size-xl)}.ui-avatar__presence{border-radius:var(--radius-full);width:28%;min-width:.5rem;height:28%;min-height:.5rem;box-shadow:0 0 0 2px var(--color-surface);position:absolute;bottom:0;right:0}.ui-avatar__presence--online{background:var(--color-presence-online)}.ui-avatar__presence--away{background:linear-gradient(90deg, var(--color-presence-away) 0 50%, var(--color-surface) 50% 100%);border:2px solid var(--color-presence-away)}.ui-avatar__presence--offline{background:var(--color-surface);border:2px solid var(--color-border-strong)}.ui-badge{padding:0 var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);border-radius:var(--radius-full);align-items:center;display:inline-flex}.ui-badge--neutral{background:var(--color-surface-sunken);color:var(--color-text)}.ui-badge--accent{background:var(--color-accent-surface);color:var(--color-accent-text)}.ui-badge--success{background:var(--color-success-surface);color:var(--color-success-text)}.ui-badge--warning{background:var(--color-warning-surface);color:var(--color-warning-text)}.ui-badge--danger{background:var(--color-danger-surface);color:var(--color-danger-text)}.ui-segmented{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-full);gap:2px;min-width:0;margin:0;padding:2px;display:inline-flex}.ui-segmented__option{display:inline-flex;position:relative}.ui-segmented__input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.ui-segmented__input:focus-visible{outline:none}.ui-segmented__label{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);border-radius:var(--radius-full);pointer-events:none;transition:background-color var(--duration-fast) var(--easing-standard)}.ui-segmented__input:hover:not(:checked)+.ui-segmented__label{background:var(--color-surface)}.ui-segmented__input:checked+.ui-segmented__label{background:var(--color-accent-surface);color:var(--color-accent-text)}.ui-segmented__input:focus-visible+.ui-segmented__label{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:2px}select.ui-field__control{cursor:pointer}.ui-form-actions{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.ui-page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.ui-page-header__text{min-width:0}.ui-page-header__title{margin:0}.ui-page-header__title-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-page-header__description{margin:var(--space-1) 0 0;color:var(--color-text-muted)}.ui-page-header__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ui-empty-state{align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center;background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);flex-direction:column;display:flex}.ui-empty-state__icon{color:var(--color-text-muted);display:inline-flex}.ui-empty-state__icon svg{width:2rem;height:2rem}.ui-empty-state__title{margin:0}.ui-empty-state__description{max-width:32rem;color:var(--color-text-muted);margin:0}.ui-empty-state__action{margin-top:var(--space-3)}.ui-stat-card{gap:var(--space-1);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.ui-stat-card p{margin:0}.ui-stat-card__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.ui-stat-card__value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.ui-stat-card__hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.ui-data-table{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.ui-data-table__table{border-collapse:collapse;width:100%}.ui-data-table__cell{padding:var(--space-3) var(--space-4);text-align:start;border-bottom:1px solid var(--color-border)}.ui-data-table__cell--end{text-align:end}.ui-data-table tbody tr:last-child .ui-data-table__cell{border-bottom:0}.ui-data-table__head{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;background:var(--color-surface-sunken)}.ui-data-table__sort{align-items:center;gap:var(--space-1);font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.ui-data-table__sort:hover{color:var(--color-accent-text)}.ui-data-table__sort-icon{font-size:var(--font-size-xs);color:var(--color-text-muted)}.ui-data-table__empty{padding:var(--space-4)}.ui-dialog__overlay{z-index:var(--z-overlay);background:var(--color-scrim);animation:ui-fade-in var(--duration-normal) var(--easing-standard);position:fixed;inset:0}.ui-dialog__content{z-index:var(--z-overlay);width:min(28rem, calc(100vw - 2 * var(--space-4)));max-height:calc(100dvh - 2 * var(--space-4));padding:var(--space-5) var(--space-6);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);animation:ui-dialog-in var(--duration-normal) var(--easing-standard);position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.ui-dialog__content--danger{border-color:var(--color-danger)}.ui-dialog__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.ui-dialog__title{margin:0 0 var(--space-2);font-size:var(--font-size-xl);line-height:var(--line-height-tight)}.ui-dialog__description{margin:0 0 var(--space-5);color:var(--color-text-muted)}.ui-dialog__body{margin-bottom:var(--space-5)}.ui-dialog__body:empty{display:none}.ui-dialog__actions{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.ui-menu,.ui-popover{z-index:var(--z-popover);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);animation:ui-fade-in var(--duration-fast) var(--easing-standard)}.ui-menu{min-width:12rem;padding:var(--space-1)}.ui-menu__item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;position:relative}.ui-menu__item--radio{padding-inline-start:var(--space-8)}.ui-menu__item[data-highlighted]{color:var(--color-accent-text);background:var(--color-accent-surface);outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:-2px}.ui-menu__item[data-disabled]{opacity:.55;cursor:not-allowed}.ui-menu__indicator{width:1rem;display:inline-flex;position:absolute;inset-inline-start:var(--space-3)}.ui-menu__indicator svg{width:1rem;height:1rem}.ui-menu__label{padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.ui-menu__separator{height:1px;margin:var(--space-1) 0;background:var(--color-border)}.ui-popover{width:min(20rem, calc(100vw - 2 * var(--space-4)));padding:var(--space-4)}.ui-tooltip{z-index:var(--z-tooltip);max-width:16rem;padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);line-height:var(--line-height-tight);color:var(--color-surface);background:var(--color-text);border-radius:var(--radius-sm);animation:ui-fade-in var(--duration-fast) var(--easing-standard)}.ui-toast__viewport{right:var(--space-4);bottom:var(--space-4);z-index:var(--z-toast);gap:var(--space-2);width:min(24rem, calc(100vw - 2 * var(--space-4)));flex-direction:column;margin:0;padding:0;list-style:none;display:flex;position:fixed}.ui-toast{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);animation:ui-toast-in var(--duration-normal) var(--easing-standard);display:flex}.ui-toast[data-swipe=move]{transform:translateX(var(--radix-toast-swipe-move-x))}.ui-toast--success{color:var(--color-success-text);background:var(--color-success-surface)}.ui-toast--danger{color:var(--color-danger-text);background:var(--color-danger-surface);border-color:var(--color-danger)}.ui-toast .ui-icon-button{color:inherit;flex:none}.ui-toast__text{min-width:0}.ui-toast__action{padding:var(--space-1) var(--space-3);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:inherit;border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid;flex:none;align-self:center}.ui-toast__action:hover{background:var(--color-surface-sunken)}.ui-toast__title{font-weight:var(--font-weight-semibold);margin:0}.ui-toast__description{margin:var(--space-1) 0 0;font-size:var(--font-size-sm)}.ui-toast--default .ui-toast__description{color:var(--color-text-muted)}@keyframes ui-fade-in{0%{opacity:0}}@keyframes ui-dialog-in{0%{opacity:0;transform:translate(-50%, calc(-50% + var(--space-2)))}}@keyframes ui-toast-in{0%{opacity:0;transform:translateX(var(--space-6))}}.ui-tabs{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.ui-tabs__list{gap:var(--space-1);border-bottom:1px solid var(--color-border);display:flex;overflow-x:auto}.ui-tabs__tab{padding:var(--space-2) var(--space-3);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;margin-bottom:-1px}.ui-tabs__tab:hover{color:var(--color-text);background:var(--color-surface-sunken)}.ui-tabs__tab[data-state=active]{color:var(--color-accent-text);border-bottom-color:var(--color-accent)}.ui-tabs__panel{min-width:0}
