@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-BmRLXWpJ.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-DCQwxkRk.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff")}:root{--body:"IBM Plex Sans","Segoe UI",sans-serif;--mono:"IBM Plex Mono",monospace;--bg:#191632;--panel:#1d1a3a;--card:#2c274d;--txt:#f1eefa;--txt-2:#c5bdd9;--txt-3:#b4a9cc;--line:#483d73;--line-soft:#382f5b;--line-strong:#8c7cb6;--gold:#b3a1ff;--hover:#342c58;--bad-txt:#ffb0ba}*{box-sizing:border-box}body{background:var(--bg);color:var(--txt);font:14px/1.5 var(--body);margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{min-height:36px;color:var(--txt);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:7px 12px;display:inline-flex}button:hover:not(:disabled){background:var(--hover)}button:disabled{opacity:.6;cursor:default}.primary{background:var(--txt);border-color:var(--txt);color:var(--bg);font-weight:600}.primary:hover:not(:disabled){background:var(--txt-2)}input,select{background:var(--panel);width:100%;min-height:40px;color:var(--txt);border:1px solid var(--line-strong);border-radius:6px;padding:8px 10px}input::placeholder{color:var(--txt-3)}a{color:inherit;text-decoration:none}h1{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:600;line-height:1.25}h2{margin:0;font-size:19px;font-weight:600}h3{margin:10px 0;font-size:15px;font-weight:600}p{margin:7px 0 16px}.muted,small{color:var(--txt-2)}small{font-size:12px;display:block}.mono{font-family:var(--mono);font-size:12px}.num{font-variant-numeric:tabular-nums;text-align:right}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line-soft);background:var(--bg);flex-direction:column;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.brand{letter-spacing:.02em;align-items:center;gap:11px;font-size:17px;font-weight:600;display:flex}.brand svg{color:var(--gold)}.brand small{letter-spacing:0;margin-top:3px;font-size:11px;font-weight:400}.workspace{color:var(--txt-2);overflow-wrap:anywhere;padding:26px 5px 16px;font-size:13px}.sidebar nav{gap:4px;display:grid}.sidebar nav a{min-height:38px;color:var(--txt-2);border-radius:6px;align-items:center;gap:10px;padding:8px;display:flex}.sidebar nav a.active{color:var(--txt);background:var(--panel);font-weight:600}.sidebar nav a:hover{background:var(--hover)}.sidebar-foot{gap:6px;margin-top:auto;padding:20px 8px 0;display:grid}.sidebar-foot button{justify-self:start;margin-top:10px}.workspace-main{min-width:0}.topbar{border-bottom:1px solid var(--line-soft);height:64px;color:var(--txt-2);justify-content:space-between;align-items:center;gap:16px;padding:0 28px;display:flex}.icon-button{border:0;padding:8px}.demo-notice{background:var(--panel);color:var(--txt-2);padding:10px 28px;font-size:12px}.canvas{max-width:1600px;padding:28px}.page-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.page-head p{margin-top:8px;margin-bottom:0}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar{gap:8px;margin:0 0 20px;display:flex}.search{width:min(400px,100%)}.table-wrap{background:var(--panel);border-radius:8px;max-width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--txt-2);white-space:nowrap;padding:12px 14px;font-size:12px;font-weight:400}td{border-top:1px solid var(--line-soft);vertical-align:middle;padding:14px}td strong{font-weight:600}td small{margin-top:3px}.row-actions{white-space:nowrap}.row-actions button{text-underline-offset:3px;border:0;min-height:30px;padding:4px 7px;font-size:12px;text-decoration:underline}.paging{color:var(--txt-2);justify-content:space-between;align-items:center;min-height:36px;margin-top:16px;font-size:12px;display:flex}.empty{background:var(--panel);color:var(--txt-2);border-radius:8px;padding:32px 20px}.notice{border:1px solid var(--line-strong);border-left:3px solid var(--bad-txt);color:var(--txt);border-radius:6px;margin-bottom:16px;padding:12px 14px}.status{white-space:nowrap;background:var(--card);border-radius:4px;padding:3px 7px;font-size:12px}.status.fulfilled{color:var(--ok-txt)}.status.cancelled{color:var(--txt-2)}.status.reserved{color:var(--warn-txt)}dialog{background:var(--panel);color:var(--txt);border:1px solid var(--line-strong);border-radius:10px;width:min(860px,100vw - 32px);max-height:calc(100dvh - 40px);padding:24px;overflow:auto;box-shadow:0 16px 64px #0006}dialog::backdrop{background:#0009}.dialog-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.form,fieldset{gap:16px;display:grid}.form fieldset{border:0;min-width:0;margin:0;padding:0}.form label,.order-line label{gap:7px;font-size:13px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.variant-form{border-top:1px solid var(--line-soft);gap:12px;padding:16px 0;display:grid}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.stock-strip{background:var(--card);border-radius:6px;gap:32px;padding:12px 16px;display:flex}.stock-strip strong{font-variant-numeric:tabular-nums;display:block}.detail-meta{color:var(--txt-2);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;display:flex}.detail-actions{margin-top:20px}.confirm-box{border-top:1px solid var(--line-strong);margin-top:20px;padding-top:16px}.order-total{font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:baseline;gap:32px;margin:20px 0;display:flex}.order-total strong{font-size:22px}.order-lines{gap:16px;display:grid}.order-line{grid-template-columns:minmax(0,1fr) 110px 36px;align-items:end;gap:12px;display:grid}.order-line button{height:40px;padding:8px}.boot{max-width:560px;margin:15vh auto;padding:24px}.auth{place-items:center;min-height:100vh;padding:20px;display:grid}.auth-card{background:var(--panel);border-radius:10px;width:min(440px,100%);padding:28px}.auth-card .brand{margin-bottom:32px}.auth-card h1{font-size:23px}.auth-card>.muted{margin:12px 0 24px}.nav-toggle,.nav-close{display:none}.back-demo{position:fixed;top:16px;left:16px}.category-list{color:var(--txt-2);padding-left:20px}@media (width>=1600px){.canvas{padding:32px 40px}.topbar,.demo-notice{padding-left:40px;padding-right:40px}}@media (width<=1100px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.sidebar.open{z-index:10;width:100%;height:100dvh;padding:24px;display:flex;position:fixed;inset:0}.nav-close{display:flex;position:absolute;top:20px;right:20px}.nav-toggle{border:0;padding:6px;display:flex}.topbar{height:56px;padding:0 20px}.topbar>span{flex:1}.canvas{padding:24px 20px}.demo-notice{padding:10px 20px}}@media (width<=640px){button{min-height:44px}.canvas{padding:20px 16px}.page-head{flex-wrap:wrap;gap:14px;margin-bottom:16px}.page-head h1{font-size:22px}.page-head>.actions{justify-content:flex-end;width:100%}.page-head>.actions .primary{margin-left:auto}.toolbar{margin-bottom:16px}.toolbar .search{flex:1}.form-grid,.form-grid.three{grid-template-columns:1fr}.table-wrap table,.table-wrap tbody{display:block}.table-wrap thead{display:none}.table-wrap tr{border-top:1px solid var(--line-soft);grid-template-columns:1fr 1fr;gap:8px 12px;padding:14px;display:grid}.table-wrap tr:first-child{border-top:0}.table-wrap td{overflow-wrap:anywhere;text-align:left;white-space:normal;border:0;padding:0;display:block}.table-wrap td:first-child{grid-column:1/-1;margin-bottom:4px}.table-wrap td[data-label]:before{content:attr(data-label);color:var(--txt-2);margin-bottom:2px;font-size:11px;display:block}.table-wrap td.row-actions{grid-column:1/-1;gap:12px;margin-top:4px;display:flex}.row-actions button{min-height:44px;padding:4px 0;font-size:13px}.order-line{grid-template-columns:minmax(0,1fr) 36px}.order-line>label:first-child{grid-column:1/-1}.order-line>label:nth-child(2){grid-column:1}.form-actions{justify-content:stretch}.form-actions button{flex:1}dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:18px}.demo-notice{padding:10px 16px;font-size:12px}.stock-strip{gap:16px}.order-total{gap:20px}.auth-card{padding:24px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}:root,:root[data-theme=dark]{--academic-accent:#765fe5;--academic-dark:#1d1a3a;--academic-light:#f0ebff;--bg:#191632;--panel:#1d1a3a;--card:#2c274d;--card-2:#342e59;--line:#483d73;--line-soft:#382f5b;--line-strong:#8c7cb6;--txt:#f1eefa;--txt-strong:#fff;--txt-2:#c5bdd9;--txt-3:#b4a9cc;--brand:#b3a1ff;--gold:#b3a1ff;--blue:#765fe5;--violet:#765fe5;--brand-primary:#765fe5;--brand-primary-hover:#6750d5;--brand-on-primary:#fff;--brand-accent:#765fe5;--brand-accent-ink:#c6b8ff;--hover:#342c58;--nav-active:#3b306a;--info-txt:#c6b8ff;--cyan-txt:#c6b8ff;--ok-txt:#8ae2ad;--bad-txt:#ffb0ba;--warn-txt:#f1d08a;--topbar:#1d1a3a;--family-ground:#191632;--avatar-one:#493c80;--avatar-two:#3c315f;--avatar-three:#514568;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f0ebff;--panel:#fff;--card:#fff;--card-2:#f6f3ff;--line:#d8cff1;--line-soft:#e9e2fa;--line-strong:#9d8dbf;--txt:#211c33;--txt-strong:#211c33;--txt-2:#5f5875;--txt-3:#706783;--brand:#5948b3;--gold:#5948b3;--blue:#765fe5;--violet:#765fe5;--brand-primary:#765fe5;--brand-primary-hover:#6750d5;--brand-on-primary:#fff;--brand-accent:#765fe5;--brand-accent-ink:#5948b3;--hover:#f6f3ff;--nav-active:#e3dcf9;--info-txt:#5948b3;--cyan-txt:#5948b3;--ok-txt:#166534;--bad-txt:#b42342;--warn-txt:#8d570d;--topbar:#fff;--family-ground:#f0ebff;--avatar-one:#ddd3fa;--avatar-two:#e9e2fa;--avatar-three:#e6def2;--shadow:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.btn-p,.btn-gold,.btn-g{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--brand-on-primary)}.btn-p:hover,.btn-gold:hover,.btn-g:hover{background:var(--brand-primary-hover);border-color:var(--brand-primary-hover);color:var(--brand-on-primary)}.seg button.on,.role-switch button.on{background:var(--nav-active);border-color:var(--line-strong);color:var(--brand);font-weight:600}.nav-item.active,.family-desktop-nav>button.on,.family-mobile-nav>button.on{background:var(--nav-active);color:var(--txt-strong)}.nav-item.active:before{background:var(--academic-accent)}.brand-mark{background:var(--brand-primary);color:#fff}.sidebar,.family-sidebar{background:var(--panel)}.topbar,.family-header{background:var(--topbar)}.card{box-shadow:none}.b-blue,.b-violet,.b-cyan{background:color-mix(in srgb,var(--academic-accent) 15%,transparent);color:var(--info-txt)}.demo-badge{background:color-mix(in srgb,var(--academic-accent) 15%,transparent);color:var(--brand)}.slot.busy,.st-confirmed,.chat-item.on,.msg.mine,.pt-msg.mine{background:color-mix(in srgb,var(--academic-accent) 14%,transparent);border-color:var(--line-strong);color:var(--txt)}.family-child{background:var(--panel)}.family-child.selected{background:var(--card);border-color:var(--academic-accent)}.family-auth-story{background:var(--card-2)}.family-auth-features svg,.family-selected-mark{color:var(--brand)}.family-nav-dot{background:var(--academic-accent)}.family-grade-value,.family-agenda-row.next .family-agenda-time b{color:var(--brand)}.overlay{background:#120e258c}
