html[data-website] #root{height:auto;overflow:visible}html[data-website]{scroll-behavior:smooth;scroll-padding-top:32px}.bb-website{font-family:var(--bb-font);color:var(--bb-ink);background:var(--bb-bg);min-height:100vh}.bb-website a{color:inherit}.bb-website a:hover{text-decoration:none}.website-nav,.website-hero,.website-section,.website-footer{width:min(1160px,calc(100% - 80px));margin-inline:auto}.website-nav{display:flex;align-items:center;justify-content:space-between;padding-block:24px}.website-brand{display:inline-flex;align-items:center;gap:12px;font-size:22px}.website-brand img,.website-board-top img{border-radius:10px}.website-nav nav{display:flex;align-items:center;gap:32px}.website-nav nav>a{font-weight:500}.website-login{display:inline-flex;gap:24px;align-items:center;background:#fff;border:1px solid var(--bb-border);border-radius:var(--bb-radius-pill);padding:11px 22px}.website-hero{display:grid;grid-template-columns:1.18fr 1fr;align-items:center;gap:72px;padding-block:82px 100px}.website-eyebrow{display:inline-block;font-size:14px;font-weight:600;color:var(--bb-muted);margin-bottom:22px}.website-hero h1{font-size:clamp(32px,4.2vw,54px);line-height:1.35;letter-spacing:-1.5px;font-weight:750}.website-hero h1 span{background:linear-gradient(transparent 65%,var(--bb-primary) 65%);padding-bottom:3px}.website-hero-copy>p{font-size:16px;line-height:1.95;margin-top:24px}.website-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;background:var(--bb-primary);border-radius:var(--bb-radius-pill);padding:15px 28px;font-size:16px;font-weight:600;margin-top:32px;transition:background var(--bb-fast)}.website-cta:hover{background:var(--bb-primary-hover)}.website-hero-copy>small{display:block;color:var(--bb-muted);margin-top:16px}.website-board{background:var(--bb-surface);border:1px solid var(--bb-border);border-radius:var(--bb-radius-lg);padding:28px;box-shadow:var(--bb-shadow-sm);transform:rotate(2deg)}.website-board-top{display:flex;align-items:center;gap:10px;padding-bottom:24px;border-bottom:1px solid var(--bb-border)}.website-board-top>span{margin-left:auto;color:var(--bb-muted);font-size:11px}.website-board>h2{font-size:23px;line-height:1.5;margin-top:24px}.website-checklist{display:grid;gap:12px;margin-block:22px}.website-checklist p{display:flex;align-items:center;gap:14px;padding:14px;background:var(--bb-input);border-radius:var(--bb-radius-sm);color:var(--bb-ink);font-weight:500}.website-checklist i{display:grid;place-items:center;border-radius:50%;width:26px;height:26px;background:var(--bb-primary);font-style:normal}.website-checklist small{display:block;color:var(--bb-muted);font-weight:400;margin-top:4px}.website-board-note{border-top:1px dashed var(--bb-border);padding-top:20px;line-height:1.8;color:var(--bb-muted);font-size:13px}.website-board-note strong{color:var(--bb-ink);font-size:15px}.website-section{padding-block:64px}.website-section-heading h2{font-size:32px;line-height:1.4}.website-section-heading>p{margin-top:14px;font-size:15px}.website-section-heading .website-eyebrow{margin-bottom:12px}.website-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}.website-feature{padding:28px;background:var(--bb-surface);border:1px solid transparent;border-radius:var(--bb-radius-md);transition:border-color var(--bb-normal),background var(--bb-normal)}.website-feature:hover{border-color:var(--bb-blue);background:#f7fbff}.website-feature-label{display:inline-block;font-size:12px;background:var(--bb-input);border-radius:var(--bb-radius-pill);padding:6px 12px;margin-bottom:24px;color:var(--bb-muted)}.website-feature h3{font-size:18px;line-height:1.6;margin-bottom:12px}.website-feature p{line-height:1.85;font-size:14px}.website-faq{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;padding-bottom:100px}.website-questions details{border-bottom:1px solid var(--bb-border)}.website-questions summary{cursor:pointer;list-style:none;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:16px;font-weight:500}.website-questions summary::-webkit-details-marker{display:none}.website-questions summary>span{color:var(--bb-muted);font-size:22px}.website-questions details[open] summary>span{transform:rotate(45deg)}.website-questions details p{padding:0 28px 22px 0;line-height:1.9}.website-footer{display:flex;align-items:center;gap:24px;border-top:1px solid var(--bb-border);padding-block:28px;color:var(--bb-muted)}.website-footer .website-brand{font-size:18px;color:var(--bb-ink)}.website-footer>a:last-child{margin-left:auto;color:var(--bb-ink)}@media(max-width:900px){.website-hero{gap:32px;padding-block:50px 60px}.website-board{padding:20px;transform:none}.website-features{grid-template-columns:repeat(2,minmax(0,1fr))}.website-faq{gap:32px}.website-section-heading h2{font-size:28px}}@media(max-width:640px){.website-nav,.website-hero,.website-section,.website-footer{width:calc(100% - 40px)}.website-nav{padding-block:18px}.website-brand{font-size:19px;gap:8px}.website-brand img{width:36px;height:36px}.website-nav nav{gap:16px;font-size:12px}.website-nav .website-login{display:none}.website-hero{grid-template-columns:1fr;padding-block:32px 24px;gap:40px}.website-hero h1{font-size:36px}.website-hero-copy>p{font-size:14px}.website-desktop-break{display:none}.website-section{padding-block:40px}.website-features{grid-template-columns:1fr;gap:12px;margin-top:24px}.website-feature{padding:24px}.website-feature-label{margin-bottom:16px}.website-faq{grid-template-columns:1fr;gap:16px;padding-bottom:48px}.website-faq h2 br{display:none}.website-footer{gap:12px;flex-wrap:wrap;font-size:12px}.website-footer>span{display:none}}@media(prefers-reduced-motion:reduce){html[data-website]{scroll-behavior:auto}}html[data-website],html[data-website] body{height:auto;overflow:visible}.bb-website .website-start-error{color:var(--bb-red-text);margin-top:12px;font-size:14px}:root{--bb-primary:#ffd246;--bb-primary-hover:#f5bf21;--bb-blue:#1e8bfa;--bb-link:#116bc4;--bb-ink:#352116;--bb-muted:#6c6c6c;--bb-disabled:#b9b9b9;--bb-bg:#f5f5f5;--bb-surface:#fff;--bb-input:#f9f9f9;--bb-border:#e4e4e4;--bb-green:#38d597;--bb-green-text:#18734e;--bb-red:#e25555;--bb-red-text:#b52e37;--bb-boy:#5383b3;--bb-girl:#f580b3;--bb-space-1:4px;--bb-space-2:8px;--bb-space-3:12px;--bb-space-4:16px;--bb-space-5:20px;--bb-space-6:24px;--bb-space-8:32px;--bb-space-10:40px;--bb-space-12:48px;--bb-container-padding:20px;--bb-field-gap:8px;--bb-form-gap:16px;--bb-section-gap:24px;--bb-page-gap:32px;--bb-radius-xs:6px;--bb-radius-sm:10px;--bb-radius-md:14px;--bb-radius-lg:20px;--bb-radius-pill:999px;--bb-control-sm:32px;--bb-control-md:40px;--bb-control-lg:48px;--bb-touch-target:44px;--bb-font:system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Segoe UI","Microsoft YaHei",sans-serif;--bb-mono:ui-monospace,SFMono-Regular,Consolas,monospace;--bb-shadow-sm:0 2px 8px #35211608;--bb-shadow-float:0 8px 32px #3521161f;--bb-shadow-modal:0 24px 72px #35211633;--bb-overlay:rgba(31,27,24,.42);--bb-fast:.14s;--bb-normal:.22s;--bb-ease:cubic-bezier(.2,.8,.2,1);--bb-z-menu:100;--bb-z-toast:300;--bb-z-tooltip:400;--bb-viewport-inset:16px;color-scheme:light;font-family:var(--bb-font);color:var(--bb-ink);background:var(--bb-bg);font-size:14px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit;color:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}button{border:0;background:none}input,textarea{min-width:0}a{color:var(--bb-link);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,p{margin:0}h1{font-size:32px;line-height:1.25;letter-spacing:-.8px}h2{font-size:24px;line-height:1.35}h3{font-size:18px;line-height:1.4}h4{font-size:16px}small{font-size:12px}p{color:var(--bb-muted)}:focus-visible{outline:3px solid #1e8bfa88;outline-offset:3px}::selection{background:#ffe993}code,pre{font-family:var(--bb-mono)}img{max-width:100%}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.bb-row{display:flex;align-items:center;gap:var(--bb-space-3);flex-wrap:wrap}.bb-stack{display:flex;flex-direction:column;gap:var(--bb-form-gap)}.bb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--bb-space-5)}.bb-icon{object-fit:contain;flex-shrink:0;vertical-align:middle}.bb-logo{object-fit:cover;flex-shrink:0}.bb-button{display:inline-flex;justify-content:center;align-items:center;gap:var(--bb-space-2);border-radius:var(--bb-radius-pill);border:1px solid transparent;font-weight:600;white-space:nowrap;transition:background var(--bb-fast),box-shadow var(--bb-fast),transform var(--bb-fast);flex-shrink:0}.bb-button.md{height:var(--bb-control-md);padding:0 var(--bb-space-5)}.bb-button.sm{height:var(--bb-control-sm);padding:0 var(--bb-space-3);font-size:12px}.bb-button.lg{height:var(--bb-control-lg);padding:0 var(--bb-space-6);font-size:16px}.bb-button.primary{background:var(--bb-primary)}.bb-button.primary:hover{background:var(--bb-primary-hover)}.bb-button.secondary{background:var(--bb-blue);color:#fff}.bb-button.secondary:hover{background:#1474d5}.bb-button.quiet{background:#eeeeed;color:var(--bb-muted)}.bb-button.quiet:hover{background:#e4e4e2}.bb-button.danger{background:var(--bb-red);color:#fff}.bb-button.danger:hover{background:#c53d43}.bb-button.outline{background:#fff;border-color:var(--bb-border)}.bb-button.outline:hover{border-color:var(--bb-ink)}.bb-button:not(:disabled):active{transform:scale(.97)}.bb-button:disabled{background:#eee;color:#8c8c8c;border-color:transparent;transform:none}.bb-button.bb-icon-button{width:36px;height:36px;padding:8px;background:transparent;border-radius:10px}.bb-button.bb-icon-button:hover{background:#efefed}.bb-spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bb-field{display:flex;flex-direction:column;gap:var(--bb-field-gap);min-width:0;font-size:14px}.bb-field>span{font-weight:500}.bb-field input,.bb-field textarea,.bb-menu>input,.bb-search input{outline:none;border:1px solid var(--bb-border);background:var(--bb-input);border-radius:var(--bb-radius-pill);height:var(--bb-control-md);padding:0 var(--bb-space-4);width:100%;transition:border-color var(--bb-fast),background var(--bb-fast)}.bb-field input::placeholder,.bb-field textarea::placeholder,.bb-search input::placeholder{color:#898989}.bb-field input:focus,.bb-field textarea:focus,.bb-menu>input:focus{border-color:var(--bb-blue);box-shadow:0 0 0 3px #1e8bfa14;background:#fff}.bb-field textarea{height:128px;min-height:80px;resize:vertical;border-radius:var(--bb-radius-md);padding:var(--bb-space-3) var(--bb-space-4)}.bb-field small{color:var(--bb-muted)}.bb-field.invalid input{border-color:var(--bb-red)}.bb-field.invalid small,.required{color:var(--bb-red-text)}.bb-field input:disabled{background:#eee;color:#969696}.bb-password{position:relative}.bb-password .bb-field input{padding-right:48px}.bb-password>.bb-icon-button{position:absolute;bottom:2px;right:4px}.bb-search{display:flex;align-items:center;gap:var(--bb-space-2);padding:0 var(--bb-space-3);background:var(--bb-input);border:1px solid var(--bb-border);border-radius:var(--bb-radius-pill);height:40px;min-width:0}.bb-search:focus-within{border-color:var(--bb-blue)}.bb-search input{border:0;background:transparent;padding:0;box-shadow:none!important}.bb-search .bb-icon-button{width:24px;height:24px;padding:4px}.bb-select{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--bb-border);background:var(--bb-input);border-radius:var(--bb-radius-pill);height:40px;padding:0 var(--bb-space-4);min-width:140px;text-align:left}.bb-select:hover{border-color:#b9b9b9}.bb-select[aria-expanded=true]{border-color:var(--bb-blue)}.bb-menu{padding:var(--bb-space-2);background:#fff;border:1px solid var(--bb-border);border-radius:var(--bb-radius-md);box-shadow:var(--bb-shadow-float);z-index:var(--bb-z-menu);overflow:auto;min-width:160px}.bb-menu [role=listbox]{display:grid;gap:4px}.bb-menu button{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:8px 12px;min-height:36px;border-radius:6px;text-align:left}.bb-menu button:hover,.bb-menu button.highlight{background:var(--bb-input)}.bb-menu button.selected{background:#f1f1f1}.bb-menu button[aria-disabled=true]{color:#999;cursor:not-allowed}.bb-menu>input{border-radius:8px;margin-bottom:8px}.bb-menu p{padding:12px}.bb-check{display:inline-flex;gap:8px;align-items:center;min-height:32px;cursor:pointer;font-size:14px}.bb-check input{appearance:none;width:18px;height:18px;border:1.5px solid #b9b9b9;border-radius:50%;display:grid;place-content:center;margin:0;flex-shrink:0;background:#fff}.bb-check input:checked{background:var(--bb-green);border-color:var(--bb-green)}.bb-check input:checked:after{content:"✓";color:#fff;font-size:12px;font-weight:800}.bb-check input[type=radio]:checked{background:#fff;border-color:var(--bb-ink)}.bb-check input[type=radio]:checked:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--bb-ink)}.bb-check:has(input:disabled){color:#999;cursor:not-allowed}.bb-check input:disabled{background:#e7e7e7}.bb-switch-line{display:flex;align-items:center;gap:8px;min-height:32px}.bb-switch{width:36px;height:22px;padding:3px;background:#ccc;display:block;border-radius:999px;transition:background .2s}.bb-switch i{display:block;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002;transition:transform .2s}.bb-switch.on{background:var(--bb-green)}.bb-switch.on i{transform:translate(14px)}.bb-tag{display:inline-flex;align-items:center;padding:2px 8px;min-height:22px;font-size:12px;border-radius:999px;white-space:nowrap;background:#eee;color:var(--bb-muted);border:1px solid transparent}.bb-tag.blue{background:#eaf4ff;color:var(--bb-link);border-color:#d3e8ff}.bb-tag.green{background:#e6f8ef;color:var(--bb-green-text);border-color:#c6ecd9}.bb-tag.red{background:#fff0ef;color:var(--bb-red-text);border-color:#f8d4d4}.bb-tag.yellow{background:#fff7d7;color:#856010;border-color:#f6e6a1}.bb-tabs{display:flex;align-items:center;gap:var(--bb-space-6);border-bottom:1px solid var(--bb-border);overflow:auto}.bb-tabs button{position:relative;min-height:48px;white-space:nowrap;font-size:14px;color:var(--bb-muted);padding:8px 0}.bb-tabs button.active{color:var(--bb-ink);font-weight:700}.bb-tabs button.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:3px;background:var(--bb-ink)}.bb-segmented{display:inline-flex;gap:4px;background:#f1f1f1;padding:4px;border-radius:999px;max-width:100%;flex-wrap:wrap}.bb-segmented button{min-height:32px;padding:4px 16px;border-radius:999px}.bb-segmented button.selected{background:var(--bb-primary);box-shadow:var(--bb-shadow-sm)}.bb-card{padding:var(--bb-container-padding);border:1px solid #ededeb;border-radius:var(--bb-radius-lg);background:#fff;min-width:0}.bb-card>header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.bb-card>header p{font-size:12px;margin-top:4px}.bb-alert{padding:12px 16px;border-radius:10px;border:1px solid #cfe5fc;background:#eff7ff;color:#27608b;line-height:1.7}.bb-alert>div{font-size:12px;margin-top:4px}.bb-alert.red{background:#fff0ef;border-color:#f3d0ce;color:var(--bb-red-text)}.bb-alert.green{background:#edfbf4;border-color:#c6ecd9;color:var(--bb-green-text)}.bb-alert.yellow{background:#fff9e4;border-color:#f5e6b8;color:#805d16}.bb-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:24px}.bb-empty img{width:100px;height:100px;object-fit:contain}.bb-empty h4{font-size:14px}.bb-empty p{font-size:12px;max-width:360px}.bb-progress>div{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px}.bb-progress progress{width:100%;height:8px;border:0;border-radius:999px;overflow:hidden;appearance:none}.bb-progress progress::-webkit-progress-bar{background:#eee}.bb-progress progress::-webkit-progress-value{background:var(--bb-blue);border-radius:999px;transition:width .2s}.bb-progress progress::-moz-progress-bar{background:var(--bb-blue)}.bb-pagination{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;font-size:12px;color:var(--bb-muted)}.bb-pagination .bb-button{min-width:32px;padding:0 8px}.bb-accordion{display:grid;gap:8px}.bb-accordion .bb-accordion-item{background:var(--bb-input);border-radius:10px;padding:0 16px}.bb-accordion .bb-accordion-trigger{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:16px 0;font-weight:600;list-style:none}.bb-accordion .bb-accordion-trigger::-webkit-details-marker{display:none}.bb-accordion .bb-accordion-item[data-open=true] .bb-accordion-trigger span{transform:rotate(180deg)}.bb-accordion .bb-accordion-content{padding:0 0 16px;color:var(--bb-muted)}.bb-tooltip{padding:8px 12px;border-radius:6px;background:var(--bb-ink);color:#fff;font-size:12px;line-height:1.5;max-width:min(280px,calc(100vw - 16px));overflow-wrap:anywhere;z-index:var(--bb-z-tooltip);pointer-events:none;box-shadow:var(--bb-shadow-sm)}.bb-popover{width:340px;overflow:auto;padding:20px;background:#fff;border-radius:14px;border:1px solid var(--bb-border);box-shadow:var(--bb-shadow-float);z-index:var(--bb-z-menu);display:grid;gap:16px}.bb-modal{max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:20px;box-shadow:var(--bb-shadow-modal);color:var(--bb-ink);overflow:visible}.bb-modal::backdrop{background:var(--bb-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.bb-modal-frame{display:flex;flex-direction:column;max-height:calc(100dvh - 32px);background:#fff;border-radius:20px;overflow:hidden}.bb-modal-frame>header{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}.bb-modal-frame>header h3{font-size:18px}.bb-modal-body{padding:20px;overflow:auto;min-height:0;overscroll-behavior:contain}.bb-modal-frame>footer{display:flex;justify-content:flex-end;gap:12px;padding:0 20px 20px;flex-shrink:0}.bb-motion-tile{display:grid;justify-items:center;gap:16px;background:#fff;border:1px solid var(--bb-border);border-radius:20px;padding:32px;box-shadow:var(--bb-shadow-sm)}.bb-motion-tile small{color:var(--bb-muted)}.bb-table-scroll{overflow:auto;max-width:100%;border:1px solid var(--bb-border);border-radius:14px}.bb-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;white-space:nowrap}.bb-table th{font-weight:500;color:var(--bb-muted);background:#f5f5f5;position:sticky;top:0;z-index:1}.bb-table td,.bb-table th{padding:12px 16px;border-bottom:1px solid #eee}.bb-table tr:last-child td{border-bottom:0}.bb-table tbody tr:hover{background:#f5f5f5}.bb-table td:first-child,.bb-table th:first-child{position:sticky;left:0;background:inherit}.bb-table input{width:72px;height:32px;border:1px solid var(--bb-border);border-radius:6px;text-align:center;background:#fafafa}.bb-table input[aria-invalid=true]{color:var(--bb-red-text);border-color:var(--bb-red);background:#fff0ef}.bb-table .confirmed{background:#ecfaf2;border-color:#a6ddbb}.bb-table th button{font-weight:600}.bb-table .selected-row{background:#f1f1f1}.bb-calendar{width:100%;min-width:260px}.bb-calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.bb-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.bb-calendar-grid>small{padding:8px;color:var(--bb-muted)}.bb-calendar-grid button{position:relative;min-height:36px;border-radius:10px;background:#f9f9f9}.bb-calendar-grid button:hover{background:#fff4c7}.bb-calendar-grid button.selected{background:var(--bb-primary)}.bb-calendar-grid button:disabled{color:#bbb;background:#fafafa}.bb-calendar-grid button.today{box-shadow:inset 0 0 0 1px var(--bb-blue)}.bb-calendar-grid button i{position:absolute;right:4px;top:4px;width:5px;height:5px;background:var(--bb-blue);border-radius:50%}.bb-student{position:relative;min-height:76px;padding:20px 12px;display:flex;justify-content:center;align-items:center;border-radius:10px;border:1px solid transparent;background:#f9f9f9;font-weight:600;color:var(--bb-boy);width:100%;touch-action:manipulation}.bb-student.girl{color:var(--bb-girl)}.bb-student:hover{background:#f3f3f3}.bb-student.selected{border-color:var(--bb-primary);background:#fffdf0}.bb-student:disabled{opacity:.5}.bb-student .role{position:absolute;right:0;top:0;border-radius:0 10px 0 6px;font-size:10px;padding:2px 6px;background:var(--bb-blue);color:#fff;font-weight:400}.bb-student small{font-weight:400;font-size:10px;position:absolute;bottom:4px;color:var(--bb-muted)}.bb-student-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.bb-seat-grid{display:grid;grid-template-columns:repeat(2,minmax(88px,1fr)) 40px repeat(2,minmax(88px,1fr)) 40px repeat(2,minmax(88px,1fr)) 40px repeat(2,minmax(88px,1fr));gap:8px}.bb-seat-grid .bb-student{min-height:80px;font-size:16px;font-weight:500}.bb-seat-grid .aisle{display:flex;justify-content:center;align-items:center;color:#b9b9b9;border:1px dashed #c8c8c8;background:#f5f5f5;border-radius:14px;line-height:1.5}.bb-stage{height:40px;background:#f1f1f1;border-radius:6px;display:grid;place-items:center;margin-bottom:20px}.bb-seat-wrap{overflow:auto}.bb-seat-board{min-width:920px}.bb-seat-ghost{border:1px dashed #b9b9b9;border-radius:14px;background:#f9f9f9;min-height:80px;width:100%}.bb-todo{display:flex;gap:12px;align-items:center;padding:16px;background:var(--bb-input);border-radius:14px}.bb-todo>div{flex:1;min-width:0}.bb-todo p{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}.bb-todo.done h4{text-decoration:line-through;color:#999}.bb-stat{background:#f9f9f9;border-radius:14px;padding:20px}.bb-stat small{color:var(--bb-muted)}.bb-stat strong{display:block;font-size:28px;font-weight:600;margin-top:8px;font-variant-numeric:tabular-nums}.bb-chart{height:auto;width:100%;display:block;overflow:visible}.bb-chart-wrap{position:relative;margin:20px 0;min-width:0}.bb-chart text{font-size:12px;fill:var(--bb-muted);font-family:var(--bb-font)}.bb-chart [tabindex]{cursor:pointer;outline-offset:3px}.bb-upload{position:relative;padding:24px;border:1px dashed #a9ccef;border-radius:14px;background:#f3f9ff;display:grid;justify-items:center;gap:12px;text-align:center}.bb-upload input{max-width:100%}.bb-upload.dragover{border-color:var(--bb-blue);background:#e8f4ff}.bb-file{display:flex;align-items:center;gap:12px;background:#f9f9f9;padding:12px 16px;border-radius:10px}.bb-file>div{flex:1;min-width:0}.bb-file b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bb-file small{color:var(--bb-muted)}.bb-editor{border:1px solid var(--bb-border);border-radius:14px;overflow:hidden}.bb-toolbar{display:flex;align-items:center;gap:4px;padding:8px;border-bottom:1px solid var(--bb-border);background:#f9f9f9;flex-wrap:wrap}.bb-toolbar button{min-width:32px;height:32px;border-radius:6px}.bb-toolbar button:hover{background:#e6e6e6}.bb-editable{padding:16px;min-height:160px;outline:none}.bb-editable:focus{box-shadow:inset 0 0 0 2px #1e8bfa44}.bb-editable ul,.bb-editable ol{padding-left:24px}.bb-skeleton{height:16px;background:linear-gradient(90deg,#eee,#f9f9f9,#eee);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}@keyframes shimmer{to{background-position:-200% 0}}@media(pointer:coarse){.bb-button.sm,.bb-button.md,.bb-button.bb-icon-button,.bb-calendar-grid button,.bb-menu button,.bb-toolbar button,.bb-check,.bb-switch-line{min-height:44px}.bb-button.bb-icon-button{min-width:44px}.bb-field input,.bb-select,.bb-search{height:44px}.bb-check input{width:22px;height:22px}}.bb-calendar-month{display:flex;align-items:center;justify-content:space-between;width:100%}.bb-calendar-planner{height:100%;min-height:0;display:flex;flex-direction:column;gap:14px}.bb-calendar-planner .bb-calendar-head{display:flex;align-items:center;gap:20px;flex:none;min-height:104px;padding:16px 22px;border-radius:20px;background:#fff}.bb-calendar-planner .bb-calendar-selected{display:flex;align-items:baseline;gap:18px;min-width:0}.bb-calendar-planner .bb-calendar-selected time{font-size:32px;font-weight:600;letter-spacing:.02em}.bb-calendar-planner .bb-calendar-selected b{font-size:14px;font-weight:500;color:#777;white-space:nowrap}.bb-calendar-planner .bb-calendar-selected strong{font-size:24px;font-weight:600;white-space:nowrap}.bb-calendar-planner .bb-calendar-month{width:auto;margin-left:auto;gap:12px;justify-content:flex-end;white-space:nowrap}.bb-calendar-planner .bb-calendar-month b{font-size:16px;font-weight:500}.bb-calendar-planner .bb-calendar-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:28px repeat(6,minmax(56px,1fr));gap:8px}.bb-calendar-planner .bb-calendar-grid>small{display:grid;place-items:center;color:#858585;font-size:12px}.bb-calendar-planner .bb-calendar-grid>button{position:relative;display:flex;align-items:flex-start;justify-content:flex-start;padding:14px 16px;border:1px solid transparent;border-radius:16px;background:#fff;color:#333;text-align:left;font-size:19px;transition:background .18s ease,border-color .18s ease,transform .18s cubic-bezier(.2,.8,.2,1)}.bb-calendar-planner .bb-calendar-grid>button:hover{background:#f2f2f1;transform:translateY(-1px)}.bb-calendar-planner .bb-calendar-grid>button.selected{background:#eaf4ff;border-color:#2189ed;color:#1679dc}.bb-calendar-planner .bb-calendar-grid>button.today:not(.selected){box-shadow:inset 0 0 0 1px #d5d5d2}.bb-calendar-planner .bb-calendar-grid>button i{position:absolute;right:10px;top:10px;padding:4px 8px;border-radius:999px;background:#eaf4ff;color:#2388e8;font-size:11px;font-style:normal;white-space:nowrap}.bb-calendar-planner .bb-calendar-grid>button.selected i{background:#2189ed;color:#fff}@media(max-width:1100px){.bb-calendar-planner .bb-calendar-grid{gap:6px}.bb-calendar-planner .bb-calendar-grid>button{padding:10px;font-size:16px}.bb-calendar-planner .bb-calendar-grid>button i{right:6px;top:6px;padding:3px 6px;font-size:10px}.bb-calendar-planner .bb-calendar-selected{gap:10px}.bb-calendar-planner .bb-calendar-selected time{font-size:26px}}@media(max-height:760px){.bb-calendar-planner{gap:8px}.bb-calendar-planner .bb-calendar-head{min-height:78px;padding:10px 16px}.bb-calendar-planner .bb-calendar-selected time{font-size:26px}.bb-calendar-planner .bb-calendar-selected strong{font-size:20px}.bb-calendar-planner .bb-calendar-grid{grid-template-rows:22px repeat(6,minmax(40px,1fr));gap:5px}.bb-calendar-planner .bb-calendar-grid>button{padding:8px 10px}}.bb-calendar-planner .bb-calendar-grid>button i{width:auto;height:auto;min-width:0;line-height:1.2;display:block;box-sizing:border-box}.bb-select-options-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important}.bb-select-options-grid button{justify-content:center!important;min-height:32px!important;padding:6px 8px!important;border-radius:999px!important;background:#f2f2f2!important;text-align:center!important}.bb-select-options-grid button.selected,.bb-select-options-grid button.highlight{background:var(--bb-primary)!important;color:var(--bb-ink)!important}.bb-select-options-grid button:hover{background:#e8e8e8!important}.bb-select-options-grid button.selected{background:var(--bb-primary)!important;color:var(--bb-ink)!important}.bb-select-options-grid button.highlight:not(.selected){background:#f2f2f2!important;color:inherit!important;box-shadow:inset 0 0 0 1px #ddd}.bb-skeleton{display:grid;gap:18px;min-width:0;padding:20px;border-radius:18px;background:#fff}.bb-skeleton .skeleton-heading,.bb-skeleton .skeleton-row i{display:block;background:linear-gradient(100deg,#f0f0f0 20%,#f8f8f8,#f0f0f0 56%);background-size:220% 100%;animation:bb-shimmer 1.35s ease-in-out infinite}.bb-skeleton .skeleton-heading{width:26%;height:18px;border-radius:8px}.bb-skeleton .skeleton-body{display:grid;gap:12px}.bb-skeleton .skeleton-row{display:grid;grid-template-columns:minmax(0,1fr) 72px 100px;gap:16px;align-items:center;min-height:60px;padding:12px;border-radius:12px;background:#f9f9f9}.bb-skeleton .skeleton-row i{height:14px;border-radius:8px}.bb-skeleton .skeleton-row i:first-child{max-width:64%}.bb-skeleton.today{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0;background:transparent}.bb-skeleton.today .skeleton-panel{display:grid;gap:14px;min-width:0;padding:16px;border-radius:18px;background:#fff}.bb-skeleton.today .skeleton-heading{width:36%}.bb-skeleton.calendar .skeleton-body{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(52px,1fr);gap:8px}.bb-skeleton.calendar .skeleton-row{display:block;min-height:52px;padding:0}.bb-skeleton.calendar .skeleton-row i{height:100%;border-radius:12px}.bb-skeleton.schedule .skeleton-row{min-height:56px}@keyframes bb-shimmer{to{background-position-x:-220%}}@media(prefers-reduced-motion:reduce){.bb-skeleton .skeleton-heading,.bb-skeleton .skeleton-row i{animation:none}}.bb-calendar-planner .bb-calendar-head{min-height:82px;padding:10px 20px}.bb-calendar-planner .bb-calendar-selected{align-items:center;gap:20px}.bb-calendar-planner .bb-calendar-selected time,.bb-calendar-planner .bb-calendar-selected b,.bb-calendar-planner .bb-calendar-selected strong{font-size:18px;font-weight:500;line-height:1.3;letter-spacing:0;color:#352116}.bb-calendar-planner .bb-calendar-grid{grid-template-rows:24px repeat(5,minmax(44px,1fr));gap:8px}.bb-calendar-planner .bb-calendar-grid>button{align-items:center;justify-content:center;flex-direction:column;gap:6px;padding:8px;border-radius:16px;font-size:14px}.bb-calendar-planner .bb-calendar-grid>button .bb-calendar-day-number{font-size:28px;font-weight:500;line-height:1.05;color:inherit}.bb-calendar-planner .bb-calendar-grid>button .bb-calendar-lunar{color:#999;font-size:13px;font-weight:400;line-height:1.1}.bb-calendar-planner .bb-calendar-grid>button.selected .bb-calendar-lunar{color:#1684ed}.bb-calendar-planner .bb-calendar-grid>button i{right:0;top:0;padding:4px 8px;border-radius:0 0 0 12px;font-size:11px}@media(max-height:760px){.bb-calendar-planner .bb-calendar-head{min-height:68px;padding:8px 16px}.bb-calendar-planner .bb-calendar-grid{grid-template-rows:22px repeat(5,minmax(40px,1fr));gap:5px}}.bb-button.danger[aria-busy=true],.bb-button.danger[aria-busy=true]:disabled{background:var(--bb-red);color:#fff}.bb-button.danger[aria-busy=true] .bb-spinner{color:#fff}.bb-toast{position:fixed;inset:auto;top:max(20px,env(safe-area-inset-top));bottom:auto;left:50%;transform:translate(-50%);margin:0;width:max-content;max-width:min(560px,calc(100vw - 32px));box-sizing:border-box;align-items:center;gap:10px;padding:12px 14px;border:1px solid #cfe5fc;border-radius:12px;background:#eff7ff;color:#27608b;box-shadow:0 4px 18px #35211612;z-index:var(--bb-z-toast);font:13px/1.7 var(--bb-font);overflow:visible}.bb-toast:popover-open{display:flex}.bb-toast:not([popover]){display:flex}.bb-toast.success{background:#edfbf4;border-color:#c6ecd9;color:var(--bb-green-text)}.bb-toast.error{background:#fff0ef;border-color:#f3d0ce;color:var(--bb-red-text)}.bb-toast.warning{background:#fff7e8;border-color:#f3dfb8;color:#805d16}.bb-toast.info{background:#eff7ff;border-color:#cfe5fc;color:#27608b}.bb-toast-symbol{flex:none;align-self:flex-start;margin-top:1px}.bb-toast-message{min-width:0;overflow-wrap:anywhere;white-space:pre-wrap;color:inherit}.bb-toast button{display:flex;align-items:center;justify-content:center;align-self:flex-start;flex:none;width:24px;height:24px;padding:0;border:0;border-radius:6px;background:transparent;color:inherit;cursor:pointer}.bb-toast button:hover{background:#00000008}.bb-toast button:focus-visible{outline:2px solid currentColor;outline-offset:2px}.bb-toast button svg{display:block}@supports not selector(:popover-open){.bb-toast{display:flex}}.bb-import-progress{display:grid;gap:8px;margin-top:12px}.bb-import-progress small{color:var(--bb-muted)}.bb-import-progress progress{width:100%;height:8px;accent-color:var(--bb-primary)}.bb-import-template-link{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;color:var(--bb-link);font-size:14px;font-weight:400;line-height:20px;text-decoration:none;vertical-align:middle}.bb-import-template-link span{text-decoration:underline;text-underline-offset:3px}.bb-import-template-link:hover{text-decoration:none}.bb-import-template-link[aria-disabled=true]{opacity:.5;cursor:not-allowed}.bb-modal-frame>footer:has(.bb-import-template-action){align-items:center}.bb-import-template-action{display:flex;align-items:center;margin-right:auto}.bb-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.bb-arrow{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.bb-arrow.left,.bb-arrow.up,.bb-accordion .bb-accordion-item[data-open=true] .bb-accordion-trigger .bb-arrow{transform:rotate(180deg)}.bb-popover-anchor{display:inline-block;min-width:0;max-width:100%;vertical-align:middle}.bb-field>.bb-popover-anchor{display:block;width:100%}.bb-field>span:empty{display:none}.bb-pagination [aria-current=page]{background:var(--bb-primary);color:var(--bb-ink);border-radius:50%;width:32px;min-width:32px;height:32px;padding:0;justify-content:center}.bb-picker-input{position:relative;width:100%;min-width:140px}.bb-picker-input input{padding-right:44px}.bb-picker-input>button{position:absolute;right:0;top:0;width:40px;height:100%;display:grid;place-items:center;border-radius:999px}.bb-picker-input>button:hover{background:#00000004}.bb-time-columns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bb-time-columns b{display:block;text-align:center;font-size:12px;font-weight:400;color:var(--bb-muted);padding-bottom:8px}.bb-time-columns [role=listbox]{max-height:200px;overflow:auto;scrollbar-width:thin}.bb-time-columns button{display:block;width:100%;height:36px;border-radius:6px;text-align:center}.bb-time-columns button:hover,.bb-time-columns button[aria-selected=true]{background:#f1f1f1}.bb-subjects{max-width:360px;width:100%;display:grid;gap:20px}.bb-subjects>header{display:flex;align-items:center;justify-content:space-between}.bb-subject-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.bb-subject-tag{position:relative;background:#f9f9f9;border:1px dashed #b9b9b9;border-radius:999px;text-align:center;padding:12px 4px;font-size:12px}.bb-subject-tag>button{position:absolute;right:-3px;top:-6px;background:#b9b9b9;color:#fff;border-radius:50%;width:16px;height:16px;line-height:14px;font-size:14px}.bb-subject-tag>button:before{content:"";position:absolute;inset:-6px}.bb-subject-add{gap:12px}.bb-subject-add input{height:44px;font-size:12px}.bb-product-sidebar{width:208px;min-height:620px;display:flex;flex-direction:column;background:#fcfbfa;padding:12px;border-radius:14px;flex-shrink:0}.bb-sidebar-brand{padding:8px 8px 16px}.bb-nav-row{display:flex;align-items:center;gap:12px;text-align:left;width:100%;min-height:44px;padding:0 12px;border-radius:10px;font-size:14px}.bb-nav-row>span:not(.bb-arrow){flex:1}.bb-nav-row.parent{color:var(--bb-ink)}.bb-nav-row.child{color:#b9b9b9}.bb-nav-row.child.active{color:var(--bb-ink)}.bb-nav-row:hover,.bb-nav-row.active{background:#f3f3f3}.bb-nav-row .bb-icon{width:18px;height:18px}.bb-nav-row .bb-arrow .bb-icon{width:12px;height:12px}.bb-sidebar-account{margin-top:auto;padding-top:20px}.bb-user-info{display:flex;align-items:center;gap:8px;background:#fff;padding:8px 12px;min-height:44px;border-radius:14px;width:100%;font-size:12px;white-space:nowrap}.bb-user-info img{width:24px;height:24px;border-radius:50%;object-fit:cover}.bb-user-info small{background:#f5f5f5;color:#999;font-size:10px;padding:2px 6px;border-radius:4px}.bb-user-info span{flex:1;text-align:left}.bb-account-menu{padding:8px;gap:0;border:0;border-radius:20px}.bb-account-menu .bb-popover-anchor,.bb-sidebar-account .bb-popover-anchor{display:block;width:100%}.bb-menu-row{display:flex;align-items:center;gap:8px;padding:0 12px;min-height:44px;width:100%;text-align:left;border-radius:10px;font-size:14px;color:var(--bb-ink)}.bb-menu-row>span:not(.bb-arrow){flex:1}.bb-menu-row:hover,.bb-menu-row[aria-expanded=true]{background:#f5f5f5}.bb-install-tip{padding:12px;font-size:12px}.bb-install-tip img{display:block;width:100px;height:100px;object-fit:contain;margin:0 auto 12px}.bb-student-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.bb-student-detail-head b{display:flex;align-items:center;gap:8px}.bb-business-footer{display:flex;align-items:center;gap:12px;padding-top:12px;flex-wrap:wrap}.bb-footer-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.bb-footer-actions>.bb-button.quiet{min-width:100px;background:#b9b9b9;color:#fff}.bb-footer-actions>.bb-button.primary{min-width:232px}.bb-business-footer>.bb-field{max-width:280px}.bb-business-footer small{font-size:12px;color:var(--bb-muted)}.bb-score-scroll{max-height:620px;overflow:auto;scrollbar-width:thin}.bb-score-table{width:100%;min-width:1320px;border-collapse:separate;border-spacing:0;text-align:center;font-size:14px;font-weight:400}.bb-score-table th{position:sticky;top:0;background:#fff;z-index:1;font-weight:400;color:#444;height:40px;padding:4px 8px}.bb-score-table td{height:44px;padding:6px 8px;white-space:nowrap}.bb-score-table tbody tr:nth-child(odd){background:#f9f9f9}.bb-score-table td:first-child{border-radius:14px 0 0 14px}.bb-score-table td:last-child{border-radius:0 14px 14px 0}.bb-score-table input{width:64px;height:32px;border:1px dashed #b9b9b9;border-radius:12px;background:#f5f5f5;text-align:center;outline:none}.bb-score-table input:focus{border-color:#b9b9b9;border-style:dashed;box-shadow:none;outline:none}.bb-score-table input[aria-invalid=true]{border-color:var(--bb-red);background:#fff0ef;color:var(--bb-red-text)}.bb-score-table input.confirmed{background:#f0faf4}.bb-score-editor .bb-business-footer>.bb-field:first-child{flex:1;min-width:200px}.bb-score-editor .bb-business-footer>.bb-field:nth-child(2){width:216px}.bb-schedule-scroll{overflow:auto;max-height:min(800px,calc(100dvh - 160px));scrollbar-width:thin}.bb-schedule-board{min-width:1136px}.bb-schedule-head,.bb-schedule-row{display:grid;grid-template-columns:148px repeat(7,minmax(112px,1fr)) 76px;gap:8px;align-items:center}.bb-schedule-head{text-align:center;height:32px;color:var(--bb-muted)}.bb-schedule-head>span:first-child{text-align:left;padding-left:8px}.bb-schedule-row{margin-bottom:8px;position:relative}.bb-schedule-row.dragging{background:#f3f7fc;border-radius:10px}.bb-course-input{height:64px;width:100%;min-width:0;border:1px solid var(--bb-border);border-radius:14px;background:var(--bb-input);text-align:center;outline:none}.bb-course-input:focus{border-color:var(--bb-border);box-shadow:none}.bb-schedule-time{display:grid;gap:4px;background:#f9f9f9;border:1px solid #ddd;border-radius:12px;padding:6px 4px}.bb-schedule-time>input{width:100%;border:0;background:transparent;text-align:center;outline:none;height:24px;font-size:14px}.bb-schedule-time>input:focus{box-shadow:none}.bb-schedule-time>div{display:flex;align-items:center;gap:2px}.bb-schedule-time .bb-field{width:70px;gap:0}.bb-schedule-time .bb-picker-input{min-width:0}.bb-schedule-time .bb-picker-input input{height:28px;border:1px solid var(--bb-border);padding:0 12px 0 2px;font-size:11px;text-align:center}.bb-schedule-time .bb-picker-input>button{width:16px}.bb-schedule-time .bb-arrow .bb-icon{width:10px;height:10px}.bb-row-controls{display:flex;align-items:center;justify-content:flex-end}.bb-row-controls>.bb-icon-button,.bb-row-move{width:36px;height:36px;display:grid;place-items:center;background:transparent;border-radius:10px}.bb-row-move{touch-action:none;cursor:grab}.bb-row-move:active{cursor:grabbing}.bb-row-move:hover{background:#edf4fb}.bb-break-label{grid-column:1 / span 8;width:100%;height:40px;display:grid;place-items:center;background:#f5f5f5;border:0;border-radius:10px;color:#999}.bb-fixed-break{display:none}.bb-schedule-row.break{grid-template-columns:148px 1fr 76px}.bb-schedule-row.break .bb-row-controls{display:none}.bb-schedule-row.break .bb-schedule-time{display:block;border:0;background:transparent;padding:0}.bb-add-row{width:100%;height:40px;background:#f9f9f9;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;color:var(--bb-blue)}.bb-schedule-board>.bb-popover-anchor{display:block;margin-right:84px}.bb-seating>.bb-seat-wrap{max-height:640px;scrollbar-width:thin}.bb-layout-board{width:100%;min-width:0}.bb-layout-board>.bb-stage{margin-right:48px;margin-bottom:8px}.bb-layout-body{display:flex;gap:12px}.bb-layout-columns{display:grid;gap:8px;flex:1;min-width:0}.bb-layout-column{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}.bb-layout-seats{display:grid;gap:8px;width:100%;flex:1}.bb-layout-aisle{flex:1;min-height:80px;background:#f5f5f5;border-radius:10px;display:flex;align-items:center;justify-content:center;width:100%;color:#b9b9b9;line-height:1.5}.bb-layout-column>button:last-child{min-height:24px}.bb-layout-add-column{display:flex;flex-direction:column;gap:8px;padding:44px 0 32px;width:40px}.bb-layout-add-column button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;flex:1;writing-mode:vertical-rl;letter-spacing:4px;background:#f9f9f9;border-radius:14px;color:var(--bb-blue)}.bb-layout-board>.bb-add-row{margin-top:8px;width:calc(100% - 48px)}.bb-chart-tooltip{display:grid;gap:4px;white-space:nowrap}.bb-chart-tooltip b{font-weight:400}.bb-chart-bar{cursor:default}.bb-voice-editor{background:#f9f9f9;border:1px solid var(--bb-border);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:12px;max-width:360px;width:100%}.bb-voice-editor textarea{width:100%;min-height:280px;resize:vertical;background:transparent;border:0;outline:none;color:var(--bb-ink);font:inherit}.bb-voice-tools{display:flex;gap:8px}.bb-voice-toggle{width:44px;height:36px;border:1px solid var(--bb-blue);color:var(--bb-blue);border-radius:6px;display:grid;place-items:center;flex-shrink:0}.bb-voice-toggle.recording{border-color:var(--bb-red)}.bb-voice-upload{height:36px;border:1px solid var(--bb-blue);border-radius:6px;color:var(--bb-blue);display:flex;align-items:center;justify-content:center;gap:8px;flex:1;position:relative;overflow:hidden;font-size:12px}.bb-voice-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}@media(pointer:coarse){.bb-picker-input>button{width:44px}.bb-time-columns button,.bb-menu-row,.bb-voice-toggle,.bb-voice-upload{min-height:44px}.bb-row-controls>.bb-icon-button,.bb-row-move{min-width:44px;min-height:44px}.bb-schedule-head,.bb-schedule-row{grid-template-columns:148px repeat(7,minmax(112px,1fr)) 88px}.bb-schedule-time .bb-picker-input>button{width:16px}.bb-schedule-time .bb-picker-input input{height:44px}.bb-schedule-time>input{height:32px}}@media(prefers-reduced-motion:reduce){.bb-chart *{animation:none!important}}.bb-subject-tag>button .bb-icon{display:block;filter:brightness(0) invert(1)}.bb-subjects header .bb-icon-button .bb-icon,.bb-add-row>.bb-icon,.bb-layout-add-column .bb-icon,.bb-voice-upload>.bb-icon{filter:invert(43%) sepia(91%) saturate(2478%) hue-rotate(191deg) brightness(103%) contrast(96%)}.bb-schedule-board>.bb-add-row{width:calc(100% - 84px)}.bb-subject-tag>button .bb-icon{filter:none;opacity:0;width:16px;height:16px}.bb-subject-tag>button{background:#b9b9b9}.bb-subject-tag>button:after{content:"×";position:absolute;inset:0;color:#fff;font-size:16px;line-height:15px;text-align:center;font-weight:500}.bb-subjects header .bb-icon-button{width:auto;height:32px;min-width:100px;border-radius:999px;background:var(--bb-primary);color:var(--bb-ink);padding:0 14px;display:flex;gap:6px}.bb-subjects header .bb-icon-button:after{content:"添加科目";font-size:12px}.bb-subjects header .bb-icon-button .bb-icon{filter:brightness(0) saturate(100%);width:14px;height:14px}.bb-arrow .bb-icon{width:16px;height:16px}.bb-trend{display:inline-flex;align-items:center;gap:4px;font-size:12px}.bb-trend .bb-icon{width:7px;height:13px}.bb-week-grid{display:grid;grid-template-columns:72px repeat(7,minmax(72px,1fr));gap:4px;align-items:stretch;min-width:860px}.bb-week-grid-head,.bb-week-grid-cell{min-height:42px;display:grid;place-items:center;text-align:center;background:#f9f9f9;border-radius:8px;font-size:11px;color:#777}.bb-week-grid-head{background:#f4f4f4}.bb-week-grid-time{padding:6px}.bb-week-grid-break{grid-column:1 / -1;min-height:26px;background:transparent;color:#aaa;font-size:11px;text-align:center}.bb-week-card-scroll,.bb-table-scroll{max-width:100%;overflow:auto;scrollbar-width:thin}.bb-exam-table{width:100%;min-width:1480px;border-collapse:separate;border-spacing:0 4px;text-align:center;white-space:nowrap}.bb-exam-table th{height:42px;font-size:12px;font-weight:400;color:#666}.bb-exam-table td{padding:8px 6px;height:52px;background:#f9f9f9;font-size:12px}.bb-exam-table tr:nth-child(2n) td{background:#fff}.bb-exam-table td:first-child{border-radius:12px 0 0 12px;text-align:left;padding-left:16px}.bb-exam-table td:last-child{border-radius:0 12px 12px 0}.bb-exam-table .bb-trend{font-size:11px}.bb-import-box{min-height:180px;background:#f9f9f9;border:0;border-radius:10px;display:grid;place-items:center;text-align:center;padding:20px}.bb-import-box label{color:#666;font-size:13px}.bb-import-box input{margin-top:8px;max-width:100%;font:inherit}.bb-trend.up{color:#38d597}.bb-trend.down{color:#e25555}.bb-trend:not(.up):not(.down){color:#777}.bb-seat-drag-preview{position:fixed;z-index:1000;pointer-events:none;min-width:112px;height:80px;padding:16px;border:2px solid var(--bb-primary);background:#fff;border-radius:14px;box-shadow:0 12px 32px #0002;display:grid;place-items:center;font-weight:600}.bb-seat-ghost.dragging{background:#f9f9f9;border:1px dashed #b9b9b9}.bb-seat-wrap.bb-layout-fit{overflow:hidden;max-height:min(460px,calc(100dvh - 360px))}.bb-layout-fit .bb-layout-board{width:1100px;min-width:1100px}.bb-layout-fit .bb-layout-columns{grid-template-columns:repeat(2,minmax(88px,1fr)) 40px repeat(2,minmax(88px,1fr)) 40px repeat(2,minmax(88px,1fr)) 40px repeat(2,minmax(88px,1fr))}.bb-layout-scaled{position:relative;overflow:hidden}.bb-layout-column.seat>.bb-icon-button{min-height:24px}.bb-layout-column.aisle>.bb-icon-button{min-height:24px}.bb-layout-add-column .bb-icon,.bb-layout-board>.bb-add-row .bb-icon{width:14px;height:14px}.bb-student-edit{display:grid;gap:16px;max-width:680px}.bb-student-edit .bb-grid{gap:16px}.bb-exam-table td>b{display:block;font-weight:500}.bb-exam-table .bb-trend{display:flex;justify-content:center;margin-top:4px}.bb-exam-actions{display:flex;justify-content:center;gap:2px}.bb-exam-actions .bb-icon-button{width:28px;height:28px;background:#fff;border-radius:50%;padding:6px}.bb-import-modal{display:grid;gap:16px}.bb-import-box{position:relative;min-height:154px;background:#f9f9f9;border:0;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:20px;text-align:left;padding:20px;cursor:pointer;color:#777;font-size:13px}.bb-import-box>.bb-icon{background:var(--bb-blue);border-radius:5px;padding:7px;box-sizing:content-box}.bb-import-box input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.bb-import-fields{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto;align-items:center;gap:12px}.bb-import-fields .bb-footer-actions{margin:0}.bb-button.primary .bb-arrow .bb-icon{filter:brightness(0) saturate(100%)}.bb-import-box>.bb-icon{background:none;border-radius:0;padding:0;box-sizing:border-box;width:44px;height:44px;object-fit:contain}.bb-schedule-time .bb-arrow .bb-icon{width:14px;height:14px}.bb-nav-row .bb-arrow .bb-icon{width:18px;height:18px}.bb-subjects header .bb-icon-button{width:32px;min-width:32px;height:32px;padding:0;border-radius:50%;background:#1e8bfa;color:#fff;display:grid;place-items:center}.bb-subjects header .bb-icon-button:after{content:none}.bb-subjects header .bb-icon-button .bb-icon{width:16px;height:16px;filter:brightness(0) invert(1)}.bb-install-tip .bb-button{width:100%;min-height:36px;border-radius:999px;margin-top:4px}.bb-schedule-head,.bb-schedule-row{grid-template-columns:132px repeat(7,minmax(112px,1fr)) 76px}.bb-schedule-head>span:first-child{text-align:center;padding:0}.bb-schedule-time{height:72px;min-width:0;box-sizing:border-box;display:grid;grid-template-rows:1fr 1fr;gap:4px;padding:2px 0;background:transparent;border:0;border-radius:0;overflow:hidden}.bb-schedule-time>input,.bb-schedule-time>div{height:34px;min-height:0;box-sizing:border-box;background:#f9f9f9;border:1px dashed #b9b9b9;border-radius:10px}.bb-schedule-time>input{font-size:12px;padding:0 4px}.bb-schedule-time>div{display:flex;align-items:center;justify-content:center;gap:2px;overflow:hidden}.bb-schedule-time .bb-field{width:calc((100% - 12px)/2);min-width:0;max-width:56px}.bb-schedule-time .bb-picker-input input{height:28px;padding:0 10px 0 2px;background:transparent;border:0;font-size:10px}.bb-schedule-time .bb-picker-input>button{width:12px}.bb-schedule-time>div>span{font-size:10px}.bb-schedule-row.break{grid-template-columns:132px repeat(7,minmax(112px,1fr)) 76px}.bb-schedule-row.break .bb-schedule-time{visibility:hidden}.bb-schedule-row.break .bb-break-label{grid-column:1 / span 8;height:40px}.bb-schedule-row.break .bb-row-controls{display:flex}.bb-schedule-row.break .bb-row-controls>.bb-icon-button{visibility:hidden;pointer-events:none}.bb-row-move{background:#1e8bfa;color:#fff}.bb-row-move:hover{background:#1679dc}.bb-schedule-row.break .bb-row-move .bb-icon{filter:brightness(0) invert(1)}.bb-layout-add-column button{writing-mode:horizontal-tb;letter-spacing:normal;white-space:normal;text-align:center;line-height:1.4}.bb-week-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.bb-week-preview-card{min-width:0;overflow:hidden;padding:10px;background:#fff;border:1px solid #eee;border-radius:18px;text-align:left;transition:box-shadow .18s,border-color .18s}.bb-week-preview-card:hover{border-color:#ddd;box-shadow:0 4px 16px #35211610}.bb-week-preview-card>header{display:flex;align-items:center;gap:8px;padding:0 2px 8px}.bb-week-preview-card>header b{font-size:13px}.bb-week-preview-card>header small{font-size:9px;color:#999}.bb-week-card-actions{margin-left:auto;color:var(--bb-blue)}.bb-week-grid{grid-template-columns:48px repeat(7,minmax(0,1fr));gap:3px;min-width:0}.bb-week-grid-head,.bb-week-grid-cell{position:relative;min-width:0;min-height:23px;padding:2px 0;border-radius:7px;font-size:8px;line-height:1.2;overflow:hidden}.bb-week-grid-head{min-height:22px;background:#fff;color:#777}.bb-week-grid-time{font-size:7px;color:#999}.bb-week-grid .bb-week-own-dot{position:absolute;top:3px;right:4px;width:5px;height:5px;border-radius:50%;background:#1e8bfa}.bb-week-grid.detail{grid-template-columns:80px repeat(7,minmax(72px,1fr));min-width:700px;gap:5px}.bb-week-grid.detail .bb-week-grid-head,.bb-week-grid.detail .bb-week-grid-cell{min-height:54px;font-size:11px}.bb-week-grid.detail .bb-week-grid-time{font-size:10px}.bb-week-grid.detail .bb-week-own-dot{width:7px;height:7px}.bb-exam-table th{background:#fff}.bb-exam-clickable{cursor:pointer}.bb-exam-clickable:hover td{background:#f1f1f1}.bb-table th,.bb-score-table th,.bb-exam-table th{background:#fff}@media(pointer:coarse){.bb-schedule-head,.bb-schedule-row,.bb-schedule-row.break{grid-template-columns:132px repeat(7,minmax(112px,1fr)) 88px}}@media(max-width:900px){.bb-week-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1201px){.bb-week-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.bb-week-preview-card{display:block;width:100%;cursor:pointer}.bb-week-preview-card>header{width:100%}.bb-subjects header .bb-icon-button{transition:background .16s,box-shadow .16s,transform .16s}.bb-subjects header .bb-icon-button:hover{background:#1679dc;box-shadow:0 4px 12px #1e8bfa35;transform:scale(1.05)}.bb-subjects header .bb-icon-button:active{transform:scale(.94)}.bb-schedule-time .bb-picker-input input{cursor:pointer}.bb-schedule-time .bb-field{max-width:none}.bb-schedule-time .bb-picker-input{width:100%}.bb-schedule-time .bb-picker-input input{width:100%;box-sizing:border-box;padding:0 3px;text-align:center}.bb-schedule-time .bb-picker-input>button{display:none}.bb-schedule-time>div{gap:2px}.bb-row-move .bb-icon{width:18px;height:18px}.bb-row-move{border-radius:50%;width:32px;height:32px;min-height:32px;padding:6px}.bb-seat-ghost.dragging{background:#eef7ff;border:2px dashed #1e8bfa;box-sizing:border-box}.bb-layout-add-column{width:40px;flex:none;align-self:stretch;padding:44px 0 32px;gap:8px}.bb-layout-add-column button{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding:12px 4px;writing-mode:horizontal-tb;white-space:normal;text-align:center;line-height:1.4;border:1px solid #e7e7e2;border-radius:12px;background:#f9f9f9;color:var(--bb-blue)}.bb-layout-add-column button span{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:2px;font-size:12px}.bb-layout-add-column button:hover{background:#f0f7ff;border-color:#c5e2ff}.bb-week-preview-card{position:relative;cursor:pointer}.bb-week-preview-card:focus-visible{outline:2px solid #1e8bfa;outline-offset:2px}.bb-week-card-actions{display:flex;align-items:center;gap:2px}.bb-week-card-actions .bb-icon-button{width:26px;min-width:26px;height:26px;padding:5px;border-radius:50%;background:#fff}.bb-week-card-actions .bb-icon-button:hover{background:#f1f1f1}.bb-week-preview-card>header small{margin-left:auto}.bb-week-grid-break{display:grid;place-items:center;background:#f2f2f2;border-radius:7px;color:#999;font-size:10px;min-height:34px}.bb-week-grid.detail .bb-week-grid-cell{min-height:58px;padding:8px;background:#f7f7f7;font-size:13px}.bb-week-grid.detail .bb-week-grid-head{min-height:34px;display:grid;place-items:center;font-size:13px;font-weight:600}.bb-week-grid.detail .bb-week-grid-time{background:#f2f2f2;line-height:1.8}.bb-week-own-tag{position:absolute;right:5px;top:5px;padding:2px 5px;border-radius:3px;background:#e9f5ff;color:#1684e8;font-size:9px;font-weight:400}.bb-week-detail-scroll{max-height:min(74dvh,760px);overflow:auto;overscroll-behavior:contain}.bb-week-grid.detail{min-width:1100px;gap:8px}.bb-week-grid.detail .bb-week-grid-time:first-child{display:grid;place-items:center}.bb-exam-detail{height:min(70dvh,740px);min-height:420px;display:flex;flex-direction:column;gap:20px}.bb-exam-detail-head{display:flex;align-items:center;gap:24px;flex:none}.bb-exam-detail-head>div{display:flex;align-items:center;gap:20px}.bb-exam-detail-head b{font-size:16px}.bb-exam-detail-head span{color:#888;font-size:13px}.bb-exam-detail-head>.bb-search{margin-left:auto;width:320px}.bb-exam-detail-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;border-radius:12px}.bb-exam-detail-scroll .bb-score-table{min-width:1320px}.bb-modal-frame:has(.bb-week-detail-scroll) .bb-modal-body{padding:20px}.bb-modal-frame:has(.bb-exam-detail) .bb-modal-body{padding:20px 24px}@media(max-width:760px){.bb-exam-detail{height:65dvh;min-height:320px}.bb-exam-detail-head{align-items:flex-start;flex-direction:column}.bb-exam-detail-head>.bb-search{margin-left:0;width:100%}}.bb-layout-fit .bb-layout-add-column{width:40px}.bb-layout-fit .bb-layout-add-column button{font-size:12px}.bb-layout-fit .bb-layout-add-column button .bb-icon{width:14px;height:14px;min-width:14px}.bb-layout-fit .bb-layout-board>.bb-stage{margin-right:48px}.bb-seating:has(.bb-layout-fit){display:flex;align-items:stretch;gap:4px}.bb-seating>.bb-layout-fit{flex:1;min-width:0}.bb-layout-rail{display:flex;flex:0 0 44px;flex-direction:column;gap:8px;padding:44px 0 32px}.bb-layout-rail button{display:flex;min-height:100px;flex:1;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding:12px 4px;border:1px solid #e7e7e2;border-radius:12px;background:#f9f9f9;color:var(--bb-blue)}.bb-layout-rail button:hover{background:#f0f7ff;border-color:#c5e2ff}.bb-layout-rail button span{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:2px;font-size:12px}.bb-layout-rail .bb-icon{width:16px;height:16px;flex-shrink:0}.bb-seating:has(.bb-layout-fit){display:flex;align-items:stretch;gap:10px}.bb-seating:has(.bb-layout-fit)>.bb-seat-wrap{flex:1;min-width:0;max-width:calc(100% - 54px)}.bb-seating:has(.bb-layout-fit)>.bb-layout-rail{display:flex;flex:0 0 44px;width:44px;max-width:44px;min-width:44px;flex-direction:column;align-self:stretch;gap:8px;padding:44px 0 32px}.bb-seating:has(.bb-layout-fit)>.bb-layout-rail button{width:44px;min-height:100px;flex:1;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding:12px 4px;white-space:normal}.bb-seating:has(.bb-layout-fit)>.bb-layout-rail button span{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:2px}.bb-layout-canvas-row{display:flex;align-items:stretch;gap:10px;min-width:0}.bb-layout-canvas-row>.bb-layout-fit{flex:1;min-width:0;max-width:none}.bb-layout-canvas-row>.bb-layout-rail{display:flex;width:44px;min-width:44px;flex:0 0 44px;flex-direction:column;gap:8px;padding:44px 0 32px}.bb-layout-canvas-row>.bb-layout-rail button{width:44px;min-height:100px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding:12px 4px;white-space:normal}.bb-layout-canvas-row>.bb-layout-rail button span{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:2px}.bb-layout-canvas-row>.bb-layout-rail .bb-icon{width:16px;height:16px;flex-shrink:0}.bb-picker-input:has(.bb-time-popover) input{padding-right:44px}.bb-time-popover .bb-picker-input{position:relative}.bb-time-popover .bb-picker-input>button{position:absolute;right:0;top:0;width:40px;height:100%;display:grid;place-items:center;border-radius:999px}.bb-time-popover .bb-picker-input>button:hover{background:#00000004}.bb-time-popover .bb-picker-input>button .bb-icon{width:14px;height:14px}.bb-time-popover .bb-picker-input input[aria-expanded=true]{border-color:var(--bb-blue)}.bb-number-badge,.bb-badge[data-count],.bb-tag.numeric{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border:0!important;border-radius:999px;background:#e5484d;color:#fff;font-size:11px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.bb-seat-ghost.dragging{border:1px dashed #1e8bfa;background:#f5faff}.bb-seat-drag-preview{border:0;background:#fff;border-radius:14px;box-shadow:0 8px 24px #0002;color:var(--bb-ink)}.bb-student.is-swapped{cursor:default;pointer-events:none}.bb-layout-editor{display:block}.bb-layout-canvas-row{width:100%;display:flex;align-items:stretch;gap:10px}.bb-layout-canvas-row>.bb-layout-fit{flex:1;min-width:0;width:auto;max-width:none;max-height:min(520px,calc(100dvh - 420px));overflow-y:auto;overflow-x:hidden}.bb-layout-canvas-row>.bb-layout-fit .bb-layout-board{width:100%;min-width:0}.bb-layout-canvas-row .bb-layout-columns{width:100%;grid-template-columns:var(--layout-grid-columns);gap:8px}.bb-layout-canvas-row .bb-layout-column{min-width:0}.bb-layout-canvas-row .bb-layout-column.seat{width:auto}.bb-layout-canvas-row .bb-layout-column.aisle{width:24px}.bb-layout-canvas-row .bb-layout-seats{width:100%;grid-auto-rows:80px}.bb-layout-canvas-row .bb-seat-ghost{min-width:0}.bb-layout-canvas-row .bb-layout-column>.bb-icon-button{align-self:center;width:24px;min-width:24px;height:24px;min-height:24px;padding:4px}.bb-layout-canvas-row .bb-layout-column.aisle>button:last-child{width:24px;min-height:24px;height:24px;padding:2px}.bb-layout-canvas-row .bb-add-row{width:100%;margin:8px 0 0}.bb-layout-rail{align-self:stretch;padding:44px 0 32px}.bb-layout-rail button{width:44px;flex:1;min-height:100px;padding:12px 4px}.bb-layout-editor>.bb-business-footer{display:flex;width:100%;align-items:center}.bb-layout-editor>.bb-business-footer>.bb-field{flex:0 1 280px}.bb-layout-editor>.bb-business-footer>.bb-footer-actions{margin-left:auto}.bb-schedule-row.break .bb-break-label{height:40px;min-height:40px;align-self:center}.bb-row-controls>.bb-icon-button,.bb-row-move{width:28px;height:28px;min-width:28px;min-height:28px;padding:4px;border-radius:50%}.bb-row-move .bb-icon{width:20px;height:20px}.bb-modal-frame:has(.bb-schedule){height:min(90dvh,900px);max-height:calc(100dvh - 32px)}.bb-modal-frame:has(.bb-schedule) .bb-modal-body{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.bb-modal-frame:has(.bb-schedule) .bb-schedule{display:flex;flex:1;min-height:0;flex-direction:column}.bb-modal-frame:has(.bb-schedule) .bb-schedule-scroll{flex:1;min-height:0;max-height:none;overflow:auto;overflow-x:auto}.bb-modal-frame:has(.bb-schedule) .bb-business-footer{flex:none;padding-top:12px}.bb-week-detail-scroll{overflow:auto;overflow-x:auto}.bb-week-grid.detail{grid-template-columns:minmax(96px,120px) repeat(7,minmax(110px,1fr));min-width:900px;gap:8px}.bb-week-grid.detail .bb-week-grid-head,.bb-week-grid.detail .bb-week-grid-cell{color:#352116}.bb-week-grid.detail .bb-week-grid-time{color:#6e6e6e}.bb-week-grid.detail .bb-week-grid-break{grid-column:1/-1;min-height:34px;display:grid;place-items:center;color:#888;background:#f2f2f2;font-size:12px}.bb-seating.bb-layout-editor:has(.bb-layout-fit){display:block;width:100%}.bb-layout-canvas-row>.bb-layout-fit{max-height:min(460px,calc(100dvh - 600px))}.bb-schedule-row.break{min-height:32px;height:32px;margin-bottom:8px}.bb-schedule-row.break .bb-break-label{height:28px;min-height:28px;color:#888}.bb-schedule-row.break{min-height:48px;height:48px;margin-bottom:8px}.bb-schedule-row.break .bb-break-label{grid-column:2/span 7;height:40px;min-height:40px;align-self:center;color:#999;background:#f5f5f5}.bb-course-input{border:1px dashed #b9b9b9;background:#f9f9f9;box-sizing:border-box}.bb-row-controls>.bb-icon-button,.bb-row-move{width:24px;height:24px;min-width:24px;min-height:24px;padding:2px;border-radius:50%}.bb-row-controls>.bb-icon-button .bb-icon,.bb-row-move .bb-icon{width:20px;height:20px}.bb-row-move{background:transparent;color:inherit}.bb-row-move:hover{background:transparent}.bb-schedule-row.break .bb-row-move .bb-icon{filter:none}.bb-layout-rail .bb-icon{width:14px;height:14px;flex-shrink:0;filter:invert(43%) sepia(91%) saturate(2478%) hue-rotate(191deg) brightness(103%) contrast(96%)}.bb-seat-drag-preview{min-width:0;min-height:0;height:auto;box-sizing:border-box}@media(pointer:coarse){.bb-row-controls>.bb-icon-button,.bb-row-move{width:24px;height:24px;min-width:24px;min-height:24px}}.bb-schedule-row.break{height:40px;min-height:40px;margin-bottom:8px}.bb-schedule-row.break .bb-break-label{grid-column:1/span 8;width:100%;height:40px;min-height:40px;align-self:center;box-sizing:border-box}.bb-layout-rail button,.bb-seating:has(.bb-layout-fit)>.bb-layout-rail button,.bb-layout-canvas-row>.bb-layout-rail button{justify-content:center}.bb-schedule-row.break .bb-schedule-time{display:none}.bb-schedule-time{height:72px;grid-template-rows:32px 32px;align-content:center;gap:4px;padding:0;overflow:visible}.bb-schedule-time>input,.bb-schedule-time>div{height:32px;min-height:32px;line-height:normal;overflow:visible}.bb-schedule-time .bb-picker-input input{height:28px;line-height:normal}.bb-corner-tag,.bb-student .role.bb-corner-tag{position:absolute;top:0;right:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:auto;min-width:0;height:24px;min-height:24px;padding:0 10px;border:0;border-radius:0 14px 0 9px;background:var(--bb-blue);color:#fff;font-family:var(--bb-font);font-size:11px;font-style:normal;font-weight:400;line-height:1;white-space:nowrap}.bb-layout-row-actions{display:grid;grid-template-columns:7fr 3fr;gap:12px;margin-top:8px}.bb-layout-canvas-row .bb-layout-row-actions>button{width:100%;min-width:0;height:40px;margin:0;padding:0 8px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;background:#f9f9f9;white-space:nowrap}.bb-layout-row-actions>.bb-delete-row{color:#e5484d}.bb-layout-row-actions>.bb-delete-row .bb-icon{filter:none}.bb-layout-row-actions>.bb-delete-row:hover:not(:disabled){background:#fff0f0}.bb-layout-row-actions>.bb-delete-row:disabled{opacity:.4;cursor:not-allowed}.bb-import-metadata{display:flex;align-items:center;gap:10px;min-width:0;margin-right:auto}.bb-import-metadata>.bb-field{width:220px;min-width:0}@media(max-width:760px){.bb-import-metadata{flex:1 1 100%}.bb-import-metadata>.bb-field{width:auto;flex:1}}.bb-score-editor .bb-footer-actions>.bb-icon-button.toolbar-icon-button{width:32px;min-width:32px;height:32px;min-height:32px;flex:none;padding:8px;border:0;border-radius:50%;background:transparent;color:var(--bb-blue)}.bb-score-editor .bb-footer-actions>.bb-icon-button.toolbar-icon-button>.bb-icon{width:16px;height:16px;filter:none}#root{height:100dvh;overflow:hidden}.teacher-app{display:flex;width:100%;height:100dvh;min-width:0;background:var(--bb-bg);overflow:hidden}.teacher-app>.bb-product-sidebar{flex:0 0 248px;height:100%;overflow:auto;background:#fff;border-right:1px solid #ececec}.app-main{display:flex;min-width:0;min-height:0;flex:1;flex-direction:column}.app-topbar{height:64px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#fff;border-bottom:1px solid #eee}.app-topbar nav{display:flex;align-items:center;gap:12px;font-size:13px;color:#888}.app-topbar nav b{font-weight:400;color:#ccc}.app-topbar nav strong{color:var(--bb-ink);font-weight:500}.topbar-actions{display:flex;align-items:center;gap:20px}.icon-text{display:flex;align-items:center;gap:6px;color:#777}.icon-text .bb-icon{width:18px;height:18px}.app-topbar .bb-user-info{height:44px}.app-topbar .bb-user-info img{width:30px;height:30px}.page-content{flex:1;min-height:0;overflow:auto;padding:28px 32px 40px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading .eyebrow{display:block;margin-bottom:4px;color:var(--bb-blue);font-size:12px}.page-heading h1{font-size:26px}.page-heading p{margin-top:6px}.feature-stack{display:flex;min-height:0;flex-direction:column;gap:20px}.toolbar-row,.toolbar-actions,.list-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toolbar-row>.bb-search{flex:1;max-width:440px}.toolbar-row>.bb-button{flex:none}.view-tabs{display:flex;align-items:center;gap:8px;flex:1}.view-tabs button{height:40px;padding:0 16px;border-radius:20px;color:#777;white-space:nowrap}.view-tabs button:hover,.view-tabs button.active{background:#f1f1f1;color:var(--bb-ink)}.list-tools>.bb-search{flex:1;max-width:440px}.list-tools>.bb-popover-anchor{width:200px}.form-stack{display:grid;gap:16px}.form-grid,.settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-section-note{grid-column:1/-1;color:#777}.todo-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.todo-list{display:grid;gap:8px}.todo-row{display:flex;align-items:flex-start;gap:12px;padding:14px 12px;border-radius:10px;transition:background .14s}.todo-row:hover{background:#f7f7f7}.todo-row.completed .todo-copy>b{text-decoration:line-through;color:#999}.todo-copy{flex:1;min-width:0}.todo-copy p{margin:4px 0;font-size:13px}.todo-copy small{color:#999}.icon-action{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;flex:none}.icon-action:hover{background:#eee}.icon-action .bb-icon{width:18px;height:18px}.inline-error{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid #f0c4c4;border-radius:10px;background:#fff7f7;color:#9b3535}.inline-error>span{flex:1}.inline-error .bb-button{min-height:34px}.term-switch{display:flex;align-items:center;gap:12px}.term-switch span{color:#777}.term-switch select{height:40px;min-width:190px;padding:0 14px;border:1px solid var(--bb-border);border-radius:999px;background:#fff}.schedule-weeks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.week-card{min-width:0}.week-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.week-mini-grid span{min-height:34px;display:grid;place-items:center;overflow:hidden;padding:2px;border:1px dashed #ccc;border-radius:6px;background:#fafafa;font-size:11px}.week-card-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.schedule-preview-grid{min-width:900px;display:grid;gap:6px}.schedule-preview-head,.schedule-preview-row{display:grid;grid-template-columns:124px repeat(7,minmax(90px,1fr));gap:6px;align-items:center}.schedule-preview-head{text-align:center}.schedule-preview-row>span{min-height:56px;display:grid;place-content:center;text-align:center;border:1px dashed #ccc;border-radius:10px;background:#fafafa}.schedule-preview-row>span:first-child{border:0;background:#f7f7f7}.schedule-preview-row small{color:#888}.schedule-preview-row.break{min-height:36px;display:block;background:#f3f3f3;border-radius:8px}.schedule-preview-row.break>span{display:none}.student-directory{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.duty-intro{display:flex;align-items:center;gap:14px}.duty-intro p{flex:1}.duty-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.duty-grid .bb-card>button{margin-top:16px}.student-detail{display:flex;align-items:center;gap:18px;padding:10px}.exam-list,.record-list{display:grid}.exam-list-row,.record-row{display:grid;grid-template-columns:120px 1fr 120px 90px 20px;align-items:center;gap:14px;width:100%;min-height:56px;padding:8px 12px;text-align:left;border-radius:8px}.exam-list-row:hover,.record-row:hover{background:#f5f5f5}.exam-list-row .bb-icon,.record-row .bb-icon{width:14px;height:14px}.exam-date,.record-row time{color:#888;font-variant-numeric:tabular-nums}.exam-detail{display:grid;gap:16px}.exam-detail-meta{display:flex;align-items:center;gap:12px}.table-scroll{width:100%;overflow:auto}.business-table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;text-align:center}.business-table th{position:sticky;top:0;background:#fff;font-weight:500}.business-table th,.business-table td{padding:10px 12px;white-space:nowrap}.business-table tbody tr:nth-child(odd){background:#f8f8f8}.finance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.finance-summary .bb-card{display:grid;gap:10px}.finance-summary small{color:#777}.finance-summary strong{font-size:26px;font-variant-numeric:tabular-nums}.finance-row{display:grid;grid-template-columns:76px 1fr 130px 140px 36px;align-items:center;gap:16px;min-height:56px;padding:8px 12px;border-radius:8px}.finance-row:hover{background:#f7f7f7}.finance-row time{color:#888}.finance-row strong{font-variant-numeric:tabular-nums;text-align:right}.finance-row strong.income{color:#279565}.finance-row strong.expense{color:#c34f4f}.attachment-control{display:grid;gap:8px;padding:16px;border:1px dashed #bbb;border-radius:12px;color:#666}.record-row{grid-template-columns:140px 1fr 140px 20px}.record-content{max-height:50vh;overflow:auto;white-space:pre-wrap;font:inherit}.subject-admin-list{display:grid}.subject-admin-list>div{display:flex;align-items:center;gap:14px;padding:10px;border-bottom:1px solid #eee}.subject-admin-list>div>span:first-child{min-width:140px;font-weight:500}.subject-admin-list>div>span:nth-last-child(2){flex:1;color:#777}.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.code-input{display:flex;align-items:end;gap:8px}.code-input .bb-field{flex:1}.email-change{margin-top:28px;padding-top:20px;border-top:1px solid #eee}.message-row{display:grid;grid-template-columns:64px 1fr 160px;width:100%;padding:16px;text-align:left;border-radius:8px;gap:8px}.message-row:hover{background:#f7f7f7}.message-row span{grid-column:2/-1;color:#777}.message-row time{color:#888;text-align:right}.help-question{padding:16px 4px;border-bottom:1px solid #eee}.help-question summary{cursor:pointer;font-weight:500}.help-question p{margin-top:12px}.legal-content{white-space:pre-wrap;line-height:1.9}.boot-screen,.rotate-screen,.lock-screen{height:100dvh;display:grid;place-content:center;justify-items:center;gap:14px;text-align:center;background:#f5f5f5}.boot-screen p,.rotate-screen p{max-width:380px}.auth-screen{display:grid;grid-template-columns:minmax(360px,1fr) minmax(480px,1fr);height:100dvh;background:#fff}.auth-art{position:relative;overflow:hidden;background:#fff7d8}.auth-art-orbit{position:absolute;width:min(60vw,680px);aspect-ratio:1;border:1px solid #f4db8c;border-radius:50%;left:8%;top:12%}.orbit-two{width:min(44vw,510px);left:16%;top:21%;border-color:#cee4f7}.auth-art-block{position:absolute;width:240px;height:240px;border-radius:52px;filter:blur(.2px);transform:rotate(-16deg)}.block-yellow{left:28%;top:27%;background:#ffd246}.block-blue{left:45%;top:46%;width:160px;height:160px;background:#1e8bfa;border-radius:38px;opacity:.82}.auth-art-note{position:absolute;left:12%;bottom:19%;display:grid;gap:12px}.auth-art-note span{color:#7e6a2b;font-size:13px}.auth-art-note b{font-size:34px;line-height:1.5}.auth-art-note small{color:#887b55}.auth-art-brand{position:absolute;left:32px;top:28px;display:flex;align-items:center;gap:10px}.auth-art-brand div{display:grid}.auth-art-brand small{color:#777}.auth-panel{display:grid;place-items:center;padding:40px}.auth-card{width:min(100%,420px);display:grid;gap:18px}.auth-card h1{font-size:30px}.auth-card>p{margin-top:-10px}.auth-code-row{display:flex;align-items:end;gap:8px}.auth-code-row .bb-field{flex:1}.auth-code-row .bb-button{height:40px}.auth-submit{width:100%;margin-top:4px}.auth-links{display:flex;justify-content:space-between;gap:12px}.auth-links button,.text-button{color:var(--bb-link)}.auth-legal{color:#888;text-align:center}.auth-legal a{margin:0 4px}.auth-note{padding:10px 12px;border-radius:8px;background:#f8f8f8;font-size:13px}.connection-banner{position:fixed;right:20px;bottom:20px;max-width:460px}.connection-banner .bb-alert{box-shadow:var(--bb-shadow-float)}.lock-card{width:min(92vw,400px);padding:32px;background:#fff;border-radius:20px;box-shadow:var(--bb-shadow-modal);display:grid;gap:16px}.lock-card>.bb-button{width:100%}.mobile-menu{display:none}.rotate-screen{padding:24px}.view-tabs{min-height:40px}@media(max-width:1200px){.teacher-app>.bb-product-sidebar{flex-basis:210px}.page-content{padding:24px}.schedule-weeks{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-screen{grid-template-columns:minmax(300px,.8fr) minmax(440px,1fr)}}@media(max-width:900px){.teacher-app>.bb-product-sidebar{display:none}.app-topbar{padding:0 16px}.page-content{padding:20px 16px}.mobile-menu{display:grid;place-items:center}.app-topbar nav{margin-right:auto;margin-left:12px}.app-topbar nav>span,.app-topbar nav>b{display:none}.todo-columns,.duty-grid,.security-grid,.schedule-weeks,.auth-screen{grid-template-columns:1fr}.auth-art{display:none}.auth-panel{padding:24px}.auth-card{width:min(100%,440px)}}@media(max-width:640px){.page-heading h1{font-size:23px}.page-content{padding:16px 12px}.toolbar-row{align-items:stretch}.view-tabs{overflow:auto}.view-tabs button{padding:0 12px}.finance-summary{gap:8px}.finance-summary strong{font-size:18px}.finance-row{grid-template-columns:60px 1fr 100px 32px;gap:8px}.finance-row time{display:none}.exam-list-row{grid-template-columns:85px 1fr auto}.exam-list-row>span:nth-of-type(2){display:none}.form-grid,.settings-form{grid-template-columns:1fr}.code-input{align-items:end}.student-detail{flex-wrap:wrap}.message-row{grid-template-columns:60px 1fr}.message-row time{grid-column:2;text-align:left}.message-row span{grid-column:2}}.duty-select-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;max-height:52vh;overflow:auto;padding:4px}.form-grid .bb-field textarea{min-height:96px;padding:10px 14px;border:1px solid var(--bb-border);border-radius:10px;background:var(--bb-input);resize:vertical}.auth-panel{min-height:0;overflow:auto}.subject-draft-list{display:grid;gap:8px;max-height:36vh;overflow:auto}.subject-draft-row{display:grid;grid-template-columns:minmax(0,1fr) 100px 32px;align-items:end;gap:8px}.agreement-check{display:flex;align-items:center;gap:8px;color:#666;font-size:13px}.agreement-check input{width:16px;height:16px}.agreement-check a{color:var(--bb-link)}.registration-setup{display:grid;gap:16px}.term-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media(max-width:680px){.term-date-grid{grid-template-columns:1fr}}.install-dialog-body{display:flex;align-items:center;gap:20px}.install-dialog-body img{width:112px;height:112px;object-fit:contain;flex:none}.install-dialog-body p{line-height:1.75;color:var(--text-secondary,#666)}@media(max-width:600px){.install-dialog-body{align-items:flex-start;flex-direction:column}.install-dialog-body img{width:88px;height:88px}}html,body{height:100%;margin:0;overflow:hidden}.teacher-app{height:100dvh;min-height:0;overflow:hidden}.teacher-app>.bb-product-sidebar{flex:0 0 205px;width:205px;height:100dvh;overflow-y:auto}.teacher-app .app-main{height:100dvh;min-height:0;overflow:hidden}.teacher-app .page-content{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;padding:12px 10px 10px}.teacher-app .app-topbar,.teacher-app .page-heading{display:none}.teacher-app .feature-stack{gap:14px}.todo-columns{grid-template-columns:minmax(0,1.8fr) minmax(0,.95fr);gap:14px}@media(max-width:900px){.teacher-app>.bb-product-sidebar{display:flex;flex-basis:205px}.teacher-app .page-content{padding:10px 8px}}.todo-page .todo-toolbar{flex-wrap:nowrap}.todo-search{display:flex;align-items:center;gap:10px;flex:1;justify-content:flex-end;min-width:220px}.todo-search .bb-search{flex:1;max-width:440px}.todo-table-card,.todo-calendar-card{min-width:0;min-height:500px;padding:14px;border-radius:20px;background:#fff}.todo-table-head{display:grid;grid-template-columns:minmax(0,1fr) 115px 150px 96px;align-items:center;gap:12px;padding:6px 14px 12px;color:#55463d;font-size:13px}.todo-table-head button{color:inherit;text-align:center}.todo-table-rows{display:grid;gap:8px}.todo-table-card .todo-row{display:grid;grid-template-columns:24px minmax(0,1fr) 52px 130px 28px 28px;align-items:center;gap:12px;min-height:74px;padding:10px 12px;border-radius:12px;background:#f6f6f6}.todo-table-card .todo-copy p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-table-card .todo-copy small{display:none}.todo-table-card .todo-row time{color:#888;text-align:center;font-size:13px}.todo-table-card .todo-table-pagination{padding-top:12px;text-align:right;font-size:13px;color:#666}.todo-calendar-layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.4fr);gap:14px}.todo-calendar-card .bb-calendar{width:100%;min-height:360px}.todo-calendar-card .bb-calendar-grid{grid-template-rows:repeat(6,1fr)}@media(max-width:1100px){.todo-page .todo-toolbar{flex-wrap:wrap}.todo-columns,.todo-calendar-layout{grid-template-columns:1fr}}@media(max-width:720px){.todo-search{order:3;flex-basis:100%;max-width:none}.todo-table-head{grid-template-columns:minmax(0,1fr) 55px 86px 60px;gap:4px;padding-inline:6px}.todo-table-card{padding:8px}.todo-table-card .todo-row{grid-template-columns:20px minmax(0,1fr) 42px 80px 24px 24px;gap:4px;padding:8px 4px}.todo-table-card .todo-row time{font-size:11px}}.todo-table-head{grid-template-columns:minmax(0,1fr) 50px 88px 42px;gap:4px;padding-inline:4px}.todo-table-head span,.todo-table-head button{white-space:nowrap}.todo-table-card .todo-row{grid-template-columns:20px minmax(0,1fr) 46px 100px 24px 24px;gap:8px;padding-inline:8px}.todo-table-card .todo-copy{overflow:hidden}.todo-table-card .todo-copy>b,.todo-table-card .todo-copy>p{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-table-card .todo-row time{font-size:12px}.todo-table-pagination{display:flex;align-items:center;justify-content:space-between}.todo-columns{grid-template-columns:minmax(0,1.8fr) minmax(340px,.95fr)}@media(max-width:900px){.todo-columns{grid-template-columns:1fr}}.schedule-page{gap:12px}.schedule-top{display:flex;align-items:center;gap:20px;min-height:64px;padding:8px 16px;border-radius:18px;background:#f5f5f5}.schedule-top .view-tabs{gap:16px}.schedule-top .view-tabs button{height:44px;padding:0 12px;border-radius:0;font-size:17px}.schedule-top .view-tabs button.active{position:relative;background:transparent;color:#39291f;font-weight:600}.schedule-top .view-tabs button.active:after{position:absolute;right:12px;bottom:2px;left:12px;height:3px;border-radius:3px;background:#39291f;content:""}.schedule-actions{display:flex;align-items:center;gap:10px}.schedule-actions .bb-icon-button{width:38px;height:38px;border-radius:50%;background:#fff}.schedule-weekbar{display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:0 24px;border-radius:18px;background:#fff}.schedule-weekbar>strong{font-size:18px}.schedule-week-controls{display:flex;align-items:center;gap:10px}.schedule-week-controls>b{margin-right:4px;font-size:17px;font-weight:500}.schedule-week-controls button{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#f4f4f4}.schedule-week-controls button:hover{background:#e9e9e9}.schedule-main-preview{min-height:0;flex:1;overflow:auto;padding:14px 10px 20px;border-radius:20px;background:#fff}.schedule-main-preview .schedule-preview-grid{min-width:840px;display:grid;gap:8px}.schedule-preview-head,.schedule-preview-row{grid-template-columns:minmax(110px,1.08fr) repeat(7,minmax(70px,1fr));gap:8px}.schedule-preview-head{min-height:26px}.schedule-preview-head>b{display:grid;gap:2px;font-size:13px;font-weight:500}.schedule-preview-head small{color:#999;font-size:12px}.schedule-preview-row>span{min-height:58px;border:0;border-radius:14px;background:#f7f7f7;font-size:15px;font-weight:500}.schedule-preview-row>span:first-child{background:#f7f7f7}.schedule-preview-row>span:first-child small{margin-top:4px;color:#888;font-size:12px;font-weight:400}.schedule-preview-break{grid-column:1/-1;min-height:52px;display:grid;place-items:center;color:#c9c9c9;font-size:18px}.week-card-open{width:100%;text-align:left}.week-card-actions{align-items:center}.week-card-actions .bb-icon-button{width:38px;height:38px}.schedule-preview-grid{min-width:840px}.schedule-preview-break{grid-column:1/-1}@media(max-width:950px){.schedule-top{align-items:flex-start;flex-wrap:wrap}.schedule-top .view-tabs{flex-basis:100%}.schedule-actions{margin-left:auto}.schedule-main-preview{overflow:auto}}.schedule-upload{position:relative;min-height:150px;display:flex;align-items:center;justify-content:center;gap:18px;padding:24px;border-radius:14px;background:#f7f7f7;color:#777}.schedule-upload-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:var(--bb-blue)}.schedule-upload-mark .bb-icon{filter:brightness(0) invert(1)}.schedule-upload input{position:absolute;inset:0;width:100%;height:100%;cursor:pointer;opacity:0}.schedule-import-target{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.schedule-actions>button:not(.primary){width:40px;height:40px;padding:0;border-radius:50%;background:#fff}.schedule-actions>button:not(.primary) .bb-icon{width:20px;height:20px}.student-detail-backdrop{position:fixed;inset:0;z-index:40;background:transparent}.student-detail-popover{position:absolute;left:52%;top:50%;width:min(320px,calc(100vw - 32px));max-height:82vh;overflow:auto;transform:translate(-50%,-50%);padding:12px;border-radius:18px;background:#fff;box-shadow:0 14px 44px #0002}.student-detail-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 10px 12px}.student-detail-head strong{display:flex;align-items:center;gap:8px;font-size:15px}.student-detail-head strong small{font-size:13px;color:var(--bb-blue)}.student-detail-head>b{max-width:44%;margin-left:auto;text-align:right;font-size:13px;font-weight:500}.student-detail-fields{display:grid;gap:8px}.student-detail-field{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:8px 12px;border-radius:10px;background:#f8f8f8;font-size:13px}.student-detail-field span,.student-detail-note>span{color:#888}.student-detail-field b{max-width:70%;text-align:right;font-weight:500;overflow-wrap:anywhere}.student-detail-note{padding:10px 12px;border-radius:10px;background:#f8f8f8;font-size:13px}.student-detail-note p{margin-top:8px;line-height:1.7;white-space:pre-wrap}.student-detail-popover>footer{display:flex;justify-content:space-between;gap:10px;margin-top:12px}.student-detail-popover>footer .bb-button{flex:1}.schedule-main-preview .schedule-preview-grid{min-width:0}.schedule-main-preview .schedule-preview-head,.schedule-main-preview .schedule-preview-row{grid-template-columns:minmax(88px,.9fr) repeat(7,minmax(0,1fr))}.week-mini-grid span{position:relative}.week-mini-grid span i{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--bb-blue)}.schedule-preview-row>span:not(:first-child){position:relative}.schedule-preview-row .schedule-mine{position:absolute;top:0;right:0;min-height:0;display:block;padding:3px 6px;border-radius:0 12px 0 8px;background:var(--bb-blue);color:#fff;font-size:11px;font-weight:400}@media(max-width:1100px){.todo-columns{grid-template-columns:1fr}}.student-page{gap:0}.student-toolbar{display:flex;align-items:center;gap:16px;min-height:64px;padding:0 20px;background:#f5f5f5;border-radius:18px}.student-toolbar .bb-tabs{flex:1;min-width:220px;border:0;gap:28px}.student-toolbar .bb-tabs button{min-height:52px;font-size:17px}.student-toolbar>.bb-search{flex:1;max-width:440px}.student-toolbar>.bb-button{flex:none}.student-toolbar>.bb-icon-button{width:40px;height:40px;border-radius:50%;background:#fff;color:var(--bb-blue)}.student-list-card{margin-top:12px;min-height:calc(100% - 76px);padding:20px}.student-list-tools{display:flex;align-items:center;gap:20px;min-height:20px;margin-bottom:16px;font-size:13px}.student-gender-filter,.student-week-filter{display:flex;align-items:center;gap:16px;margin-left:auto}.student-list-tools>.bb-check:last-child{margin-left:12px}.student-directory{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:10px}.student-directory .bb-student{height:80px;min-width:0}.student-directory .bb-student.selected{border:1px solid var(--bb-blue);background:#f4f9ff;box-shadow:none}.student-list-card>.student-directory{margin-top:16px}@media(max-width:960px){.student-directory{grid-template-columns:repeat(6,minmax(0,1fr))}.student-toolbar{gap:10px;padding-inline:12px}.student-toolbar .bb-tabs{min-width:180px;gap:16px}.student-toolbar .bb-tabs button{font-size:15px}.student-list-tools{flex-wrap:wrap;gap:12px}.student-gender-filter,.student-week-filter{gap:8px}}.exam-feature{height:100%;min-height:0;background:#f5f5f5;border-radius:24px;padding:16px 10px 10px;box-sizing:border-box;gap:12px!important}.exam-heading-row{display:flex;align-items:center;gap:20px;min-height:44px;padding:0 12px;flex:none}.exam-heading-row>.bb-tabs{flex:none;border:0;padding:0;gap:24px}.exam-toolbar{display:flex;align-items:center;gap:14px;margin-left:auto;min-width:0}.exam-toolbar>.bb-search{width:clamp(250px,32vw,520px);height:40px;background:#fff;border-radius:999px}.exam-toolbar>.bb-button{height:40px;min-width:88px;border-radius:999px}.exam-main-scroll{flex:1;min-height:0;background:#fff;border:0;border-radius:18px;padding:8px 10px;scrollbar-width:thin}.exam-main-scroll .bb-exam-table{min-width:1480px}.exam-feature>.bb-pagination{justify-content:flex-end;flex:none;padding:0 14px}.exam-analysis-panel{flex:1;min-height:0;overflow:auto;background:#fff;border-radius:18px;padding:20px;display:grid;gap:24px}.exam-analysis-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.exam-analysis-charts>section{min-width:0;background:#fff;border-radius:14px;padding:16px}.exam-analysis-charts h3{font-size:14px;font-weight:500;margin:0 0 8px}.seat-page{height:100%;min-height:0;gap:12px!important}.seat-page-header{min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 4px;flex:none}.seat-page-header h1{margin:0;font-size:20px;font-weight:600;color:#352116}.seat-page-actions{display:flex;align-items:center;gap:10px}.seat-page-actions .bb-button{height:40px;min-width:96px;border-radius:999px}.seat-preview-card{flex:1;min-height:0;overflow:auto;background:#fff;border-radius:20px;padding:24px;display:flex;align-items:stretch;justify-content:center}.seat-preview-card>.bb-seating{width:min(100%,1140px);align-self:center;margin-inline:auto;display:flex;flex-direction:column;justify-content:center}.seat-preview-card .bb-seat-wrap{width:100%;max-height:calc(100% - 64px);overflow:visible}.seat-preview-card .bb-seat-board{width:100%;max-width:1140px;margin:0 auto}.seat-preview-card .bb-seat-grid{grid-auto-rows:minmax(54px,1fr)}.seat-preview-card .bb-seat-grid .bb-student{min-height:54px;height:100%;padding:12px 6px;font-size:14px}.seat-preview-card>.bb-seating>.bb-business-footer{justify-content:center;border:0;padding:10px 0 0}.seat-preview-card .bb-business-footer .bb-footer-actions{display:none}.seat-preview-card .bb-seat-ghost{pointer-events:none}.bb-modal-frame:has(.bb-score-editor){height:min(760px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);display:flex;flex-direction:column}.bb-modal-frame:has(.bb-score-editor) .bb-modal-body{display:flex;flex:1;min-height:0;overflow:hidden;padding:0 20px 16px}.bb-score-editor{height:100%;min-height:0;display:flex;flex-direction:column}.bb-score-editor .bb-score-scroll{max-height:none;flex:1;min-height:0;overflow:auto}.bb-score-editor>.bb-business-footer{flex:none;gap:10px;margin-top:auto;padding-top:12px}.bb-score-editor>.bb-business-footer>small{white-space:nowrap}@media(max-width:1050px){.exam-heading-row{flex-wrap:wrap}.exam-toolbar{width:100%;margin:0}.exam-toolbar>.bb-search{flex:1}.exam-analysis-charts{grid-template-columns:1fr}.seat-preview-card{padding:12px}.seat-preview-card .bb-seat-grid{grid-auto-rows:48px}.seat-preview-card .bb-seat-grid .bb-student{min-height:48px;font-size:12px}}.seat-preview-card{overflow:hidden}.seat-preview-card .bb-seat-grid{grid-template-rows:repeat(7,minmax(54px,1fr));grid-auto-rows:auto}.finance-page{height:100%;min-height:0;gap:10px!important}.finance-heading{min-height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;flex:none}.finance-heading h1{font-size:20px;margin:0;color:#352116}.finance-search{display:flex;align-items:center;gap:12px;width:min(40vw,700px)}.finance-search .bb-search{flex:1;background:#fff;border-radius:999px;height:40px}.finance-search .bb-button{height:40px;min-width:88px}.finance-summary-card{flex:none;min-height:165px;padding:16px 20px 24px}.finance-summary-card>header{padding:0;border:0;margin:0 0 24px;min-height:24px;gap:10px}.finance-summary-card>header>div{display:flex;align-items:center;gap:10px}.finance-summary-card>header h3{font-size:15px}.finance-summary-card>header p{margin:0;font-size:12px}.finance-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.finance-stat{display:grid;gap:8px;text-align:center;padding:4px}.finance-stat small{font-size:12px;color:#777}.finance-stat strong{display:flex;align-items:baseline;justify-content:center;gap:8px;font-size:32px;font-weight:400;color:#352116;font-variant-numeric:tabular-nums;white-space:nowrap}.finance-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;flex:1;min-height:0}.finance-panel{min-width:0;min-height:0;display:flex;flex-direction:column;padding:12px 10px 8px}.finance-panel>header{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 8px 8px;margin:0;flex:none}.finance-panel>header>div:first-child{display:flex;align-items:center;gap:10px;min-width:0}.finance-panel>header h3{white-space:nowrap;font-size:15px}.finance-panel>header p{white-space:nowrap;font-size:12px;margin:0}.finance-panel>header>.finance-actions{margin-left:auto}.finance-panel>header>div:last-child{margin-left:auto}.finance-panel .bb-check{font-size:12px;white-space:nowrap}.finance-panel .bb-button{white-space:nowrap}.finance-table{display:flex;flex:1;min-height:0;flex-direction:column}.finance-table-head,.finance-row{display:grid;grid-template-columns:minmax(90px,112px) minmax(120px,1fr) minmax(90px,120px) 60px;align-items:center;gap:10px}.finance-table-head{height:40px;padding:0 14px;color:#555;font-size:12px;flex:none}.finance-list{flex:1;min-height:0;overflow:auto;scrollbar-width:thin}.finance-row{min-height:50px;padding:0 12px;margin-bottom:8px;border-radius:14px;background:#f9f9f9}.finance-row strong{font-weight:600;text-align:left;white-space:nowrap;color:#e5484d}.finance-row strong.income{color:#38c996}.finance-row b{font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-row time{font-size:12px;color:#888;white-space:nowrap}.finance-row-actions{display:flex;justify-content:center;gap:2px}.finance-row-actions .bb-icon-button{width:26px;height:26px;min-width:26px;padding:6px;background:#fff;border-radius:50%}.finance-table>.bb-pagination{flex:none;justify-content:flex-end;padding:4px 8px 0}.finance-panel .bb-empty{padding:12px}@media(max-width:1150px){.finance-panels{grid-template-columns:1fr;overflow:auto}.finance-panel{min-height:360px}.finance-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.finance-stat strong{font-size:22px}}.record-feature{height:100%;min-height:0;gap:10px!important}.record-heading{min-height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;flex:none}.record-heading h1{font-size:20px;margin:0;color:#352116}.record-toolbar{display:flex;align-items:center;gap:12px;width:min(52vw,820px)}.record-toolbar .bb-search{height:40px;flex:1;background:#fff;border-radius:999px}.record-toolbar .bb-button{height:40px;min-width:88px;border-radius:999px}.record-list-card{flex:1;min-height:0;display:flex;flex-direction:column;background:#fff;border-radius:20px;padding:10px}.record-list-head{height:38px;flex:none;display:grid;grid-template-columns:minmax(0,1fr) 230px 80px;align-items:center;padding:0 16px;font-size:12px;color:#555}.record-list-head span:last-child{text-align:center}.record-list{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;align-content:start}.record-row{display:grid;grid-template-columns:minmax(0,1fr) 230px 80px;align-items:center;gap:16px;height:74px;min-height:74px;margin-bottom:8px;padding:8px 16px;border-radius:14px;background:#f9f9f9}.record-row-open{display:grid;gap:8px;min-width:0;text-align:left}.record-row-open b{font-size:14px;font-weight:600;color:#352116}.record-row-open span{font-size:12px;color:#777;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-row time{font-size:12px;color:#888}.record-row-actions{display:flex;justify-content:center;gap:2px}.record-row-actions .bb-icon-button{width:28px;height:28px;min-width:28px;padding:6px;border-radius:50%;background:#fff}.record-feature>.bb-pagination{justify-content:flex-end;flex:none;padding-right:12px}.bb-modal-frame:has(.record-edit-form){height:min(640px,calc(100dvh - 32px))}.bb-modal-frame:has(.record-edit-form) .bb-modal-body{display:flex;flex:1;min-height:0;padding:20px 20px 16px}.record-edit-form{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;gap:10px}.record-edit-form>.bb-field{flex:0 0 auto;min-height:50px;gap:0;margin:0}.record-edit-form>.bb-field>small[role=alert]{flex:none;margin-top:6px;padding-inline:16px;line-height:1.5;overflow-wrap:anywhere}.record-edit-form>.bb-field>span:empty{display:none}.record-edit-form>.bb-field>input,.record-edit-form .bb-picker-input{height:50px;min-height:50px;width:100%;border-radius:999px;background:#f9f9f9}.record-edit-form>.bb-field>input{padding:0 20px;border:1px solid var(--bb-border)}.record-edit-form .bb-picker-input>input{height:100%;border:0;background:transparent}.record-edit-form .bb-picker-input>button{right:12px}.record-edit-form .bb-voice-editor{display:flex;flex-direction:column;flex:1;min-height:200px;height:auto;width:100%;max-width:none;margin:0;padding:6px;border:1px solid var(--bb-border);border-radius:14px;background:#f9f9f9}.record-edit-form .bb-voice-editor textarea{flex:1;min-height:0;padding:14px 14px 0;border:0;background:transparent;resize:none}.record-edit-form .bb-voice-tools{flex:none;margin-top:auto;padding:0;gap:8px}.record-edit-form .bb-voice-tools>button,.record-edit-form .bb-voice-upload{height:38px;border-style:dashed;border-radius:10px}.record-edit-form .bb-voice-upload>.bb-icon{width:12px;height:12px}.bb-modal-frame:has(.record-edit-form)>footer{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px;padding:0 20px 16px}.bb-modal-frame:has(.record-edit-form)>footer>.bb-button{height:44px;min-height:44px;padding:0 12px}.bb-modal-frame:has(.record-edit-form)>footer>.bb-button.quiet{background:#b9b9b9;color:#fff}.record-detail{max-height:65dvh;overflow:auto}.record-detail header{display:flex;align-items:center;gap:16px;margin-bottom:12px}.record-detail header b{font-size:16px}.record-detail time{font-size:12px;color:#888}.record-detail p{white-space:pre-wrap;line-height:1.8;color:#777}.record-attachments{display:flex;flex-wrap:wrap;gap:8px;max-height:92px;overflow:auto}.record-attachment{position:relative;width:76px;height:76px;border-radius:8px;overflow:hidden;background:#f1f1f1}.record-attachment img{width:100%;height:100%;object-fit:cover}.record-attachment button{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background:#333b;color:#fff;line-height:20px}.record-detail-attachments{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.record-detail-attachments img{max-width:min(100%,300px);max-height:280px;object-fit:contain;border-radius:10px}.email-change-flow{display:grid;gap:12px;padding:2px 0}.email-change-flow>b{font-size:14px;font-weight:600;color:#352116}.email-change-flow>p{margin:0 0 4px;color:#888;font-size:13px}.email-change-flow .bb-field{gap:0}.email-change-flow .bb-field>span:empty{display:none}.email-change-flow .bb-field>input{height:50px;border:0;border-radius:999px;background:#f8f8f8;padding-inline:16px}.email-code-line{height:50px;display:flex;align-items:center;gap:0;border-radius:999px;background:#f8f8f8;padding:0 14px}.email-code-line .bb-field{flex:1;min-width:0}.email-code-line .bb-field>input{height:48px;padding-inline:4px;background:transparent}.email-code-line>button{flex:none;color:#352116;font-size:13px}.email-code-line>button:disabled{color:#aaa}.email-change-flow>small{color:#d34b4b}@media(max-width:800px){.record-list-head,.record-row{grid-template-columns:minmax(0,1fr) 110px 64px;gap:8px;padding-left:8px;padding-right:8px}.record-row{min-height:66px}.record-row time{font-size:11px}}.message-feature{height:100%;min-height:0;gap:12px!important}.message-feature>h1{font-size:20px;margin:4px 12px 0;color:#352116}.message-list{flex:1;min-height:0;overflow:auto;background:#fff;border-radius:20px;padding:10px;scrollbar-width:thin}.message-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 60px;align-items:center;gap:16px;width:100%;min-height:76px;margin-bottom:8px;padding:10px 20px;border-radius:14px;background:#f9f9f9;text-align:left}.message-copy{min-width:0;display:grid;gap:8px}.message-copy b{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-copy>span{font-size:12px;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-row time{font-size:12px;color:#888}.message-state{font-size:12px;text-align:right;color:#999}.message-row.unread .message-state{color:#1e8bfa}.message-row.read .message-copy b,.message-row.read .message-copy>span{color:#aaa}.message-row.unread .message-copy b{color:#352116}.message-row.unread .message-copy>span{color:#777}.message-detail{min-height:180px;max-height:60dvh;overflow:auto}.message-detail time{font-size:12px;color:#888}.message-detail p{margin-top:20px;line-height:1.8;white-space:pre-wrap}.message-detail{padding-right:6px;scrollbar-width:thin;overscroll-behavior:contain;overflow-wrap:anywhere}.message-detail h3{margin-top:24px;font-size:15px;line-height:1.6;font-weight:600;color:#352116}.message-detail h3+p{margin-top:8px}.message-detail p{color:#777}.message-image{display:block;width:100%;height:auto;border-radius:14px;margin-top:18px}.message-image-fallback{margin-top:18px;padding:24px;background:#f5f5f5;border-radius:14px;color:#888;text-align:center}.article-content{font-size:14px;line-height:1.8;color:#777;overflow-wrap:anywhere;white-space:pre-wrap}.article-content p{margin:20px 0 0;line-height:1.8;color:#777}.article-content h2{margin:24px 0 0;font-size:17px;line-height:1.6;font-weight:600;color:#352116}.article-content h3{margin:24px 0 0;font-size:15px;line-height:1.6;font-weight:600;color:#352116}.article-content h2+p,.article-content h3+p{margin-top:8px}.article-content ul,.article-content ol{margin:16px 0 0;padding-left:24px;list-style-position:outside}.article-content ul{list-style-type:disc}.article-content ol{list-style-type:decimal}.article-content li{margin:6px 0}.article-content li>p{margin:0}.article-content blockquote{margin:20px 0 0;padding-left:14px;border-left:3px solid #ddd}.article-content img{display:block;width:100%;height:auto;border-radius:14px;margin-top:18px}.article-image-open{display:block;width:100%;padding:0;margin-top:18px;cursor:zoom-in;text-align:left}.article-image-open .message-image{margin:0}.article-content a[data-record-attachment],.article-attachment a{display:block;padding:12px 14px;border-radius:10px;background:#f3f7fb;color:var(--bb-link);text-decoration:underline;overflow-wrap:anywhere}.record-rich-editor{display:flex;flex-direction:column;flex:1;min-height:0;border:1px solid var(--bb-border);border-radius:14px;background:#f9f9f9;overflow:hidden}.record-format-tools{display:flex;flex-wrap:wrap;gap:4px;padding:8px;flex:none}.record-format-tools button{padding:4px 8px;min-height:30px;border-radius:6px;font-size:12px;color:#777}.record-format-tools button:hover:not(:disabled){background:#eee;color:#352116}.record-format-tools button[aria-pressed=true]{background:#fff0b5;color:#352116}.record-format-tools button:disabled{opacity:.4;cursor:default}.record-editor-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.record-editable{min-height:100%;outline:none;padding:6px 16px 20px}.record-editable>:first-child{margin-top:0}.record-editable:has(>p:only-child>br:only-child):before{content:attr(data-placeholder);position:absolute;color:#aaa;pointer-events:none}.record-editable .ProseMirror-selectednode{outline:2px solid var(--bb-blue);outline-offset:2px}.record-editable img{cursor:zoom-in}.record-file-tools{flex:none;display:flex;padding:8px!important;gap:8px;margin:0!important}.record-file-tools .bb-voice-upload{flex:1;justify-content:center}.record-editor-error{flex:none;padding:4px 8px;font-size:12px;line-height:1.5;color:#c43d3d}.record-voice-status{display:flex;align-items:center;gap:6px;flex:none;margin:0;padding:0 8px 8px;color:#777;font-size:12px;line-height:1.5}.record-voice-dot{width:6px;height:6px;border-radius:50%;background:var(--bb-blue);flex:none}.record-voice-dot.is-listening{background:var(--bb-red);animation:record-voice-pulse 1.2s ease-in-out infinite}.record-speech-preview{white-space:pre-wrap;color:var(--bb-ink)}.record-file-tools button:disabled{opacity:.45;cursor:default}@keyframes record-voice-pulse{50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.record-voice-dot.is-listening{animation:none}}.support-fullscreen{position:fixed;inset:0;z-index:1000;overflow:auto;background:#faf9f8;color:#352116}.support-close{position:fixed!important;z-index:2;right:5.5vw;top:5.5vh;width:37px!important;height:37px!important;min-width:37px!important;border:0!important;border-radius:0!important;background:transparent!important;padding:0!important}.support-close .bb-icon{width:37px;height:37px}.support-center{width:min(748px,calc(100% - 32px));margin:14vh auto 48px;text-align:center}.support-center h1{font-size:22px;font-weight:600;margin:0 0 12px}.support-subtitle{font-size:13px;color:#888;margin:0 0 38px}.support-center .bb-accordion{text-align:left;display:grid;gap:10px}.support-center .bb-accordion .bb-accordion-item{border:0;border-radius:20px;background:#fff;padding:0 20px}.support-center .bb-accordion .bb-accordion-trigger{min-height:50px;border:0;font-size:13px;font-weight:600}.support-center .bb-accordion .bb-accordion-item[data-open=true] .bb-accordion-trigger{border-bottom:1px solid #eee}.support-center .bb-accordion .bb-accordion-content{padding:12px 0;font-size:12px;line-height:1.8;color:#777}.support-feedback-trigger{margin-top:24px}.support-feedback{display:grid;gap:10px}.support-feedback>b{font-size:14px}.support-feedback>p{font-size:12px;color:#888;margin:0}.support-feedback .bb-field textarea{height:280px;border:0;background:#f9f9f9;border-radius:14px;resize:none}.support-feedback>.bb-voice-upload{height:38px;border-style:dashed}.legal-center{margin-top:14vh}.legal-content{height:min(60vh,650px);overflow:auto;background:#fff;border-radius:20px;padding:24px;text-align:left;color:#777;line-height:1.8;white-space:pre-wrap}@media(max-width:700px){.message-row{grid-template-columns:minmax(0,1fr) 88px 40px;gap:8px;padding:8px}.message-copy b{font-size:12px}.support-center{margin-top:10vh}.support-close{right:16px;top:16px}}.support-center,.legal-center{margin-top:10.5vh}.account-subpage{position:fixed;inset:0;z-index:90;min-height:100dvh;overflow:hidden;background:#faf9f8}.account-settings{position:fixed;inset:0;z-index:100;background:#faf9f8;overflow:auto;color:#352116}.account-settings-inner{width:min(424px,calc(100% - 32px));min-height:100%;margin:0 auto;padding:9vh 0 32px;display:flex;flex-direction:column;align-items:stretch;gap:12px}.account-avatar{position:relative;align-self:center;width:96px;height:96px;border-radius:50%;margin-bottom:4px;overflow:visible;background:transparent}.account-avatar-image{position:absolute;inset:0;overflow:hidden;border-radius:50%;background:#fff}.account-avatar-image>img,.account-avatar-image>.bb-logo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}.account-avatar>input{position:absolute;inset:0;opacity:0;z-index:2;cursor:pointer;border-radius:50%}.account-avatar>.account-avatar-edit{position:absolute;right:-3px;bottom:1px;z-index:3;width:24px;height:24px;display:grid;place-items:center;border:2px solid #faf9f8;border-radius:50%;background:#fff;color:#333;pointer-events:none}.account-avatar>.account-avatar-edit{inset:0;width:auto;height:auto;display:grid;place-items:center;border:0;border-radius:50%;background:#0000006b;color:#fff;opacity:0;transform:none;transition:opacity .14s ease;z-index:3}.account-avatar:hover>.account-avatar-edit,.account-avatar:focus-visible>.account-avatar-edit{opacity:1;transform:scale(1)}.account-avatar-edit:before{position:relative;width:19px;height:14px;border-radius:3px;background:#fff;content:""}.account-avatar-edit:after{position:absolute;top:50%;left:50%;width:7px;height:7px;border:2px solid rgba(0,0,0,.56);border-radius:50%;background:transparent;content:"";transform:translate(-50%,-42%);box-shadow:0 -8px 0 -2px #fff}.account-avatar>input{z-index:4}.account-name{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px;min-height:28px}.account-name b{font-size:16px}.account-name .bb-icon-button{width:24px;height:24px;min-width:24px;padding:4px;color:var(--bb-blue)}.account-name .bb-field{width:240px}.account-row{height:58px;width:100%;display:flex;align-items:center;gap:10px;padding:0 24px;border:1px solid #eee;border-radius:999px;background:#fff;font-size:13px}.email-row{margin-bottom:0}.email-row>span{flex:1}.email-row small{color:#777;font-size:12px}.email-row button{color:var(--bb-blue)}.password-row{justify-content:center;margin-bottom:20px}.password-row .bb-icon{filter:grayscale(1);opacity:.6}.account-selects{display:grid;gap:12px;margin-top:8px}.account-selects .bb-field>.bb-popover-anchor{height:58px}.account-selects .bb-select-trigger{height:58px;border-radius:999px;padding:0 24px;background:#fff}.account-selects .bb-field>span:empty{display:none}.account-subjects{margin-top:2px;border:1px solid #eee;border-radius:20px;background:#fff;padding:16px 22px 22px}.account-subjects>header{height:30px;display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-size:13px}.account-subjects>header .bb-icon-button{width:22px;height:22px;min-width:22px;border-radius:50%;background:var(--bb-blue);color:#fff;padding:4px}.account-subject-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.account-subject-tag{position:relative;display:flex;align-items:center;justify-content:center;min-height:36px;padding:0 10px;border:1px dashed #bbb;border-radius:999px;background:#fafafa;color:#777;font-size:12px;white-space:nowrap}.account-subject-tag button{position:absolute;right:-4px;top:-5px;width:16px;height:16px;border-radius:50%;background:#bbb;color:#fff;font-size:13px;line-height:14px}.account-settings .bb-subjects{width:100%;max-width:none;padding:16px 22px 22px;border:1px solid #eee;border-radius:20px;background:#fff}.account-settings .bb-subjects>header{min-height:30px;margin-bottom:14px;font-size:13px}.account-settings .bb-subjects>header>b{font-weight:500}.account-settings .bb-subjects>header .bb-icon-button{display:grid;place-items:center;width:22px;height:22px;min-width:22px;padding:0;border-radius:50%;background:#2189ed;color:#fff}.account-settings .bb-subjects>header .bb-icon-button .bb-icon{width:12px;height:12px}.account-settings .bb-subject-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.account-settings .bb-subject-tag{min-height:38px;padding:10px 4px;border-radius:999px;font-size:12px}.account-settings .bb-subject-tag>button{right:-4px;top:-5px;width:16px;height:16px}.account-settings .account-save,.account-settings .account-logout{align-self:center;width:204px;height:44px;border-radius:999px;margin-top:6px}.account-settings .account-logout{background:#fff0f0;color:#f44;border:1px solid #f44}.account-settings .account-logout:hover{background:#ffe8e8}@media(max-height:760px){.account-settings-inner{padding-top:28px;gap:8px}.account-avatar{width:72px;height:72px}.account-row,.account-selects .bb-field>.bb-popover-anchor,.account-selects .bb-select-trigger{height:48px}.account-subjects{padding:12px 18px}.account-subject-grid{gap:6px}}.lock-overlay,.lock-screen{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;overflow:hidden;padding:24px;background:#1c1b1a8f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff}.lock-overlay,.lock-screen{isolation:isolate;background:#f5f5f5;-webkit-backdrop-filter:none;backdrop-filter:none}.lock-overlay:before,.lock-screen:before{content:"";position:absolute;inset:-16px;z-index:-2;background:url(/lock-todos-demo.png) left top/cover no-repeat;filter:blur(8px);pointer-events:none}.lock-overlay:after,.lock-screen:after{content:"";position:absolute;inset:0;z-index:-1;background:#1c1b1a8f;pointer-events:none}.lock-overlay-card,.lock-screen .lock-card{width:min(460px,calc(100vw - 32px));display:flex;flex-direction:column;align-items:center;gap:12px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;text-align:center;color:#fff}.lock-illustration{width:180px;height:140px;object-fit:contain;margin-bottom:4px}.lock-overlay-card h1,.lock-screen .lock-card h1{font-size:22px;line-height:1.3;font-weight:700;color:#fff;letter-spacing:0}.lock-overlay-card>p,.lock-screen .lock-card>p{max-width:440px;margin:0 0 20px;color:#fff;font-size:13px;line-height:1.7}.lock-input-wrap,.lock-screen .lock-card>.bb-field,.lock-code-row{position:relative;width:min(234px,100%);height:54px;flex:none}.lock-input-wrap>.bb-field,.lock-code-row>.bb-field{width:100%;height:100%;gap:0}.lock-screen .lock-card>.bb-field{height:54px}.lock-overlay-card .bb-field>span:empty,.lock-screen .lock-card .bb-field>span:empty{display:none}.lock-overlay-card .bb-field input,.lock-screen .lock-card .bb-field input{height:54px;padding:0 48px 0 20px;border:0;border-radius:999px;background:#fafafa;color:#352116;box-shadow:none}.lock-overlay-card .bb-field input:focus,.lock-screen .lock-card .bb-field input:focus{outline:2px solid var(--bb-blue);outline-offset:1px}.lock-overlay-card .bb-field input::placeholder,.lock-screen .lock-card .bb-field input::placeholder{color:#aaa}.lock-input-wrap>.bb-icon-button{position:absolute;top:9px;right:6px;width:36px;height:36px;min-width:36px;padding:9px;border:0;border-radius:50%;background:transparent;color:#aaa}.lock-input-wrap>.bb-icon-button:hover{background:#eee}.lock-overlay-card>.bb-button,.lock-screen .lock-card>.bb-button{width:min(234px,100%);height:44px;min-height:44px;margin-top:24px;border:0;border-radius:999px;background:#ffd246;color:#352116;font-size:14px;font-weight:600}.lock-overlay-card>.bb-button:hover,.lock-screen .lock-card>.bb-button:hover{background:#f5bf21}.lock-code-row{display:flex;align-items:center;gap:0;border-radius:999px;background:#fafafa;overflow:hidden}.lock-code-row>.bb-field{flex:1;min-width:0}.lock-code-row>.bb-field input{padding-right:8px}.lock-code-row>button{height:100%;padding:0 12px;background:transparent;color:#352116;font-size:12px;white-space:nowrap}.lock-code-row>button:disabled{color:#999}.lock-screen .lock-card>.lock-back{margin-top:0;color:#fff;font-size:13px}.lock-error{max-width:100%;margin:0!important;color:red!important;font-size:12px!important}.account-select-row{position:relative;height:58px;display:flex;align-items:center}.account-select-row>span{position:absolute;left:24px;z-index:1;font-size:13px;pointer-events:none}.account-select-row .bb-field{width:100%;height:100%;gap:0}.account-select-row .bb-field>span{display:none}.account-select-row .bb-select{height:58px;width:100%;border-radius:999px;background:#fff;padding-left:140px;padding-right:24px}.account-select-row:nth-child(2) .bb-select{padding-left:140px}.account-subject-tag{min-height:32px}.account-subject-grid{gap:8px}.account-settings-inner{padding-bottom:24px;gap:10px}.account-settings{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.message-row>.message-copy{grid-column:1}.message-row>.message-state{grid-column:auto;color:#999}.message-row>.message-copy>span{grid-column:auto;color:#777}.membership-page{padding:0 24px 42px}.membership-page>header{text-align:center;margin:19vh auto 42px}.membership-page>header h1{font-size:24px;font-weight:600;margin:0 0 10px}.membership-page>header>p{font-size:13px;color:#888;margin:0 0 20px}.membership-account{height:40px;width:min(340px,90%);margin:auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:999px;font-size:13px}.membership-account small{font-size:12px;color:#888}.membership-plans{width:min(1012px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.membership-plan{min-height:440px;padding:30px 36px;background:#fff;border:1px solid #eee;border-radius:24px}.membership-plan.month{background:linear-gradient(145deg,#fff,#f2faeb 42%,#fff 80%)}.membership-plan.season{background:linear-gradient(145deg,#fff,#eef7ff 42%,#fff 80%)}.membership-plan.year{background:linear-gradient(145deg,#fff,#fff1e9 42%,#fff 80%)}.membership-price{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.membership-price>span{font-size:14px}.membership-price>strong{font-size:38px;font-weight:500}.membership-price>small{font-size:13px;color:#777}.membership-price>del{margin-left:auto;font-size:12px;color:#888}.membership-plan>p{margin:8px 0 28px;font-size:13px;color:#777}.membership-plan>.bb-button{width:100%;height:44px;border-radius:999px}.membership-plan ul{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:10px;color:#777;font-size:12px}.membership-plan li{display:flex;align-items:center;gap:8px}.membership-plan li i{font-style:normal;color:#38c996;font-weight:700}.payment-layer{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;background:#0008;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.payment-card{position:relative;width:min(728px,calc(100vw - 32px));min-height:320px;padding:24px 28px;background:#fff;border-radius:20px}.payment-card>.bb-icon-button{position:absolute;top:12px;right:12px;width:32px;height:32px;min-width:32px}.payment-card>b{font-size:16px}.payment-content{display:grid;grid-template-columns:200px 1fr;gap:36px;margin-top:24px;align-items:start}.payment-qrcode{width:200px;height:200px;background:#f5f5f5;border-radius:14px}.payment-content p{font-size:14px;color:#555;line-height:1.8;margin:0 0 12px}.payment-content strong{color:var(--bb-blue);font-weight:500}.payment-content hr{border:0;border-top:1px solid #eee;margin:12px 0}.payment-card>small{display:block;margin:12px 0 0 42px;text-align:left;color:#999;font-size:12px}@media(max-width:850px){.membership-page{overflow:auto}.membership-page>header{margin-top:80px}.membership-plans{grid-template-columns:1fr;max-width:360px}.membership-plan{min-height:0;padding:24px}.payment-content{grid-template-columns:1fr;justify-items:center}.payment-content>div:last-child{text-align:center}.payment-card>small{text-align:center;margin:10px 0}}.todo-editor{display:grid;gap:10px}.todo-editor>b{font-size:13px;font-weight:500}.todo-editor>.bb-segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.todo-editor>.bb-segmented button{height:36px;border-radius:999px;background:#f5f5f5;color:#777}.todo-editor>.bb-field>.bb-popover-anchor{width:100%}.todo-editor .bb-picker-input input,.todo-editor>.bb-field>input{height:44px;border:0;background:#f9f9f9}.todo-editor .bb-picker-input>button{right:4px}.todo-content{display:block;height:300px}.todo-content textarea{width:100%;height:100%;padding:16px;border:0;outline:none;resize:none;border-radius:14px;background:#f9f9f9;font:inherit;font-size:13px}.todo-content textarea:focus{box-shadow:inset 0 0 0 1px var(--bb-blue)}.bb-modal-frame:has(.todo-editor){height:min(604px,calc(100dvh - 32px));max-height:calc(100dvh - 32px)}.bb-modal-frame:has(.todo-editor) .bb-modal-body{display:flex;flex:1;min-height:0}.todo-editor{flex:1;min-height:0}.todo-page{height:100%;min-height:0;gap:10px!important}.todo-page>.todo-columns{flex:1;min-height:0}.todo-columns>.todo-table-card{height:100%;min-height:0;display:flex;flex-direction:column}.todo-table-card>.todo-table-head,.todo-table-card>.todo-table-pagination{flex:none}.todo-table-card>.todo-table-rows{flex:1;min-height:0;overflow:auto;align-content:start;scrollbar-width:thin}.todo-overdue{display:inline-flex;vertical-align:2px;margin-left:10px;padding:2px 8px;border-radius:999px;background:#ffe9e8;color:#df4b47;font-size:11px;font-weight:400;line-height:1.4}.todo-table-card .todo-row>.bb-tag{justify-self:center;min-width:42px;justify-content:center;background:#fff;border-width:1px}.todo-table-card .todo-row>.bb-tag.red{color:#f1443e;border-color:#ff4c46}.todo-table-card .todo-row>.bb-tag.blue{color:#238af0;border-color:#238af0}.todo-table-card .todo-row>.bb-tag.green{color:#11b981;border-color:#11b981}.schedule-preview-head b{display:block;text-align:center}@media(min-width:1300px){.teacher-app .bb-exam-table{min-width:0;table-layout:fixed}.teacher-app .bb-exam-table th:first-child,.teacher-app .bb-exam-table td:first-child{width:190px}.teacher-app .bb-exam-table th:last-child,.teacher-app .bb-exam-table td:last-child{width:120px}.teacher-app .bb-exam-table th:not(:first-child):not(:last-child),.teacher-app .bb-exam-table td:not(:first-child):not(:last-child){padding-inline:3px}}.support-fullscreen{overflow:hidden}.support-center{height:calc(100dvh - 12vh);max-height:calc(100dvh - 12vh);overflow-y:auto;scrollbar-width:thin;padding-bottom:24px;box-sizing:border-box}@media(max-height:950px){.bb-modal-frame:has(.bb-schedule) .bb-schedule-row{margin-bottom:4px}.bb-modal-frame:has(.bb-schedule) .bb-course-input{height:56px}.bb-modal-frame:has(.bb-schedule) .bb-schedule-time{height:56px;grid-template-rows:26px 26px;gap:2px}.bb-modal-frame:has(.bb-schedule) .bb-schedule-time>input,.bb-modal-frame:has(.bb-schedule) .bb-schedule-time>div{height:26px;min-height:26px}.bb-modal-frame:has(.bb-schedule) .bb-schedule-time .bb-picker-input input{height:24px}.bb-modal-frame:has(.bb-schedule) .bb-schedule-row.break{height:28px;min-height:28px;margin-bottom:4px}.bb-modal-frame:has(.bb-schedule) .bb-schedule-row.break .bb-break-label{height:28px;min-height:28px}}.account-avatar-image>.bb-logo{width:145%;height:145%;inset:-42% auto auto -22.5%;max-width:none;border-radius:0}.account-select-row .bb-select{justify-content:flex-end}.todo-calendar-layout{display:flex;flex:1;min-height:0}.todo-calendar-card{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden;padding:12px;border-radius:22px;background:#f7f7f6}.todo-calendar-card>.bb-calendar{height:100%}.todo-calendar-popover{position:absolute;z-index:20;left:50%;top:18%;transform:translate(-50%);width:min(400px,calc(100% - 28px));max-height:64%;overflow:auto;padding:8px;background:#fff;border:1px solid #eee;border-radius:20px;box-shadow:0 16px 48px #0002;scrollbar-width:thin}.todo-calendar-event{display:grid;grid-template-columns:minmax(0,1fr) auto 28px 28px;align-items:center;gap:6px;margin:4px;padding:10px 8px 10px 12px;border-radius:12px;background:#f7f7f6}.todo-calendar-event>div{min-width:0;display:grid;gap:4px}.todo-calendar-event>div b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500}.todo-calendar-event>div p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;color:#888;font-size:11px}.todo-calendar-event>.bb-tag{font-size:11px}.todo-calendar-event>.bb-icon-button{width:28px;height:28px;min-width:28px;padding:6px}.auth-screen{grid-template-columns:minmax(0,60fr) minmax(0,40fr);background:#fff}.auth-art{background:#168bf2}.auth-panel{min-width:0;display:grid;place-items:center;padding:32px 24px;overflow-y:auto;scrollbar-width:thin}.auth-card{width:min(100%,340px);display:flex;flex-direction:column;gap:0}.auth-heading h1{margin:0;font-size:30px;line-height:1.35;font-weight:650;color:#352116}.auth-heading p{margin:4px 0 0;color:#888;font-size:13px;line-height:1.6}.auth-card-login .auth-heading{margin-bottom:54px}.auth-card-register .auth-progress{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:38px}.auth-progress i{height:4px;background:#eee;border-radius:0}.auth-progress i.active{background:#ffd33d}.auth-card-register .auth-heading{margin-bottom:40px}.auth-section-title{margin:0 0 16px;font-size:15px;font-weight:600;color:#352116}.auth-form{display:grid;gap:18px;min-width:0}.auth-input-wrap{position:relative;min-width:0}.auth-input-wrap>.bb-icon{position:absolute;z-index:1;left:17px;top:50%;width:18px;height:18px;transform:translateY(-50%);opacity:.62;filter:grayscale(1)}.auth-input-wrap>.bb-field{display:block;width:100%;gap:0}.auth-input-wrap>.bb-field>span{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-input-wrap>.bb-field>input{height:52px;padding:0 18px;border:1px solid transparent;border-radius:999px;background:#f7f7f7;color:#352116;font-size:13px;box-shadow:none}.auth-input-wrap.has-icon>.bb-field>input{padding-left:48px}.auth-input-wrap>.bb-field>input::placeholder{color:#aaa}.auth-input-wrap>.bb-field>input:focus{border-color:#ddd;background:#fafafa;box-shadow:none}.auth-code-action.bb-button{position:absolute;z-index:2;right:12px;top:6px;height:40px;min-height:40px;padding:0 8px;background:transparent;color:#352116;font-size:12px;font-weight:400}.auth-code-action.bb-button:hover{background:#eee}.auth-personal-form{gap:12px}.auth-card-register .auth-submit{height:50px;margin-top:72px}.auth-card-login .auth-login-form{gap:20px}.auth-card-login .auth-submit{height:52px;margin-top:72px}.auth-submit.bb-button{width:100%;border-radius:999px;font-size:14px;font-weight:600}.auth-bottom-link{display:flex;justify-content:center;align-items:center;gap:4px;margin-top:24px;color:#888;font-size:12px}.auth-bottom-link button,.auth-form-footer button{color:var(--bb-link);font-size:12px}.auth-methods{display:flex;flex-direction:column;align-items:center;gap:22px;margin-top:72px}.auth-method-item{display:grid;justify-items:center;gap:8px;color:#888;font-size:12px}.auth-method-item .bb-icon-button{width:52px;height:52px;min-width:52px;padding:15px;border-radius:50%;background:#f7f7f7;color:#aaa}.auth-method-item .bb-icon-button:hover{background:#eee}.auth-method-item .bb-icon-button .bb-icon{width:22px;height:22px;filter:grayscale(1);opacity:.65}.auth-class-form{gap:24px}.auth-stage{display:grid;gap:14px}.auth-stage>b{font-size:14px;font-weight:500}.auth-stage .bb-segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;background:transparent}.auth-stage .bb-segmented button{height:36px;min-height:36px;padding:0 12px;border-radius:999px;background:#f5f5f5;color:#888;font-size:13px}.auth-stage .bb-segmented button.selected{background:#ffd33d;color:#352116;box-shadow:none;font-weight:600}.auth-class-form>.bb-field{display:grid;gap:14px}.auth-class-form>.bb-field>span{font-size:14px;font-weight:500}.auth-class-form .bb-select{height:52px;border:0;background:#f7f7f7;border-radius:999px;padding:0 18px;font-size:13px}.auth-class-form .bb-subjects{max-width:none;gap:14px}.auth-class-form .bb-subjects>header{min-height:22px;font-size:14px}.auth-class-form .bb-subjects>header .bb-icon-button{width:22px;height:22px;min-width:22px;padding:4px;border-radius:50%;background:#2189ed;color:#fff}.auth-class-form .bb-subjects>header .bb-icon-button:hover{background:#1474d5}.auth-class-form .bb-subject-grid{gap:10px}.auth-class-form .bb-subject-tag{min-height:38px;padding:10px 4px;border-radius:999px;font-size:12px}.auth-card-register:has(.auth-class-form) .auth-submit{margin-top:52px}.auth-form-footer{display:flex;align-items:center;justify-content:space-between;margin-top:24px;color:#888;font-size:12px}.auth-form-footer>div{display:flex;align-items:center;gap:4px}.auth-card-register:has(.auth-class-form) .auth-progress{margin-bottom:30px}.auth-card-register:has(.auth-class-form) .auth-heading{margin-bottom:34px}@media(max-height:820px){.auth-panel{padding-block:20px}.auth-card-login .auth-heading{margin-bottom:32px}.auth-card-login .auth-submit{margin-top:44px}.auth-methods{margin-top:40px}.auth-card-register .auth-progress{margin-bottom:22px}.auth-card-register .auth-heading{margin-bottom:24px}.auth-card-register .auth-submit{margin-top:30px}.auth-card-register:has(.auth-class-form) .auth-progress{margin-bottom:18px}.auth-card-register:has(.auth-class-form) .auth-heading{margin-bottom:20px}.auth-class-form{gap:16px}}@media(max-width:900px){.auth-screen{grid-template-columns:minmax(0,60fr) minmax(0,40fr)}.auth-art{display:block}.auth-panel{padding:24px 16px}.auth-card{width:min(100%,340px)}}@media(max-width:680px){.auth-screen{grid-template-columns:1fr}.auth-art{display:none}.auth-panel{padding:24px}}.auth-art{background:var(--bb-blue)}.auth-method-item .bb-icon-button{width:54px;height:54px;min-width:54px;padding:0;background:transparent;border-radius:50%}.auth-method-item .bb-icon-button:hover{background:transparent;transform:translateY(-1px)}.auth-method-item .bb-icon-button .bb-icon{width:54px;height:54px;filter:none;opacity:1}.auth-class-form .bb-subjects>header .bb-icon-button{display:grid;place-items:center;padding:0;line-height:0}.auth-class-form .bb-subjects>header .bb-icon-button .bb-icon{width:12px;height:12px}.teacher-app{background:#f5f5f5}.teacher-app>.bb-product-sidebar{flex:0 0 205px;width:205px;height:100dvh;min-height:0;overflow-y:auto;background:transparent;border:0;border-radius:0;padding:12px 10px}.teacher-app .app-main{height:100dvh;min-height:0;overflow:hidden;background:transparent}.teacher-app .app-topbar{display:flex;height:64px;min-height:64px;flex:none;align-items:center;justify-content:flex-start;padding:0 12px;background:transparent;border:0}.teacher-app .app-topbar h1{margin:0;color:var(--bb-ink);font-size:22px;line-height:1.3;font-weight:600}.teacher-app .page-content{flex:1;height:auto;min-height:0;overflow-y:auto;overflow-x:hidden;margin:0 10px 10px 0;padding:0;background:transparent}.teacher-app .page-surface{min-height:100%;padding:14px;border-radius:18px;background:#fff}@media(max-width:900px){.teacher-app>.bb-product-sidebar{display:flex;flex:0 0 190px;width:190px;padding:10px 8px}.teacher-app .app-topbar{height:56px;min-height:56px;padding-inline:10px}.teacher-app .app-topbar h1{font-size:20px}.teacher-app .page-content{margin-right:8px;margin-bottom:8px;padding:0}.teacher-app .page-surface{padding:12px;border-radius:16px}}.teacher-app>.bb-product-sidebar{background:transparent;border:0;border-radius:0}.teacher-app>.bb-product-sidebar .bb-nav-row:hover,.teacher-app>.bb-product-sidebar .bb-nav-row.active{background:#ededed}.teacher-app .app-topbar{display:none}.teacher-app .page-content{height:100%;padding:12px 10px 10px;background:#f5f5f5}.teacher-app .page-surface{position:relative;min-height:calc(100dvh - 22px);padding:0;background:transparent;border-radius:0}.teacher-app .page-surface:before{content:"";position:absolute;z-index:0;inset:76px 0 0;border-radius:18px;background:#fff;pointer-events:none}.teacher-app .page-surface>.feature-stack{position:relative;z-index:1;min-height:calc(100dvh - 22px);gap:14px}.teacher-app .page-surface>:not(.feature-stack){position:relative;z-index:1}@media(max-width:900px){.teacher-app .page-content{padding:10px 8px 8px}.teacher-app .page-surface{min-height:calc(100dvh - 18px)}.teacher-app .page-surface:before{top:68px;border-radius:16px}.teacher-app .page-surface>.feature-stack{min-height:calc(100dvh - 18px)}}@media(min-width:721px){.todo-page .todo-toolbar{flex-wrap:nowrap;gap:8px}.todo-page .todo-toolbar .view-tabs{min-width:0;gap:2px}.todo-page .todo-toolbar .view-tabs button{padding-inline:8px;font-size:13px}.todo-page .todo-search{min-width:0;gap:8px}.todo-page .todo-search .bb-search{min-width:0}.todo-page .todo-search>.bb-button{padding-inline:12px}}@media(min-width:901px)and (max-width:1050px){.exam-heading-row{flex-wrap:nowrap;gap:10px}.exam-heading-row>.bb-tabs{gap:12px}.exam-toolbar{width:auto;flex:1;margin-left:auto;gap:8px}.exam-toolbar>.bb-search{width:auto;min-width:120px;flex:1}.exam-toolbar>.bb-button{min-width:70px;padding-inline:12px}}.auth-card-login{transform:translateY(clamp(0px,calc(100dvh - 900px),108px))}.auth-code-action.bb-button:disabled{background:transparent;color:#888}@media(max-height:820px){.auth-card-login{transform:none}}.auth-card-login{transform:translateY(clamp(0px,calc(100dvh - 900px),116px))}.auth-card-login:has(.auth-method-item:only-child){transform:translateY(clamp(0px,calc(100dvh - 900px),60px))}.auth-card-register:has(.auth-class-form){transform:translateY(11px)}.auth-card-register:has(.auth-class-form) .auth-progress{margin-bottom:42px}.auth-card-register:has(.auth-class-form) .auth-submit{margin-top:62px}.auth-class-form .bb-select[data-empty=true]{color:#aaa}@media(max-height:820px){.auth-card-register:has(.auth-class-form){transform:none}}.auth-card-register:has(.auth-class-form .bb-subject-tag:nth-child(10)){transform:translateY(.5px)}.auth-card-register:has(.auth-class-form .bb-subject-tag:nth-child(10)) .auth-class-form{gap:33px}.auth-card-register:has(.auth-class-form .bb-subject-tag:nth-child(10)) .auth-submit{margin-top:35px}.auth-card-register:has(.auth-class-form .bb-subject-tag:nth-child(10)) .auth-form-footer{margin-top:12px}.auth-class-form .bb-menu:has(.bb-select-options-grid){padding:12px;border-radius:18px;overflow:auto}.teacher-app{background:#fbfaf9}.teacher-app>.bb-product-sidebar{flex:0 0 205px;width:205px;background:transparent;border:0;border-radius:0}.teacher-app>.bb-product-sidebar .bb-nav-row:hover,.teacher-app>.bb-product-sidebar .bb-nav-row.active{background:#f5f5f5}.teacher-app>.bb-product-sidebar .bb-nav-row{position:relative}.teacher-app>.bb-product-sidebar .bb-unread-indicator{position:absolute;z-index:2;right:12px;top:50%;min-width:16px;height:16px;display:grid;place-items:center;padding:0 4px;border-radius:999px;background:#f04444;color:#fff;font-size:10px;line-height:16px;font-weight:500;pointer-events:none;transform:translateY(-50%);box-shadow:0 0 0 1px #fff}.bb-modal-frame:has(.support-feedback-form){height:min(535px,calc(100dvh - 32px))}.bb-modal-frame:has(.support-feedback-form) .bb-modal-body{position:relative;display:flex;flex:1;min-height:0;padding:18px 20px 14px;overflow:hidden}.support-feedback-form{position:relative;display:flex;flex:1;min-height:0;flex-direction:column;gap:0}.support-feedback-form header{flex:none;margin-bottom:14px}.support-feedback-form header>b{font-size:14px;font-weight:600}.support-feedback-form header>p{margin:8px 0 0;color:#888;font-size:12px;line-height:1.5}.support-feedback-form>.bb-field{display:flex;flex:1;min-height:0;margin-bottom:0}.support-feedback-form>.bb-field>span:empty,.support-feedback-form>.bb-field>small{display:none}.support-feedback-form>.bb-field textarea{flex:1;min-height:0;padding:18px 16px 54px;border:0;border-radius:14px;background:#f9f9f9;color:#352116;font-size:13px;resize:none}.support-feedback-form>.bb-field textarea::placeholder{color:#c6c6c6}.support-feedback-form>.bb-voice-upload{position:absolute;right:6px;bottom:0;left:6px;z-index:1;height:38px;border-style:dashed;border-radius:12px;background:#fff;color:var(--bb-blue);font-size:12px}.support-feedback-form>small{position:absolute;bottom:42px;left:8px;color:#777;font-size:11px}.support-feedback-error{position:absolute;bottom:42px;left:8px;margin:0;color:red;font-size:12px}.bb-modal-frame:has(.support-feedback-form)>footer{display:grid;grid-template-columns:98px 1fr;gap:8px;padding:0 20px 20px}.bb-modal-frame:has(.support-feedback-form)>footer .bb-button{height:42px;min-height:42px;border-radius:999px}.teacher-app .page-content{padding:12px 13px 22px 10px;background:#fbfaf9}.teacher-app .page-surface{min-height:calc(100dvh - 34px)}.teacher-app .page-surface:before{top:76px;border-radius:20px}.teacher-app .page-surface>.feature-stack{min-height:100%}.todo-page{gap:20px}.todo-page .todo-toolbar{height:56px;min-height:56px;flex:0 0 56px;gap:22px;margin-left:-9px;padding:0 22px 0 20px;border-radius:28px;background:#f5f5f5;flex-wrap:nowrap}.todo-page .todo-toolbar>.bb-tabs{height:56px;min-height:56px;flex:0 0 auto;gap:24px;overflow:visible;border:0}.todo-page .todo-toolbar>.bb-tabs button{height:56px;min-height:56px;padding:0 10px;color:#777;font-size:17px;font-weight:400}.todo-page .todo-toolbar>.bb-tabs button:hover,.todo-page .todo-toolbar>.bb-tabs button.active{background:transparent;color:#352116}.todo-page .todo-toolbar>.bb-tabs button.active{font-weight:700}.todo-page .todo-toolbar>.bb-tabs button.active:after{right:auto;bottom:1px;left:50%;width:40px;height:3px;transform:translate(-50%);border-radius:2px;background:#352116}.todo-page .todo-search{width:688px;min-width:0;flex:0 1 688px;gap:18px;margin-left:auto}.todo-page .todo-search>.bb-search{height:40px;min-width:0;max-width:none;flex:1;border:0;background:#fff}.todo-page .todo-search>.bb-search input{background:transparent;font-size:14px}.todo-page .todo-search>.bb-button{width:88px;min-width:88px;height:36px;min-height:36px;padding:0 12px;font-size:14px;font-weight:500}.todo-page .todo-toolbar>.bb-button{width:140px;min-width:140px;height:36px;min-height:36px;padding:0 16px;gap:8px;font-size:14px;font-weight:500}@media(min-width:901px)and (max-width:1200px){.todo-page .todo-toolbar{gap:12px;padding-inline:12px}.todo-page .todo-toolbar>.bb-tabs{gap:8px}.todo-page .todo-toolbar>.bb-tabs button{padding-inline:4px;font-size:14px}.todo-page .todo-search{width:auto;min-width:220px;flex:1}.todo-page .todo-search>.bb-search{min-width:0}.todo-page .todo-search>.bb-button{width:72px;min-width:72px;padding-inline:8px}.todo-page .todo-toolbar>.bb-button{width:120px;min-width:120px;padding-inline:10px}}@media(max-width:900px){.teacher-app .page-content{padding:10px 8px 8px}.teacher-app .page-surface{min-height:calc(100dvh - 18px)}.teacher-app .page-surface:before{top:68px;border-radius:16px}.teacher-app .page-surface>.feature-stack{min-height:calc(100dvh - 18px)}.todo-page .todo-toolbar{gap:8px;padding-inline:10px}.todo-page .todo-toolbar>.bb-tabs{gap:2px}.todo-page .todo-toolbar>.bb-tabs button{padding-inline:3px;font-size:12px}.todo-page .todo-search{min-width:150px;gap:6px}.todo-page .todo-search>.bb-button{width:60px;min-width:60px;padding:0}.todo-page .todo-toolbar>.bb-button{width:100px;min-width:100px;padding:0 8px}}.teacher-app:has(.todo-page) .page-content{display:flex;overflow:hidden}.teacher-app:has(.todo-page) .page-surface{display:flex;width:100%;height:100%;min-height:0;overflow:hidden}.teacher-app:has(.todo-page) .page-surface:before{background:transparent}.teacher-app:has(.todo-page) .page-surface>.feature-stack{height:100%;min-height:0;flex:1}.todo-page{height:100%;min-height:0;gap:20px!important}.todo-page>.todo-columns{flex:1;min-height:0;grid-template-columns:minmax(0,1.92fr) minmax(0,1fr);gap:16px}.todo-table-card{min-height:0;padding:10px;border-radius:20px;background:#fff}.todo-table-head{grid-template-columns:24px minmax(0,1fr) 52px 130px 28px 28px;gap:12px;padding:6px 12px 12px;color:#55463d}.todo-table-head>span:first-child{grid-column:1 / span 2;padding-left:36px}.todo-table-head>span:last-child{grid-column:5 / span 2;text-align:center}.todo-table-head>button{white-space:nowrap}.todo-table-card .todo-row{min-height:74px;padding:10px 12px;border-radius:14px;background:#f9f9f9;transition:background .15s ease-out}.todo-table-card .todo-row:hover{background:#f3f3f3}.todo-table-card .icon-action{width:24px;height:24px;justify-self:center;border-radius:50%;background:#fff}.todo-table-card .icon-action:hover{background:#ededed}.todo-table-card .icon-action .bb-icon{width:14px;height:14px}@media(max-width:1100px){.todo-page>.todo-columns{grid-template-columns:1fr}.todo-table-card{height:100%}}.todo-page{gap:14px!important}.todo-page .todo-toolbar{height:44px;min-height:44px;flex-basis:44px;gap:18px;padding:0 16px 0 20px;border-radius:0;background:transparent}.todo-page .todo-toolbar>.bb-tabs{height:44px;min-height:44px;gap:20px}.todo-page .todo-toolbar>.bb-tabs button{height:44px;min-height:44px;padding:0 8px;font-size:16px}.todo-page .todo-toolbar>.bb-tabs button.active:after{bottom:5px;width:36px;height:2px}.todo-page .todo-search{width:520px;min-width:0;flex:0 1 520px;gap:0}.todo-page .todo-search>.bb-search{width:100%;height:36px;gap:8px;padding:0 4px 0 12px;border:0;background:#fff}.todo-page .todo-search>.bb-search>.bb-icon{width:14px;height:14px}.todo-page .todo-search>.bb-search input{height:32px;font-size:13px}.todo-page .todo-search .bb-search-action{width:70px;min-width:70px;height:28px;min-height:28px;padding:0 10px;font-size:13px;font-weight:500}.todo-page .todo-toolbar>.bb-button{width:120px;min-width:120px;height:32px;min-height:32px;padding:0 12px;gap:7px;font-size:13px;font-weight:500}.todo-page .todo-toolbar>.bb-button>.bb-icon{width:12px;height:12px}@media(min-width:901px)and (max-width:1200px){.todo-page .todo-toolbar{gap:12px;padding-inline:12px}.todo-page .todo-toolbar>.bb-tabs{gap:8px}.todo-page .todo-toolbar>.bb-tabs button{padding-inline:4px;font-size:14px}.todo-page .todo-search{width:auto;min-width:0;flex:1}.todo-page .todo-search .bb-search{min-width:0}.todo-page .todo-toolbar>.bb-button{width:110px;min-width:110px;padding-inline:10px}}@media(max-width:900px){.todo-page .todo-toolbar{gap:8px;padding-inline:8px}.todo-page .todo-toolbar>.bb-tabs{gap:2px}.todo-page .todo-toolbar>.bb-tabs button{padding-inline:3px;font-size:12px}.todo-page .todo-search{min-width:0;flex:1}.todo-page .todo-toolbar>.bb-button{width:96px;min-width:96px;padding-inline:8px}}.todo-columns.single-todo-column{grid-template-columns:minmax(0,1fr)}.todo-table-head.sortable>.bb-check{justify-self:center;min-height:28px;gap:6px;white-space:nowrap;color:#55463d;font-size:13px}.todo-table-head.sortable>.bb-check input{width:18px;height:18px}.todo-table-rows.empty-rows{display:flex;align-items:center;justify-content:center}.todo-table-rows.empty-rows>.bb-empty{width:100%;padding:24px;gap:10px}.todo-table-rows.empty-rows>.bb-empty img{width:148px;height:148px}.todo-table-rows.empty-rows>.bb-empty h4{color:#b7b7b7;font-size:13px;font-weight:400}.todo-table-card .todo-row.completed .todo-copy>b{text-decoration:none;color:#352116}.todo-table-card .todo-row.completed .todo-copy>p{color:#888}.todo-table-card .todo-row.search-focus{border:1px solid #ffc52f;background:#fffdf2;padding:9px 11px}.teacher-app .search-result{background:#fffdf2;box-shadow:inset 0 0 0 1px #ffc52f;border-radius:14px}.teacher-app .search-result:hover{background:#fff9df}.teacher-app .bb-score-table tr.search-result>td,.teacher-app .bb-exam-table tr.search-result>td{background:#fffdf2;border-top:1px solid #ffc52f;border-bottom:1px solid #ffc52f}.teacher-app .bb-score-table tr.search-result>td:first-child,.teacher-app .bb-exam-table tr.search-result>td:first-child{border-left:1px solid #ffc52f}.teacher-app .bb-score-table tr.search-result>td:last-child,.teacher-app .bb-exam-table tr.search-result>td:last-child{border-right:1px solid #ffc52f}.bb-score-editor{width:100%;min-width:0}.bb-score-editor .bb-score-table{width:100%;min-width:980px;table-layout:fixed}.bb-modal-frame:has(.bb-score-editor) .bb-modal-body{padding-inline:12px}.exam-detail-footer>.bb-button.quiet{min-width:100px;background:#b9b9b9;color:#fff}.exam-detail-footer>.bb-button.secondary{min-width:230px}.exam-detail-footer{justify-content:space-between}.seat-preview-card:has(.seat-empty-note)>.bb-seating{align-self:center;margin-inline:auto}.seat-preview-card:has(.seat-empty-note) .bb-seat-board{margin-inline:auto}.seat-preview-card:has(.seat-empty-note) .bb-seat-wrap{max-height:100%}.record-attachment .record-image-open{position:static;width:100%;height:100%;padding:0;border-radius:0;background:transparent}.record-attachment .record-image-open img{display:block}.record-attachment>button:last-child{z-index:1}.record-detail-attachments .record-image-open{display:block;max-width:220px;cursor:zoom-in}.record-detail-attachments .record-image-open img{display:block;width:100%;height:auto;border-radius:10px}.record-zoom-image{display:block;max-width:100%;max-height:75dvh;margin:auto;object-fit:contain}.todo-table-card .todo-copy mark{padding:0;color:inherit;background:#fff0ad}.todo-calendar-popover{position:fixed;left:auto;top:auto;transform:none;width:min(390px,calc(100vw - 16px));max-height:calc(100dvh - 16px);padding:8px;border:0;border-radius:20px;background:#fff;box-shadow:0 16px 48px #0002;z-index:var(--bb-z-menu)}.todo-editor>.bb-segmented button.selected{background:#f5f5f5;color:#777;box-shadow:none}.todo-editor .bb-picker-input input,.todo-editor>.bb-field>input{height:52px;border:0;border-radius:26px;background:#f9f9f9}.todo-editor .bb-picker-input>button{right:8px}.todo-editor .bb-picker-input>button .bb-arrow.right{transform:none}.bb-modal-frame:has(.todo-editor) .bb-modal-body{padding:20px 22px 14px}.todo-editor{gap:8px}.todo-table-head{padding:6px 8px 12px}.todo-table-head>.todo-col-title{grid-column:1/3;padding-left:28px;text-align:left}.todo-table-head>.todo-col-priority{grid-column:3;text-align:left;justify-self:start}.todo-table-head>.todo-col-date{grid-column:4;text-align:left;justify-self:start}.todo-table-head>.todo-col-actions{grid-column:5;text-align:left;justify-self:start}.todo-table-head.sortable>.todo-col-priority,.todo-table-head.sortable>.todo-col-date{justify-self:start;gap:5px}.todo-table-card .todo-row{grid-template-columns:20px minmax(0,1fr) 52px 104px 68px;padding-inline:8px}.todo-table-card .todo-row>.bb-check{grid-column:1}.todo-table-card .todo-row>.todo-copy{grid-column:2}.todo-table-card .todo-row>time{grid-column:4;text-align:left}.todo-row-actions{grid-column:5;display:flex;align-items:center;justify-content:flex-start;gap:8px}.todo-table-card .todo-table-pagination{display:flex;justify-content:flex-end;text-align:right}.todo-table-card .todo-table-pagination>.bb-pagination{justify-content:flex-end}.todo-editor>.bb-segmented{display:flex;flex-wrap:nowrap;gap:0;padding:4px;border-radius:999px;background:#f5f5f5}.todo-editor>.bb-segmented button{flex:1;min-width:0;border-radius:999px;background:transparent;box-shadow:none}.todo-editor>.bb-segmented button.selected{background:#fff;box-shadow:0 1px 4px #00000012}.todo-editor.priority-high>.bb-segmented button.selected{background:#fff0f0;color:#e5484d;box-shadow:inset 0 0 0 1px #f44}.todo-editor.priority-medium>.bb-segmented button.selected{background:#eaf4ff;color:#1684ed;box-shadow:inset 0 0 0 1px #238af0}.todo-editor.priority-low>.bb-segmented button.selected{background:#eaf8f1;color:#11a977;box-shadow:inset 0 0 0 1px #11b981}.todo-editor .bb-picker-input:focus-within{border-radius:28px;box-shadow:0 0 0 3px #1e8bfa14}.todo-editor .bb-picker-input input:focus,.todo-editor>.bb-field>input:focus,.todo-editor textarea:focus{border:1px solid var(--bb-blue);box-shadow:0 0 0 3px #1e8bfa14;background:#fff;outline:none}.todo-editor textarea:focus{border-radius:14px}@media(max-width:720px){.todo-table-head,.todo-table-card .todo-row{grid-template-columns:20px minmax(0,1fr) 42px 80px 60px;column-gap:4px}.todo-table-head>.todo-col-title{padding-left:24px}.todo-row-actions{gap:4px}.todo-table-card .todo-row-actions .todo-row-action{width:22px;min-width:22px;height:22px;min-height:22px}}.todo-modal-footer{display:grid;width:100%;grid-template-columns:98px minmax(0,1fr);gap:8px}.todo-modal-footer>.bb-button{height:42px;min-height:42px;padding:0 12px}.todo-modal-footer>.bb-button.quiet{background:#b9b9b9;color:#fff}.todo-modal-footer>.bb-button:disabled{background:var(--bb-primary);color:#352116;opacity:.55}.todo-form-error{margin:0;color:#e5484d;font-size:12px;line-height:1.4}.todo-delete-copy{margin:2px 0 8px;text-align:center;font-size:14px;line-height:1.6}.bb-modal-frame:has(.todo-delete-copy)>header{justify-content:center;padding:20px 20px 8px}.bb-modal-frame:has(.todo-delete-copy) .bb-modal-body{padding:8px 16px 12px}.todo-delete-footer{display:grid;width:100%;grid-template-columns:98px minmax(0,1fr);gap:8px}.todo-delete-footer>.bb-button{height:42px;min-height:42px;padding:0 12px}.todo-delete-footer>.bb-button.quiet{background:#b9b9b9;color:#fff}.todo-table-card .todo-row .todo-row-action{position:relative;width:24px;min-width:24px;height:24px;min-height:24px;justify-self:center;padding:4px;border-radius:50%;background:#fff}.todo-table-card .todo-row .todo-row-action:before{content:"";position:absolute;inset:-10px;background:transparent}.todo-table-card .todo-row .todo-row-action:hover{background:#ededed}.todo-table-card .todo-row .todo-row-action>.bb-icon{width:14px;height:14px}.week-card>header{align-items:center;margin-bottom:8px}.week-card-actions{display:flex;align-items:center;gap:8px;margin:0}.week-card-actions .bb-icon-button{width:30px;height:30px}.week-edit-action{color:var(--bb-blue)}.week-delete-action{color:#e35b55}.week-card-open{display:block;width:100%;padding:0;border:0;background:transparent;text-align:initial;cursor:pointer}.week-mini-grid{grid-template-columns:minmax(42px,.72fr) repeat(7,minmax(0,1fr));gap:3px}.week-mini-grid span{min-width:0;min-height:30px;padding:2px;border:1px solid #ededed;border-radius:4px;background:#fff;font-size:9px;line-height:1.2}.week-mini-grid .week-mini-period{display:flex;flex-direction:column;justify-content:center;gap:2px;border:0;background:#f7f7f7;color:#666;font-size:9px;white-space:nowrap}.week-mini-period small{font-size:8px;color:#999}.week-mini-grid .week-mini-course{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;text-overflow:ellipsis}.week-mini-grid .week-mini-course.mine{color:var(--bb-blue);background:#f4faff}.week-mini-grid .week-mini-course i{top:3px;right:3px;width:5px;height:5px}.week-mini-grid .week-mini-break{grid-column:1/-1;min-height:20px;border:0;border-radius:4px;background:#f4f4f4;color:#777;font-size:9px}.schedule-weekbar-term{display:flex;align-items:center;gap:12px}.schedule-weekbar-term .schedule-export-trigger{width:32px;height:32px;border-radius:50%;background:#2da86d;color:#fff}.schedule-weekbar-term .schedule-export-trigger:hover{background:#258d5b}.schedule-export-menu>div{display:grid;gap:2px}.schedule-export-menu button{width:100%;padding:9px 12px;border:0;border-radius:6px;background:#fff;text-align:left;white-space:nowrap;cursor:pointer}.schedule-export-menu button:hover{background:#f3f3f3}@media(max-width:1200px){.week-mini-grid span,.week-mini-grid .week-mini-period{font-size:8px}}.schedule-page .schedule-top{height:44px;min-height:44px;flex:0 0 44px;gap:18px;padding:0 16px 0 20px;border-radius:0;background:transparent;flex-wrap:nowrap}.schedule-page .schedule-top>.bb-tabs{height:44px;min-height:44px;flex:0 0 auto;gap:20px;overflow:visible;border:0}.schedule-page .schedule-top>.bb-tabs button{height:44px;min-height:44px;padding:0 8px;border-radius:0;background:transparent;color:#777;font-size:16px;font-weight:400}.schedule-page .schedule-top>.bb-tabs button:hover,.schedule-page .schedule-top>.bb-tabs button.active{background:transparent;color:#352116}.schedule-page .schedule-top>.bb-tabs button.active{font-weight:700}.schedule-page .schedule-top>.bb-tabs button.active:after{right:auto;bottom:5px;left:50%;width:36px;height:2px;transform:translate(-50%);border-radius:2px;background:#352116}.schedule-page .feature-toolbar-spacer{flex:1;min-width:8px}.schedule-page .schedule-actions{display:flex;align-items:center;gap:10px;flex:none}.schedule-page .schedule-actions>button.quiet{width:32px;min-width:32px;height:32px;min-height:32px;padding:0;border-radius:50%;background:transparent}.schedule-page .schedule-actions>button.quiet>.bb-icon{width:16px;height:16px}.schedule-page .schedule-actions>button.primary{width:120px;min-width:120px;height:32px;min-height:32px;padding:0 12px;gap:7px;font-size:13px;font-weight:500}.schedule-page .schedule-actions>button.primary>.bb-icon{width:12px;height:12px}.todo-table-head,.todo-table-card .todo-row{grid-template-columns:20px minmax(0,1fr) 52px 104px 68px;column-gap:8px}.todo-table-head{width:calc(100% - 10px);margin-right:10px;padding:6px 8px 12px}.todo-table-head>.todo-col-title{grid-column:1 / span 2;justify-self:stretch;padding-left:28px;text-align:left}.todo-table-head>.todo-col-priority{grid-column:3;justify-self:start;text-align:left}.todo-table-head>.todo-col-date{grid-column:4;justify-self:start;text-align:left}.todo-table-head>.todo-col-actions{grid-column:5;justify-self:stretch;text-align:left}.todo-table-head>span:last-child{text-align:left}.todo-table-card .todo-table-rows{scrollbar-gutter:auto}.todo-editor>.bb-segmented{display:flex;width:100%;box-sizing:border-box;gap:0;padding:4px;border-radius:999px;background:#f1f1f1}.todo-editor>.bb-segmented>button{flex:1;min-width:0;background:transparent}@media(max-width:720px){.todo-table-head,.todo-table-card .todo-row{grid-template-columns:20px minmax(0,1fr) 42px 80px 60px;column-gap:4px}.todo-table-head{width:calc(100% - 10px);margin-right:10px}.todo-table-head>.todo-col-title{padding-left:24px}}.todo-table-card>.todo-table-head{grid-template-columns:20px minmax(0,1fr) 52px 104px 68px;margin-right:10px;width:calc(100% - 10px)}.todo-table-card>.todo-table-head>.todo-col-title:first-child{grid-column:1 / span 2;padding-left:28px}.todo-table-card>.todo-table-head>.todo-col-actions:last-child{grid-column:5;justify-self:stretch;text-align:left}@media(max-width:720px){.todo-table-card>.todo-table-head{grid-template-columns:20px minmax(0,1fr) 42px 80px 60px}.todo-table-card>.todo-table-head>.todo-col-title:first-child{padding-left:24px}.todo-table-card>.todo-table-head>.todo-col-actions:last-child{grid-column:5}}.todo-calendar-card{background:#fff}.bb-calendar-planner .bb-calendar-grid>button{background:#f7f7f7}.bb-calendar-planner .bb-calendar-grid>button:hover{background:#f1f1f1}.bb-calendar-planner .bb-calendar-grid>button.selected{background:#f1f8ff;border-color:#2189ed}.todo-page .feature-toolbar,.schedule-page .feature-toolbar{height:44px;min-height:44px;flex:0 0 44px;gap:18px;padding:0 16px 0 20px;border-radius:0;background:transparent;flex-wrap:nowrap}.todo-page .feature-toolbar>.bb-tabs,.schedule-page .feature-toolbar>.bb-tabs{height:44px;min-height:44px;flex:0 0 auto;gap:20px;overflow:visible;border:0}.todo-page .feature-toolbar>.bb-tabs button,.schedule-page .feature-toolbar>.bb-tabs button{height:44px;min-height:44px;padding:0 8px;border-radius:0;background:transparent;color:#777;font-size:16px;font-weight:400}.todo-page .feature-toolbar>.bb-tabs button:hover,.todo-page .feature-toolbar>.bb-tabs button.active,.schedule-page .feature-toolbar>.bb-tabs button:hover,.schedule-page .feature-toolbar>.bb-tabs button.active{background:transparent;color:#352116}.todo-page .feature-toolbar>.bb-tabs button.active,.schedule-page .feature-toolbar>.bb-tabs button.active{font-weight:700}.todo-page .feature-toolbar>.bb-tabs button.active:after,.schedule-page .feature-toolbar>.bb-tabs button.active:after{right:auto;bottom:5px;left:50%;width:36px;height:2px;transform:translate(-50%);border-radius:2px;background:#352116}@media(min-width:901px)and (max-width:1200px){.todo-page .feature-toolbar,.schedule-page .feature-toolbar{gap:12px;padding-inline:12px}.todo-page .feature-toolbar>.bb-tabs,.schedule-page .feature-toolbar>.bb-tabs{gap:8px}.todo-page .feature-toolbar>.bb-tabs button,.schedule-page .feature-toolbar>.bb-tabs button{padding-inline:4px;font-size:14px}}@media(max-width:900px){.todo-page .feature-toolbar,.schedule-page .feature-toolbar{gap:8px;padding-inline:8px}.todo-page .feature-toolbar>.bb-tabs,.schedule-page .feature-toolbar>.bb-tabs{gap:2px}.todo-page .feature-toolbar>.bb-tabs button,.schedule-page .feature-toolbar>.bb-tabs button{padding-inline:3px;font-size:12px}}.teacher-app:has(.record-feature,.message-feature) .page-content{display:flex;overflow:hidden}.teacher-app:has(.record-feature,.message-feature) .page-surface{display:flex;width:100%;height:100%;min-height:0;overflow:hidden}.teacher-app:has(.record-feature,.message-feature) .page-surface:before{background:transparent}.teacher-app:has(.record-feature) .page-surface>.record-feature,.teacher-app:has(.message-feature) .page-surface>.message-feature{height:100%;min-height:0;flex:1}.record-feature,.message-feature{gap:10px!important;padding:0;background:transparent;border-radius:0}.record-feature>.feature-toolbar,.message-feature>.feature-toolbar{height:44px;min-height:44px;flex:0 0 44px;gap:18px;padding:0 16px 0 20px;border-radius:0;background:transparent;flex-wrap:nowrap}.record-feature>.feature-toolbar>.bb-tabs,.message-feature>.feature-toolbar>.bb-tabs{height:44px;min-height:44px;flex:0 0 auto;gap:20px;overflow:visible;border:0;background:transparent}.record-feature>.feature-toolbar>.bb-tabs button,.message-feature>.feature-toolbar>.bb-tabs button{height:44px;min-height:44px;padding:0 8px;border-radius:0;background:transparent;color:#777;font-size:16px;font-weight:400}.record-feature>.feature-toolbar>.bb-tabs button:hover,.record-feature>.feature-toolbar>.bb-tabs button.active,.message-feature>.feature-toolbar>.bb-tabs button:hover,.message-feature>.feature-toolbar>.bb-tabs button.active{background:transparent;color:#352116}.record-feature>.feature-toolbar>.bb-tabs button.active,.message-feature>.feature-toolbar>.bb-tabs button.active{font-weight:700}.record-feature>.feature-toolbar>.bb-tabs button.active:after,.message-feature>.feature-toolbar>.bb-tabs button.active:after{right:auto;bottom:5px;left:50%;width:36px;height:2px;transform:translate(-50%);border-radius:2px;background:#352116}.record-feature>.feature-toolbar>.bb-search{width:520px;height:36px;min-width:0;max-width:none;flex:0 1 520px;margin-left:auto;padding:0 4px 0 12px;border:0;background:#fff}.record-feature>.feature-toolbar>.bb-search>.bb-icon{width:14px;height:14px}.record-feature>.feature-toolbar>.bb-search input{height:32px;font-size:13px}.record-feature>.feature-toolbar>.bb-button{height:36px;min-height:36px;min-width:120px;flex:none;padding:0 14px;border-radius:999px;font-size:13px}.record-feature>.inline-error,.message-feature>.inline-error{flex:none}.record-feature>.bb-skeleton,.record-feature>.bb-empty,.message-feature>.bb-skeleton,.message-feature>.bb-empty{flex:1;min-height:0;align-self:stretch;display:flex;align-items:center;justify-content:center;padding:24px;border-radius:18px;background:#fff}.record-feature>.record-list-card,.message-feature>.message-list{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.record-feature>.record-list-card{background:#fff;border-radius:20px}.record-feature>.bb-pagination{flex:none;justify-content:flex-end;padding:0 12px 2px}.message-feature>.message-list{background:#fff;border-radius:20px}@media(min-width:901px)and (max-width:1200px){.record-feature>.feature-toolbar,.message-feature>.feature-toolbar{gap:12px;padding-inline:12px}.record-feature>.feature-toolbar>.bb-tabs,.message-feature>.feature-toolbar>.bb-tabs{gap:8px}.record-feature>.feature-toolbar>.bb-tabs button,.message-feature>.feature-toolbar>.bb-tabs button{padding-inline:4px;font-size:14px}.record-feature>.feature-toolbar>.bb-search{width:auto;flex:1}}@media(max-width:900px){.record-feature>.feature-toolbar,.message-feature>.feature-toolbar{gap:8px;padding-inline:8px}.record-feature>.feature-toolbar>.bb-tabs,.message-feature>.feature-toolbar>.bb-tabs{gap:2px}.record-feature>.feature-toolbar>.bb-tabs button,.message-feature>.feature-toolbar>.bb-tabs button{padding-inline:3px;font-size:12px}.record-feature>.feature-toolbar>.bb-search{width:auto;min-width:0;flex:1}.record-feature>.feature-toolbar>.bb-button{min-width:96px;padding-inline:8px}}.auth-card:has(>.auth-error)>.auth-heading{margin-bottom:20px}.auth-card>.auth-error{margin:0 0 20px;flex:none}.auth-card>.auth-error>.bb-alert{margin:0}.student-form .bb-field.invalid input,.student-form .bb-field.invalid .bb-select{border:1px solid var(--bb-red);color:var(--bb-red-text)}.student-form .bb-field.invalid input::placeholder{color:var(--bb-red-text)}.student-form .bb-field.invalid>small{display:none}.student-detail-note{min-width:0;max-width:100%}.student-detail-note p{overflow-wrap:anywhere;word-break:break-word;max-height:8.5em;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.bb-select-option-row{position:relative;min-width:0}.bb-select-option-row>[role=option]{width:100%;min-width:0}.bb-select-option-row:has(.bb-select-option-remove)>[role=option]{padding-right:40px}.bb-menu .bb-select-option-row>.bb-select-option-remove{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:28px;min-width:28px;height:28px;min-height:28px;padding:0;color:#aaa;display:grid;place-items:center;font-size:18px;background:transparent;border:0;box-shadow:none}.bb-menu .bb-select-option-row>.bb-select-option-remove:hover{background:transparent;color:var(--bb-red,#e5484d)}.seat-capacity-summary{display:inline-block;margin-left:20px;font-size:13px;font-weight:400;color:#777}.seat-capacity-error{width:100%;flex:0 0 100%;color:var(--bb-red-text);font-size:13px}.bb-layout-editor>.bb-business-footer:has(.seat-capacity-error){flex-wrap:wrap}.bb-select-option-remove>svg{display:block;pointer-events:none;background:transparent;flex:none}.legal-content.legal-markdown{white-space:normal;overflow-wrap:anywhere;font-size:14px;color:#555}.legal-markdown h2{font-size:18px;line-height:1.5;color:#352116;margin:28px 0 14px}.legal-markdown h3{font-size:15px;line-height:1.6;color:#352116;margin:22px 0 10px}.legal-markdown p{margin:0 0 14px}.legal-markdown strong{font-weight:600;color:#352116}.legal-markdown ul,.legal-markdown ol{padding-left:24px;margin:12px 0 18px}.legal-markdown li{margin:7px 0}.legal-markdown table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:16px 0 24px;font-size:12px;scrollbar-width:thin}.legal-markdown th,.legal-markdown td{min-width:120px;padding:10px 12px;border:1px solid #e8e8e8;text-align:left;vertical-align:top}.legal-markdown th{background:#f7f7f7;color:#352116;font-weight:600}.legal-markdown hr{border:0;border-top:1px solid #eee;margin:24px 0}.legal-markdown a,.support-center .bb-accordion a{color:var(--bb-link);text-decoration:underline;text-underline-offset:3px}.support-center .bb-accordion .bb-accordion-content p{margin:0 0 10px}.support-center .bb-accordion .bb-accordion-content p:last-child{margin-bottom:0}.support-fullscreen.support-document-page{height:100dvh;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}.support-document-page .support-center{height:auto;max-height:none;overflow:visible;padding-bottom:24px}.support-document-page .support-center h1{font-size:24px}.support-document-page .support-subtitle{font-size:15px}.support-document-page .bb-accordion .bb-accordion-trigger{font-size:15px;gap:16px}.support-document-page .bb-accordion .bb-accordion-content{font-size:14px}.support-document-page .bb-accordion .bb-accordion-trigger>.bb-arrow{transform:rotate(-90deg)}.support-document-page .bb-accordion .bb-accordion-item[data-open=true] .bb-accordion-trigger>.bb-arrow{transform:rotate(0)}.support-document-page .legal-content{height:auto;max-height:none;overflow:visible;margin-top:28px;font-size:16px}.support-document-page .legal-markdown h2{font-size:20px}.support-document-page .legal-markdown h3{font-size:17px}.support-document-page .legal-markdown table{font-size:14px}.auth-agreement{display:flex;align-items:flex-start;gap:8px;margin-top:40px;color:#888;font-size:12px;line-height:24px}.auth-agreement .bb-check{min-height:24px;flex:none;gap:0}.auth-agreement-copy{min-width:0}.auth-agreement-copy label{cursor:pointer}.auth-agreement-copy button{font:inherit;line-height:inherit;color:var(--bb-link);padding:0;cursor:pointer}.auth-agreement-copy button:hover{text-decoration:underline;text-underline-offset:3px}.auth-agreement input:focus-visible{outline:2px solid var(--bb-blue);outline-offset:3px}.auth-card .auth-agreement+.auth-submit{margin-top:12px}.auth-legal-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#faf9f8}@media(max-height:820px){.auth-agreement{margin-top:24px}}.todo-page .todo-columns.today-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.todo-page .todo-table-card{overflow-x:auto}.todo-page .todo-table-card>.todo-table-head,.todo-page .todo-table-card .todo-row{grid-template-columns:20px minmax(140px,1fr) 83px 96px 96px 60px;column-gap:12px;min-width:636px;padding-left:8px;padding-right:8px}.todo-page .todo-table-card>.todo-table-head{width:100%;margin-right:0;padding-right:18px}.todo-page .todo-table-card>.todo-table-head>.todo-col-title{padding-left:32px}.todo-page .todo-table-card>.todo-table-head>.todo-col-date{grid-column:4}.todo-page .todo-table-card>.todo-table-head>.todo-col-deadline{grid-column:5;text-align:left;justify-self:start}.todo-page .todo-table-card>.todo-table-head>.todo-col-actions:last-child,.todo-page .todo-table-card .todo-row>.todo-row-actions{grid-column:6;grid-row:1}.todo-page .todo-table-card .todo-table-rows{scrollbar-gutter:stable;min-width:636px}.todo-deadline{grid-column:5;font-size:12px;color:#888;display:flex;flex-direction:column;gap:3px;line-height:1.5}.todo-deadline time{text-align:left!important}.todo-deadline-state{font-size:11px;line-height:1.4}.todo-deadline.late time,.todo-deadline.late .todo-deadline-state,.todo-deadline-state.late{color:#d94b46}.todo-deadline.today .todo-deadline-state,.todo-deadline-state.today{color:#a66915}.todo-deadline.soon .todo-deadline-state,.todo-deadline-state.soon{color:#238af0}.todo-deadline-sort{display:inline-flex;gap:6px;align-items:center;padding:0;min-height:28px;font:inherit}.todo-deadline-sort span{color:#aaa}.todo-deadline-sort.active,.todo-deadline-sort.active span{color:var(--bb-blue)}.todo-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.todo-date-fields .bb-field{gap:8px}.todo-date-fields .bb-field>span{font-size:13px;font-weight:500}.todo-date-fields .bb-popover-anchor{width:100%}.todo-date-fields .bb-picker-input input{font-size:12px;padding-left:14px;padding-right:32px}.todo-due-field{position:relative;padding-bottom:22px;min-width:0}.todo-clear-due{position:absolute;bottom:0;right:8px;font-size:11px;color:var(--bb-link)}.todo-editor{grid-template-rows:auto auto auto auto minmax(100px,1fr);align-content:start}.todo-form-error{margin:0;flex:none}.todo-calendar-dates{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:8px;color:#888;font-size:11px}.todo-calendar-dates .todo-deadline-state{width:100%}@media(max-width:1599px){.todo-page .todo-columns.today-columns{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(240px,1fr));overflow-y:auto}.todo-page .today-columns>.todo-table-card{min-height:240px}}.todo-page .todo-table-card .todo-copy>b,.todo-calendar-event .todo-event-title{display:flex;align-items:center;gap:8px;min-width:0}.todo-title-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-copy .todo-overdue,.todo-event-title .todo-overdue{flex:none;margin-left:0}.todo-overdue.today{background:#fff0dd;color:#c77716}.todo-overdue.soon{background:#eaf4ff;color:#238af0}.todo-page .todo-table-head.sortable>.todo-col-deadline{gap:5px}.auth-class-form .auth-class-name input{height:52px;border-radius:999px;background:#f7f7f7;padding:0 18px;font-size:13px}.account-class-name{position:relative;gap:6px}.account-class-name .bb-field>span{position:absolute;top:19px;left:24px;z-index:1;font-size:13px}.account-class-name input{height:58px;border-radius:999px;background:#fff;padding:0 24px 0 120px;font-size:13px;text-align:right}.auth-class-name .invalid input,.account-class-name .invalid input{border-color:var(--bb-red,#ef4444)}.account-class-name .bb-field>small{padding:0 24px}.auth-class-name>.bb-field{gap:14px}.auth-class-name>.bb-field>span{font-size:14px;font-weight:500}.auth-human-verification{display:grid;gap:14px}.auth-captcha-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.auth-captcha-grid button{position:relative;border:2px solid transparent;border-radius:12px;overflow:hidden}.auth-captcha-grid button[aria-pressed=true]{border-color:var(--bb-blue)}.auth-captcha-grid img{display:block;width:100%;height:auto}.auth-captcha-grid button>span{position:absolute;right:4px;bottom:4px;background:var(--bb-blue);color:#fff;border-radius:50%;width:20px;height:20px;font-size:12px}.auth-human-verification p[role=alert]{color:#d33;font-size:13px}.auth-card>.auth-error>.auth-message{height:auto;min-height:0;padding:12px 16px;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.membership-page{overflow-y:auto}.membership-plans{width:min(1360px,100%);grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.membership-plan{min-width:0;padding:30px clamp(20px,2.2vw,36px)}.membership-plan.free{background:linear-gradient(145deg,#fff,#f5f5f5 42%,#fff 80%)}.membership-plan.free>.bb-button:disabled{opacity:1;background:#f5f5f5;color:var(--bb-ink);cursor:default}.membership-plan li.unavailable,.membership-plan li.unavailable i{color:#ccc}@media(max-width:1100px){.membership-plans{max-width:760px;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.membership-page>header{margin-top:80px}}@media(max-width:600px){.membership-plans{max-width:360px;grid-template-columns:1fr}.membership-plan{padding:24px}}.finance-stat strong em{font-size:12px;font-style:normal;font-weight:400}.todo-detail-trigger{cursor:pointer;text-align:left;border-radius:6px}.todo-detail-trigger:focus-visible{outline:2px solid var(--bb-blue);outline-offset:3px}.todo-detail-meta{display:flex;flex-wrap:wrap;gap:10px 20px;color:#888;font-size:12px;line-height:1.6}.todo-detail-meta>span{display:inline-flex;align-items:center;gap:4px}.todo-detail-content{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:20px}.auth-reset-code{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.auth-reset-hint{font-size:12px;color:#888;margin:0}.auth-card-register .auth-form-footer>div:first-child{gap:12px}.membership-status{display:flex;align-items:center;gap:8px;flex-shrink:0;white-space:nowrap}.membership-account>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.membership-account{gap:8px}.account-settings .account-delete{align-self:center;width:140px;min-height:32px;height:32px;font-size:12px;margin-top:0}.account-delete-confirm{text-align:center;display:grid;gap:16px}.account-delete-confirm .bb-field{text-align:center}.account-delete-confirm .bb-field>span{justify-content:center}.account-delete-confirm input{text-align:center}.auth-password-input>.bb-field>input{padding-right:52px}.auth-password-toggle{position:absolute;right:10px;bottom:6px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:var(--bb-muted)}.auth-reset-password{position:relative}.auth-reset-password .bb-field>input{padding-right:44px}.auth-reset-password .auth-password-toggle{width:32px;height:32px;bottom:4px;right:6px}.teacher-app>.bb-product-sidebar .bb-todo-reminder-dot{right:17px;width:6px;min-width:6px;height:6px;padding:0;border-radius:50%;box-shadow:none}.todo-columns{--todo-columns:20px minmax(0,1fr) 140px 200px 58px;--todo-gap:12px}.todo-columns:not(.single-todo-column)>.todo-table-card:nth-child(2){--todo-columns:20px minmax(0,1fr) 96px 132px 58px;--todo-gap:10px}.todo-columns.single-todo-column{--todo-columns:20px minmax(0,1fr) clamp(120px,15vw,240px) clamp(130px,16vw,260px) 64px;--todo-gap:clamp(10px,1vw,16px)}.todo-table-card{--todo-scrollbar:10px}.todo-table-card>.todo-table-head,.todo-table-card .todo-row{box-sizing:border-box;grid-template-columns:var(--todo-columns);column-gap:var(--todo-gap);padding-inline:10px}.todo-table-card>.todo-table-head{width:calc(100% - var(--todo-scrollbar));margin-right:var(--todo-scrollbar)}.todo-table-card>.todo-table-head>.todo-col-title:first-child{grid-column:2;padding-left:0;justify-self:start}.todo-table-card>.todo-table-head>.todo-col-priority{grid-column:3;justify-self:start;text-align:left}.todo-table-card>.todo-table-head>.todo-col-date{grid-column:4;justify-self:start;text-align:left}.todo-table-card>.todo-table-head>.todo-col-actions:last-child{grid-column:5;justify-self:start;text-align:left}.todo-table-card>.todo-table-head.sortable>.bb-check{justify-self:start}.todo-table-card>.todo-table-rows{scrollbar-gutter:stable;scrollbar-width:thin}.todo-table-card .todo-row{width:100%;min-width:0}.todo-table-card .todo-row>.todo-copy{min-width:0;overflow:hidden}.todo-table-card .todo-row>.todo-copy>b,.todo-table-card .todo-row>.todo-copy>p{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-table-card .todo-row>.bb-tag{grid-column:3;justify-self:start}.todo-table-card .todo-row>time{grid-column:4;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.todo-table-card .todo-row>.todo-row-actions{grid-column:5;min-width:0;gap:6px;justify-content:flex-start}.todo-page>.todo-calendar-layout{flex:1;min-height:0}.todo-calendar-card{padding:0;overflow:visible;border-radius:0;background:transparent}.todo-calendar-card>.bb-calendar-planner{height:100%;min-height:0;gap:10px}.todo-calendar-card .bb-calendar-planner .bb-calendar-head{flex:none;min-height:82px;margin:0;padding:10px 22px;border-radius:20px;background:#fff}.todo-calendar-card .bb-calendar-planner .bb-calendar-selected time{font-variant-numeric:tabular-nums}.todo-calendar-card .bb-calendar-planner .bb-calendar-grid{flex:1;min-height:0;box-sizing:border-box;padding:10px;border-radius:20px;background:#fff}.todo-calendar-card .bb-calendar-planner .bb-calendar-grid>button{overflow:hidden;transform:none}.todo-calendar-card .bb-calendar-planner .bb-calendar-grid>button:hover{transform:none}.todo-calendar-card .bb-calendar-planner .bb-calendar-grid>button i{top:-1px;right:-1px;border-radius:0 16px 0 12px}.todo-calendar-popover{position:fixed;z-index:var(--bb-z-menu);width:min(390px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;padding:8px;border:0;border-radius:20px;background:#fff;box-shadow:0 16px 48px #0002}.todo-editor>.bb-segmented{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;box-sizing:border-box;padding:0;border-radius:0;background:transparent}.todo-editor>.bb-segmented>button{width:100%;height:36px;min-height:36px;min-width:0;padding:0 8px;border-radius:999px;background:#f5f5f5;color:#777;box-shadow:none}.todo-editor.priority-high>.bb-segmented>button.selected{background:#fff0f0;color:#e5484d;box-shadow:inset 0 0 0 1px #f44}.todo-editor.priority-medium>.bb-segmented>button.selected{background:#eaf4ff;color:#1684ed;box-shadow:inset 0 0 0 1px #238af0}.todo-editor.priority-low>.bb-segmented>button.selected{background:#eaf8f1;color:#11a977;box-shadow:inset 0 0 0 1px #11b981}@media(max-width:720px){.todo-columns{--todo-columns:20px minmax(0,1fr) 48px 86px 52px;--todo-gap:6px}.todo-columns:not(.single-todo-column)>.todo-table-card:nth-child(2){--todo-columns:20px minmax(0,1fr) 48px 86px 52px;--todo-gap:6px}.todo-columns.single-todo-column{--todo-columns:20px minmax(0,1fr) 72px 100px 52px;--todo-gap:8px}.todo-editor>.bb-segmented{gap:8px}}.todo-voice-content{position:relative;min-height:100px}.todo-voice-content textarea{padding-bottom:68px}.todo-voice-tools{position:absolute;left:8px;right:8px;bottom:8px;display:flex;align-items:center;gap:8px;min-width:0}.todo-voice-tools .bb-voice-toggle{height:38px;border-style:dashed;border-radius:10px}.todo-voice-tools span{font-size:12px;line-height:1.4;overflow-wrap:anywhere;max-height:48px;overflow:auto;color:var(--bb-muted)}.todo-voice-tools [role=alert]{color:var(--bb-red-text)}.teacher-app:has(.schedule-page) .page-content{display:flex;overflow:hidden}.teacher-app:has(.schedule-page) .page-surface{display:flex;width:100%;height:100%;min-height:0;overflow:hidden}.teacher-app:has(.schedule-page) .page-surface:before{background:transparent}.teacher-app:has(.schedule-page) .page-surface>.schedule-page{height:100%;min-height:0;flex:1;gap:10px}.schedule-page .schedule-weekbar{flex:0 0 68px;min-height:68px;padding:0 28px;border-radius:20px}.schedule-page .schedule-weekbar-term strong{font-size:18px;color:#352116}.schedule-page .schedule-weekbar-term .schedule-export-trigger{width:32px;height:32px;padding:6px;border-radius:50%;background:#f8f8f8}.schedule-page .schedule-weekbar-term .schedule-export-trigger:hover{background:#f1f1f1}.schedule-page .schedule-weekbar-term .schedule-export-trigger .bb-icon{width:18px;height:18px;filter:none}.schedule-page .schedule-week-controls{gap:8px;display:flex;align-items:center}.schedule-page .schedule-week-caption{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:2px;line-height:1.2}.schedule-page .schedule-week-caption small{font-size:12px;color:var(--bb-muted);font-weight:400;white-space:nowrap}.schedule-page .schedule-week-controls b{font-size:18px;color:#352116}.schedule-page .schedule-week-controls button{width:32px;height:32px;color:#adadad}.schedule-page .schedule-week-controls button:disabled{opacity:.55;cursor:default}.schedule-page .schedule-main-preview{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:8px 10px 20px;border-radius:20px;background:#fff;scrollbar-gutter:stable}.schedule-empty-surface{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:20px;background:#fff}.schedule-empty-surface .bb-empty{flex:none}.schedule-empty-instruction{margin-top:6px;color:#999;font-size:13px}.schedule-empty-instruction button{color:var(--bb-blue);font:inherit}.schedule-empty-instruction button:hover{text-decoration:underline}.bb-modal-frame:has(.bb-schedule){position:relative}.schedule-editor-error{position:absolute;right:24px;bottom:70px;z-index:3;max-width:360px;padding:9px 12px;border-radius:10px;background:#fff4f2;color:#d63030;font-size:13px}.schedule-page .schedule-preview-grid{display:grid;gap:8px;min-width:0}.schedule-page .schedule-preview-head,.schedule-page .schedule-preview-row{grid-template-columns:minmax(88px,.95fr) repeat(7,minmax(0,1fr));gap:10px}.schedule-page .schedule-preview-head{min-height:30px;align-items:center;color:#352116;font-size:14px;font-weight:400}.schedule-page .schedule-preview-head>b{font-size:14px;font-weight:400}.schedule-page .schedule-preview-row>span{min-width:0;min-height:clamp(58px,6.5vh,70px);padding:8px 4px;border:0;border-radius:14px;background:#f7f7f7;color:#352116;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis}.schedule-page .schedule-preview-row>span:first-child{font-size:16px}.schedule-page .schedule-preview-row>span:first-child strong{font-weight:600}.schedule-page .schedule-preview-row>span:first-child small{margin-top:3px;font-size:13px;font-weight:400;white-space:nowrap}.schedule-page .schedule-preview-break{min-height:clamp(56px,6vh,72px);background:#fff;color:#c8c8c8;font-size:18px}.schedule-preview-row>span>.schedule-mine{display:grid;place-items:center;box-sizing:border-box;height:24px;min-height:24px;padding:0 10px;border-radius:0 14px 0 9px;font-size:11px;line-height:1;text-align:center}.schedule-page .schedule-weeks{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;align-content:start;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 2px 12px 0;scrollbar-gutter:stable}.schedule-page .week-card{padding:10px;border:0;border-radius:20px;background:#fff}.schedule-page .week-card>header{height:32px;margin:0 0 4px;align-items:center}.schedule-page .week-card>header h3{font-size:17px;font-weight:600}.schedule-page .week-card-actions{gap:5px}.schedule-page .week-card-actions .bb-icon-button{width:27px;height:27px;padding:5px;border-radius:50%;background:#f9f9f9}.schedule-page .week-card-actions .schedule-export-trigger{background:#f9f9f9}.schedule-page .week-card-actions .bb-icon-button .bb-icon{width:17px;height:17px}.schedule-page .week-mini-grid{grid-template-columns:minmax(42px,.94fr) repeat(7,minmax(0,1fr));gap:5px}.schedule-page .week-mini-grid span{min-height:25px;min-width:0;padding:2px;border:0;border-radius:5px;background:#f7f7f7;color:#352116;font-size:8px;line-height:1.15}.schedule-page .week-mini-grid .week-mini-period{align-items:center;gap:1px;background:#f7f7f7;font-size:7px;text-align:center}.schedule-page .week-mini-period small{font-size:6px;color:#9b9b9b;overflow:hidden;text-overflow:ellipsis;max-width:100%}.schedule-page .week-mini-grid .week-mini-course{background:#f7f7f7;color:#352116;font-size:8px}.schedule-page .week-mini-grid .week-mini-course i{top:2px;right:2px;width:5px;height:5px}.schedule-page .week-card-open:hover .week-mini-course{background:#f3f3f3}.schedule-page .week-card-open:focus-visible{outline:2px solid var(--bb-blue);outline-offset:2px;border-radius:8px}.schedule-page .week-card-actions .bb-icon-button:focus-visible,.schedule-page .schedule-week-controls button:focus-visible{outline:2px solid var(--bb-blue);outline-offset:2px}.bb-modal:has(.schedule-preview-grid){outline:0}.bb-modal:has(.schedule-term-form) .bb-modal-frame>header{padding:20px 22px 8px}.bb-modal:has(.schedule-term-form) .bb-modal-body{padding:12px 22px 22px}.schedule-term-form{display:grid;gap:18px}.schedule-term-section{display:grid;gap:8px}.schedule-term-section>strong{margin-bottom:6px;font-size:14px;font-weight:500}.schedule-term-section .bb-picker-input input{width:100%;height:52px;padding:0 44px 0 20px;border:1px solid #f0f0f0;border-radius:28px;background:#fafafa;font-size:13px;text-align:left}.schedule-term-section .bb-picker-input input:focus{border-color:var(--bb-blue);background:#fff}.schedule-term-section .bb-picker-input>button{right:10px;top:6px;width:40px;height:40px;color:#b6b6b6}.schedule-term-section .bb-picker-input>button .bb-icon{width:14px;height:14px}.bb-modal:has(.schedule-term-form) .bb-modal-frame>footer{padding:0 22px 22px;justify-content:stretch;gap:8px}.bb-modal:has(.schedule-term-form) .bb-modal-frame>footer>.bb-button:first-child{flex:0 0 100px;height:42px;background:#bdbdbd;color:#fff}.bb-modal:has(.schedule-term-form) .bb-modal-frame>footer>.bb-button:last-child{flex:1;height:42px}.bb-modal:has(.schedule-upload){outline:0}.bb-modal:has(.schedule-upload) .bb-modal-frame{position:relative;height:auto;min-height:0}.bb-modal:has(.schedule-upload) .bb-modal-body{padding:16px;overflow:auto}.bb-modal:has(.schedule-upload) .bb-modal-frame>footer{position:static;padding:0 16px 16px;gap:8px;align-items:center}.bb-modal:has(.schedule-upload) .bb-modal-frame>footer>.bb-button{min-width:96px;height:40px}.schedule-page .schedule-upload,.bb-modal .schedule-upload{min-height:154px;border-radius:14px;background:#f7f7f7;color:#777;font-size:14px}.bb-modal .schedule-upload-mark{width:48px;height:48px;border-radius:10px}.bb-modal .schedule-import-target{position:absolute;bottom:16px;left:16px;display:flex;width:308px;gap:8px;margin:0}.bb-modal .schedule-import-target>.bb-field{flex:1;min-width:0}.bb-modal .schedule-import-target>.bb-field>span{display:none}.bb-modal .schedule-import-target .bb-select{width:100%;height:38px;min-height:38px;font-size:13px}.bb-modal .schedule-import-error{position:absolute;right:16px;bottom:62px;left:16px;color:#c2464c;font-size:12px;text-align:center}@media(max-width:1250px){.schedule-page .schedule-weeks{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.schedule-page .schedule-weeks{grid-template-columns:1fr}.schedule-page .schedule-preview-head,.schedule-page .schedule-preview-row{gap:5px}.schedule-page .schedule-preview-row>span{font-size:12px}.schedule-page .schedule-preview-row>span:first-child,.schedule-page .schedule-preview-break{font-size:13px}}.bb-import-upload-content{display:flex;flex-direction:column;gap:16px;min-width:0}.bb-import-upload-content>.schedule-upload,.bb-import-upload-content>.student-import-box{flex-shrink:0}.bb-import-upload-content>.inline-error,.bb-import-upload-content>.schedule-import-error{position:static;margin:0;overflow-wrap:anywhere;flex-shrink:0}.bb-import-upload-content>.bb-import-progress{margin:0}.bb-modal:has(.bb-import-upload-content) .bb-modal-frame>footer{flex-wrap:wrap;row-gap:12px}:is(.bb-calendar-grid>button>i.bb-corner-tag,.todo-calendar-card .bb-calendar-planner .bb-calendar-grid>button>i.bb-corner-tag,.schedule-page .schedule-preview-row>span>.bb-corner-tag,.bb-student>.role.bb-corner-tag){position:absolute;top:0;right:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:auto;min-width:0;height:24px;min-height:24px;padding:0 10px;border:0;border-radius:0 14px 0 9px;background:var(--bb-blue);color:#fff;font-family:var(--bb-font);font-size:11px;font-style:normal;font-weight:400;line-height:1;white-space:nowrap}.teacher-app:has(:is(.student-page,.exam-feature,.seat-page)) .page-content{overflow:hidden}.teacher-app:has(:is(.student-page,.exam-feature,.seat-page)) .page-surface{display:flex;width:100%;height:100%;min-height:0;overflow:hidden}.teacher-app:has(:is(.student-page,.exam-feature,.seat-page)) .page-surface:before{background:transparent}.teacher-app:has(:is(.student-page,.exam-feature,.seat-page)) .page-surface>.feature-stack{height:100%;min-height:0;flex:1}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar{height:44px;min-height:44px;flex:0 0 44px;display:flex;align-items:center;gap:18px;margin-left:-9px;padding:0 16px 0 20px;border:0;border-radius:0;background:transparent;flex-wrap:nowrap}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-tabs{height:44px;min-height:44px;flex:0 0 auto;gap:20px;padding:0;overflow:visible;border:0}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-tabs button{height:44px;min-height:44px;padding:0 8px;border-radius:0;background:transparent;color:#777;font-size:16px;font-weight:400}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-tabs button:hover,:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-tabs button.active{background:transparent;color:#352116}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-tabs button.active{font-weight:700}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-tabs button.active:after{right:auto;bottom:5px;left:50%;width:36px;height:2px;transform:translate(-50%);border-radius:2px;background:#352116}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-search{width:520px;min-width:0;max-width:none;flex:0 1 520px;margin-left:auto;height:36px;gap:8px;padding:0 4px 0 12px;border:0;background:#fff}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-search>.bb-icon{width:14px;height:14px}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-search input{height:32px;font-size:13px}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.feature-toolbar-spacer{flex:1}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-button{width:120px;min-width:120px;height:32px;min-height:32px;padding:0 12px;gap:7px;border-radius:999px;font-size:13px;font-weight:500;white-space:nowrap}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-button>.bb-icon{width:12px;height:12px}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-icon-button{width:32px;height:32px;min-width:32px;min-height:32px;flex:none;padding:7px;border-radius:50%;background:#fff;color:var(--bb-blue)}.student-page{height:100%;min-height:0;gap:14px!important;padding:0;background:transparent;border-radius:0;box-sizing:border-box}.student-page>.student-toolbar{margin:0;padding-inline:20px 16px}.student-toolbar>.bb-button,.student-toolbar>.bb-icon-button{flex:none}.student-toolbar .duty-edit-button .bb-icon{filter:brightness(0)}.student-list-card{flex:1;min-height:0;overflow:auto;margin:0;padding:10px;background:#fff;border:0;border-radius:18px;box-shadow:none;scrollbar-width:thin}.student-list-card:has(>.bb-empty,>.bb-skeleton){display:grid;place-items:center}.student-list-tools{min-height:32px;margin:0 6px 10px;gap:12px;font-size:13px}.student-directory{grid-template-columns:repeat(10,minmax(0,1fr));gap:10px}.student-directory .bb-student{height:80px;min-height:80px;padding:8px;font-size:16px;border-radius:14px}.student-page:not(:has(.student-list-card .bb-skeleton)) .student-directory .bb-student.selected{border:1px solid var(--bb-primary);background:#fffdf0}.student-list-card>.student-directory{margin-top:0}.student-gender-filter,.student-week-filter{margin-left:auto}.student-list-tools>.bb-switch-line{margin-left:8px;white-space:nowrap;font-size:13px}.student-page.duty-page .student-toolbar>.duty-edit-button{width:148px;min-width:148px}.bb-modal-frame:has(.student-form){width:388px}.bb-modal-frame:has(.student-form) .bb-modal-body{padding:20px 22px 12px}.student-form{display:grid;gap:8px}.student-form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-form .bb-field{gap:0}.student-form .bb-field>span:empty,.student-form .bb-field>.sr-only{display:none}.student-form .bb-field input,.student-form .bb-select{height:52px;min-height:52px;background:#f8f8f8}.student-form .bb-field textarea{height:132px;resize:none;background:#f8f8f8}.student-leave-dates{display:grid;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);align-items:center;gap:6px}.student-leave-dates>span{text-align:center}.student-leave-dates .bb-field,.student-leave-dates .bb-picker-input{min-width:0}.student-leave-dates .bb-picker-input input{min-width:0;padding-inline:8px;font-size:12px}.bb-modal-frame:has(.student-form)>footer{justify-content:stretch;padding:8px 22px 20px;gap:8px}.bb-modal-frame:has(.student-form)>footer>.bb-button.quiet{flex:0 0 100px;background:#b9b9b9;color:#fff}.bb-modal-frame:has(.student-form)>footer>.bb-button.primary{flex:1}.bb-menu-custom{padding:8px}.bb-menu-custom .bb-menu-custom-input{height:38px;margin:0 0 6px;border:1px dashed #c8c8c8;border-radius:8px;background:#fff;font-size:13px}.bb-menu-custom .bb-menu-custom-input::placeholder{text-align:center;color:#aaa}.bb-menu-custom .bb-menu-custom-input:focus{border-color:var(--bb-blue);box-shadow:0 0 0 2px #1e8bfa18}.student-import-box{position:relative;min-height:154px;display:flex;align-items:center;justify-content:center;gap:20px;padding:20px;border-radius:12px;background:#f8f8f8;color:#777;font-size:13px;cursor:pointer}.student-import-box>.bb-icon{width:42px;height:42px}.student-import-box>input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.bb-modal-frame:has(.duty-editor){width:min(1020px,calc(100vw - 32px));height:min(690px,calc(100dvh - 32px))}.bb-modal-frame:has(.duty-editor) .bb-modal-body{min-height:0;flex:1;overflow:hidden;padding:8px 14px 0}.duty-editor{display:flex;min-height:0;height:100%;flex-direction:column;gap:14px}.duty-picked{min-height:152px;max-height:168px;overflow:auto;display:grid;align-content:start;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:8px;border:1px dashed #2189ed;border-radius:15px}.duty-picked .bb-student,.duty-available .bb-student{height:60px;min-height:60px;padding:8px;border-radius:14px;font-size:16px}.duty-add-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 8px}.duty-add-head b{font-size:15px;font-weight:500}.duty-add-head p{margin-top:5px;color:#999;font-size:12px}.duty-add-head>.bb-search{width:255px;max-width:40%;flex:none}.duty-available{flex:1;min-height:0;overflow:auto;display:grid;align-content:start;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:0 8px 8px;scrollbar-width:thin}.duty-available .bb-student{border:1px dashed #c8c8c8;background:#fafafa}.duty-available .bb-student:hover{background:#f0f7ff;border-color:#2189ed}.bb-modal-frame:has(.duty-editor)>footer{display:block;padding:10px 14px 14px}.duty-modal-footer{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px}.duty-modal-footer>.bb-popover-anchor{width:min(32%,325px)}.duty-modal-footer .bb-select{width:100%;height:42px}.duty-modal-actions{display:flex;align-items:center;gap:10px}.duty-modal-actions>.bb-button{min-width:100px}.duty-modal-actions>.bb-button:last-child{min-width:230px}.exam-feature>.exam-heading-row{min-height:44px;gap:18px;padding:0 12px}.exam-feature{height:100%;min-height:0;gap:14px!important;padding:0;background:transparent;border-radius:0}.exam-heading-row>.bb-search{margin-left:auto}.exam-feature>.bb-pagination{background:#fff;margin-top:-12px;border-radius:0 0 18px 18px;min-height:54px}.exam-main-scroll{border-radius:18px 18px 0 0}.exam-feature:has(.exam-analysis-panel)>.exam-heading-row{margin-bottom:0}.exam-analysis-panel{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:0;background:transparent;border-radius:0}.exam-analysis-summary{min-height:150px;flex:none;padding:16px 20px;background:#fff;border-radius:18px}.exam-analysis-summary-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.exam-analysis-summary-head>.bb-popover-anchor{width:min(260px,40%)}.exam-analysis-summary-head .bb-select{height:30px;min-width:0;width:100%;border:0;background:transparent;padding:0;font-weight:600}.exam-analysis-summary-head time{color:#888;font-size:13px}.exam-analysis-stats{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:12px;margin-top:22px}.exam-analysis-stats>div{min-width:0}.exam-analysis-stats small{display:block;white-space:nowrap;color:#777;font-size:13px}.exam-analysis-stats strong{display:block;margin-top:6px;font-size:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exam-analysis-stats em{font-size:12px;font-style:normal;font-weight:400;color:#777}.analysis-stat-1{color:#3b8b54}.analysis-stat-2{color:#b34d45}.analysis-stat-3{color:#1e8bfa}.analysis-stat-4{color:#2ac7b7}.analysis-stat-5{color:#ff8d52}.analysis-stat-6{color:#d758ae}.analysis-stat-7{color:#777}.analysis-stat-8{color:#1e8bfa}.analysis-sparkline{display:block;width:90px;max-width:100%;height:26px}.exam-analysis-panel>.exam-analysis-charts{flex:1;min-height:0;display:grid;grid-template-columns:1.1fr .9fr;gap:10px}.exam-analysis-charts>section{display:flex;flex-direction:column;min-height:0;padding:16px 18px;background:#fff;border-radius:18px}.exam-analysis-charts h3{margin:0;font-size:16px;font-weight:600}.exam-analysis-charts .bb-chart-wrap{flex:1;min-height:0;display:flex;align-items:stretch;margin:4px 0 0}.exam-analysis-charts .bb-chart{height:100%;width:100%;max-height:none}.exam-analysis-charts .bb-chart text{font-size:14px}.exam-comparison-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.exam-comparison-head>.bb-popover-anchor{width:min(180px,45%)}.exam-comparison-head .bb-select{width:100%;min-width:0;height:30px;border:0;background:#f8f8f8;font-size:11px}.exam-comparison-head{align-items:center}.exam-comparison-selectors{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.exam-comparison-selectors>.bb-popover-anchor{width:min(180px,38%);min-width:110px}.exam-comparison-selectors .bb-select{height:30px;min-width:0;width:100%;border:0;border-radius:20px;background:#f8f8f8;padding-inline:12px;font-size:12px}.exam-comparison-selectors>.bb-icon{width:18px;height:18px;flex:none}.exam-main-scroll .bb-exam-table th:first-child,.exam-main-scroll .bb-exam-table td:first-child{text-align:left}.exam-main-scroll .bb-exam-table td:first-child>b{font-weight:600}.bb-modal-frame:has(.bb-exam-detail){height:min(740px,calc(100dvh - 32px))}.bb-modal-frame:has(.bb-exam-detail) .bb-modal-body{flex:1;min-height:0;overflow:hidden;padding:16px 20px 0}.bb-exam-detail{height:100%;display:flex;flex-direction:column;min-height:0}.bb-exam-detail-scroll{flex:1;min-height:0;overflow:auto}.exam-detail-footer{width:100%;display:flex;justify-content:flex-end;gap:8px}.exam-detail-footer>.bb-button.secondary{min-width:100px;background:var(--bb-blue);color:#fff}.exam-detail-footer>.bb-button.primary{min-width:230px}.exam-export-menu{padding:8px;border:0;border-radius:18px}.exam-export-menu>div{display:grid}.exam-export-menu button{height:40px;padding:0 16px;text-align:center;border-radius:8px;font-size:13px;white-space:nowrap}.exam-export-menu button:hover{background:#f5f5f5}.seat-page{padding:16px 10px 10px;background:#f5f5f5;border-radius:24px}.seat-page{padding:0;background:transparent;border-radius:0}.seat-page>.seat-page-header{min-height:44px;justify-content:initial;padding-inline:12px}.seat-page-actions{margin-left:auto}.seat-page-actions>.bb-popover-anchor{width:144px}.seat-page-actions>.bb-popover-anchor:first-child{width:144px}.seat-page-actions .bb-button{height:36px;min-height:36px}.seat-page-actions .bb-button.secondary{background:var(--bb-blue);color:#fff}.seat-preview-card{padding:20px}.seat-preview-card{background:#fff}.seat-preview-card>.bb-seating{height:100%;max-height:100%;min-height:0;justify-content:initial}.seat-preview-card .bb-seat-wrap{flex:1;min-height:0;height:100%;max-height:none;overflow:hidden}.seat-preview-card .bb-seat-board{height:100%;display:flex;min-height:0;flex-direction:column}.seat-preview-card .bb-stage{flex:none;height:36px;margin-bottom:10px;color:#aaa}.seat-preview-card .bb-seat-grid{flex:1;min-height:0;grid-template-rows:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:7px}.seat-preview-card .bb-seat-grid .bb-student,.seat-preview-card .bb-seat-grid .bb-seat-ghost{min-height:0;height:100%;padding:4px;font-size:14px}.seat-preview-card>.bb-seating>.bb-business-footer{flex:none;min-height:36px;padding:4px 0 0}.seat-preview-card .bb-seat-board{min-width:0}.seat-preview-card .bb-seat-grid{grid-auto-flow:row;grid-auto-rows:minmax(0,1fr)}.seat-preview-card .bb-seat-grid .aisle{display:grid;place-items:center;min-width:0}.seat-page .bb-seat-grid .bb-seat-ghost.dragging{border:1px dashed var(--bb-blue);background:#f7fbff}.seat-page .bb-seat-drag-preview{position:fixed;z-index:1000;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:20px 12px;pointer-events:none;border:1px solid transparent;border-radius:10px;background:#f9f9f9;box-shadow:none}.finance-page{height:100%;min-height:0;gap:12px!important;padding:0;background:transparent;border-radius:0}.finance-page>.finance-heading-row{height:44px;min-height:44px;flex:0 0 44px;display:flex;align-items:center;gap:18px;margin:0;padding:0 12px;border:0;border-radius:0;background:transparent;flex-wrap:nowrap}.finance-page>.finance-heading-row>.bb-tabs{height:44px;min-height:44px;flex:0 0 auto;gap:20px;padding:0;border:0;background:transparent}.finance-page>.finance-heading-row>.bb-tabs button{height:44px;min-height:44px;padding:0 8px;border-radius:0;background:transparent;color:#352116;font-size:16px;font-weight:700}.finance-page>.finance-heading-row>.bb-tabs button.active:after{right:auto;bottom:5px;left:50%;width:36px;height:2px;transform:translate(-50%);border-radius:2px;background:#352116}.finance-page>.finance-heading-row>.bb-search{width:min(520px,42vw);height:36px;min-width:0;max-width:none;flex:0 1 520px;margin-left:auto;padding:0 12px;background:#fff}.finance-page>.finance-heading-row>.feature-toolbar-spacer{display:none}.finance-page>.finance-panels{min-height:0}@media(max-width:1280px){.student-directory{grid-template-columns:repeat(8,minmax(0,1fr))}}@media(max-width:1050px){.student-directory{grid-template-columns:repeat(6,minmax(0,1fr))}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar{gap:8px;padding-inline:8px}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-tabs{gap:4px}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-tabs button{padding-inline:4px;font-size:13px}.duty-picked,.duty-available{grid-template-columns:repeat(5,minmax(0,1fr))}}.duty-picked .bb-student:focus-visible{outline:none;box-shadow:none}@media(max-width:1050px){.exam-analysis-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.exam-analysis-panel>.exam-analysis-charts{grid-template-columns:1fr 1fr}}@media(max-width:1050px){.seat-page,.seat-preview-card,.seat-preview-card>.bb-seating,.seat-preview-card .bb-seat-wrap{min-width:0}.seat-preview-card .bb-seat-grid{grid-template-columns:repeat(2,minmax(0,1fr)) 28px repeat(2,minmax(0,1fr)) 28px repeat(2,minmax(0,1fr)) 28px repeat(2,minmax(0,1fr));gap:5px}.seat-preview-card .bb-seat-grid .bb-student{padding:2px;font-size:12px}.seat-preview-card .bb-seat-grid .bb-corner-tag{max-width:100%;overflow:hidden;text-overflow:ellipsis}}.student-page:not(.duty-page) .student-directory .bb-student.selected{border:1px solid var(--bb-primary);background:#fffdf0;box-shadow:none}.student-page .student-directory .bb-student:focus-visible{outline:none;box-shadow:none}.student-detail-head>span{color:#888;font-size:13px;font-variant-numeric:tabular-nums}.student-delete-copy{line-height:1.7}.exam-feature>.bb-empty,.seat-page>.bb-empty,.record-feature>.bb-empty,.message-feature>.bb-empty{flex:1;align-self:stretch;display:flex;justify-content:center;align-items:center;padding:24px;border-radius:18px;background:#fff}.schedule-main-preview:has(>.bb-empty){display:flex;align-items:center;justify-content:center}.todo-table-rows:has(>.bb-empty){display:flex;align-items:center;justify-content:center}.finance-table:has(>.bb-empty){min-height:180px;display:flex;align-items:center;justify-content:center}.teacher-app *{scrollbar-width:thin;scrollbar-color:#c8c8c8 transparent}.teacher-app *::-webkit-scrollbar{width:5px;height:5px}.teacher-app *::-webkit-scrollbar-track{background:transparent}.teacher-app *::-webkit-scrollbar-thumb{border-radius:999px;background:#c8c8c8}.teacher-app *::-webkit-scrollbar-thumb:hover{background:#aaa}@media(min-width:901px)and (max-width:1200px){:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar{gap:12px;padding-inline:12px}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-tabs{gap:8px}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-tabs button{padding-inline:4px;font-size:14px}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-search{width:auto;flex:1}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-button{width:110px;min-width:110px;padding-inline:10px}}@media(max-width:900px){:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar{gap:8px;padding-inline:8px}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-tabs{gap:2px}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-tabs button{padding-inline:3px;font-size:12px}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-search{width:auto;min-width:0;flex:1}:is(.student-page,.exam-feature,.seat-page)>.feature-toolbar>.bb-button{width:96px;min-width:96px;padding-inline:8px}}.teacher-app:has(.finance-page) .page-content{display:flex;overflow:hidden}.teacher-app:has(.finance-page) .page-surface{display:flex;width:100%;height:100%;min-height:0;overflow:hidden}.teacher-app:has(.finance-page) .page-surface:before{background:transparent}.teacher-app:has(.finance-page) .page-surface>.finance-page{height:100%;min-height:0;flex:1}.finance-page>.finance-panels{flex:1;min-height:0;overflow:hidden}.finance-panel,.finance-panel .finance-table{min-height:0;overflow:hidden}.finance-list{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.finance-table-head,.finance-row{grid-template-columns:minmax(90px,112px) minmax(120px,1fr) minmax(90px,120px) 60px;gap:10px;padding-inline:12px}.finance-table-head span,.finance-row>*{min-width:0;text-align:left}.finance-table-head span:last-child{text-align:center}.finance-row-actions{justify-content:center}.finance-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1150px){.finance-page>.finance-panels{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(320px,1fr));overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.finance-page .finance-panel{min-height:320px}}.exam-main-scroll .bb-exam-table th:first-child{padding-left:16px}.finance-panel>header{justify-content:flex-start}.finance-panel>header>.finance-filter-group{display:flex;align-items:center;gap:12px;flex:none;margin-left:auto}.finance-panel>header>.bb-button{margin-left:0}.finance-panel>header>.finance-filter-group .bb-check{white-space:nowrap}.finance-page .finance-summary-card,.finance-page .finance-panel{border:0;box-shadow:none}.finance-page .finance-table:has(>.bb-empty){align-items:stretch;justify-content:flex-start}.finance-page .finance-table:has(>.bb-empty)>.bb-empty{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.seat-preview-card{position:relative;flex-direction:column}.seat-preview-card:has(.seat-empty-note)>.bb-seating{flex:1;height:auto;min-height:0}.seat-empty-note{flex:none;padding:8px 0 4px;text-align:center;color:#aaa;font-size:13px;line-height:1.65}.seat-empty-note button{color:var(--bb-blue);font:inherit}.seat-empty-note button:hover{text-decoration:underline}.seat-empty-warning{flex:none;padding:9px 14px;border-radius:10px;background:#fff4f2;color:#d63030;font-size:13px}.finance-page>.finance-heading-row>.bb-search{width:520px;height:36px;min-width:0;flex:0 1 520px;margin-left:auto;padding:0 4px 0 12px;border:0;background:#fff}.finance-page>.finance-heading-row>.bb-search>.bb-icon{width:14px;height:14px}.finance-page>.finance-heading-row>.bb-search input{height:32px;font-size:13px}.seat-preview-card>.bb-seating>.bb-business-footer{justify-content:center}.seat-page .seat-export-trigger{width:32px;height:32px;padding:6px;border-radius:50%;background:#f8f8f8}.seat-page .seat-export-trigger:hover{background:#f1f1f1}.seat-page .seat-export-trigger .bb-icon{width:18px;height:18px}.bb-skeleton{width:100%;height:auto;min-height:0;max-height:100%;align-content:start;overflow:hidden;animation:none}.feature-stack>.bb-skeleton,.page-surface>.bb-skeleton{flex:1;align-self:stretch}.bb-skeleton .skeleton-body{align-content:start;min-width:0;min-height:0;overflow:hidden}.bb-skeleton.today{grid-template-columns:minmax(0,1.92fr) minmax(0,1fr)}.bb-skeleton.today .skeleton-panel{align-content:start;overflow:hidden}.record-feature>.bb-skeleton,.message-feature>.bb-skeleton{display:grid;align-content:start;align-items:initial;justify-content:initial;gap:18px}.student-list-card:has(>.bb-skeleton){display:block}.student-list-card>.bb-skeleton{padding:10px 0;border-radius:0}.bb-skeleton.students .skeleton-body{grid-template-columns:repeat(10,minmax(0,1fr));gap:10px}.bb-skeleton.students .skeleton-row{grid-template-columns:1fr;display:grid;place-items:center;height:80px;min-height:80px;padding:16px 8px}.bb-skeleton.students .skeleton-row i{width:60%;max-width:none}.bb-skeleton.seats .skeleton-body,.bb-skeleton.schedule .skeleton-body{gap:7px}.bb-skeleton.seats .skeleton-row,.bb-skeleton.schedule .skeleton-row{grid-template-columns:repeat(8,minmax(0,1fr));padding:0;gap:7px;background:transparent}.bb-skeleton.seats .skeleton-row i,.bb-skeleton.schedule .skeleton-row i{height:48px;max-width:none}.bb-skeleton.seats{padding-inline:max(20px,calc((100% - 1140px)/2))}.bb-skeleton.calendar .skeleton-row i{width:100%;max-width:none}@media(max-width:1280px){.bb-skeleton.students .skeleton-body{grid-template-columns:repeat(8,minmax(0,1fr))}}@media(max-width:1050px){.bb-skeleton.students .skeleton-body{grid-template-columns:repeat(6,minmax(0,1fr))}.bb-skeleton.today{grid-template-columns:1fr}.bb-skeleton .skeleton-row{grid-template-columns:minmax(0,1fr) 44px 64px;gap:8px}}@media(max-width:1100px){.bb-skeleton.today{grid-template-columns:1fr}}.settings-password-form{display:grid;gap:12px}.settings-password-form h3{font-size:14px;font-weight:600}.settings-password-form>p{margin:0;color:#777}.settings-password-form>.bb-field{gap:0}.settings-password-form>.bb-field>span:empty{display:none}.settings-password-form input{height:52px;background:#f8f8f8}.bb-modal-frame:has(.settings-password-form) .bb-modal-body{padding:30px 28px 10px}.bb-modal-frame:has(.settings-password-form)>footer{gap:20px;padding:12px 28px 26px}.bb-modal-frame:has(.settings-password-form)>footer>.bb-button{min-width:92px}.bb-modal-frame:has(.settings-password-form)>footer>.bb-button.quiet{background:#b9b9b9;color:#fff}.todo-page .todo-table-card>.todo-table-head{height:48px;min-height:48px;align-items:center;box-sizing:border-box}.bb-schedule .bb-footer-actions>.bb-icon-button.toolbar-icon-button{width:32px;min-width:32px;height:32px;min-height:32px;padding:8px;border:0;background:transparent}.bb-schedule .bb-footer-actions>.bb-icon-button.toolbar-icon-button>.bb-icon{width:16px;height:16px;filter:none}.bb-modal-frame:has(.bb-layout-editor){height:min(760px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);display:flex;flex-direction:column}.bb-modal-frame:has(.bb-layout-editor)>.bb-modal-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.bb-layout-editor{flex:1;min-height:0;display:flex;flex-direction:column}.bb-layout-editor>.bb-layout-scaled,.bb-layout-editor>.bb-seat-wrap{flex:1;min-height:0;overflow:auto}.bb-layout-editor>.bb-business-footer{flex:none;margin-top:auto}.exam-main-scroll .bb-exam-table{table-layout:fixed}.exam-main-scroll .bb-exam-table th:first-child,.exam-main-scroll .bb-exam-table td:first-child{width:200px}.exam-main-scroll .bb-exam-table th:last-child,.exam-main-scroll .bb-exam-table td:last-child{width:120px}.exam-main-scroll .bb-exam-table td:first-child>b,.exam-main-scroll .bb-exam-table th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bb-exam-detail-head>.bb-search{padding-right:4px;gap:8px}:is(.record-editable,.record-preview-content .article-content){line-height:22px}:is(.record-editable,.record-preview-content .article-content) p{line-height:22px;margin:0 0 6px}:is(.record-editable,.record-preview-content .article-content) :is(h1,h2,h3,h4,h5,h6){line-height:1.4;margin:12px 0 6px}:is(.record-editable,.record-preview-content .article-content) :is(ul,ol){margin:8px 0;padding-left:24px}:is(.record-editable,.record-preview-content .article-content) li{line-height:22px;margin:2px 0}:is(.record-editable,.record-preview-content .article-content) li>p{margin:0}:is(.record-editable,.record-preview-content .article-content) blockquote{margin:10px 0;line-height:22px}:is(.record-editable,.record-preview-content .article-content)>:first-child{margin-top:0}:is(.record-editable,.record-preview-content .article-content)>:last-child{margin-bottom:0}.bb-modal-body>.bb-seating.bb-layout-editor:has(.bb-layout-fit){display:flex;flex-direction:column;min-height:0;flex:1}.bb-layout-editor>.bb-layout-canvas-row{flex:1;min-height:0;overflow:hidden}.bb-layout-editor>.bb-layout-canvas-row>.bb-layout-fit{max-height:none;height:100%}.todo-page>.todo-columns.today-columns{gap:8px}.bb-subject-column-heading{display:inline-flex;align-items:center;justify-content:center;gap:3px;max-width:100%;white-space:nowrap}.bb-subject-shift{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:24px;padding:3px;color:var(--bb-muted);border-radius:4px}.bb-subject-shift .bb-arrow{width:10px;height:10px}.bb-subject-shift:hover:not(:disabled){background:var(--bb-input);color:var(--bb-ink)}.bb-subject-shift:disabled{opacity:.25;cursor:default}.bb-subject-column-heading>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.bb-break-label{display:flex;align-items:center;justify-content:center;gap:8px}.bb-score-editor,.bb-score-editor .bb-score-scroll{width:100%;min-width:0}.schedule-weekbar+.schedule-main-preview{margin-top:-7px}.finance-summary-card+.finance-panels{margin-top:-7px}.finance-panels{gap:6px}.bb-score-editor .bb-score-table{min-width:0;table-layout:fixed}.bb-score-editor .bb-score-table :is(th,td){padding-inline:4px;min-width:0;overflow-wrap:anywhere;white-space:normal}.bb-score-editor .bb-score-table input{width:100%;max-width:64px;min-width:0;padding-inline:2px;box-sizing:border-box}.bb-score-editor .bb-score-table th{padding-inline:2px}.bb-score-editor .bb-subject-column-heading{display:flex;width:100%;gap:0;min-width:0}.bb-score-editor .bb-subject-column-heading>span{flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bb-score-editor .bb-subject-shift{width:12px;padding-inline:1px}.bb-modal:has(.student-import-review){max-width:calc(100vw - 32px)}.student-import-review{min-width:0}.student-import-counts{display:flex;flex-wrap:wrap;gap:8px 24px}.student-import-review .bb-table-scroll{min-width:0;max-height:min(400px,calc(100dvh - 280px))!important;overflow-x:hidden}.student-import-review .bb-exam-table{min-width:0;table-layout:fixed;width:100%}.student-import-review .bb-exam-table td{padding:6px}.student-import-review .bb-field,.student-import-review .bb-select{min-width:0;width:100%}.student-import-review .bb-exam-table input,.student-import-review .bb-exam-table [role=combobox]{min-width:0;width:100%;max-width:100%;box-sizing:border-box}.student-import-review .inline-error{overflow-wrap:anywhere}.student-import-review .bb-field>span:empty{display:none}.exam-import-review{display:grid;gap:12px;min-width:0}.exam-import-settings{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.exam-import-settings>.bb-field{flex:1;min-width:140px}.exam-import-mappings{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;padding-top:10px}.exam-import-table-wrap{max-height:min(420px,45dvh);overflow:auto;min-width:0}.exam-import-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px}.exam-import-table th{position:sticky;top:0;background:#fff;padding:8px 4px;z-index:1;overflow-wrap:anywhere}.exam-import-table td{padding:6px 4px;vertical-align:top;overflow-wrap:anywhere}.exam-import-table tbody tr:nth-child(odd){background:#f9f9f9}.exam-import-table th:first-child{width:16%}.exam-import-table th:nth-child(2){width:22%}.exam-import-table small{display:block;font-size:11px;color:#888}.exam-import-table .exam-import-problem{color:#b44632}.exam-import-table .bb-field,.exam-import-table .bb-select,.exam-import-table input{width:100%;min-width:0}.exam-import-table input{padding-inline:7px}.exam-import-table .bb-select{padding-inline:8px;white-space:normal}.exam-import-table .bb-field>span:empty{display:none}.exam-import-table th.exam-import-remove{width:56px}.exam-import-table td:last-child>.bb-button{min-width:0;padding-inline:6px;font-size:12px}.exam-import-metadata-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.student-history-entry{display:flex;align-items:center;justify-content:space-between;gap:10px;box-sizing:border-box;width:100%;min-height:38px;padding:7px 11px;border:1px solid #ededed;border-radius:10px;background:#f8f8f8;color:inherit;font:inherit;font-size:13px;text-align:left;cursor:pointer;transition:border-color .18s,background .18s}.student-history-entry:hover{border-color:#2189ff;background:#f7fbff}.student-history-entry:focus-visible{outline:2px solid #2189ff;outline-offset:3px}.student-exam-history{display:grid;gap:20px}.student-exam-history section{border-bottom:1px solid #eee;padding-bottom:12px}.student-history-scores{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0}.student-history-scores>div{display:grid;gap:6px;min-width:64px}.bb-modal:has(.student-history-content){overflow:hidden;max-height:min(740px,calc(100dvh - 32px))}.bb-modal-frame:has(.student-history-content){max-height:min(740px,calc(100dvh - 32px))}.bb-modal-frame:has(.student-history-content)>.bb-modal-body{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.student-history-content,.student-exam-history section{min-width:0}.student-exam-history h3{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-stack:has(.import-review-scroll){min-width:0}.import-review-scroll{max-height:min(400px,48dvh);overflow:auto;min-width:0;max-width:100%;border:1px solid var(--bb-border);border-radius:12px}.import-score-table,.import-schedule-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;table-layout:fixed}.import-score-table th,.import-score-table td,.import-schedule-table th,.import-schedule-table td{padding:8px 10px;border-bottom:1px solid #eee;text-align:center;overflow-wrap:anywhere}.import-score-table thead th,.import-schedule-table thead th{position:sticky;top:0;background:#f5f5f5;z-index:2;font-weight:500}.import-score-table th:first-child{width:140px;position:sticky;left:0;background:#f9f9f9;z-index:1}.import-score-table thead th:first-child{z-index:3}.import-score-table small,.import-schedule-table small{display:block;color:var(--bb-muted);font-weight:400;font-size:12px}.import-score-table .bb-field{min-width:0}.import-score-table .bb-field>span:empty{display:none}.import-score-table input{height:34px;width:100%;min-width:0;padding:4px 6px;text-align:center;font-size:13px}.schedule-import-review{display:grid;gap:10px;min-width:0}.import-missing-weeks{overflow-wrap:anywhere;font-size:12px}.import-week{display:grid;gap:8px;padding:12px;border-bottom:1px solid #eee;min-width:0}.import-week:last-child{border-bottom:0}.import-week-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;font-size:13px}.import-week-heading strong{font-weight:500}.import-week>.bb-field{max-width:280px}.import-week summary{cursor:pointer;font-size:12px;color:var(--bb-link);padding:4px 0}.import-schedule-table th:first-child{width:110px}.import-schedule-table th:nth-child(2){width:160px}.exam-analysis-charts>section{padding:20px;overflow:hidden}.exam-analysis-charts .bb-chart-wrap{margin-top:16px;min-height:220px}.exam-analysis-charts .bb-chart text{font-size:13px;font-weight:400}.import-week-grid-scroll{overflow-x:auto;max-width:100%;min-width:0}.import-week-grid{min-width:680px}.import-week-grid th:first-child{width:120px}.import-week-grid th:nth-child(2){width:auto}.import-week-grid tbody th{font-weight:500;background:#f9f9f9}.import-week-grid .import-week-break{color:var(--bb-muted);background:#f9f9f9}.import-week-grid td{vertical-align:middle;white-space:normal;overflow-wrap:anywhere}.teacher-app .bb-button.toolbar-button,.teacher-app .feature-toolbar .bb-button.toolbar-button{width:auto;min-width:120px;height:32px;min-height:32px;flex:none;padding:0 12px;gap:7px;border:1px solid transparent;border-radius:999px;font-family:inherit;font-size:13px;font-weight:500;line-height:1.5}.teacher-app .bb-button.toolbar-button.primary{background:var(--bb-primary);color:var(--bb-ink)}.teacher-app .bb-button.toolbar-button.primary:hover{background:var(--bb-primary-hover)}.teacher-app .bb-button.toolbar-button.secondary{background:var(--bb-blue);color:#fff}.teacher-app .bb-button.toolbar-button.secondary:hover{background:#1474d5}.toolbar-button-icon{display:block;flex:0 0 12px;width:12px;height:12px;background:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.teacher-app .feature-toolbar .bb-button.toolbar-icon-button{width:32px;min-width:32px;height:32px;min-height:32px;flex:none;padding:8px;border:0;border-radius:50%;background:transparent;color:var(--bb-blue);font-family:inherit;font-size:13px;font-weight:500;line-height:1.5}.teacher-app .feature-toolbar .bb-button.toolbar-icon-button:hover{background:#eee}.teacher-app .feature-toolbar .bb-button.toolbar-icon-button>.bb-icon{width:16px;height:16px;filter:none}@media(min-width:901px)and (max-width:1200px){.teacher-app .bb-button.toolbar-button,.teacher-app .feature-toolbar .bb-button.toolbar-button{min-width:110px;padding-inline:10px}}@media(max-width:900px){.teacher-app .bb-button.toolbar-button,.teacher-app .feature-toolbar .bb-button.toolbar-button{min-width:96px;padding-inline:8px}}.teacher-app.workspace-shell .app-main .page-content{display:flex;height:100%;min-height:0;margin:0;padding:12px 12px 12px 10px;background:transparent;overflow:hidden}.teacher-app.workspace-shell .app-main .page-surface{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;padding:10px;background:#f5f5f5;border-radius:30px;overflow:hidden}.teacher-app.workspace-shell .app-main .page-surface:before{display:none}.teacher-app.workspace-shell .app-main .page-surface>:is(.feature-stack,.storage-page){display:flex;flex-direction:column;flex:1;width:100%;height:100%;min-height:0;margin:0;padding:0;gap:14px!important;background:transparent;border-radius:0}.teacher-app.workspace-shell .page-surface .feature-toolbar{display:flex;align-items:center;height:44px;min-height:44px;flex:0 0 44px;width:100%;margin:0;padding:0 16px 0 12px;gap:18px;border:0;border-radius:0;background:transparent;flex-wrap:nowrap}.teacher-app.workspace-shell .page-surface .feature-toolbar>.bb-tabs{display:flex;align-items:center;height:44px;min-height:44px;flex:0 0 auto;gap:20px;margin:0;padding:0;border:0;overflow:visible;background:transparent}.teacher-app.workspace-shell .page-surface .feature-toolbar>.bb-tabs button,.teacher-app.workspace-shell .page-surface .feature-toolbar>.feature-title{position:relative;display:flex;align-items:center;height:44px;min-height:44px;flex:none;margin:0;padding:0 8px;border:0;border-radius:0;font:400 16px/1.5 var(--bb-font);white-space:nowrap;color:#777;background:transparent}.teacher-app.workspace-shell .page-surface .feature-toolbar>.bb-tabs button.active,.teacher-app.workspace-shell .page-surface .feature-toolbar>.feature-title{color:var(--bb-ink);font-weight:700}.teacher-app.workspace-shell .page-surface .feature-toolbar>.bb-tabs button:hover{color:var(--bb-ink);background:transparent}.teacher-app.workspace-shell .page-surface .feature-toolbar>.bb-tabs button.active:after,.teacher-app.workspace-shell .page-surface .feature-toolbar>.feature-title:after{content:"";position:absolute;left:50%;right:auto;bottom:5px;width:36px;height:2px;border-radius:2px;background:var(--bb-ink);transform:translate(-50%)}.teacher-app.workspace-shell .page-surface .feature-toolbar>.feature-toolbar-spacer{flex:1;min-width:0}.teacher-app.workspace-shell .page-surface .feature-toolbar>.todo-search{display:flex;flex:0 1 520px;width:520px;max-width:520px;min-width:0;margin-left:auto}.teacher-app.workspace-shell .page-surface .feature-toolbar>.bb-search,.teacher-app.workspace-shell .page-surface .feature-toolbar>.todo-search>.bb-search{width:520px;max-width:520px;min-width:0;flex:0 1 520px;margin:0 0 0 auto;height:36px;gap:8px;padding:0 4px 0 12px;border:0;border-radius:999px;background:#fff}.teacher-app.workspace-shell .page-surface .feature-toolbar .bb-search>.bb-icon{width:14px;height:14px}.teacher-app.workspace-shell .page-surface .feature-toolbar .bb-search input{height:32px;font-size:13px}.teacher-app.workspace-shell .page-surface .bb-empty img{width:100px;height:100px;object-fit:contain}@media(max-width:1200px){.teacher-app.workspace-shell .page-surface .feature-toolbar{gap:12px}.teacher-app.workspace-shell .page-surface .feature-toolbar>.bb-tabs{gap:8px}.teacher-app.workspace-shell .page-surface .feature-toolbar>.bb-tabs button,.teacher-app.workspace-shell .page-surface .feature-toolbar>.feature-title{font-size:14px}}@media(max-width:900px){.teacher-app.workspace-shell .app-main .page-content{padding:10px 8px}.teacher-app.workspace-shell .app-main .page-surface{padding:8px;border-radius:24px}.teacher-app.workspace-shell .page-surface .feature-toolbar{padding:0 8px;gap:8px}.teacher-app.workspace-shell .page-surface .feature-toolbar>.bb-tabs{gap:2px}.teacher-app.workspace-shell .page-surface .feature-toolbar>.bb-tabs button,.teacher-app.workspace-shell .page-surface .feature-toolbar>.feature-title{padding:0 4px;font-size:12px}}.teacher-app.workspace-shell{--workspace-card-radius:20px}.teacher-app.workspace-shell .page-surface :is(.bb-card,.todo-table-card,.todo-calendar-card,.bb-calendar-planner .bb-calendar-head,.bb-calendar-planner .bb-calendar-grid,.schedule-weekbar,.schedule-main-preview,.schedule-empty-surface,.week-card,.bb-week-preview-card,.student-list-card,.exam-table-card,.exam-analysis-summary,.exam-analysis-charts>section,.seat-preview-card,.record-list-card,.message-list,.storage-capacity,.storage-counts,.storage-browser,.feature-stack>.bb-empty,.feature-stack>.bb-skeleton){border-radius:var(--workspace-card-radius)}.exam-table-card{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:#fff}.teacher-app.workspace-shell .exam-table-card>.exam-main-scroll{border-radius:0}.exam-table-card>.bb-pagination{flex:none;min-height:54px;padding:10px;background:#fff}.teacher-app.workspace-shell .page-surface>.membership-feature-gate{display:flex;flex:1;min-height:0;width:100%;align-items:center;justify-content:center}.membership-feature-gate>.bb-empty{margin:0}.teacher-app.workspace-shell .storage-summary+.storage-browser{margin-top:-7px}@media(min-width:1024px)and (max-width:1440px)and (max-height:900px)and (pointer:fine){html:has(.teacher-app){zoom:.8}html:has(.teacher-app) #root,html:has(.teacher-app) .teacher-app,html:has(.teacher-app) .teacher-app>.bb-product-sidebar,html:has(.teacher-app) .teacher-app>.app-main{height:125dvh}html:has(.teacher-app) .bb-modal{max-width:calc(125vw - 32px);max-height:calc(125dvh - 32px)}html:has(.teacher-app) .bb-modal-frame{max-height:calc(125dvh - 32px)}}@media(max-width:1599px){.todo-page .todo-columns.today-columns{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden}.todo-page .today-columns>.todo-table-card{min-height:0;height:100%}.todo-page .today-columns>.todo-table-card:nth-child(2){display:none}}
