.auth-screen{place-items:center;min-height:100vh;padding:28px;display:grid}.auth-screen__card{border:1px solid var(--border-strong);width:min(920px,100%);box-shadow:var(--shadow-medium);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#fffffffa,#f8fafcf2),radial-gradient(circle at 0 0,#dbeafe3d,#0000 36%);border-radius:32px;grid-template-columns:minmax(280px,1.1fr) minmax(280px,.9fr);gap:24px;padding:32px;display:grid}.auth-screen__card--compact{grid-template-columns:1fr;width:min(560px,100%)}.auth-screen__intro{align-content:start;gap:8px;display:grid}.auth-screen__intro h1{letter-spacing:-.04em;margin:0;font-size:2.75rem;line-height:.98}.auth-screen__intro p:last-child{margin:0}.auth-screen__identity{flex-direction:column;gap:6px;margin-top:20px;display:inline-flex}.auth-screen__identity-name,.auth-screen__identity-role{margin:0}.auth-screen__identity-name{color:#0f172ab3;margin-top:6px;font-size:1.15rem;font-weight:700;line-height:1.1}.auth-screen__identity-role{color:#64748b;max-width:32ch;font-size:.98rem;font-weight:500;line-height:1.5}.auth-screen__identity-role--wide{max-width:46ch}.auth-screen__form{align-content:center;gap:16px;display:grid}.password-field{position:relative}.password-field input{padding-right:56px}.password-field__toggle{color:#64748beb;width:28px;height:28px;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:color .14s,opacity .14s,transform .14s;display:inline-flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.password-field__toggle:hover{color:#475569}.password-field__toggle:focus{outline:none}.password-field__toggle:focus-visible{color:#2563eb;outline:none}.password-field__toggle svg{stroke-width:1.7px;width:18px;height:18px}@media (width<=720px){.auth-screen{padding:18px}.auth-screen__card{border-radius:26px;grid-template-columns:1fr;padding:22px}.auth-screen__intro h1{font-size:2.3rem}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1f2937;--panel-bg:#ffffffeb;--panel-border:#94a3b838;--panel-shadow:0 18px 48px #0f172a14;--panel-highlight:inset 0 1px 0 #ffffffc7;--surface-elevated:linear-gradient(180deg, #fffffffa, #f8fafcf2);--surface-muted:#f8fafceb;--surface-glass:#fffffff5;--surface-rail:#e2e8f0ad;--border-soft:#e2e8f0e6;--border-strong:#cbd5e1f2;--ring-blue:#2563eb38;--shadow-soft:0 12px 28px #0f172a14;--shadow-medium:0 18px 40px #0f172a1f;--shadow-control:0 1px 0 #ffffffb3 inset, 0 8px 18px #0f172a0f;--text-soft:#64748b;--text-strong:#0f172a;--blue:#3b82f6;--blue-soft:#dbeafe;--green:#16a34a;--green-soft:#dcfce7;--amber:#d97706;--amber-soft:#fef3c7;--red:#dc2626;--red-soft:#fee2e2;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--radius-card:20px;--radius-control:12px;--radius-button:14px;--control-height:46px;--control-padding-x:14px;--transition-ui:transform .14s ease, background .14s ease, box-shadow .14s ease, border-color .14s ease;background:radial-gradient(circle at 0 0,#d6e4ffe6,#0000 26%),radial-gradient(circle at 100% 100%,#dcfce7cc,#0000 20%),linear-gradient(#f7f9fc 0%,#edf2fb 100%);font-family:Aptos,Segoe UI Variable Text,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--text-strong);background:radial-gradient(circle at 0 0,#d6e4ffe6,#0000 26%),radial-gradient(circle at 100% 100%,#dcfce7cc,#0000 20%),linear-gradient(#f7f9fc 0%,#edf2fb 100%);margin:0;line-height:1.45;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}#root{min-height:100vh}.mono{font-family:Consolas,SFMono-Regular,monospace}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--text-soft);margin:0 0 6px;font-size:.72rem;font-weight:700}.muted-text{color:var(--text-soft)}.full-width{width:100%}.dashboard-layout{grid-template-columns:320px minmax(0,1fr);height:100vh;min-height:100vh;display:grid;overflow:hidden}.dashboard-sidebar{border-right:1px solid var(--panel-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#ffffffa8,#f8fafc85),radial-gradient(circle at 0 0,#dbeafe57,#0000 38%);flex-direction:column;gap:18px;padding:22px 18px;display:flex;overflow:auto}.dashboard-sidebar__brand{text-align:center;align-content:end;justify-items:center;gap:8px;min-height:86px;padding:8px 4px 12px;display:grid}.dashboard-sidebar__title{letter-spacing:-.03em;color:#0f172a;margin:0;font-size:1.82rem;font-weight:800;line-height:1.02}.dashboard-sidebar__nav{width:100%;margin-top:8px}.dashboard-sidebar__nav .ui-segmented-control__rail{background:linear-gradient(#e2e8f0c7,#e2e8f08f);border:1px solid #cbd5e1d1;border-radius:32px;gap:8px;width:100%;max-width:288px;margin-inline:auto;padding:8px;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffff9e}.dashboard-sidebar__nav .ui-segmented-control__button{min-height:48px;color:var(--text-soft);box-shadow:none;transition:var(--transition-ui);background:0 0;border:0;border-radius:20px;padding:10px 16px;font-weight:700;line-height:1.15}.dashboard-sidebar__nav .ui-segmented-control__button:hover{color:#0f172a;box-shadow:none;transform:translateY(-1px)}.dashboard-sidebar__nav .ui-segmented-control__button--active,.dashboard-sidebar__nav .ui-segmented-control__button[aria-current=page]{color:#0f172a;background:#fffffffa;box-shadow:inset 0 0 0 1px #ffffffb8,0 10px 22px #0f172a14}.dashboard-toolbar h2,.panel-card h2{margin:0}.panel-card,.mini-month-card,.flash{border:1px solid var(--panel-border);border-radius:var(--radius-card);box-shadow:var(--panel-highlight), var(--panel-shadow);background:linear-gradient(#fffffffa,#f8fafcf0);padding:20px}.panel-card__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ui-button{white-space:nowrap;letter-spacing:-.01em;text-decoration:none}.ui-button--sm{border-radius:12px;min-height:38px;padding:10px 14px;font-size:.92rem}.ui-button--icon-only{width:40px;min-width:40px;padding-inline:0}.ui-segmented-control{width:100%;min-width:0}.ui-segmented-control__rail{width:100%;min-width:0;display:inline-grid}.ui-segmented-control--vertical .ui-segmented-control__rail{grid-auto-flow:row}.ui-segmented-control--horizontal .ui-segmented-control__rail{grid-auto-flow:column}.ui-segmented-control__button{min-width:0;font:inherit}.primary-button,.secondary-button,.danger-button,.action-button,.view-toggle-button,.icon-button,.mini-month-card__day{transition:var(--transition-ui)}.primary-button:hover,.secondary-button:hover,.danger-button:hover,.action-button:hover,.view-toggle-button:hover,.icon-button:hover,.mini-month-card__day:hover{transform:translateY(-1px)}.primary-button,.secondary-button,.danger-button,.action-button{min-height:var(--control-height);border-radius:var(--radius-button);box-shadow:var(--shadow-control);border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:12px 16px;font-weight:700;line-height:1.1;display:inline-flex}.secondary-button,.action-button,.icon-button,.view-toggle-button{border-color:var(--border-soft);color:var(--text-strong);background:linear-gradient(#fffffffa,#f8fafcf0)}.primary-button{color:#fff;background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 14px 28px #2563eb38}.danger-button{color:#fff;background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 14px 28px #dc262633}.action-button--active{background:var(--blue-soft);color:#1d4ed8;border-color:#2563eb38}.icon-button{border-radius:var(--radius-control);width:40px;height:40px;min-height:40px;box-shadow:var(--shadow-control);border-style:solid;border-width:1px}.view-toggle-button{width:100%;box-shadow:var(--panel-shadow);border-style:solid;border-width:1px;border-radius:18px;padding:14px 16px;font-weight:700}.view-toggle-button--rail{min-height:46px;color:var(--text-soft);box-shadow:none;background:0 0;border-color:#0000;padding:9px 16px;font-size:.92rem;line-height:1.15}.view-toggle-button--rail:hover{color:#0f172a;box-shadow:none}.view-toggle-button--active{color:#0f172a;background:#fffffffa;border-color:#0000;box-shadow:inset 0 0 0 1px #ffffffb3}.ui-segmented-control__button--active{color:#0f172a;box-shadow:inset 0 0 0 1px #ffffffb3, var(--shadow-soft);background:#fffffffa}.primary-button:focus-visible,.secondary-button:focus-visible,.danger-button:focus-visible,.action-button:focus-visible,.icon-button:focus-visible,.view-toggle-button:focus-visible,.mini-month-card__day:focus-visible,.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--ring-blue);outline-offset:3px}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled,.action-button:disabled,.icon-button:disabled,.view-toggle-button:disabled{opacity:.56;cursor:not-allowed;box-shadow:none;transform:none}.button-with-indicator{justify-content:center;align-items:center;gap:10px;display:inline-flex}.warning-diamond{color:#78350f;background:linear-gradient(#fdba74,#f59e0b);border-radius:4px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex;transform:rotate(45deg);box-shadow:0 8px 18px #d9770638}.warning-diamond__content{font-size:.9rem;font-weight:800;line-height:1;transform:rotate(-45deg)}.warning-diamond--small{width:16px;height:16px}.warning-diamond--small .warning-diamond__content{font-size:.7rem}.field{gap:var(--space-2);display:grid}.field--full{grid-column:1/-1}.field span{color:var(--text-soft);font-size:.88rem;font-weight:600}.ui-form-field__hint{margin:0;font-size:.82rem;line-height:1.45}.field input,.field select,.field textarea{width:100%;min-height:var(--control-height);padding:12px var(--control-padding-x);border:1px solid var(--border-soft);box-shadow:var(--shadow-control);transition:var(--transition-ui);background:linear-gradient(#fffffffa,#f8fafcf0);border-radius:14px}.field textarea{resize:vertical;min-height:104px}.field input::placeholder,.field textarea::placeholder{color:#64748bcc}.field input:hover,.field select:hover,.field textarea:hover{border-color:#94a3b86b}.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 4px #3b82f61f, var(--shadow-control);border-color:#3b82f66b}.field select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,#0000 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:42px}.ui-input,.ui-select,.ui-textarea{width:100%}.ui-checkbox-field{color:var(--text-strong);grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.ui-checkbox-field input{width:16px;height:16px;margin:0}.ui-filter-bar{gap:var(--space-4)}.ui-empty-state{border-radius:var(--radius-card)}.flash--danger{color:#991b1b;background:#fef2f2f5;border-color:#dc262624}.flash--success{color:#166534;background:#f0fdf4f5;border-color:#22c55e24}.flash--timed{transform-origin:top;animation:4.2s forwards flash-timed-fade}@keyframes flash-timed-fade{0%{opacity:0;transform:translateY(-6px)}8%,72%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.dashboard-workspace{flex-direction:column;gap:20px;min-height:0;padding:20px;display:flex;overflow:hidden}.dashboard-toolbar{border:1px solid var(--panel-border);box-shadow:var(--panel-highlight), var(--panel-shadow);background:linear-gradient(#fffffffa,#f8fafcf2);border-radius:22px;justify-content:space-between;align-items:center;gap:18px;padding:14px 20px;display:flex}.dashboard-toolbar__left{align-items:center;gap:12px;min-width:0;display:flex}.dashboard-toolbar__summary{gap:0;min-width:0;display:grid}.dashboard-toolbar__summary-row{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.dashboard-toolbar__summary h2{margin:0;line-height:1.1}.dashboard-toolbar__right{align-items:flex-start;gap:12px;margin-left:auto;display:flex}.dashboard-stack{flex:1;gap:20px;height:100%;min-height:0;display:grid;overflow:hidden}.status-pill{border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:6px 12px;font-size:.8rem;font-weight:700;display:inline-flex}.status-pill--neutral{color:#334155;background:#e2e8f0e6}.status-pill--success{background:var(--green-soft);color:#166534}.status-pill--warning{background:var(--amber-soft);color:#9a3412}.status-pill--dark{color:#f8fafc;background:#1f2937}.status-pill--danger{background:var(--red-soft);color:#991b1b}.mini-month-card__header h2{letter-spacing:-.02em;margin:0 0 10px;font-size:1.02rem}.mini-month-card__weekdays,.mini-month-card__grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.mini-month-card__weekdays{text-align:center;color:var(--text-soft);margin-bottom:8px;font-size:.76rem}.mini-month-card__day{background:0 0;border-width:0;border-radius:10px;min-height:34px}.mini-month-card__day--outside{color:#b5c0cf}.mini-month-card__day--today{outline:1px solid #2563eb59}.mini-month-card__day--selected{background:var(--blue);color:#fff}.modal-backdrop{z-index:25;background:#0f172a5c;place-items:center;display:grid;position:fixed;inset:0}.ui-dialog-backdrop{z-index:25;place-items:center;display:grid;position:fixed;inset:0}.ui-dialog-surface,.ui-floating-panel{border:1px solid var(--border-strong);box-shadow:var(--shadow-medium);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;gap:16px;display:grid}.ui-dialog-surface{border-radius:24px;padding:24px}.ui-floating-panel{z-index:22;border-radius:22px;width:min(560px,100vw - 24px);padding:20px;position:fixed;overflow:auto}.scope-modal{color:#f8fafc;background:#1f2937;border-radius:24px;width:min(520px,100vw - 24px);padding:24px;box-shadow:0 24px 60px #0f172a59}.scope-modal h2{margin:0 0 18px}.scope-modal--editor{width:min(700px,100vw - 24px)}.scope-modal__actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.scope-modal__actions--split{justify-content:space-between;align-items:center}.scope-modal__actions-group{gap:12px;display:flex}.confirm-dialog{width:min(520px,100vw - 24px)}.confirm-dialog__header{gap:6px;display:grid}.confirm-dialog__header h2,.confirm-dialog__message{margin:0}.confirm-dialog__message{white-space:pre-wrap;word-break:break-word}.scope-modal .secondary-button{color:#cbd5e1;background:#ffffff14;border-color:#ffffff1f}.image-preview-backdrop{z-index:60;background:#0f172ab8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.image-preview-modal{background:#0f172af5;border:1px solid #ffffff24;border-radius:24px;gap:12px;width:min(1000px,100vw - 32px);max-height:calc(100vh - 32px);padding:16px;display:grid;box-shadow:0 24px 60px #0f172a73}.image-preview-modal__header{color:#f8fafc;justify-content:space-between;align-items:center;gap:12px;display:flex}.image-preview-modal__header p{margin:0}.image-preview-modal__media{place-items:center;display:grid}.image-preview-modal__media img{object-fit:contain;border-radius:18px;max-width:100%;max-height:calc(100vh - 140px);display:block}.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.editor-repeat{align-items:center;gap:10px;margin-top:18px;display:flex}@media (width<=1080px){.dashboard-layout{grid-template-columns:1fr}.dashboard-sidebar{border-right:0;border-bottom:1px solid var(--panel-border)}.dashboard-toolbar{flex-direction:column;align-items:stretch}.dashboard-toolbar__right{justify-content:flex-end;margin-left:0}}@media (width<=720px){body{overflow:auto}#root,.dashboard-layout{min-height:auto}.dashboard-workspace{padding:12px}.dashboard-sidebar{padding:14px 12px}.dashboard-toolbar__left,.dashboard-toolbar__summary-row{flex-wrap:wrap;align-items:stretch}.dashboard-toolbar__right .secondary-button{width:100%}.editor-grid{grid-template-columns:1fr}.scope-modal__actions--split,.scope-modal__actions-group{flex-direction:column;align-items:stretch}}.communication-thread{gap:16px;display:grid}.communication-thread__header{align-items:flex-start}.communication-thread__meta{color:#1d4ed8;background:#dbeafeeb;border-radius:999px;align-items:center;padding:8px 12px;font-weight:700;display:inline-flex}.communication-thread__body,.communication-thread__messages,.communication-inbox__list{gap:12px;display:grid}.communication-thread__message,.communication-inbox__item{border:1px solid var(--border-soft);background:var(--surface-muted);box-shadow:var(--shadow-control);border-radius:18px;gap:8px;padding:16px 18px;display:grid}.communication-thread__message--own{background:#dbeafeeb;border-color:#60a5fa8c}.communication-thread__message-header,.communication-inbox__item-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.communication-thread__message p,.communication-inbox__item p{white-space:pre-wrap;word-break:break-word;margin:0}.communication-thread__composer{gap:12px;display:grid}.communication-thread__composer-actions{justify-content:flex-end;display:flex}.communication-teacher-panel{grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:20px;display:grid}.communication-inbox__item{text-align:left;width:100%;transition:var(--transition-ui)}.communication-inbox__item:hover,.communication-inbox__item--active{background:#eff6fff0;border-color:#60a5fa99}.communication-badge{color:#1d4ed8;background:#2563eb1f;border-radius:999px;justify-content:center;align-items:center;min-width:28px;min-height:28px;padding:0 8px;font-weight:700;display:inline-flex}.chat-widget__panel{z-index:40;background:linear-gradient(#fffffffa,#f8fafcf5),radial-gradient(circle at 100% 0,#bfdbfe38,#0000 48%);border-radius:24px;width:min(440px,100vw - 24px);height:min(76vh,680px);padding:0;bottom:96px;right:24px;overflow:hidden}.chat-widget__panel--list{height:auto;max-height:min(76vh,680px)}.chat-widget__surface{grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px;height:100%;padding:18px;display:grid}.chat-widget__surface--list{grid-template-rows:auto auto auto auto;align-content:start;height:auto}.chat-widget__surface--dialog{grid-template-rows:auto minmax(0,1fr) auto;height:100%;position:relative;overflow:hidden}.chat-widget__header,.chat-widget__message-meta,.chat-widget__composer-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.chat-widget__header-main{align-items:center;gap:10px;min-width:0;display:flex}.chat-widget__header h2,.chat-widget__header p,.chat-widget__list-copy p,.chat-widget__message p{margin:0}.chat-widget__header-copy{flex:1;gap:4px;min-width:0;display:grid}.chat-widget__header-title{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.18rem,3vw,1.72rem);line-height:1.15;overflow:hidden}.chat-widget__context-note{color:#64748b;font-size:.9rem;line-height:1.35}.chat-widget__header-link{width:100%;min-width:0;max-width:100%;color:var(--text-strong);font:inherit;letter-spacing:-.02em;text-align:left;cursor:pointer;transition:var(--transition-ui);background:#eff6ffb8;border:1px solid #bfdbfef2;border-radius:16px;align-items:center;gap:8px;padding:10px 12px;font-size:clamp(1.08rem,2.8vw,1.52rem);font-weight:800;line-height:1.15;display:inline-flex;box-shadow:0 10px 24px #94a3b81f}.chat-widget__header-link:hover{color:#1d4ed8;background:#dbeafed1;border-color:#60a5fab8;transform:translateY(-1px)}.chat-widget__header-link:focus-visible{outline-offset:3px;outline:2px solid #2563eb47}.chat-widget__header-link-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chat-widget__conference-button{border-radius:999px;flex:none;width:44px;min-width:44px;min-height:44px;padding:0}.chat-widget__conference-button svg{width:18px;height:18px}.chat-widget__icon-button{border:1px solid var(--border-soft);width:36px;height:36px;color:var(--text-strong);font:inherit;cursor:pointer;transition:var(--transition-ui);background:#fffffff0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.chat-widget__icon-button:hover{box-shadow:var(--shadow-control);transform:translateY(-1px)}.chat-widget__profile-backdrop{z-index:3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a24;place-items:start center;padding:76px 16px 16px;display:grid;position:absolute;inset:0}.chat-widget__profile-card{background:linear-gradient(#fffffffa,#f8fafcfa),radial-gradient(circle at 100% 0,#bfdbfe3d,#0000 48%);border:1px solid #bfdbfef2;border-radius:22px;gap:16px;width:min(100%,300px);padding:16px;display:grid;box-shadow:0 24px 60px #0f172a2e}.chat-widget__profile-header,.chat-widget__profile-body,.chat-widget__profile-details>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.chat-widget__profile-header h3,.chat-widget__profile-header p,.chat-widget__profile-details,.chat-widget__profile-details dd{margin:0}.chat-widget__profile-body{justify-content:flex-start}.chat-widget__profile-avatar{color:#1d4ed8;letter-spacing:-.04em;background:#dbeafef5;border-radius:18px;justify-content:center;align-items:center;width:52px;height:52px;font-weight:900;display:inline-flex}.chat-widget__profile-main{gap:3px;min-width:0;display:grid}.chat-widget__profile-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-widget__profile-details{background:#eff6ffad;border-radius:16px;gap:10px;padding:12px;display:grid}.chat-widget__profile-details dt{color:var(--text-muted);font-size:.82rem;font-weight:700}.chat-widget__profile-details dd{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-strong);font-weight:800;overflow:hidden}.chat-widget__search{display:grid}.chat-widget__list,.chat-widget__messages{gap:10px;min-height:0;padding-right:4px;display:grid;overflow:auto}.chat-widget__messages{overscroll-behavior:contain;align-content:start}.chat-widget__list--autosize{max-height:calc((var(--chat-widget-list-rows,1) * 78px) + ((var(--chat-widget-list-rows,1) - 1) * 10px));align-content:start}.chat-widget__list-item{text-align:left;width:100%;min-height:78px;transition:var(--transition-ui);background:#ffffffdb;border:1px solid #bfdbfee6;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.chat-widget__list-item:hover{background:#eff6ffeb;border-color:#60a5fa8c}.chat-widget__avatar{color:#1d4ed8;background:#dbeafef5;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;font-weight:800;display:inline-flex}.chat-widget__avatar--parent{color:#047857;background:#dcfce7f5}.chat-widget__list-copy{gap:5px;min-width:0;display:grid}.chat-widget__list-title-row{align-items:center;gap:8px;min-width:0;display:flex}.chat-widget__list-name{min-width:0;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;display:inline-block;overflow:hidden}.chat-widget__thread-kind{color:var(--text-muted);background:#e2e8f0db;border-radius:6px;flex:none;padding:2px 6px;font-size:.72rem;font-weight:800}.chat-widget__list-preview{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;line-height:1.3;display:block;overflow:hidden}.chat-widget__list-meta{justify-items:end;gap:7px;min-width:48px;display:grid}.chat-widget__list-time{color:var(--text-muted);white-space:nowrap;font-size:.78rem;font-weight:800}.chat-widget__message{justify-items:start;gap:6px;min-width:0;display:grid}.chat-widget__message--own{justify-items:end}.chat-widget__message--system{justify-items:center}.chat-widget__bubble{border:1px solid var(--border-soft);min-width:0;max-width:88%;box-shadow:var(--shadow-control);overflow-wrap:anywhere;background:#f1f5f9f2;border-radius:18px;gap:6px;padding:12px 14px 8px;display:grid}.chat-widget__message--own .chat-widget__bubble{background:#dbeafef2;border-color:#60a5fa80}.chat-widget__message--system .chat-widget__bubble{background:#fff7ede6;border-color:#fbbf2459}.chat-widget__message p{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.chat-widget__bubble-meta{color:var(--text-muted);justify-content:flex-end;align-items:center;gap:6px;font-size:.78rem;line-height:1;display:flex}.chat-widget__delivery{letter-spacing:-.18em;color:#94a3b8;font-size:.82rem;font-weight:800}.chat-widget__delivery--read{color:#2563eb}.chat-widget__composer{border-top:1px solid #e2e8f0e0;align-self:end;padding-top:10px}.chat-widget__composer-shell{box-shadow:var(--shadow-control);background:#fffffff5;border:1px solid #bfdbfedb;border-radius:20px;align-items:flex-end;gap:10px;padding:8px;display:flex}.chat-widget__composer-input{min-height:24px;max-height:128px;box-shadow:none;resize:none;background:0 0;border:0;border-radius:0;padding:7px 4px;line-height:1.35;overflow:auto}.chat-widget__composer-input:focus{box-shadow:none;outline:none}.chat-widget__send-button{color:#fff;cursor:pointer;width:38px;height:38px;transition:var(--transition-ui);background:linear-gradient(#2563eb,#1d4ed8);border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:1rem;font-weight:800;display:inline-flex;box-shadow:0 12px 24px #2563eb3d}.chat-widget__send-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 28px #2563eb4d}.chat-widget__send-button:disabled{cursor:not-allowed;opacity:.48}.chat-widget__fab{z-index:41;color:#fff;cursor:pointer;background:linear-gradient(#2563eb,#1e40af);border:1px solid #2563eb2e;border-radius:999px;justify-content:center;align-items:center;min-width:64px;height:64px;padding:0 18px;font-weight:800;transition:transform .14s,box-shadow .14s,filter .14s;display:inline-flex;position:fixed;bottom:24px;right:24px;box-shadow:0 22px 44px #2563eb47}.chat-widget__fab:hover{filter:saturate(1.04);transform:translateY(-1px);box-shadow:0 26px 50px #2563eb52}.chat-widget__fab-icon{font-size:.98rem}.chat-widget__fab-indicator{background:#f59e0b;border:2px solid #fffffff2;border-radius:999px;width:12px;height:12px;position:absolute;top:4px;right:4px;box-shadow:0 6px 14px #f59e0b52}.chat-widget__empty,.chat-widget__loader{align-self:start}@media (width<=920px){.communication-teacher-panel{grid-template-columns:1fr}.chat-widget__panel{width:calc(100vw - 24px);bottom:84px;right:12px}.chat-widget__fab{bottom:12px;right:12px}}
