/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}}:root{--ink:#182439;--muted:#748095;--line:#e5e5ea;--panel:#fff;--page:#f5f5f7;--indigo:#3478f6;--indigo-dark:#0a66d8;--mint:#18a889;--amber:#e69a32;--rose:#e16672}*{box-sizing:border-box}html{background:var(--page)}body{background:var(--page);color:var(--ink);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #5c5ce233}.auth-page{background:radial-gradient(circle at 8% 12%,#577ef629,#0000 30%),radial-gradient(circle at 92% 88%,#41b99724,#0000 29%),linear-gradient(135deg,#f3f7ff 0%,#fbfcff 48%,#f1fbf7 100%);grid-template-columns:minmax(720px,980px);place-content:center;min-height:100vh;padding:clamp(18px,3vw,42px);display:grid;position:relative;overflow:auto}.auth-page:before,.auth-page:after{content:"";pointer-events:none;border-radius:999px;position:absolute}.auth-page:before{background:#4dc4a01a;width:360px;height:360px;bottom:-90px;left:-110px}.auth-page:after{border:70px solid #5f70e81a;width:520px;height:520px;top:-210px;right:-210px}.yujian-brand-panel,.yujian-login-card,.role-landing-card{z-index:1;-webkit-backdrop-filter:blur(18px);background:#fffc;border:1px solid #ffffffc7;border-radius:30px;position:relative;box-shadow:0 24px 65px #3a485c1f}.yujian-brand-panel{flex-direction:column;justify-content:space-between;min-height:680px;padding:30px 34px;display:flex;overflow:hidden}.yujian-brand-panel.poster-style{background:linear-gradient(135deg,#ffffffb8,#fff6e2db),radial-gradient(circle at 88% 10%,#e6b2642e,#0000 22%);border-color:#f2d9b2d6}.yujian-brand-panel:before{content:"";background:linear-gradient(135deg,#ffcc7a2e,#ec675314);border-radius:50%;width:270px;height:270px;position:absolute;bottom:-84px;right:-82px}.yujian-brand-panel:after{content:"";border-top:16px solid #ce9e5529;border-radius:50%;width:120px;height:92px;position:absolute;top:22px;right:22px;transform:rotate(-28deg)}.poster-topline{z-index:1;justify-content:space-between;align-items:center;gap:14px;display:flex;position:relative}.yujian-logo-wrap{align-items:center;gap:13px;display:flex}.yujian-logo-wrap strong,.yujian-logo-wrap small{display:block}.yujian-logo-wrap strong{letter-spacing:-.04em;font-size:24px}.yujian-logo-wrap small{color:#788579;margin-top:3px;font-size:12px}.yujian-logo{object-fit:contain;filter:drop-shadow(0 10px 18px #2a878d2e);width:64px;height:64px;display:block}.yujian-logo-wrap.compact .yujian-logo{width:54px;height:54px}.yujian-logo-wrap.compact strong{font-size:20px}.poster-pill{color:#594936;white-space:nowrap;background:#f4dfbf;border-radius:999px;align-items:center;min-height:34px;padding:0 18px;font-size:16px;font-weight:800;display:inline-flex}.poster-copy{z-index:1;margin-top:20px;position:relative}.poster-copy h1{color:#101820;letter-spacing:-.075em;max-width:760px;margin:0;font-size:clamp(38px,4.4vw,62px);font-weight:950;line-height:1.18}.poster-copy h1 span{color:#e33c32;display:inline-block}.poster-copy p{color:#4d4a44;margin:18px 0 0;font-size:clamp(17px,1.6vw,23px);font-weight:850}.poster-copy b{color:#a89d8b;margin:0 10px}.preview-switch{background:#f4dfbfd1;border-radius:999px;gap:6px;margin-top:18px;padding:5px;display:inline-flex}.preview-switch button{color:#7a6548;background:0 0;border:0;border-radius:999px;height:34px;padding:0 16px;font-size:14px;font-weight:900}.preview-switch button.active{color:#fff;background:#e85745;box-shadow:0 8px 16px #dd4d3d2e}.poster-showcase{z-index:1;grid-template-columns:290px minmax(0,1fr);align-items:center;gap:24px;margin-top:24px;display:grid;position:relative}.phone-mock{background:#111;border-radius:42px;justify-self:center;width:275px;height:520px;padding:13px;position:relative;box-shadow:0 26px 45px #1e181042}.phone-speaker{z-index:2;background:#111;border-radius:0 0 16px 16px;width:96px;height:22px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.phone-screen{color:#1d242c;background:#fffaf1;border-radius:31px;height:100%;padding:18px 14px 14px;overflow:hidden}.phone-status{color:#181818;justify-content:space-between;font-size:10px;font-weight:800;display:flex}.phone-screen>small{color:#6e6a60;text-align:center;margin-top:18px;font-weight:800;display:block}.phone-screen h3{margin:18px 0 4px;font-size:17px}.phone-screen p{color:#8a8173;margin:0;font-size:10px;line-height:1.55}.countdown-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.countdown-grid div{background:#fff;border-radius:13px;min-height:82px;padding:12px;box-shadow:0 8px 20px #4b3d2614}.countdown-grid small{color:#998f80;font-size:10px}.countdown-grid strong{color:#161b22;margin-top:8px;font-size:20px;display:block}.todo-head{justify-content:space-between;align-items:center;margin:20px 0 10px;font-size:12px;display:flex}.todo-head span{color:#fff;background:#111;border-radius:8px;place-items:center;width:24px;height:24px;display:grid}.todo-row{background:#ffffffdb;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-top:8px;padding:10px;font-size:11px;font-weight:800;display:grid;box-shadow:0 6px 14px #4b3d260d}.todo-row i{border:1px solid #c9c0b1;border-radius:50%;width:12px;height:12px}.todo-row em{color:#e25a3f;background:#fff0e7;border-radius:999px;padding:3px 6px;font-size:9px;font-style:normal}.web-mock{background:#f8fafc;border:10px solid #1d2630;border-radius:26px;align-self:center;width:min(390px,100%);min-height:318px;overflow:hidden;box-shadow:0 24px 42px #1e181038}.web-top{background:#202936;align-items:center;gap:6px;height:34px;padding:0 14px;display:flex}.web-top span{background:#f36b5f;border-radius:50%;width:8px;height:8px}.web-top span:nth-child(2){background:#f7c86b}.web-top span:nth-child(3){background:#70c885}.web-body{grid-template-columns:92px 1fr;min-height:284px;display:grid}.web-body aside{background:#fff;border-right:1px solid #edf0f3;align-content:start;gap:9px;padding:14px 10px;display:grid}.web-body aside strong{color:#2b7d76;margin-bottom:8px;font-size:14px}.web-body aside i{color:#6b7280;background:#f5f6f8;border-radius:9px;padding:8px 7px;font-size:10px;font-style:normal;font-weight:800}.web-body section{padding:14px}.web-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.web-title span{color:#19202b;font-size:15px;font-weight:950}.web-title b{color:#fff;background:#e85745;border-radius:999px;padding:6px 9px;font-size:9px}.web-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.web-stats em{color:#2b3745;background:#fff;border-radius:12px;min-height:54px;padding:10px 8px;font-size:11px;font-style:normal;font-weight:900;box-shadow:0 8px 18px #2632460f}.web-table{gap:8px;margin-top:14px;display:grid}.web-table div{background:#fff;border-radius:11px;justify-content:space-between;gap:12px;padding:10px 11px;font-size:11px;font-weight:850;display:flex}.web-table strong{color:#3e9b70;font-size:10px}.trace-cards{align-self:center;gap:14px;display:grid}.trace-cards.web-copy .trace-card strong{font-size:21px}.trace-cards.web-copy .trace-card small{font-size:15px}.trace-card{background:#ffffffb8;border:2px solid #0000;border-radius:19px;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:14px;min-height:106px;padding:18px;display:grid}.trace-card span{color:#fff;border-radius:50%;place-items:center;width:56px;height:56px;font-size:26px;font-weight:900;display:grid}.trace-card strong,.trace-card small{display:block}.trace-card strong{color:#151c22;letter-spacing:-.04em;font-size:24px}.trace-card small{color:#5e5c55;margin-top:6px;font-size:16px;line-height:1.45}.trace-card.red{background:#fff5ef;border-color:#f3cdc4}.trace-card.red span{background:linear-gradient(145deg,#f06b5b,#ef4236)}.trace-card.blue{background:#f4f8ff;border-color:#d1deee}.trace-card.blue span{background:linear-gradient(145deg,#79a4e6,#3f75cf)}.trace-card.green{background:#f5fbf0;border-color:#d4e7cf}.trace-card.green span{background:linear-gradient(145deg,#8ccf91,#4cac66)}.poster-bottom{z-index:1;color:#24201a;background:#ffeeccc7;border-radius:24px;margin-top:18px;padding:22px 28px;font-size:22px;font-weight:900;line-height:1.6;position:relative}.poster-bottom strong,.poster-bottom span{display:block}.poster-bottom b{color:#e33c32}.mini-program-card{background:#ffffffb8;border:1px solid #dee6e2e6;border-radius:22px;align-items:center;gap:13px;width:245px;padding:15px;display:flex}.mini-program-card strong,.mini-program-card small{display:block}.mini-program-card strong{font-size:14px}.mini-program-card small{color:#8a958e;margin-top:3px;font-size:11px}.qr-placeholder{background-color:#f1f5f3;background-image:linear-gradient(90deg,#6d8f85 10%,#0000 10% 90%,#6d8f85 90%),linear-gradient(#6d8f85 10%,#0000 10% 90%,#6d8f85 90%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:16px;place-items:center;width:58px;height:58px;display:grid}.qr-placeholder span{opacity:.75;background:#6d8f85;border-radius:5px;width:18px;height:18px}.qr-placeholder.large{background-size:28px 28px;border-radius:24px;width:112px;height:112px;margin:0 auto}.yujian-login-card{padding:25px}.login-logo{margin-bottom:30px}.login-security-badge{color:#2f7465;background:#edf8f4;border-radius:999px;align-items:center;min-height:31px;padding:0 11px;font-size:12px;font-weight:800;display:inline-flex}.login-security-copy{color:#65766e;background:#f8fbfa;border:1px solid #e2ece8;border-radius:16px;margin:0 0 20px;padding:13px 14px;font-size:13px;line-height:1.65}.identity-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.identity-grid button{color:#56635c;background:#fbfdfc;border:1px solid #e3ebe7;border-radius:20px;place-items:center;gap:8px;min-height:82px;padding:12px 8px;transition:all .18s;display:grid}.identity-grid button:hover{border-color:#cbded7;transform:translateY(-1px)}.identity-grid button.active{color:#2d695b;background:#eef8f4;border-color:#458e7961;box-shadow:inset 0 0 0 1px #458e791f}.identity-grid span{background:#5a706614;border-radius:999px;place-items:center;width:30px;height:30px;font-size:15px;display:grid}.identity-grid strong{font-size:14px}.login-portal-grid{grid-template-columns:repeat(4,1fr)}.login-portal-grid button{align-content:center;min-height:104px}.login-portal-grid small{color:#8a9690;font-size:10px;line-height:1.35}.login-form-head{justify-content:space-between;align-items:center;gap:14px;margin:24px 2px 14px;display:flex}.login-form-head small{color:#8c978f;font-size:12px;display:block}.login-form-head h2{letter-spacing:-.05em;margin:2px 0 0;font-size:27px}.login-form-head>button{color:#3d7d70;background:0 0;border:0;font-size:13px;font-weight:800}.login-methods{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.login-methods button{color:#68766f;background:#fff;border:1px solid #e2e9e6;border-radius:999px;height:36px;padding:0 13px;font-size:12px;font-weight:800}.login-methods button.active{color:#fff;background:#3e8778;border-color:#3e8778}.auth-form{gap:13px;display:grid}.auth-field{color:#4f5e57;gap:7px;font-size:13px;font-weight:800;display:grid}.auth-field input,.auth-form input,.auth-form select{width:100%;height:50px;color:var(--ink);background:#fff;border:1px solid #dfe8e4;border-radius:16px;padding:0 15px;font-size:15px;font-weight:600;transition:all .16s}.auth-field input:focus,.auth-form input:focus,.auth-form select:focus{border-color:#3e87788c;outline:4px solid #3e87781f}.auth-field small{color:#c4565f;font-size:12px;font-weight:700}.code-row,.password-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.code-row button,.password-row button{color:#3d7d70;background:#eef7f3;border:0;border-radius:15px;min-width:92px;font-size:13px;font-weight:800}.code-row button:disabled{color:#9aa6a0;cursor:not-allowed;background:#f2f4f3}.wechat-login-box{text-align:center;background:#fbfdfc;border:1px dashed #d8e6e0;border-radius:22px;justify-items:center;gap:13px;padding:20px;display:grid}.wechat-login-box p{color:#5f6f67;margin:0;font-size:14px;font-weight:800}.remember-row{align-items:center;color:#5f6f67!important;gap:8px!important;font-size:13px!important;font-weight:700!important;display:flex!important}.remember-row input{accent-color:#3e8778;width:17px!important;height:17px!important}.auth-message{color:#b94d57;background:#fff0f1;border-radius:14px;margin:0;padding:10px 12px;font-size:13px;font-weight:700}.auth-message.success{color:#347264;background:#edf8f4}.auth-submit{background:#3e8778;border-radius:17px;width:100%;height:52px;margin-top:2px;font-size:15px;box-shadow:0 14px 30px #3e877838}.auth-submit:hover{background:#337668}.login-links{flex-wrap:wrap;gap:8px 13px;margin-top:16px;display:flex}.login-links span{color:#75827c;font-size:12px;font-weight:700}.login-links button,.auth-policy-links button,.auth-policy-links a{color:#63736b;background:0 0;border:0;padding:0;font-size:12px;font-weight:700;text-decoration:none}.login-links button:hover,.auth-policy-links button:hover,.auth-policy-links a:hover{color:#2e7969}.auth-policy-links{border-top:1px solid #edf1ef;flex-wrap:wrap;gap:12px;margin-top:18px;padding-top:15px;display:flex}.yujian-login-card{background:#ffffffeb;border-color:#dce4f0e0;width:100%;padding:0;overflow:hidden;box-shadow:0 30px 90px #2d3f6229}.login-card-header{background:#ffffffc7;border-bottom:1px solid #e9eef6;justify-content:space-between;align-items:center;gap:20px;min-height:90px;padding:18px 28px;display:flex}.login-logo{margin:0}.login-header-tag{color:#526278;background:#f8faff;border:1px solid #dfe7f5;border-radius:999px;align-items:center;min-height:34px;padding:0 14px;font-size:12px;font-weight:800;display:inline-flex}.login-shell{grid-template-columns:minmax(340px,.95fr) minmax(380px,1.05fr);display:grid}.login-identity-panel{background:radial-gradient(circle at 92% 8%,#5964e226,#0000 28%),linear-gradient(145deg,#f4f7ff 0%,#f7fbff 52%,#f0faf7 100%);border-right:1px solid #e5ebf4;padding:34px}.login-eyebrow{color:#5570dd;letter-spacing:.14em;font-size:11px;font-weight:900}.login-identity-panel h1{letter-spacing:-.055em;margin:8px 0 7px;font-size:31px;line-height:1.2}.login-identity-panel>p{color:#6e7b90;margin:0;font-size:13px;line-height:1.7}.portal-teacher{--portal:#df5c91;--portal-soft:#fff0f6}.portal-subject{--portal:#3478f6;--portal-soft:#eaf3ff}.portal-duty{--portal:#dc8e2c;--portal-soft:#fff4df}.portal-family{--portal:#318b74;--portal-soft:#e9f8f3}.login-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:24px}.login-portal-grid button{text-align:left;background:#ffffffd1;border-radius:18px;grid-template-columns:42px minmax(0,1fr) 20px;place-items:center start;gap:10px;min-height:82px;padding:12px}.login-portal-grid button:hover{border-color:var(--portal);box-shadow:0 9px 22px #2d3f6214}.login-portal-grid button.active{color:var(--portal);border-color:var(--portal);box-shadow:0 11px 25px #2d3f621c, inset 0 0 0 1px var(--portal-soft);background:#fff}.login-portal-grid button>span{width:42px;height:42px;color:var(--portal);background:var(--portal-soft);font-size:18px}.login-portal-grid button>div{min-width:0}.login-portal-grid strong,.login-portal-grid small{display:block}.login-portal-grid strong{font-size:14px}.login-portal-grid small{color:#8a96a8;margin-top:3px;font-size:10px;line-height:1.35}.login-portal-grid button.active small{color:#67758a}.login-portal-grid i{color:#fff;background:var(--portal);border-radius:50%;place-items:center;width:19px;height:19px;font-size:11px;font-style:normal;display:none}.login-portal-grid button.active i{display:grid}.login-form-panel{background:#fffffff5;min-width:0;padding:34px 38px 36px}.login-form-head{margin:0 0 14px}.login-form-head h2{font-size:29px}.login-form-panel .login-security-badge{color:var(--portal);background:var(--portal-soft)}.login-form-panel .login-security-copy{color:#667489;background:#f8faff;border-color:#e5eaf2}.login-form-panel .auth-field input:focus,.login-form-panel .auth-form input:focus,.login-form-panel .auth-form select:focus{border-color:var(--portal);outline:4px solid var(--portal-soft)}.login-form-panel .auth-submit{background:var(--portal);box-shadow:0 14px 30px #2d3f6233}.login-form-panel .auth-submit:hover{filter:brightness(.94)}.yujian-login-card>.auth-policy-links{background:#fbfcfe;border-top:1px solid #edf1f5;justify-content:center;gap:10px 18px;margin:0;padding:17px 28px 20px}.role-select-modal{width:min(430px,100%)}.role-select-list{gap:10px;padding:18px;display:grid}.role-select-list button{color:#243832;background:#fff;border:1px solid #e2e9e6;border-radius:17px;align-items:center;gap:12px;height:60px;padding:0 15px;font-size:15px;font-weight:800;display:flex}.role-select-list span{color:#3e8778;background:#eef7f3;border-radius:999px;place-items:center;width:34px;height:34px;display:grid}.policy-body{color:#64726b;gap:10px;padding:20px 24px 24px;font-size:14px;line-height:1.8;display:grid}.policy-body p{margin:0}.role-landing-page{background:linear-gradient(135deg,#f7faf8,#f4f7fb);place-items:center;min-height:100vh;padding:26px;display:grid}.role-landing-card{width:min(760px,100%);padding:34px}.role-landing-card h1{letter-spacing:-.06em;margin:30px 0 0;font-size:36px}.role-landing-card p{color:#7a877f;margin:8px 0 0}.role-landing-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0;display:grid}.role-landing-grid div{background:#fff;border:1px solid #e3ebe7;border-radius:20px;min-height:96px;padding:18px}.role-landing-grid strong,.role-landing-grid small{display:block}.role-landing-grid strong{font-size:17px}.role-landing-grid small{color:#8a958e;margin-top:8px}.role-landing-actions{justify-content:flex-end;display:flex}.app-shell{background:var(--page);flex-direction:row;min-height:100vh;display:flex}.app-preview-frame{background:var(--page);min-height:100vh;transition:all .22s}.app-preview-frame.viewport-mobile{background:var(--page);border:1px solid #d2d7e1e6;border-radius:32px;width:min(430px,100vw - 20px);height:calc(100vh - 20px);min-height:720px;margin:10px auto;overflow:auto;box-shadow:0 26px 70px #1e2a4133}.app-preview-frame.viewport-mobile .app-shell{min-height:100%}.viewport-helper{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sidebar{z-index:20;-webkit-backdrop-filter:blur(22px);background:linear-gradient(#f8f9ff 0%,#f5f8ff 46%,#fbf8ff 100%);border-right:1px solid #d6def0e6;flex-direction:column;flex:0 0 106px;align-items:stretch;gap:9px;width:106px;height:100vh;min-height:100vh;padding:12px 6px 10px;transition:width .2s,flex-basis .2s,padding .2s;display:flex;position:sticky;top:0;box-shadow:10px 0 28px #1f2a4412}.sidebar-collapse-button{z-index:2;color:#69758a;background:#fff;border:1px solid #d6dce7f2;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;font-size:19px;line-height:1;display:grid;position:absolute;top:25px;right:-14px;box-shadow:0 6px 16px #1f2a441f}.sidebar-collapse-button:hover{color:var(--indigo);border-color:#3478f63d}.app-shell.sidebar-collapsed .sidebar{flex-basis:78px;align-items:center;width:78px;padding-inline:10px}.app-shell.sidebar-collapsed .brand{grid-template-columns:48px;justify-content:center;padding-inline:0}.app-shell.sidebar-collapsed .brand span,.app-shell.sidebar-collapsed .workspace-viewport-switch,.app-shell.sidebar-collapsed .nav-caption,.app-shell.sidebar-collapsed .main-nav button:not(.active) .nav-icon+*,.app-shell.sidebar-collapsed .main-nav button:not(.active):after,.app-shell.sidebar-collapsed .main-nav button span+text{display:none}.app-shell.sidebar-collapsed .brand-photo{border-radius:16px;width:48px;height:48px}.app-shell.sidebar-collapsed .main-nav{width:100%}.app-shell.sidebar-collapsed .main-nav button{justify-content:center;gap:0;padding:0;font-size:0}.app-shell.sidebar-collapsed .main-nav button .nav-icon{margin:0;font-size:13px}.app-shell.sidebar-collapsed .module-manage-button{color:#0000;width:46px;min-height:46px;margin-inline:0;font-size:0;overflow:hidden}.app-shell.sidebar-collapsed .module-manage-button:before{content:"⚙";color:#687489;font-size:17px}.app-shell.sidebar-collapsed .teacher-card{justify-content:center;padding-inline:0}.app-shell.sidebar-collapsed .teacher-card div,.app-shell.sidebar-collapsed .teacher-card .online-dot{display:none}.brand{text-align:center;flex:none;grid-template-columns:1fr;place-items:center;gap:7px;padding:2px 4px 8px;display:grid}.brand-home-button{cursor:pointer;background:0 0;border:0;border-radius:15px;width:70px;height:48px;padding:0}.brand-home-button:hover{transform:translateY(-1px)}.brand-mark{color:#fff;background:linear-gradient(145deg,#6969ee,#4d4dcc);border-radius:12px;place-items:center;width:39px;height:39px;font-size:19px;font-weight:800;display:grid;box-shadow:0 8px 18px #5c5ce23d}.brand-photo{object-fit:cover;object-position:center 68%;border-radius:15px;flex:none;width:70px;height:48px;box-shadow:0 8px 18px #5c5ce22e}.brand strong,.brand small{display:block}.brand strong{color:#10213a;letter-spacing:.04em;white-space:nowrap;font-family:Kaiti SC,STKaiti,KaiTi,楷体,serif;font-size:14px;font-weight:700;line-height:1}.brand small{color:#929bad;letter-spacing:.13em;margin-top:2px;font-size:10px}.workspace-viewport-switch{background:#7878801a;border-radius:999px;align-items:center;width:100%;padding:2px;display:flex}.workspace-viewport-switch button{color:#fff;background:var(--indigo);white-space:nowrap;border:0;border-radius:999px;width:100%;min-width:76px;height:27px;padding:0 9px;font-size:10px;font-weight:900;box-shadow:0 6px 12px #3478f62e}.public-panel-exit{color:#64738d;cursor:pointer;background:#fff;border:1px solid #dce3f1;border-radius:9px;width:100%;min-height:27px;font-size:10px;font-weight:800}.public-panel-exit:hover{color:#355ecb;background:#f5f8ff;border-color:#b8c9f2}.app-shell.sidebar-collapsed .public-panel-exit{width:48px;font-size:9px}.app-shell.viewport-mobile .public-panel-exit{width:auto;min-width:76px;padding:0 9px}.app-shell.viewport-mobile{flex-direction:column;display:flex}.app-shell.viewport-mobile .sidebar{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;flex:none;align-items:center;gap:10px;width:100%;height:auto;min-height:auto;padding:12px;display:flex;position:static;overflow-x:auto;box-shadow:0 12px 34px #1f2a440d}.app-shell.viewport-mobile .sidebar-collapse-button{display:none}.app-shell.viewport-mobile .brand{padding:0;display:flex}.app-shell.viewport-mobile .workspace-viewport-switch{display:flex}.app-shell.viewport-mobile .main-nav{flex-direction:row;align-items:center;gap:7px;padding-bottom:2px;display:flex;overflow:auto hidden}.app-shell.viewport-mobile .nav-caption,.app-shell.viewport-mobile .teacher-card{display:none}.app-shell.viewport-mobile .main-nav button{width:auto;min-width:max-content;height:37px;padding:0 11px}.app-shell.viewport-mobile .main-nav button.active{box-shadow:none}.app-shell.viewport-mobile .nav-icon{width:23px;height:23px}.app-shell.viewport-mobile .module-manage-button{border-radius:999px;width:auto;min-height:37px}.app-shell.viewport-mobile .topbar{height:auto;min-height:80px;padding:15px 18px}.app-shell.viewport-mobile .topbar h1{font-size:19px}.app-shell.viewport-mobile .topbar p,.app-shell.viewport-mobile .icon-button{display:none}.app-shell.viewport-mobile .content{padding:18px}.app-shell.viewport-mobile .welcome-strip{align-items:flex-start;padding:22px}.app-shell.viewport-mobile .quick-actions{display:none}.app-shell.viewport-mobile .dashboard-grid,.app-shell.viewport-mobile .conversation-grid,.app-shell.viewport-mobile .stage-timeline,.app-shell.viewport-mobile .two-column,.app-shell.viewport-mobile .parent-layout,.app-shell.viewport-mobile .homework-content,.app-shell.viewport-mobile .todo-reflection-grid,.app-shell.viewport-mobile .card-grid{grid-template-columns:1fr}.app-shell.viewport-mobile .stat-grid,.app-shell.viewport-mobile .mini-stat-grid,.app-shell.viewport-mobile .subject-stat-grid{grid-template-columns:1fr 1fr;gap:9px}.app-shell.viewport-mobile .homework-timeline-item{grid-template-columns:1fr;gap:8px}.app-shell.viewport-mobile .homework-date{justify-items:start;position:static}.app-shell.viewport-mobile .homework-line{display:none}.nav-caption{color:#a0a8b7;letter-spacing:.14em;margin:0 8px 2px;font-size:10px;font-weight:900;display:block}.main-nav{scrollbar-width:none;flex-direction:column;flex:auto;align-items:stretch;gap:6px;min-width:0;padding:3px 0;display:flex;overflow:hidden auto}.main-nav::-webkit-scrollbar{display:none}.main-nav button{color:#667187;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:5px;width:100%;min-width:0;min-height:36px;padding:0 5px;font-size:10px;font-weight:900;transition:all .18s;display:flex}.main-nav button:hover{color:var(--indigo);background:#3478f614}.main-nav button.active{color:var(--indigo);box-shadow:none;background:#3478f61f}.main-nav button.drag-ready{cursor:grab;color:#4e4ed1;outline-offset:2px;background:#f7f1ff;outline:2px dashed #5c5ce23d}.main-nav button:active.drag-ready{cursor:grabbing}.nav-icon{background:#74809514;border-radius:8px;flex:none;place-items:center;width:25px;height:25px;font-size:12px;display:grid}.main-nav button:first-child .nav-icon{color:#5869d8;background:#e8ebff}.main-nav button:nth-child(2) .nav-icon{color:#2d9a80;background:#e3f8f1}.main-nav button:nth-child(3) .nav-icon{color:#c58222;background:#fff1d9}.main-nav button:nth-child(4) .nav-icon{color:#b75e83;background:#ffe8f0}.main-nav button:nth-child(5) .nav-icon{color:#5884bb;background:#e7f1ff}.main-nav button:nth-child(6) .nav-icon{color:#a46bc2;background:#f3e9ff}.main-nav button:nth-child(7) .nav-icon{color:#2f9b9a;background:#e2f8f7}.main-nav button:nth-child(8) .nav-icon{color:#6876cf;background:#e9ecff}.main-nav button:nth-child(9) .nav-icon{color:#d06b57;background:#ffebe4}.main-nav button:nth-child(10) .nav-icon{color:#d2712c;background:#fff0df}.main-nav button:nth-child(11) .nav-icon{color:#ad668b;background:#fce8f2}.main-nav button.active .nav-icon{background:#5c5ce21f}.nav-badge{color:#fff;background:var(--rose);border-radius:9px;place-items:center;min-width:19px;height:19px;margin-left:2px;padding:0 5px;font-size:10px;display:grid}.module-manage-button{color:#687489;white-space:nowrap;background:#7878801a;border:0;border-radius:13px;flex:none;width:100%;min-height:38px;margin:0;padding:0 10px;font-size:10px;font-weight:900}.module-manage-button:hover{color:var(--indigo);background:#3478f61a}.teacher-card{border:0;border-top:1px solid var(--line);width:100%;color:inherit;text-align:left;background:0 0;flex:none;align-items:center;gap:9px;margin:0;padding:13px 5px 1px;display:flex}.teacher-card:hover{color:var(--indigo)}.teacher-card strong,.teacher-card small{display:block}.teacher-card strong{font-size:11px}.teacher-card small{color:#9ba3b1;margin-top:1px;font-size:8px}.online-dot{background:#44bd91;border-radius:50%;width:6px;height:6px;margin-left:2px;box-shadow:0 0 0 3px #e6f8f2}.main-area{flex:1;min-width:0;min-height:100vh}.topbar{-webkit-backdrop-filter:blur(20px);background:#f5f5f7db;border-bottom:1px solid #e5e5ead1;justify-content:space-between;align-items:center;gap:20px;height:86px;padding:0 34px;display:flex}.topbar h1{letter-spacing:-.04em;margin:0;font-size:25px;font-weight:800}.topbar p{color:var(--muted);margin:6px 0 0;font-size:11px}.local-control-actions{background:#ffffffc7;border:1px solid #dce7f7;border-radius:16px;align-items:center;gap:8px;padding:6px;display:flex;box-shadow:0 8px 24px #1a4a8212}.local-control-actions>span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;max-width:170px;padding:0 7px;font-size:10px;font-weight:800;overflow:hidden}.local-control-actions>span.running{color:#176bc2}.local-control-actions>span.success{color:#07866f}.local-control-actions>span.error{color:#c24155}.local-control-actions .secondary-button,.local-control-actions .primary-button{min-height:34px;box-shadow:none;padding:0 13px;font-size:11px}.local-publish-backdrop{z-index:120;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0f172a6b;place-items:center;padding:24px;display:grid}.local-publish-dialog{background:#fff;border:1px solid #dce7f7;border-radius:26px;width:min(440px,100%);padding:28px;box-shadow:0 28px 80px #0f172a3d}.local-publish-icon{color:#fff;background:linear-gradient(145deg,#4c8dff,#2268e8);border-radius:16px;place-items:center;width:48px;height:48px;margin-bottom:18px;font-size:24px;font-weight:900;display:grid;box-shadow:0 12px 28px #2f76f647}.local-publish-dialog h2{color:#14213d;margin:0 0 10px;font-size:21px}.local-publish-dialog p{color:#64748b;margin:0;font-size:14px;line-height:1.75}.local-publish-dialog-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.local-publish-dialog-actions .secondary-button,.local-publish-dialog-actions .primary-button{min-width:108px}.top-actions{align-items:center;gap:10px;display:flex}.icon-button{border:1px solid var(--line);color:#7d8798;background:#fff;border-radius:10px;width:37px;height:37px;font-size:19px;position:relative}.unread-dot{background:#ed6875;border:1px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:8px}.primary-button,.secondary-button{border:0;border-radius:999px;height:40px;padding:0 17px;font-size:12px;font-weight:800;transition:all .18s}.primary-button{color:#fff;background:var(--indigo);box-shadow:0 10px 22px #3478f638}.primary-button:hover{background:var(--indigo-dark);transform:translateY(-1px)}.primary-button:disabled{opacity:.65;cursor:wait;transform:none}.secondary-button{color:#3f4653;background:#7878801f}.content{padding:27px 34px 50px}.site-compliance-footer{color:#8a94a6;justify-content:center;padding:0 24px 24px;font-size:12px;display:flex}.site-compliance-footer a{color:inherit;text-decoration:none}.site-compliance-footer a:hover{color:var(--indigo)}.welcome-strip{-webkit-backdrop-filter:blur(18px);background:#ffffffb8;border:1px solid #ffffffc7;border-radius:26px;justify-content:space-between;align-items:center;gap:25px;min-height:142px;padding:23px 28px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 45px #37406414}.welcome-strip:before,.welcome-strip:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.welcome-strip:before{border:36px solid #5c5ce20b;width:180px;height:180px;top:-130px;right:25%}.welcome-strip:after{background:#3dbcb312;width:130px;height:130px;bottom:-82px;right:-35px}.welcome-strip>*{z-index:1;position:relative}.eyebrow{color:#6969c4;letter-spacing:.12em;margin-bottom:7px;font-size:9px;font-weight:800;display:block}.welcome-strip h2{letter-spacing:-.02em;margin:0;font-size:24px}.welcome-strip p{color:#737e91;margin:8px 0 0;font-size:11px}.welcome-strip p strong{color:#5555c2}.quick-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:480px;display:flex}.quick-actions button{color:#6d7690;background:#ffffffc7;border:1px solid #5c5ce21a;border-radius:13px;align-content:center;place-items:center;gap:5px;min-width:78px;height:69px;padding:0 11px;font-size:10px;font-weight:700;display:grid;box-shadow:0 7px 22px #4b4c8c0f}.quick-actions button:hover{color:var(--indigo);background:#fff;transform:translateY(-2px)}.quick-actions button span{color:var(--indigo);font-size:16px;font-weight:800}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:17px;display:grid}.stat-card{-webkit-backdrop-filter:blur(16px);background:#ffffffc7;border:1px solid #ffffffc7;border-radius:23px;justify-content:space-between;align-items:center;min-height:116px;padding:19px 18px;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 38px #2d38580f}.stat-card:after{content:"";opacity:.055;background:currentColor;border-radius:50%;width:70px;height:70px;position:absolute;bottom:-30px;right:-23px}.stat-card small{color:var(--muted);font-size:10px}.stat-card strong{color:var(--ink);letter-spacing:-.03em;margin-top:6px;font-size:27px;display:block}.stat-card strong em{color:#9aa2b1;margin-left:4px;font-size:10px;font-style:normal;font-weight:500}.stat-card p{color:#9ba3b0;margin:6px 0 0;font-size:9px}.stat-card .up{color:var(--mint);font-weight:700}.stat-symbol{color:currentColor;background:currentColor;border-radius:13px;place-items:center;width:43px;height:43px;font-size:12px;font-weight:800;display:grid;box-shadow:inset 0 0 0 30px #ffffffe0}.stat-card.indigo{color:var(--indigo)}.stat-card.mint{color:var(--mint)}.stat-card.amber{color:var(--amber)}.stat-card.rose{color:var(--rose)}.routine-rank-card{cursor:pointer;align-items:flex-start}.routine-rank-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #ba761c1a}.routine-rank-card:focus-visible{outline-offset:2px;outline:3px solid #efa44647}.deduction-rank-list{gap:5px;min-width:0;margin-top:8px;display:grid}.deduction-rank-row{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px;width:100%;display:grid;color:#747d8f!important;margin:0!important;font-size:10px!important}.deduction-rank-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.deduction-rank-row strong{color:#d25b67;letter-spacing:-.02em;margin:0;font-size:15px}.deduction-rank-row strong em{margin-left:2px;font-size:8px}.dashboard-grid{grid-template-columns:1.35fr .95fr;gap:16px;margin-top:17px;display:grid}.panel{-webkit-backdrop-filter:blur(18px);background:#fffc;border:1px solid #ffffffbd;border-radius:24px;box-shadow:0 18px 48px #2d385812}.panel-head{border-bottom:1px solid #e5e5eac7;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:0 23px;display:flex}.panel-head h3,.table-toolbar h3{letter-spacing:-.03em;margin:0;font-size:16px}.panel-head p,.table-toolbar p{display:none}.growth-overview-panel{background:linear-gradient(135deg,#fff 0%,#f8f9ff 54%,#f3fbf8 100%);grid-template-columns:320px minmax(0,1fr);gap:20px;margin:17px 0;padding:21px;display:grid;overflow:hidden}.growth-overview-copy h3{letter-spacing:-.02em;margin:6px 0 0;font-size:20px}.growth-overview-copy p{color:#677386;margin:10px 0 0;font-size:11px;line-height:1.8}.button-row{flex-wrap:wrap;gap:9px;margin-top:17px;display:flex}.growth-overview-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.growth-overview-card{text-align:left;background:#ffffffd1;border:1px solid #e7eaf0;border-radius:16px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:93px;padding:14px;transition:all .18s;display:grid}.growth-overview-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px #27304d14}.growth-overview-card span{color:#5f5fd4;background:#eef;border-radius:12px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:900;display:grid}.growth-overview-card strong,.growth-overview-card small{display:block}.growth-overview-card strong{color:var(--ink);font-size:13px}.growth-overview-card small{color:#818b9c;margin-top:5px;font-size:9px;line-height:1.55}.growth-overview-card b{color:var(--ink);font-size:15px}.growth-overview-card.indigo span{color:#5f5fd7;background:#eef}.growth-overview-card.mint span{color:#17866f;background:#e4f7f1}.growth-overview-card.amber span{color:#b87318;background:#fff0d9}.growth-overview-card.rose span{color:#d05e69;background:#fff0f2}.text-button{color:#6666cf;background:0 0;border:0;font-size:9px;font-weight:700}.count-chip{color:#d05e69;background:#fff0f2;border-radius:12px;padding:4px 8px;font-size:9px;font-weight:700}.performance-body{grid-template-columns:210px 1fr;align-items:center;min-height:226px;padding:18px 22px;display:grid}.average-orbit{background:conic-gradient(#6060e2 0 82%, #ececff 82%);border-radius:50%;place-items:center;width:157px;height:157px;margin:auto;display:grid;position:relative}.average-orbit:after{content:"";background:#fff;border-radius:50%;width:119px;height:119px;position:absolute;box-shadow:inset 0 0 0 1px #eef}.average-orbit>div{z-index:1;text-align:center;position:relative}.average-orbit span,.average-orbit small{color:#9ba2b0;font-size:8px;display:block}.average-orbit strong{letter-spacing:-.04em;margin:2px 0;font-size:28px;display:block}.average-orbit small{color:#35a486}.subject-bars{gap:18px;display:grid}.subject-row{grid-template-columns:35px 1fr;align-items:center;gap:11px;display:grid}.subject-dot{border-radius:10px;place-items:center;width:34px;height:34px;font-size:10px;font-weight:800;display:grid}.subject-0{color:#5f5fd7;background:#eef}.subject-1{color:#1c9d81;background:#e6f8f2}.subject-2{color:#da8b25;background:#fff4e4}.subject-3{color:#d6606b;background:#ffedf0}.subject-row>div{min-width:0}.subject-row p{justify-content:space-between;margin:0 0 7px;font-size:10px;display:flex}.subject-row p b{font-size:11px}.bar-track{background:#eff1f5;border-radius:4px;height:5px;display:block;overflow:hidden}.bar-track i{border-radius:inherit;background:linear-gradient(90deg,#6868e7,#8c8cee);height:100%;display:block}.focus-list{padding:7px 11px 12px}.focus-list button{width:100%;min-height:54px;color:inherit;text-align:left;background:0 0;border:0;border-radius:11px;grid-template-columns:35px 1fr auto 12px;align-items:center;gap:10px;padding:7px 9px;display:grid}.focus-list button:hover{background:#f8f9fc}.focus-list button>span:nth-child(2) strong,.focus-list button>span:nth-child(2) small{display:block}.focus-list button>span:nth-child(2) strong{font-size:11px}.focus-list button>span:nth-child(2) small{color:#9aa2af;margin-top:3px;font-size:8px}.focus-list button>i{color:#aeb5c1;font-style:normal}.all-good{color:var(--mint);text-align:center;background:#effaf7;border-radius:12px;margin:20px;padding:20px;font-size:10px}.avatar{color:#5557b9;letter-spacing:-.02em;background:#e8e9ff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:10px;font-weight:900;display:grid}.tone-1{color:#a46322;background:#ffedd7}.tone-2{color:#2c8b78;background:#dff5ef}.tone-3{color:#b95565;background:#ffe5ea}.tone-4{color:#4b76a3;background:#e1effb}.teacher-avatar{color:#fff;background:#6060d8;width:34px;height:34px}.score-pill{border-radius:8px;place-items:center;min-width:42px;padding:4px 7px;font-size:9px;font-weight:800;display:inline-grid}.score-pill.great{color:#138068;background:#e5f7f1}.score-pill.good{color:#4c63bb;background:#ebefff}.score-pill.watch{color:#bf791b;background:#fff1dc}.score-pill.risk{color:#c9515d;background:#ffe9ec}.level-pill{white-space:nowrap;border-radius:9px;place-items:center;min-width:58px;padding:5px 8px;font-size:9px;font-weight:800;display:inline-grid}.level-A{color:#128168;background:#e5f7f1}.level-B{color:#4c63bb;background:#ebefff}.level-C{color:#bf791b;background:#fff1dc}.level-D{color:#c9515d;background:#ffe9ec}.timeline,.talk-stack{padding:12px 20px 17px}.timeline-item{grid-template-columns:26px 1fr auto;align-items:center;gap:9px;min-height:45px;display:grid}.timeline-dot{border-radius:8px;place-items:center;width:23px;height:23px;font-size:12px;font-weight:800;display:grid}.timeline-dot.positive{color:#168871;background:#e4f7f1}.timeline-dot.negative{color:#c95763;background:#ffe9ec}.timeline-item p{margin:0;font-size:10px}.timeline-item p span{color:#8791a2;margin-left:8px;font-size:8px}.timeline-item small{color:#a4abb7;margin-top:2px;font-size:8px;display:block}.timeline-item>b{font-size:10px}.positive-text{color:#159177!important}.negative-text{color:#d25b67!important}.event-stack{gap:8px;margin:0 20px 17px;display:grid}.event-mini{background:#fff;border:1px solid #edf0f5;border-radius:12px;padding:10px 11px}.event-mini strong,.event-mini span,.event-mini small{display:block}.event-mini strong{color:var(--ink);font-size:11px}.event-mini span{color:#6262cf;margin-top:3px;font-size:9px;font-weight:800}.event-mini small{color:#7f8999;margin-top:4px;font-size:9px;line-height:1.55}.talk-stack{gap:8px;display:grid}.talk-item{border:1px solid #eff0f5;border-radius:11px;grid-template-columns:35px 34px 1fr;align-items:center;gap:9px;min-height:55px;padding:7px 8px;display:grid}.talk-date{color:#5b5bc8;background:#f0f0ff;border-radius:9px;align-content:center;place-items:center;height:37px;display:grid}.talk-date strong{font-size:13px;line-height:1}.talk-date span{margin-top:2px;font-size:7px}.talk-item p{margin:0;font-size:10px}.talk-item small{color:#919aa9;font-size:8px}.pending-chip{color:#bd781c;background:#fff1dc;border-radius:7px;margin-left:6px;padding:2px 5px;font-size:7px}.subject-stat-grid,.mini-stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:17px;display:grid}.app-shell.viewport-web .routine-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:9px}.mini-stat-grid.routine-stat-grid article{border-radius:13px;min-height:0;padding:11px 13px;display:block}.routine-stat-grid .mini-icon{display:none}.routine-stat-grid article>div{min-width:0}.mini-stat-grid.routine-stat-grid small{font-size:10px}.mini-stat-grid.routine-stat-grid strong{margin-top:4px;font-size:23px;line-height:1.15}.mini-stat-grid.routine-stat-grid p{margin:4px 0 3px;font-size:11px;line-height:1.3}.mini-stat-grid.routine-stat-grid em{white-space:nowrap;font-size:9px;display:block}@media (width<=760px){.app-shell.viewport-web .routine-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}.routine-point-scope-note{color:var(--muted);margin:-7px 0 18px;font-size:11px}.release-manager-modal{width:min(760px,94vw);max-height:85vh;overflow:auto}.release-manager-note{color:var(--muted);font-size:13px;line-height:1.7}.release-manager-list{gap:10px;margin-top:16px;display:grid}.release-manager-list article{border:1px solid var(--line);border-radius:13px;justify-content:space-between;align-items:center;gap:12px;padding:15px;display:flex}.release-manager-list article>div{min-width:0}.release-manager-list strong{overflow-wrap:anywhere;font-size:14px}.release-manager-list small,.release-manager-list span{color:var(--muted);margin-top:6px;font-size:11px;display:block}.release-manager-list button{flex-shrink:0}.subject-stat{border:1px solid var(--line);background:#fff;border-radius:15px;align-items:center;gap:13px;min-height:100px;padding:18px;display:flex}.subject-stat .subject-dot{border-radius:13px;width:43px;height:43px}.subject-stat small,.subject-stat strong,.subject-stat p{display:block}.subject-stat small{color:var(--muted);font-size:9px}.subject-stat strong{margin-top:2px;font-size:21px}.subject-stat p{color:#9ba3b0;margin:3px 0 0;font-size:8px}.subject-card{align-items:flex-start}.subject-card strong em{color:#9ea6b3;margin-left:3px;font-size:9px;font-style:normal}.subject-card p{white-space:nowrap}.mini-stat-grid article{border:1px solid var(--line);background:#fff;border-radius:15px;align-items:center;gap:13px;min-height:91px;padding:17px;display:flex}.mini-icon{border-radius:12px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.mini-icon.mint{color:var(--mint);background:#e7f8f3}.mini-icon.rose{color:var(--rose);background:#ffebee}.mini-icon.indigo{color:var(--indigo);background:#ededff}.mini-icon.amber{color:var(--amber);background:#fff2df}.mini-stat-grid small{color:var(--muted);font-size:9px;display:block}.mini-stat-grid strong{margin-top:3px;font-size:21px;display:block}.mini-stat-grid em{color:#9ea6b3;font-size:10px;font-style:normal}.table-panel{overflow:hidden}.table-toolbar{border-bottom:1px solid #e5e5eac7;justify-content:space-between;align-items:center;gap:20px;min-height:80px;padding:17px 23px;display:flex}.table-toolbar h3 span{color:var(--indigo);background:#3478f61a;border-radius:999px;margin-left:7px;padding:3px 8px;font-size:10px}.toolbar-actions{align-items:center;gap:9px;display:flex}.routine-bulk-panel{background:linear-gradient(135deg,#f7fbff,#fff);border:1px solid #dfe8ff;border-radius:18px;gap:12px;margin:14px 18px 8px;padding:14px;display:grid;box-shadow:inset 0 0 0 1px #ffffffb8}.routine-bulk-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.routine-bulk-head strong{color:#24324a;font-size:13px}.routine-bulk-head span{color:#8b95a7;font-size:9px;font-weight:800}.routine-bulk-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.routine-bulk-panel label{gap:5px;display:grid}.routine-bulk-panel label>span{color:#6f798a;font-size:8px;font-weight:900}.routine-bulk-panel input,.routine-bulk-panel select,.routine-bulk-panel textarea{width:100%;color:var(--ink);background:#ffffffdb;border:1px solid #dbe3f2;border-radius:13px;outline:0;font-size:10px;font-weight:800;transition:all .15s}.routine-bulk-panel input,.routine-bulk-panel select{height:36px;padding:0 10px}.routine-bulk-panel textarea{resize:vertical;padding:10px 12px;line-height:1.6}.routine-bulk-panel input:focus,.routine-bulk-panel select:focus,.routine-bulk-panel textarea:focus{border-color:#3478f68c;box-shadow:0 0 0 4px #3478f61a}.routine-bulk-bottom{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.search-box{background:#fafbfc;border:1px solid #e3e6eb;border-radius:10px;align-items:center;gap:8px;width:215px;height:38px;padding:0 11px;display:flex}.search-box span{color:#939cab;font-size:17px}.search-box input{background:0 0;border:0;outline:0;width:100%;font-size:10px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:10px}th{color:#8d96a6;text-align:left;white-space:nowrap;background:#fafbfc;height:43px;padding:0 14px;font-size:8px;font-weight:700}td{color:#667185;white-space:nowrap;border-top:1px solid #f0f1f4;height:61px;padding:7px 14px}tbody tr:hover{background:#fbfbfe}.student-cell{color:var(--ink);align-items:center;gap:9px;display:inline-flex}.student-cell strong,.student-cell small{display:block}.student-cell strong{font-size:10px}.student-cell small{color:#a0a7b3;margin-top:2px;font-size:8px}.student-roster-board{background:#fbfcff;grid-template-columns:minmax(0,1fr);gap:8px;padding:10px 12px 14px;display:grid}.student-roster-group{background:#fff;border:1px solid #edf0f5;border-radius:14px;min-width:0;overflow:hidden;box-shadow:0 8px 18px #1f2a4409}.student-roster-head,.student-roster-row{grid-template-columns:minmax(50px,1fr) repeat(5,31px);align-items:center;gap:3px;display:grid}.student-roster-head{color:#8b95a6;background:#f8faff;min-height:24px;padding:0 6px;font-size:8px;font-weight:900}.student-roster-head span{text-align:center;border-radius:7px;place-items:center;height:18px;display:grid}.student-roster-head span:first-child{text-align:left;justify-content:start}.student-roster-head span:nth-child(2){color:#2563eb;background:#eef4ff}.student-roster-head span:nth-child(3){color:#07866f;background:#e8f8f3}.student-roster-head span:nth-child(4){color:#d25b67;background:#fff0f2}.student-roster-head span:nth-child(5){color:#5b5fd6;background:#f0eeff}.student-roster-head span:nth-child(6){color:#bd781c;background:#fff4df}.student-roster-list{display:grid}.student-roster-row{color:#172033;border-top:1px solid #f1f3f7;min-height:30px;padding:3px 6px;font-size:9px;font-weight:900}.student-roster-row:hover{background:#f8fbff}.student-mini-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;min-width:0;display:flex;overflow:hidden}.student-mini-name b{color:#3478f6;background:#eef4ff;border-radius:999px;flex:none;place-items:center;min-width:19px;height:19px;font-size:8px;display:grid}.student-mini-stat{text-align:center;cursor:pointer;border:0;border-radius:8px;place-items:center;height:22px;padding:0;font-size:8px;font-weight:900;display:grid}.student-mini-stat:hover{filter:brightness(.985);box-shadow:inset 0 0 0 1px #3478f624}.student-mini-stat.total{color:#2563eb;background:#eef4ff}.student-mini-stat.bonus{color:#07866f;background:#e8f8f3}.student-mini-stat.deduct{color:#d25b67;background:#fff0f2}.student-mini-stat.talk{color:#5b5fd6;background:#f0eeff}.student-mini-pending{text-align:center;border-radius:8px;place-items:center;height:22px;font-size:9px;font-weight:900;display:grid}.student-mini-pending.follow{color:#bd781c;background:#fff4df}.student-mini-pending.follow.has-pending{color:#bd781c;background:#ffe8bd}.english-hub-page,.english-subject-page{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}.english-v2-layout{grid-template-columns:1fr;gap:16px;display:grid}.english-v2-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 22px 10px;display:grid}.english-v2-controls label,.english-v2-content,.english-v2-remark{color:#758095;gap:6px;font-size:11px;font-weight:900;display:grid}.english-v2-controls input,.english-v2-controls select,.english-v2-content input,.english-v2-remark textarea{color:#182439;width:100%;min-height:40px;font:inherit;background:#fff;border:1px solid #dfe6f2;border-radius:13px;outline:none;padding:8px 12px}.english-v2-content,.english-v2-remark{margin:0 22px 14px}.english-v2-buckets,.english-v2-summary-groups{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;padding:0 22px 14px;display:grid}.english-v2-buckets .english-level-entry{gap:8px;min-width:0;display:grid}.english-v2-buckets .english-level-entry>span{justify-content:space-between;gap:8px;display:flex}.english-v2-buckets .english-level-entry small{color:#758095;font-size:10px}.english-v2-buckets .english-level-entry textarea{width:100%;min-height:84px}.english-v2-buckets .english-level-entry em{color:#bf4356;font-size:10px;font-style:normal}.english-v2-auto-bucket p{color:#526079;align-self:center;margin:0;font-size:12px;line-height:1.6}.english-checklist-panel{background:#fff;border:1px solid #dfe6f2;border-radius:17px;margin:0 22px 14px;overflow:hidden}.english-checklist-title{color:#273a5a;background:#f3f7ff;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;padding:12px 16px;display:flex}.english-checklist-title strong{font-size:14px}.english-checklist-title span{color:#71809a;font-size:11px}.english-checklist-levels{flex-wrap:wrap;align-items:center;gap:6px;padding:9px 12px 0;display:flex}.english-checklist-levels button,.english-level-automatic{color:#536680;background:#f8faff;border:1px solid #e0e7f3;border-radius:10px;align-items:center;gap:7px;min-height:30px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.english-checklist-levels button{cursor:pointer}.english-checklist-levels button.active{color:#fff;background:#4b68df;border-color:#4b68df}.english-checklist-levels b{color:#4b68df;text-align:center;background:#e8eefb;border-radius:6px;min-width:19px;padding:2px 4px;font-size:10px}.english-checklist-levels button.active b{color:#fff;background:#ffffff26}.english-level-automatic{color:#678478;background:#f0f8f4;margin-left:auto}.english-student-check-grid{grid-template-columns:repeat(var(--student-grid-columns,5), minmax(0, 1fr));grid-template-rows:repeat(var(--student-grid-rows,10), 32px);grid-auto-flow:column;gap:5px 7px;padding:12px;display:grid}.english-student-check{color:#3f526e;cursor:pointer;min-width:0;font:inherit;background:#fff;border:1px solid #dfe6f2;border-radius:9px;align-items:center;gap:7px;padding:4px 8px;display:flex}.english-student-check b{color:#586bcd;text-align:center;min-width:19px;font-size:11px}.english-student-check>span{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:800;overflow:hidden}.english-student-check i{color:#8292af;background:#fff;border:1px solid #ccd7ea;border-radius:5px;flex:0 0 18px;place-items:center;height:18px;font-size:14px;font-style:normal;line-height:1;display:grid}.english-student-check:hover{background:#f5f8ff;border-color:#93a8ee}.english-student-check.checked{color:#213974;background:#edf2ff;border-color:#637be4}.english-student-check.checked i{color:#fff;background:#4b68df;border-color:#4b68df}.english-student-check.assigned{background:#f6f8fc}.english-student-check:focus-visible,.english-checklist-levels button:focus-visible{outline-offset:2px;outline:2px solid #223cbb}.english-checklist-empty{color:#71809a;text-align:center;margin:0;padding:22px;font-size:12px}.english-v2-summary-groups{padding:0 0 12px}.english-v2-roster{background:#f3f7ff;border-radius:14px;margin:12px 22px 0;padding:10px 14px}.english-v2-roster summary{color:#405477;cursor:pointer;font-size:12px;font-weight:900}.english-v2-roster-body{gap:8px;padding-top:10px;display:grid}.english-v2-roster p{color:#758095;margin:0;font-size:11px}.english-v2-roster .english-v2-roster-list{padding-top:10px;line-height:1.8}.english-v2-roster textarea{border:1px solid #dfe6f2;border-radius:12px;width:100%;padding:10px}.english-v2-roster button{justify-self:start}.english-legacy-records{background:#f8faff;border:1px solid #dfe6f2;border-radius:18px;padding:12px 16px}.english-legacy-records>summary{color:#4b5c78;cursor:pointer;font-size:13px;font-weight:900}.english-legacy-records .english-subject-page{margin-top:14px}.english-hub-page{gap:10px}.english-class-pane[hidden]{display:none}.english-workspace-switch{justify-content:space-between;align-items:center;gap:14px;padding:0 2px 4px;display:flex}.english-workspace-switch>div:first-child{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.english-workspace-switch h3{color:#26364f;margin:0;font-size:17px}.english-workspace-switch>div>span{color:#8994a5;font-size:11px}.english-workspace-switch .english-class-tabs{background:#edf1f7;border:1px solid #dfe6f2;border-radius:12px;gap:3px;padding:3px}.english-workspace-switch .english-class-tabs button{text-align:center;background:0 0;border:0;border-radius:9px;min-width:90px;min-height:32px;padding:0 16px;transition:background .12s}.english-workspace-switch .english-class-tabs button.active{background:#fff;box-shadow:0 2px 5px #24355412}.english-workspace.panel{background:#fff;border-radius:18px;overflow:visible;box-shadow:0 8px 26px #20345008}.english-workspace-fields{border-bottom:1px solid #edf0f5;align-items:center;gap:12px;padding:12px 16px;display:flex}.english-workspace-fields label{color:#8490a2;align-items:center;gap:9px;min-width:0;font-size:11px;font-weight:700;display:flex}.english-workspace-fields label>span{flex:none}.english-workspace-fields input{color:#26364f;width:100%;min-width:0;height:34px;font:inherit;background:#fbfcfe;border:1px solid #dde5ef;border-radius:8px;padding:0 9px;font-size:12px}.english-workspace-fields input:focus,.english-unit-select select:focus{outline-offset:1px;background:#fff;outline:2px solid #97b5ff}.english-workspace-date{flex:0 0 172px}.english-workspace-content{flex:1}.english-quiet-button{color:#738198;cursor:pointer;min-height:30px;font:inherit;background:0 0;border:0;border-radius:7px;flex:none;padding:4px 8px;font-size:11px;font-weight:700}.english-quiet-button:hover:not(:disabled){color:#3d5dd1;background:#eff3fc}.english-quiet-button:disabled{opacity:.4;cursor:default}.english-item-tabs{align-items:center;gap:5px;padding:10px 16px 0;display:flex}.english-item-tabs button{color:#78869a;cursor:pointer;min-height:33px;font:inherit;background:0 0;border:0;border-radius:9px;padding:6px 15px;font-size:12px;font-weight:800}.english-item-tabs button.active{color:#3659c9;background:#eef2ff}.english-item-tabs button:hover{background:#f1f4f9}.english-workflow{flex-wrap:wrap;align-items:center;gap:6px 20px;min-height:47px;padding:9px 16px;display:flex}.english-workflow:empty{display:none}.english-workflow-group{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.english-workflow-group>span,.english-unit-select{color:#91a0b3;margin-right:3px;font-size:10px;font-weight:800}.english-workflow-group button{color:#66758b;min-height:29px;font:inherit;cursor:pointer;background:#fff;border:1px solid #e3e9f2;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:flex}.english-workflow-group button[aria-pressed=true]{color:#3456bf;background:#f0f4ff;border-color:#a6baf5}.english-workflow-group b{color:inherit;opacity:.65;font-size:10px}.teaching-workflow-canvas{background:#fbfcff;border:1px solid #e4e9f4;border-radius:12px;margin:8px 16px 0;overflow:hidden}.teaching-workflow-toggle{color:#46536d;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:36px;padding:7px 11px;display:flex}.teaching-workflow-toggle span{font-size:11px;font-weight:900}.teaching-workflow-toggle small{color:#8894a9;font-size:10px}.teaching-workflow-canvas.open{border-color:#cfd8f7;box-shadow:0 7px 22px #33488912}.teaching-workflow-body{border-top:1px solid #e8ecf5;padding:10px}.teaching-workflow-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;display:flex}.teaching-workflow-toolbar p{color:#8994a8;margin:0;font-size:9px}.teaching-workflow-toolbar>div{gap:5px;display:flex}.teaching-workflow-toolbar input{width:130px;min-height:28px;font:inherit;border:1px solid #dfe5f0;border-radius:8px;padding:4px 8px;font-size:10px}.teaching-workflow-toolbar button{color:#52617a;cursor:pointer;background:#fff;border:1px solid #dce3f1;border-radius:8px;min-height:28px;padding:4px 8px;font-size:9px;font-weight:800}.teaching-workflow-board{background-color:#f7f9fe;background-image:radial-gradient(#cbd4ea 1px,#0000 1px);background-size:16px 16px;border-radius:10px;align-items:center;gap:7px;min-height:116px;padding:20px;display:flex;overflow-x:auto}.teaching-workflow-board article{color:#35425c;cursor:grab;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #cfd8f1;border-radius:11px;flex:0 0 112px;grid-template-columns:22px 1fr;align-items:center;gap:7px;min-height:58px;padding:10px 8px;display:grid;position:relative;box-shadow:0 6px 16px #32437017}.teaching-workflow-board article:active{cursor:grabbing}.teaching-workflow-board article>b{color:#fff;background:#6174d8;border-radius:7px;place-items:center;width:22px;height:22px;font-size:10px;display:grid}.teaching-workflow-board article>span{font-size:11px;font-weight:800}.teaching-workflow-board article>button{color:#a2aabd;cursor:pointer;background:0 0;border:0;width:19px;height:19px;position:absolute;top:2px;right:3px}.teaching-workflow-board>i{color:#7784c7;font-size:17px;font-style:normal}.teaching-workflow-board>p{color:#98a1b4;margin:auto;font-size:11px}.english-unit-select{align-items:center;gap:7px;display:flex}.english-unit-select select{color:#52647e;min-height:29px;font:inherit;background:#fff;border:1px solid #dfe6f2;border-radius:8px;padding:4px 8px}.english-workspace .english-checklist-panel{border-radius:12px;margin:0 14px 10px}.english-workspace .english-checklist-title{background:#f7f9fc;align-items:center;padding:8px 11px}.english-workspace .english-checklist-title strong{font-size:12px}.english-workspace .english-checklist-title span{font-size:10px}.english-workspace .english-checklist-title span b{color:#4a64bb}.english-workspace .english-checklist-levels{gap:5px;padding:8px 10px 0}.english-workspace .english-checklist-levels button,.english-workspace .english-level-automatic{border-radius:7px;min-height:28px;padding:4px 8px;font-size:10px}.english-workspace .english-student-check-grid{grid-template-rows:repeat(var(--student-grid-rows,10), 36px);gap:4px 7px;padding:10px}.english-workspace .english-student-check{box-shadow:none;border-radius:7px;padding:3px 7px;transition:background .1s,border-color .1s}.english-workspace .english-student-check>b{color:#8b99ae;min-width:21px;font-size:11px}.english-workspace .english-student-check>span{flex-direction:column;gap:1px;min-width:0;line-height:1.2;display:flex}.english-workspace .english-student-check strong{text-overflow:ellipsis;font-size:11px;overflow:hidden}.english-workspace .english-student-check small{text-overflow:ellipsis;color:#8996aa;font-size:9px;font-weight:500;overflow:hidden}.english-workspace .english-student-check.checked{background:#eef3ff;border-color:#7e98e7}.english-workspace .english-student-check.checked small,.english-workspace .english-student-check.checked>b{color:#4b68c7}.english-workspace .english-student-check i{border-radius:5px;flex-basis:16px;height:16px;font-size:12px}.english-workspace .english-v2-roster{margin:8px 16px;padding:10px 12px}.english-workspace-footer{z-index:4;background:#fffffff7;border-top:1px solid #e6ebf3;border-radius:0 0 18px 18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-height:61px;padding:10px 15px;display:flex;position:sticky;bottom:8px;box-shadow:0 -5px 15px #24355405}.english-save-state{gap:3px;display:grid}.english-save-state>span{color:#688073;font-size:11px;font-weight:800}.english-save-state>span:before{content:"";vertical-align:middle;background:#70a38b;border-radius:50%;width:5px;height:5px;margin-right:5px;display:inline-block}.english-save-state>span.dirty{color:#ae7f31}.english-save-state>span.dirty:before{background:#dca44c}.english-save-state small{color:#94a0b1;font-size:10px}.english-workspace-actions{align-items:center;gap:4px;display:flex}.english-workspace-actions .primary-button{min-width:104px;min-height:34px;box-shadow:none;border-radius:10px;margin-left:7px;padding:7px 16px;font-size:12px}.english-workspace-actions .primary-button:disabled{opacity:.55;cursor:default}.english-history-panel{box-shadow:none;border-radius:14px}.english-history-toggle{color:#728198;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:15px 18px;font-size:11px;display:flex}.english-history-toggle strong{color:#52647e;font-size:12px}.english-history-toggle strong span{color:#91a0b5;margin-left:6px;font-size:11px}.english-workspace button:focus-visible,.english-workspace-switch button:focus-visible,.english-history-toggle:focus-visible{outline-offset:2px;outline:2px solid #496bd9}@media (width<=820px){.english-workspace-switch{align-items:center}.english-workspace-switch .english-class-tabs{width:auto}.english-workspace-switch>div>span{display:none}.english-workspace-fields{flex-wrap:wrap;gap:8px;padding:10px 12px}.english-workspace-content{flex:250px}.english-workspace .english-student-check{gap:4px;padding:3px 4px}.english-workspace .english-student-check-grid{gap:4px;padding:8px}.english-workspace .english-checklist-panel{margin-inline:10px}.teaching-workflow-toolbar{flex-direction:column;align-items:stretch}.teaching-workflow-toolbar>div{flex-wrap:wrap}.teaching-workflow-board{padding:14px}}@media (width<=560px){.english-workspace-switch h3{font-size:14px}.english-workspace-switch .english-class-tabs button{min-width:64px;padding-inline:8px}.english-workspace-fields>.english-quiet-button{order:1;margin-left:auto}.english-workspace-date{order:0}.english-workspace-content{flex-basis:100%;order:2}.english-item-tabs{flex-wrap:wrap;gap:2px;padding:8px 10px 0}.english-item-tabs button{padding:5px 9px;font-size:11px}.english-workflow{gap:8px;padding:8px 10px}.english-workspace .english-checklist-title{align-items:flex-start;gap:4px}.english-workspace .english-student-check-grid{grid-template-rows:none;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:38px;grid-auto-flow:row}.english-workspace .english-student-check>b{min-width:15px}.english-workspace-footer{padding:8px 10px;bottom:0}.english-save-state small{display:none}.english-workspace-actions{flex-wrap:wrap;flex:1;justify-content:flex-end}.english-workspace-actions .primary-button{min-width:85px;padding-inline:10px}}.english-class-switch{justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;display:flex}.english-class-switch h3{color:var(--ink);letter-spacing:-.03em;margin:0;font-size:18px}.english-class-switch p{color:#758095;margin:5px 0 0;font-size:10px;font-weight:800;line-height:1.7}.english-class-tabs{flex:none;gap:8px;display:flex}.english-class-tabs button{color:#526075;text-align:left;cursor:pointer;background:#f8fbff;border:1px solid #e5eaf4;border-radius:15px;align-content:center;gap:3px;min-width:132px;min-height:52px;padding:0 14px;transition:all .16s;display:grid}.english-class-tabs button strong{color:#172033;font-size:12px}.english-class-tabs button span{color:#8a94a6;font-size:9px;font-weight:900}.english-class-tabs button.active{background:#eef4ff;border-color:#3478f657;box-shadow:0 12px 24px #3478f61f}.english-class-tabs button.active strong{color:#2563eb}.english-entry-panel,.english-summary-panel{overflow:hidden}.english-entry-head{background:linear-gradient(135deg,#fff,#f4fbff);border-bottom:1px solid #e5e5eac7;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;display:flex}.english-entry-head h3{color:var(--ink);letter-spacing:-.04em;margin:4px 0 0;font-size:24px}.english-entry-head p{color:#758095;max-width:620px;margin:6px 0 0;font-size:11px;font-weight:800;line-height:1.7}.english-editing-banner{color:#2563eb;background:#eef4ff;border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 20px 0;padding:10px 12px;font-size:10px;font-weight:900;display:flex}.english-editing-banner span{flex:260px}.english-editing-banner button{color:#475569;cursor:pointer;background:#fff;border:0;border-radius:999px;min-height:28px;padding:0 10px;font-size:9px;font-weight:900}.english-editing-banner button:hover{color:#2563eb;background:#dceafe}.english-roster-panel{background:linear-gradient(135deg,#f8fbff,#fff);border:1px solid #dfeaff;border-radius:18px;gap:10px;margin:16px 20px 4px;padding:14px;display:grid;box-shadow:inset 0 0 0 1px #3478f60a}.english-roster-panel h4{color:#172033;margin:3px 0 0;font-size:14px}.english-roster-panel p{color:#758095;margin:4px 0 0;font-size:10px;font-weight:800;line-height:1.65}.english-roster-panel textarea{color:#182439;resize:vertical;background:#fffffff0;border:1px solid #dfe6f2;border-radius:14px;outline:none;width:100%;min-height:88px;padding:10px 12px;font-size:11px;font-weight:800;line-height:1.6}.english-roster-panel textarea:focus{border-color:#9cc1ff;box-shadow:0 0 0 3px #3478f61a}.english-roster-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.english-roster-actions span{color:#526075;margin-right:auto;font-size:10px;font-weight:900}.english-roster-actions .primary-button{min-height:38px;padding:0 14px}.english-roster-preview{background:#f8fbff;border-radius:14px;flex-wrap:wrap;gap:6px;padding:10px;display:flex;margin:0!important}.english-roster-preview span,.english-roster-preview em{color:#096f60;background:#e8f8f3;border-radius:999px;padding:5px 8px;font-size:9px;font-style:normal;font-weight:900}.english-roster-preview em{color:#526075;background:#eef1f5}.english-control-row{grid-template-columns:170px 1fr;gap:12px;padding:16px 20px 10px;display:grid}.english-control-row label,.english-control-row>div,.english-remark{gap:6px;display:grid}.english-control-row span,.english-remark span{color:#758095;font-size:9px;font-weight:900}.english-control-row input,.english-bulk-box textarea,.english-remark textarea{color:#182439;background:#ffffffe6;border:1px solid #dfe6f2;border-radius:14px;outline:none;width:100%;font-size:11px;font-weight:800}.english-control-row input{height:40px;padding:0 12px}.english-homework-fields{grid-template-columns:180px minmax(0,1fr);gap:10px;padding:0 20px 12px;display:grid}.english-homework-fields label{gap:6px;display:grid}.english-homework-fields span{color:#758095;font-size:9px;font-weight:900}.english-homework-fields input{color:#182439;background:#ffffffe6;border:1px solid #dfe6f2;border-radius:14px;outline:none;width:100%;height:40px;padding:0 12px;font-size:11px;font-weight:800}.english-chip-row{flex-wrap:wrap;gap:7px;display:flex}.english-chip-row button,.english-student-row button{color:#526079;cursor:pointer;background:#f0f3f8;border:0;border-radius:999px;min-height:30px;padding:0 11px;font-size:10px;font-weight:900}.english-chip-row button.active{color:#fff;background:#3478f6;box-shadow:0 9px 20px #3478f633}.english-chip-row.status button.mint,.english-student-row button.mint{color:#07866f;background:#e8f8f3}.english-chip-row.status button.blue,.english-student-row button.blue{color:#2563eb;background:#eef4ff}.english-chip-row.status button.rose,.english-student-row button.rose{color:#d25b67;background:#fff0f2}.english-chip-row.status button.amber,.english-student-row button.amber{color:#b87318;background:#fff3df}.english-chip-row.status button.active,.english-student-row button.active{color:#fff}.english-chip-row.status button.mint.active,.english-student-row button.mint.active{background:#10a884}.english-chip-row.status button.blue.active,.english-student-row button.blue.active{background:#3478f6}.english-chip-row.status button.rose.active,.english-student-row button.rose.active{background:#e85d6c}.english-chip-row.status button.amber.active,.english-student-row button.amber.active{background:#f0a436}.english-bulk-box{background:#f8fbff;border-radius:18px;gap:9px;margin:0 20px 14px;padding:12px;display:grid;box-shadow:inset 0 0 0 1px #e8eefb}.english-bulk-box textarea,.english-remark textarea{resize:vertical;padding:10px 12px;line-height:1.6}.english-bulk-box div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.english-bulk-box span{color:#7d8798;margin-left:auto;font-size:10px;font-weight:900}.english-level-entry-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 20px 12px;display:grid}.english-level-entry{background:#fff;border-radius:18px;gap:8px;padding:12px;display:grid;box-shadow:inset 0 0 0 1px #e8eefb}.english-level-entry>div:first-child{justify-content:space-between;align-items:center;gap:8px;display:flex}.english-level-entry>div:first-child strong{font-size:12px;font-weight:900}.english-level-entry>div:first-child span{color:#7d8798;font-size:9px;font-weight:900}.english-level-entry textarea{color:#182439;resize:vertical;background:#ffffffeb;border:1px solid #dfe6f2;border-radius:14px;outline:none;width:100%;min-height:76px;padding:10px 12px;font-size:11px;font-weight:800;line-height:1.6}.english-level-entry textarea:focus{border-color:#9cc1ff;box-shadow:0 0 0 3px #3478f61a}.english-level-entry.mint{background:#f2fbf8}.english-level-entry.mint>div:first-child strong{color:#07866f}.english-level-entry.blue{background:#f4f8ff}.english-level-entry.blue>div:first-child strong{color:#2563eb}.english-level-entry.rose{background:#fff6f7}.english-level-entry.rose>div:first-child strong{color:#d25b67}.english-level-entry.amber{background:#fff9ef}.english-level-entry.amber>div:first-child strong{color:#b87318}.english-voice-row{flex-wrap:wrap;align-items:center;gap:8px;padding:0 20px 12px;display:flex}.english-fill-good-button{cursor:pointer;border:0;border-radius:999px;font-size:10px;font-weight:900;color:#2563eb!important;background:#eef4ff!important}.english-fill-good-button:hover{background:#dceafe!important}.english-fill-good-button:disabled{cursor:default;color:#8a94a6!important;background:#f1f3f7!important}.english-match-preview{background:#fff;border-radius:14px;padding:10px;box-shadow:inset 0 0 0 1px #dceafe;align-items:start!important;gap:7px!important;display:grid!important}.english-match-preview strong{color:#2563eb;font-size:10px}.english-match-preview p{flex-wrap:wrap;gap:6px;margin:0;display:flex}.english-match-preview p span{color:#096f60;background:#e8f8f3;border-radius:999px;margin:0;padding:5px 8px;font-size:9px;font-weight:900}.english-match-preview small{color:#8a94a6;font-size:10px;font-weight:800}.english-match-preview em{color:#d25b67;font-size:9px;font-style:normal;font-weight:900}.english-student-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 20px 14px;display:grid}.english-student-row{background:#fff;border:1px solid #edf0f6;border-radius:14px;grid-template-columns:minmax(82px,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.english-student-row.matched{background:#f4f8ff;border-color:#9cc1ff;box-shadow:0 0 0 2px #3478f614}.english-student-row strong{color:#182439;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:10px;display:flex;overflow:hidden}.english-student-row b{color:#3478f6;background:#eef4ff;border-radius:999px;flex:none;place-items:center;min-width:22px;height:22px;font-size:9px;display:grid}.english-student-row div{gap:5px;display:flex}.english-student-row button{min-height:24px;padding:0 8px;font-size:9px}.english-note-grid{grid-template-columns:1fr 1fr;gap:10px;padding:0 20px 20px;display:grid}.english-remark{padding:0}.english-settle-actions{justify-content:flex-end;padding:0 20px 20px;display:flex}.english-settle-actions .primary-button{min-width:132px}.english-summary-list{gap:10px;padding:14px 18px 20px;display:grid}.english-summary-card{background:#fff;border:1px solid #edf0f6;border-radius:16px;grid-template-columns:92px minmax(0,1fr);align-items:stretch;gap:9px;padding:11px;display:grid}.english-summary-homework{color:#526075;background:#f8fbff;border-radius:12px;grid-column:2/-1;gap:4px;padding:9px 10px;font-size:10px;line-height:1.55;display:grid}.english-summary-homework span{color:#3478f6;font-weight:900}.english-summary-homework p{color:#526075;margin:0;font-weight:800}.english-summary-date{text-align:center;background:#f6f9ff;border-radius:13px;align-content:center;gap:4px;padding:9px;display:grid}.english-summary-date time{color:#3478f6;font-size:12px;font-weight:900}.english-summary-date strong{color:#172033;font-size:13px}.english-summary-status-row{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr)) 110px;gap:9px;display:grid}.english-summary-group{border-radius:13px;align-content:start;gap:5px;min-height:58px;padding:9px;display:grid}.english-summary-group span{text-align:center;font-size:10px;font-weight:900}.english-summary-group p{color:#586477;text-align:center;margin:0;font-size:9px;line-height:1.55}.english-summary-group.mint{background:#eaf8f3}.english-summary-group.mint span{color:#07866f}.english-summary-group.blue{background:#eef4ff}.english-summary-group.blue span{color:#2563eb}.english-summary-group.rose{background:#fff0f2}.english-summary-group.rose span{color:#d25b67}.english-summary-group.amber{background:#fff3df}.english-summary-group.amber span{color:#b87318}.english-summary-settle{background:#f8fbff;border-radius:13px;place-items:center;min-height:58px;padding:9px;display:grid;box-shadow:inset 0 0 0 1px #e4ebf8}.english-summary-settle .english-fill-good-button{white-space:normal;width:100%;min-height:34px;padding:0 8px;line-height:1.35}.english-edit-summary-button{color:#475569;cursor:pointer;background:#fff;border:0;border-radius:999px;width:100%;min-height:30px;font-size:10px;font-weight:900;box-shadow:inset 0 0 0 1px #dfe6f2}.english-edit-summary-button:hover{color:#2563eb;background:#eef4ff}.english-template-upload-button{color:#07866f;text-align:center;cursor:pointer;background:#e8f8f3;border-radius:999px;place-items:center;width:100%;min-height:30px;padding:0 8px;font-size:9px;font-weight:900;display:grid}.english-template-upload-button:hover{background:#d9f3ec}.english-template-upload-button input{display:none}.english-template-upload-button:has(input:disabled){color:#8a94a6;cursor:default;background:#f1f3f7}.english-template-link{color:#2563eb;text-align:center;background:#eef4ff;border-radius:999px;place-items:center;width:100%;min-height:28px;padding:0 8px;font-size:9px;font-weight:900;text-decoration:none;display:grid}.english-template-link:hover{background:#dceafe}.english-summary-critique{background:#fafbff;border-radius:12px;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:9px 10px;display:grid;box-shadow:inset 0 0 0 1px #e8edf7}.english-summary-critique span{color:#758095;grid-column:1/-1;font-size:9px;font-weight:900}.english-summary-critique textarea{color:#182439;resize:vertical;background:#fff;border:1px solid #dfe6f2;border-radius:11px;outline:none;width:100%;min-height:42px;padding:8px 10px;font-size:10px;font-weight:800;line-height:1.5}.english-summary-critique textarea:focus{border-color:#9cc1ff;box-shadow:0 0 0 3px #3478f61a}.english-summary-critique button{white-space:nowrap;border-radius:999px;min-height:36px;padding:0 12px;font-size:10px}.english-summary-remark{color:#667185;background:#fafbff;border-radius:11px;grid-column:1/-1;margin:0;padding:8px 10px;font-size:10px;line-height:1.6}.english-stats-wrap{gap:12px;padding:0 18px 20px;display:grid}.english-stats-card{background:#fff;border:1px solid #edf0f6;border-radius:16px;gap:10px;padding:12px;display:grid}.english-stats-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.english-stats-head h4{color:#172033;margin:0;font-size:13px}.english-stats-head span{color:#3478f6;background:#eef4ff;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900}.english-homework-stat-list{gap:8px;display:grid}.english-homework-stat-list article{background:#f8fbff;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;display:grid}.english-homework-stat-list strong,.english-homework-stat-list small{display:block}.english-homework-stat-list strong{color:#172033;font-size:10px}.english-homework-stat-list small,.english-stat-empty{color:#8a94a6;font-size:9px;font-weight:800}.english-homework-stat-list p,.english-person-stat-grid p{flex-wrap:wrap;gap:5px;margin:0;display:flex}.english-homework-stat-list span,.english-homework-stat-list b,.english-person-stat-grid span{border-radius:999px;padding:4px 7px;font-size:9px;font-weight:900}.english-homework-stat-list b{color:#526075;background:#eef1f5}.english-person-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.english-person-stat-grid article{background:#fbfcff;border-radius:12px;gap:6px;padding:8px;display:grid;box-shadow:inset 0 0 0 1px #edf0f6}.english-person-stat-grid article.needs-attention{background:#fff7f8;box-shadow:inset 0 0 0 1px #ffe3e8}.english-person-stat-grid strong{color:#172033;align-items:center;gap:5px;font-size:10px;display:flex}.english-person-stat-grid b{color:#3478f6;background:#eef4ff;border-radius:999px;place-items:center;min-width:20px;height:20px;font-size:8px;display:grid}.english-homework-stat-list .mint,.english-person-stat-grid .mint{color:#07866f;background:#e8f8f3}.english-homework-stat-list .blue,.english-person-stat-grid .blue{color:#2563eb;background:#eef4ff}.english-homework-stat-list .rose,.english-person-stat-grid .rose{color:#d25b67;background:#fff0f2}.english-homework-stat-list .amber,.english-person-stat-grid .amber{color:#b87318;background:#fff3df}.mono{color:#7f899a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.detail-link{color:#5f6b80;background:0 0;border:0;border-radius:9px;align-items:center;min-height:28px;padding:0 8px;font-size:10px;font-weight:900;display:inline-flex}.detail-link:hover{background:#f2f3ff;color:#5555cf!important}.status-chip{border-radius:9px;padding:4px 7px;font-size:8px;font-weight:700;display:inline-block}.status-chip.success{color:#16836d;background:#e6f7f2}.status-chip.danger{color:#c4525e;background:#ffe9ec}.status-chip.neutral{color:#61708b;background:#eef1f5}.status-chip.warning{color:#b87318;background:#fff0d9}.guardian strong,.guardian small{display:block}.guardian strong{color:#5e6879;font-size:9px}.guardian small{color:#a1a8b4;margin-top:2px;font-size:8px}.subject-tag,.record-category{color:#5f5fc2;background:#eef;border-radius:8px;padding:3px 7px;font-size:8px;font-weight:700}.large-score{color:var(--ink);font-size:12px}.record-list{padding:5px 18px 18px}.record-row{border-bottom:1px solid #f0f1f4;grid-template-columns:35px 1fr auto 42px;align-items:center;gap:12px;min-height:66px;padding:8px 6px;display:grid}.record-row.extended{grid-template-columns:35px minmax(220px,1fr) auto 42px}.record-main p{align-items:center;gap:8px;margin:0;font-size:10px;display:flex}.record-main small{color:#8e97a7;margin-top:4px;font-size:9px;display:block}.record-row time{color:#9ba3b0;font-size:8px}.record-row>b{text-align:right;font-size:12px}.undo-record-button{color:#c4525e;cursor:pointer;background:#fff0f2;border:0;border-radius:999px;min-height:28px;padding:0 9px;font-size:9px;font-weight:900}.undo-record-button:hover{background:#ffe2e7}.undo-record-button:disabled{cursor:not-allowed;opacity:.55}.asset-link{color:#6262d4;margin-top:6px;font-size:8px;font-weight:700;text-decoration:none;display:inline-block}.wrap-cell{white-space:normal;max-width:240px;line-height:1.55}.conversation-panel,.morning-panel{overflow:hidden}.morning-toolbar{flex-wrap:wrap;gap:12px 18px}.morning-toolbar-title{flex:none}.morning-weekday-tabs{flex:420px;justify-content:center;gap:8px;min-width:0;display:flex}.morning-weekday-tabs button{color:#63718b;cursor:pointer;background:#f8faff;border:1px solid #e2e7f4;border-radius:14px;flex:1 1 0;place-content:center;gap:2px;max-width:112px;min-height:48px;padding:5px 8px;display:grid}.morning-weekday-tabs button strong{font-size:13px}.morning-weekday-tabs button small{font-size:10px}.morning-weekday-tabs button:hover{background:#f1f4ff;border-color:#9da9ee}.morning-weekday-tabs button.active{color:#4054cc;background:#edf1ff;border-color:#6978e8;box-shadow:0 7px 18px #4b5ecf21}.morning-toolbar .toolbar-actions{flex:none}@media (width<=900px){.morning-weekday-tabs{flex-basis:100%;order:3;justify-content:flex-start;overflow-x:auto}.morning-weekday-tabs button{flex:0 0 86px}}.morning-deck{background:linear-gradient(145deg,#f8faff 0%,#f2f5fb 100%);padding:16px 18px 20px}.morning-stage-shell{max-width:1240px;margin:0 auto;padding:0 8px;display:block;position:relative}.morning-stage{aspect-ratio:16/9;background:radial-gradient(circle at 90% 0,#5365e621,#0000 35%),linear-gradient(135deg,#fff 0%,#f7f9ff 100%);border:1px solid #d1d9e8d9;border-radius:30px;width:100%;position:relative;overflow:hidden;box-shadow:0 24px 62px #24304f24}.morning-stage>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.morning-stage-meta{z-index:4;color:#738098;letter-spacing:.04em;justify-content:space-between;align-items:center;font-size:12px;font-weight:900;display:flex;position:absolute;top:24px;left:28px;right:28px}.morning-stage-meta b{text-align:center;color:#5562cf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffc;border-radius:999px;min-width:68px;padding:8px 12px;box-shadow:inset 0 0 0 1px #d5daefe6}.morning-stage-caption{z-index:3;color:#172033;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffdb;border-radius:20px;gap:7px;padding:20px 24px;display:grid;position:absolute;bottom:32px;left:40px;right:40px;box-shadow:0 14px 36px #2531511f}.morning-stage-caption>span{color:#6977df;letter-spacing:.16em;font-size:9px;font-weight:900}.morning-stage-caption strong{letter-spacing:-.04em;font-size:clamp(22px,2.6vw,38px)}.morning-stage-caption p{color:#627087;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:clamp(12px,1.2vw,17px);line-height:1.55;display:-webkit-box;overflow:hidden}.blank-slide-mark{color:#c0c8d8;letter-spacing:.12em;border:2px dashed #dce2ef;border-radius:24px;place-items:center;font-size:clamp(24px,4vw,54px);font-weight:900;display:grid;position:absolute;inset:70px 54px 142px}.morning-auto-body.preview{align-content:start;gap:18px;display:grid;position:absolute;inset:72px 40px 158px;overflow:hidden}.archive-point-scope{background:#f5f8ff;border:1px solid #dce5f8;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:0 18px 12px;padding:10px 14px;display:flex}.archive-point-scope strong{color:#314b7e;font-size:13px}.archive-point-scope small{color:#8291ad;margin-top:3px;font-size:10px;display:block}.archive-point-scope>div:last-child{gap:5px;display:flex}.archive-point-scope button{color:#6e7f9c;cursor:pointer;background:#fff;border:1px solid #dce5f8;border-radius:8px;padding:6px 12px;font-size:11px}.archive-point-scope button[aria-pressed=true]{color:#fff;background:#5e76da;border-color:#5e76da}.morning-weekly-points{color:#33425d;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;min-width:0;min-height:0;display:grid}.morning-weekly-points.preview{position:absolute;inset:20px 30px}.morning-weekly-points.presenter{background:linear-gradient(135deg,#fff,#f1f5ff);gap:15px;width:100%;height:100%;padding:58px 64px 46px}.morning-weekly-points>header{justify-content:space-between;align-items:center;gap:14px;display:flex}.morning-weekly-points header span{color:#7583ae;font-size:9px;font-weight:800}.morning-weekly-points header h3{color:#263550;margin:3px 0 0;font-size:clamp(18px,2.2vw,29px)}.morning-weekly-points header p{color:#71809b;text-align:right;margin:0;font-size:11px;font-weight:800}.morning-weekly-points header small{margin-top:4px;font-size:9px;font-weight:500;display:block}.weekly-points-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.weekly-points-stats>div{background:#ffffffd9;border:1px solid #e0e6f5;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:8px 12px;display:flex}.weekly-points-stats span{color:#8894a9;font-size:9px}.weekly-points-stats strong{color:#475eac;font-variant-numeric:tabular-nums;font-size:22px}.weekly-points-stats strong small{color:#94a0b3;font-size:9px}.morning-weekly-points .positive{color:#248f7f}.morning-weekly-points .negative{color:#c66e7e}.morning-weekly-points .zero{color:#7e8ca4}.weekly-points-ranking{grid-template-columns:repeat(var(--weekly-ranking-columns,5), minmax(0, 1fr));grid-template-rows:repeat(10,minmax(0,1fr));grid-auto-flow:column;gap:5px 8px;min-height:0;display:grid}.weekly-points-ranking article{background:#fff;border:1px solid #e1e7f2;border-radius:9px;align-items:center;gap:6px;min-width:0;min-height:0;padding:3px 7px;display:flex}.weekly-points-ranking i{color:#6579bb;text-align:center;flex-shrink:0;width:18px;font-size:10px;font-style:normal;font-weight:800}.weekly-points-ranking span{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;font-weight:700;overflow:hidden}.weekly-points-ranking span b{color:#98a4b8;margin-right:3px;font-size:9px}.weekly-points-ranking article>strong{font-variant-numeric:tabular-nums;font-size:13px}.weekly-points-category-grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-height:0;display:grid}.weekly-points-category-grid article{background:#ffffffeb;border:1px solid #dfe6f3;border-radius:14px;flex-direction:column;min-height:0;padding:10px;display:flex}.weekly-points-category-grid article>div{justify-content:space-between;align-items:center;gap:6px;display:flex}.weekly-points-category-grid h4{margin:0;font-size:12px}.weekly-points-category-grid article>div>b{white-space:nowrap;font-size:13px}.weekly-points-category-grid article>p{color:#8c99af;margin:3px 0 6px;font-size:9px}.weekly-points-category-grid ul{align-content:start;gap:4px;min-height:0;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.weekly-points-category-grid li{background:#f6f8fc;border-radius:6px;justify-content:space-between;align-items:center;gap:5px;padding:3px 6px;font-size:10px;display:flex}.weekly-points-category-grid li span b{color:#8798bb;font-size:9px}.weekly-points-category-grid li strong small{color:#95a1b4;font-size:8px;font-weight:500}.weekly-points-empty{color:#8f9db5;border:1px dashed #d3dcef;border-radius:16px;grid-area:1/1/-1/-1;place-items:center;margin:0;font-size:13px;display:grid}.morning-weekly-points>footer{color:#8d99ac;text-align:center;font-size:9px}.morning-weekly-points.presenter header h3{font-size:clamp(26px,3vw,40px)}.morning-weekly-points.presenter header p{font-size:15px}.morning-weekly-points.presenter header small{font-size:11px}.morning-weekly-points.presenter .weekly-points-stats>div{min-height:60px}.morning-weekly-points.presenter .weekly-points-stats strong{font-size:32px}.morning-weekly-points.presenter .weekly-points-stats span{font-size:12px}.morning-weekly-points.presenter .weekly-points-ranking span{font-size:clamp(11px,1.4vw,19px)}.morning-weekly-points.presenter .weekly-points-ranking article>strong{font-size:20px}.morning-weekly-points.presenter .weekly-points-category-grid h4{font-size:18px}.morning-weekly-points.presenter .weekly-points-category-grid li{font-size:15px}.morning-weekly-points.presenter>footer{font-size:12px}@media (width<=1100px){.morning-weekly-points.preview{gap:7px;inset:16px 24px}.weekly-points-stats>div{min-height:36px;padding:5px 7px}.weekly-points-stats strong{font-size:18px}.weekly-points-ranking{gap:4px}.weekly-points-ranking article{gap:3px;padding-inline:4px}.weekly-points-ranking i{width:13px;font-size:9px}.weekly-points-ranking span{font-size:10px}}.morning-duty-panel{color:#172033}.morning-duty-panel.preview{z-index:2;grid-template-rows:auto minmax(0,1fr);gap:13px;display:grid;position:absolute;inset:22px 24px 24px}.morning-duty-panel.presenter{background:radial-gradient(circle at 84% 12%,#5e6be829,#0000 34%),linear-gradient(135deg,#fff 0%,#f7f9ff 100%);grid-template-rows:auto minmax(0,1fr);gap:22px;width:100%;height:100%;padding:64px 72px 46px;display:grid}.morning-duty-heading{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border:1px solid #dbe1f0e6;border-radius:18px;grid-template-columns:minmax(190px,1fr) auto minmax(290px,1fr);align-items:center;gap:8px;padding:6px 12px;display:grid;box-shadow:0 10px 28px #26345814}.morning-duty-heading>div:first-child{justify-self:start;gap:3px;display:grid}.morning-duty-heading>div:first-child span{color:#6070dd;letter-spacing:.16em;text-transform:uppercase;font-size:9px;font-weight:900}.morning-duty-heading>div:first-child strong{letter-spacing:-.05em;font-size:clamp(23px,2.5vw,32px);line-height:1}.morning-countdown{color:#24406b;background:linear-gradient(135deg,#eef4ff 0%,#fff 100%);border-radius:999px;justify-content:center;justify-self:center;align-items:center;gap:7px;min-width:166px;min-height:34px;padding:0 11px;display:inline-flex;box-shadow:inset 0 0 0 1px #dfe7fb,0 12px 26px #5267df1f}.morning-countdown span{color:#64738c;white-space:nowrap;font-size:11px;font-weight:900}.morning-countdown strong{color:#3155e7;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:19px;line-height:1}.morning-duty-meta{flex-wrap:wrap;justify-content:flex-end;justify-self:end;align-items:center;gap:8px;display:flex}.morning-duty-meta span,.morning-duty-meta label{color:#172033;white-space:nowrap;background:#f6f8fc;border-radius:999px;align-items:center;gap:5px;min-height:27px;padding:0 9px;font-size:10px;font-weight:900;display:inline-flex;box-shadow:inset 0 0 0 1px #e6ebf5}.morning-duty-meta b{color:#172033}.morning-duty-meta input{color:#172033;width:72px;font:inherit;background:0 0;border:0;outline:0}.morning-duty-meta input::placeholder{color:#aab3c2}.morning-duty-workbench{grid-template-columns:70px minmax(0,1fr) 270px;gap:14px;min-height:0;display:grid}.morning-duty-categories,.morning-duty-center,.morning-duty-result{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;border:1px solid #dce2f0eb;border-radius:24px;min-height:0;box-shadow:0 16px 44px #2a375917}.morning-duty-categories{align-content:stretch;gap:8px;padding:8px;display:grid}.morning-duty-categories button{color:#5f6b80;cursor:pointer;background:0 0;border:0;border-radius:17px;place-items:center;min-height:0;padding:5px;transition:transform .16s,background .16s,box-shadow .16s;display:grid;position:relative}.morning-duty-categories button:hover{background:#f6f8ff;transform:translate(2px)}.morning-duty-categories button.active{color:#19304d;background:linear-gradient(135deg,#eef3ff,#fff);box-shadow:inset 0 0 0 1px #cfd8ff,0 10px 24px #5365e61f}.morning-duty-categories i{color:#5868df;background:#eef1ff;border-radius:14px;place-items:center;width:36px;height:36px;font-size:15px;font-style:normal;font-weight:900;display:grid}.morning-duty-categories button>span,.morning-duty-categories button>b{display:none}.morning-duty-categories strong,.morning-duty-categories small{display:block}.morning-duty-categories strong{font-size:15px;line-height:1.15}.morning-duty-categories small{display:none}.morning-duty-categories b{color:#6672db;background:#eef1ff;border-radius:999px;place-items:center;min-width:24px;height:24px;font-size:10px;display:grid}.morning-duty-center,.morning-duty-result{grid-template-rows:auto minmax(0,1fr);gap:11px;padding:15px;display:grid}.morning-duty-section-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.morning-duty-section-title span{color:#24314a;font-size:16px;font-weight:900}.morning-duty-section-title b{color:#5e6cdb;background:#eef1ff;border-radius:999px;padding:6px 10px;font-size:11px}.morning-duty-category-title{color:#24314a;flex-wrap:wrap;align-items:center;gap:7px;min-width:0;font-weight:900;display:flex}.morning-duty-category-title strong{color:#24314a;font-size:16px}.morning-duty-category-title button{color:#5364d8;white-space:nowrap;cursor:pointer;background:#eef2ff;border:0;border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex;box-shadow:inset 0 0 0 1px #dce4ff}.morning-duty-category-title button:hover,.morning-duty-category-title button.active{color:#fff;background:#5869df;box-shadow:0 6px 14px #5869df33}.morning-duty-student-grid{grid-template-rows:repeat(10,minmax(0,1fr));grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-flow:column;align-content:stretch;gap:6px;min-height:0;padding:1px;display:grid;overflow:hidden}.morning-duty-student-grid button{color:#596579;cursor:pointer;background:linear-gradient(#fff 0%,#fbfcff 100%);border:1px solid #e4e9f4;border-radius:14px;justify-content:center;align-items:center;gap:6px;min-height:0;padding:5px 8px;transition:transform .15s,border-color .15s,background .15s;display:flex;position:relative}.morning-duty-student-grid button:hover{background:#f8faff;border-color:#cfd8ff;transform:translateY(-1px)}.morning-duty-student-grid button.active{color:#18253d;background:#eef2ff;border-color:#6574e5;box-shadow:0 8px 20px #5868df24}.morning-duty-student-grid strong{color:#5f6ee3;min-width:22px;font-size:12px;line-height:1}.morning-duty-student-grid span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:900;line-height:1.15;overflow:hidden}.morning-duty-student-grid em{color:#fff;background:#e35d6b;border-radius:999px;place-items:center;min-width:15px;height:15px;font-size:7px;font-style:normal;font-weight:900;display:grid;position:absolute;top:-5px;right:-4px}.morning-duty-guidance{color:#5f6b80;background:linear-gradient(135deg,#f7faff,#fff);border-radius:18px;align-content:center;gap:12px;min-height:0;padding:26px;display:grid;box-shadow:inset 0 0 0 1px #edf1f7}.morning-duty-guidance strong{color:#172033;letter-spacing:-.04em;font-size:clamp(17px,2vw,28px)}.morning-duty-guidance p{margin:0;font-size:13px;line-height:1.8}.morning-duty-guidance button,.morning-duty-result>button{color:#fff;cursor:pointer;background:#5868df;border:0;border-radius:999px;justify-self:start;min-height:34px;padding:0 14px;font-size:10px;font-weight:900;box-shadow:0 10px 22px #5868df38}.morning-duty-result{grid-template-rows:auto auto minmax(0,1fr) auto}.morning-duty-selected{background:linear-gradient(135deg,#f8faff,#fff);border-radius:16px;gap:4px;padding:11px;display:grid;box-shadow:inset 0 0 0 1px #e8edf7}.morning-duty-selected.empty{align-content:center;min-height:88px}.morning-duty-selected strong{color:#172033;font-size:18px}.morning-duty-selected small{color:#7d8798;font-size:12px;font-weight:800;line-height:1.45}.morning-duty-selected-list{grid-row:2/4;align-content:start;gap:8px;min-height:0;padding-right:2px;display:grid;overflow:auto}.morning-duty-student-result{background:linear-gradient(135deg,#fff 0%,#f8faff 100%);border:1px solid #e8edf7;border-radius:16px;gap:5px;padding:12px 13px;display:grid;box-shadow:0 8px 18px #2a37590f}.morning-duty-student-result strong{color:#172033;letter-spacing:-.02em;font-size:16px}.morning-duty-student-result small{color:#7d8798;font-size:11px;font-weight:800;line-height:1.45}.morning-duty-result-list{align-content:start;gap:8px;min-height:0;display:grid;overflow:auto}.morning-duty-result-list p{color:#657184;background:#fff;border-radius:13px;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:8px;margin:0;padding:8px;font-size:9px;line-height:1.5;display:grid;box-shadow:inset 0 0 0 1px #edf0f6}.morning-duty-result-list p b{color:#5667df;background:#eef1ff;border-radius:9px;place-items:center;width:30px;height:22px;font-size:8px;display:grid}.morning-duty-result-list p span{overflow-wrap:anywhere}.morning-duty-result>button{align-self:end}.morning-duty-panel.presenter .morning-duty-heading{border-radius:30px;padding:22px 26px}.morning-duty-panel.presenter .morning-countdown{gap:12px;min-width:260px;min-height:58px}.morning-duty-panel.presenter .morning-countdown span{font-size:clamp(13px,1vw,17px)}.morning-duty-panel.presenter .morning-countdown strong{font-size:clamp(30px,2.5vw,48px)}.morning-duty-panel.presenter .morning-duty-workbench{grid-template-columns:92px minmax(0,1fr) 320px;gap:18px}.morning-duty-panel.presenter .morning-duty-categories,.morning-duty-panel.presenter .morning-duty-center,.morning-duty-panel.presenter .morning-duty-result{border-radius:30px;padding:20px}.morning-duty-panel.presenter .morning-duty-categories button{border-radius:22px;min-height:78px}.morning-duty-panel.presenter .morning-duty-categories i{width:52px;height:52px;font-size:23px}.morning-duty-panel.presenter .morning-duty-categories strong,.morning-duty-panel.presenter .morning-duty-section-title span{font-size:clamp(16px,1.4vw,23px)}.morning-duty-panel.presenter .morning-duty-student-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.morning-duty-panel.presenter .morning-duty-student-grid button{border-radius:16px;min-height:52px}.morning-duty-panel.presenter .morning-duty-student-grid span,.morning-duty-panel.presenter .morning-duty-result-list p{font-size:clamp(14px,1.1vw,20px)}.morning-stage-nav{z-index:8;color:#5364d8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;background:#ffffff94;border:1px solid #dae1f8b3;border-radius:16px;width:32px;height:68px;font-size:34px;line-height:1;transition:transform .18s,box-shadow .18s,opacity .18s;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 7px 22px #26345814}.morning-stage-nav.prev{left:0}.morning-stage-nav.next{right:0}.morning-stage-nav:hover:not(:disabled){background:#ffffffd6;transform:translateY(-50%)scale(1.03);box-shadow:0 17px 38px #2634582e}.morning-stage-nav:disabled,.presenter-nav:disabled{cursor:default;opacity:.28}.morning-deck-controls{grid-template-columns:minmax(100px,1fr) auto auto;align-items:center;gap:16px;max-width:1044px;margin:18px auto 0;display:grid}.morning-deck-controls>span{color:#8a95a8;font-size:10px;font-weight:800}.morning-deck-controls>button{color:#fff;cursor:pointer;background:#5868df;border:0;border-radius:999px;min-height:36px;padding:0 16px;font-size:10px;font-weight:900;box-shadow:0 9px 20px #5868df38}.morning-progress{background:#dfe4ee;border-radius:999px;height:5px;overflow:hidden}.morning-progress i{border-radius:inherit;background:linear-gradient(90deg,#7b7eea,#4d6fe6);height:100%;transition:width .28s;display:block}.morning-filmstrip{scroll-snap-type:x proximity;grid-auto-columns:minmax(132px,1fr);grid-auto-flow:column;gap:10px;max-width:1080px;margin:18px auto 0;padding:2px 2px 8px;display:grid;overflow-x:auto}.morning-filmstrip button{text-align:left;color:#657187;cursor:pointer;scroll-snap-align:center;background:#ffffffb8;border:1px solid #e2e6ef;border-radius:16px;align-content:center;gap:4px;min-height:72px;padding:12px 12px 12px 42px;transition:border-color .18s,background .18s,transform .18s;display:grid;position:relative;overflow:hidden}.morning-filmstrip button:hover{background:#fff;transform:translateY(-2px)}.morning-filmstrip button.active{color:#26314a;background:#fff;border-color:#6975df;box-shadow:0 9px 24px #3a49751c}.morning-filmstrip button>span{color:#6070dd;background:#edf0ff;border-radius:8px;place-items:center;width:22px;height:22px;font-size:9px;font-weight:900;display:grid;position:absolute;top:12px;left:12px}.morning-filmstrip strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.morning-filmstrip small{color:#9ca5b4;font-size:8px}.morning-auto-body.presenter{background:radial-gradient(circle at 14% 16%,#5c5ce21f,#0000 30%),linear-gradient(135deg,#fff 0%,#f7f9ff 100%);align-content:start;gap:34px;width:100%;height:100%;padding:76px 86px 190px;display:grid}.morning-kpi-row{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.morning-kpi-row div{color:#5558cc;background:#f0f0ff;border-radius:14px;align-content:center;place-items:center;min-height:58px;display:grid}.morning-kpi-row strong{font-size:24px;line-height:1;color:#171f33!important}.morning-kpi-row span{color:#7d8797;margin-top:5px;font-size:9px;font-weight:900}.morning-auto-list{gap:8px;display:grid}.morning-auto-list p,.morning-rank-list p{color:#657184;margin:0;font-size:10px;line-height:1.7}.morning-auto-list b,.morning-rank-list b{color:#172033}.morning-trend{background:#eef9f4;border-radius:20px;align-items:center;gap:16px;padding:18px 20px;display:flex}.morning-trend strong{font-size:42px;color:#00856f!important}.morning-trend span{color:#506174;font-size:16px;font-weight:900}.morning-rank-list{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.morning-rank-list p{background:#ffffffc7;border-radius:14px;justify-content:space-between;gap:14px;padding:11px 14px;display:flex;box-shadow:inset 0 0 0 1px #edf0f6}.morning-rank-list span{color:#d45865;font-weight:900}.morning-auto-body.presenter .morning-kpi-row div{border-radius:28px;min-height:132px}.morning-auto-body.presenter .morning-kpi-row strong{font-size:clamp(46px,6vw,86px)}.morning-auto-body.presenter .morning-kpi-row span{font-size:clamp(16px,1.6vw,24px)}.morning-auto-body.presenter .morning-auto-list p,.morning-auto-body.presenter .morning-rank-list p{font-size:clamp(17px,1.5vw,25px)}.morning-presenter{z-index:200;background:radial-gradient(circle at 50% 45%,#20283b 0%,#0a0d15 66%);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.presenter-slide{aspect-ratio:auto;width:100vw;height:100vh;box-shadow:none;transform:scale(var(--presenter-zoom,1));transform-origin:50%;background:#fff;border-radius:0;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;transition:transform .18s;display:grid;position:relative;overflow:hidden}.presenter-slide .morning-duty-panel.presenter{min-width:0;min-height:0}.presenter-slide.slide-next,.presenter-slide.slide-prev{animation:.2s both presenter-fade-in}@keyframes presenter-fade-in{0%{opacity:0}to{opacity:1}}.presenter-slide img{object-fit:contain;background:#111827;width:100%;height:100%}.presenter-blank{color:#d6dbea;letter-spacing:.12em;background:radial-gradient(circle at 20% 18%,#5c5ce21f,#0000 32%),#fff;place-items:center;width:100%;height:100%;font-size:clamp(42px,7vw,108px);font-weight:900;display:grid}.presenter-caption{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c111e8f;border-radius:18px;padding:18px 22px;position:absolute;bottom:32px;left:42px;right:42px}.presenter-caption strong{font-size:clamp(22px,3vw,44px)}.presenter-caption p{white-space:pre-wrap;margin:10px 0 0;font-size:clamp(14px,1.5vw,22px);line-height:1.7}.presenter-page-no,.presenter-close,.presenter-nav{z-index:2;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1b263e94;border:0;position:fixed}.presenter-page-no{border-radius:999px;padding:8px 13px;font-size:12px;font-weight:900;top:22px;left:50%;transform:translate(-50%)}.presenter-close{border-radius:999px;height:40px;padding:0 16px;font-size:12px;font-weight:900;top:22px;right:22px}.presenter-nav{border-radius:999px;width:54px;height:86px;font-size:44px;line-height:1;top:50%;transform:translateY(-50%)}.presenter-nav.prev{left:22px}.presenter-nav.next{right:22px}.presenter-hint{z-index:3;color:#fff;letter-spacing:.04em;white-space:nowrap;background:#1b263e94;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.presenter-zoom{z-index:4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1b263e94;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:2px;padding:4px;display:flex;position:fixed;bottom:18px;right:22px}.presenter-zoom button{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:999px;min-width:32px;height:28px;padding:0 8px;font-size:12px;font-weight:900}.presenter-zoom button:hover{background:#ffffff29}.presenter-zoom button:nth-child(2){min-width:54px;font-size:11px}.slide-next{animation:.34s cubic-bezier(.22,.72,.24,1) both morning-slide-next}.slide-prev{animation:.34s cubic-bezier(.22,.72,.24,1) both morning-slide-prev}@keyframes morning-slide-next{0%{opacity:0;transform:translate(22px)scale(.992)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes morning-slide-prev{0%{opacity:0;transform:translate(-22px)scale(.992)}to{opacity:1;transform:translate(0)scale(1)}}@media (prefers-reduced-motion:reduce){.slide-next,.slide-prev,.presenter-slide.slide-next,.presenter-slide.slide-prev{animation:none}.morning-progress i,.morning-stage-nav,.morning-filmstrip button{transition:none}}.conversation-grid{grid-template-columns:repeat(2,1fr);gap:14px;padding:17px;display:grid}.conversation-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:17px}.conversation-top{justify-content:space-between;align-items:center;gap:15px;display:flex}.conversation-copy{border-top:1px solid #eff1f4;margin-top:15px;padding-top:13px}.conversation-copy span,.action-plan small{color:#9ba3b0;font-size:8px;font-weight:700}.conversation-copy p{color:#606b7d;margin:5px 0 0;font-size:9px;line-height:1.65}.action-plan{background:#f6f6ff;border-radius:10px;gap:9px;margin-top:12px;padding:10px;display:flex}.action-plan>span{color:var(--indigo);font-size:12px}.action-plan p{color:#656e84;margin:3px 0 0;font-size:9px;line-height:1.5}.conversation-foot{color:#9099a8;justify-content:space-between;align-items:center;margin-top:13px;font-size:8px;display:flex}.conversation-foot strong{color:#646fc1}.conversation-foot button{color:#16836d;background:#e8f7f3;border:0;border-radius:8px;padding:5px 8px;font-size:8px;font-weight:700}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(18px);background:#1e24323d;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:#ffffffeb;border:1px solid #ffffffc7;border-radius:26px;width:min(590px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 30px 85px #1e274233}.detail-modal{flex-direction:column;width:min(720px,100%);display:flex;overflow:hidden}.modal-head{border-bottom:1px solid #e5e5ead1;justify-content:space-between;align-items:center;padding:22px 25px 18px;display:flex}.modal-head .eyebrow{display:none}.modal-head h2{letter-spacing:-.04em;margin:0;font-size:21px}.modal-head>button{color:#87909f;background:#7878801f;border:0;border-radius:50%;width:38px;height:38px;font-size:25px}.detail-list{overscroll-behavior:contain;gap:10px;padding:18px 22px 22px;display:grid;overflow-y:auto}.detail-summary{background:#f6f7ff;border-radius:14px;align-items:center;gap:12px;padding:14px 16px;display:flex}.detail-summary span,.detail-summary small{color:#7d8798;font-size:10px;font-weight:800}.detail-summary strong{color:var(--ink);font-size:18px}.detail-summary small{margin-left:auto;font-weight:600}.routine-detail-summary{flex-wrap:wrap}.routine-detail-summary em{color:#697389;background:#fff;border-radius:999px;padding:4px 8px;font-size:9px;font-style:normal;font-weight:900}.routine-detail-grid{gap:10px;display:grid}.routine-detail-card{background:#fff;border:1px solid #eef1f5;border-radius:16px;padding:14px}.timeline-detail-grid{gap:12px;padding-left:28px;position:relative}.timeline-detail-grid:before{content:"";background:linear-gradient(#3478f629,#cd55653d);border-radius:999px;width:2px;position:absolute;top:12px;bottom:12px;left:12px}.routine-day-group{background:#ffffffc7;border:1px solid #edf0f7;border-radius:18px;gap:9px;padding:12px;display:grid;position:relative}.routine-day-head{grid-template-columns:1fr auto auto;align-items:center;gap:9px;padding:2px 2px 4px;display:grid}.routine-day-head strong{color:#1d2b42;font-size:13px}.routine-day-head span{color:#67738a;background:#f0f3f8;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900}.routine-day-head b{font-size:13px}.routine-day-records{gap:8px;display:grid}.routine-day-records .routine-detail-card{padding:12px}.timeline-detail-card{position:relative}.timeline-node{color:#fff;background:#3478f6;border:3px solid #fff;border-radius:999px;place-items:center;width:24px;height:24px;font-size:8px;font-style:normal;font-weight:900;display:grid;position:absolute;top:16px;left:-30px;box-shadow:0 6px 16px #3478f638}.routine-day-group .timeline-node{top:14px}.timeline-detail-card.negative .timeline-node{background:#cf5c67;box-shadow:0 6px 16px #cf5c6733}.timeline-detail-card.positive .timeline-node{background:#15977c;box-shadow:0 6px 16px #15977c2e}.routine-detail-card.positive{background:linear-gradient(#fff,#f3fffb);border-color:#15977c38}.routine-detail-card.negative{background:linear-gradient(#fff,#fff6f7);border-color:#cd556538}.routine-detail-top{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.routine-detail-top span{color:#fff;background:#15977c;border-radius:999px;padding:4px 9px;font-size:9px;font-weight:900}.routine-detail-card.negative .routine-detail-top span{background:#cf5c67}.routine-detail-top time{color:#8a94a5;font-size:10px;font-weight:800}.routine-detail-top b{font-size:16px}.routine-detail-card.positive .routine-detail-top b{color:#15977c}.routine-detail-card.negative .routine-detail-top b{color:#cf5c67}.routine-detail-card dl{gap:8px;margin:12px 0 0;display:grid}.routine-detail-card dl div{grid-template-columns:72px minmax(0,1fr);gap:10px;display:grid}.routine-detail-card dt{color:#8c96a7;font-size:9px;font-weight:900}.routine-detail-card dd{color:#344156;margin:0;font-size:11px;line-height:1.6}.detail-row{border-bottom:1px solid #f0f1f4;grid-template-columns:minmax(0,1fr) 78px 44px;align-items:center;gap:12px;padding:13px 4px;display:grid}.detail-row strong{font-size:11px}.detail-row p{color:#778196;margin:5px 0 0;font-size:9px;line-height:1.6}.detail-row time{color:#9aa3b1;font-size:9px}.detail-row b{text-align:right;font-size:12px}.talk-detail-row{grid-template-columns:minmax(0,1fr) 78px auto}.modal form{gap:14px;padding:20px 24px 24px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.modal label{gap:6px;display:grid}.modal label>span{color:#636e80;font-size:9px;font-weight:700}.modal input,.modal select,.modal textarea{width:100%;color:var(--ink);background:#ffffffbd;border:1px solid #d3d8e4e6;border-radius:15px;font-size:11px;transition:all .15s}.modal input,.modal select{height:43px;padding:0 12px}.modal textarea{resize:vertical;padding:12px;line-height:1.6}.modal input:focus,.modal select:focus,.modal textarea:focus{background:#fff;border-color:#3478f68c;outline:4px solid #3478f61f}.modal-actions{justify-content:flex-end;gap:9px;padding-top:4px;display:flex}.form-error{color:#bd4f5c;background:#ffecef;border-radius:8px;margin:0;padding:8px 10px;font-size:9px}.profile-modal{width:min(720px,100%)}.profile-avatar-edit{grid-template-columns:58px minmax(0,1fr);align-items:end;gap:13px;padding:4px 0 2px;display:grid}.profile-avatar-edit .avatar{width:52px;height:52px;font-size:16px}.form-hint{color:#6262bd;background:#f0f0ff;border-radius:9px;margin:-4px 0 0;padding:9px 10px;font-size:9px;line-height:1.6}.module-manager-body{gap:14px;padding:20px 24px 24px;display:grid}.module-manager-list{gap:9px;display:grid}.module-row{background:#fbfcff;border:1px solid #edf0f6;border-radius:13px;grid-template-columns:18px 32px 1fr auto;align-items:center;gap:10px;min-height:48px;padding:8px 11px;display:grid!important}.module-row input{accent-color:var(--indigo);width:15px!important;height:15px!important}.module-row strong{color:#1d2738;font-size:12px}.module-row small{color:#8f98a8;font-size:9px;font-weight:800}.student-match-preview{background:#f7fbff;border-radius:12px;gap:8px;margin-top:-6px;padding:10px 12px;display:grid;box-shadow:inset 0 0 0 1px #dceafe}.student-match-preview div{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.student-match-preview strong{color:#4e5ed4;font-size:10px}.student-match-preview span{color:#24685c;background:#e8f8f3;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800}.student-match-preview p{color:#c15b65;margin:0;font-size:9px;font-weight:800}.checkbox-line{color:#5f6878;align-items:center;gap:8px;font-size:10px;font-weight:700;grid-template-columns:none!important;display:flex!important}.checkbox-line input{width:15px;height:15px;accent-color:var(--indigo)}.toast{z-index:60;color:#fff;background:#27354b;border-radius:11px;align-items:center;gap:9px;padding:12px 16px;font-size:10px;font-weight:700;animation:.25s toast-in;display:flex;position:fixed;bottom:25px;right:25px;box-shadow:0 14px 34px #1923363b}.toast span{color:#20483e;background:#67d0b5;border-radius:50%;place-items:center;width:19px;height:19px;font-size:10px;display:grid}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}.loading-state{color:#8d96a5;align-content:center;place-items:center;gap:8px;min-height:350px;display:grid}.loading-state span{background:var(--indigo);border-radius:50%;width:8px;height:8px;animation:1s infinite alternate pulse;display:inline-block}.loading-state span:nth-child(2){animation-delay:.2s}.loading-state span:nth-child(3){animation-delay:.4s}.loading-state p{margin-top:9px;font-size:10px}@keyframes pulse{50%{opacity:.5}}.empty-state{text-align:center;align-content:center;place-items:center;min-height:235px;padding:30px;display:grid}.empty-state>span{color:#6969d2;background:#eef;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.empty-state h3{margin:11px 0 0;font-size:13px}.empty-state p{color:#929baa;margin:5px 0 0;font-size:9px}.error-state{min-height:430px}.error-state .primary-button{margin-top:16px}.muted{color:#98a0ae;font-size:9px}.feature-body{min-height:226px;padding:22px}.feature-body h4{margin:0;font-size:18px}.feature-body p{color:#687385;margin:10px 0 0;font-size:11px;line-height:1.8}.tag-row{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.tag-row span{color:#5f5fc2;background:#eef;border-radius:9px;padding:5px 8px;font-size:8px;font-weight:800}.lesson-plan-layout{grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);align-items:start;gap:16px;display:grid}.lesson-plan-editor,.lesson-plan-preview{overflow:hidden}.lesson-plan-basic-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;padding:18px 22px 0;display:grid}.lesson-plan-field-list{gap:12px;padding:16px 22px 22px;display:grid}.lesson-plan-basic-grid label,.lesson-plan-field-list label{gap:6px;display:grid}.lesson-plan-basic-grid span,.lesson-plan-field-list span{color:#657184;font-size:9px;font-weight:900}.lesson-plan-basic-grid input,.lesson-plan-field-list textarea{width:100%;color:var(--ink);background:#ffffffd1;border:1px solid #d8deebeb;border-radius:14px;font-size:11px;font-weight:800;transition:all .15s}.lesson-plan-basic-grid input{height:42px;padding:0 12px}.lesson-plan-field-list textarea{resize:vertical;padding:12px;line-height:1.7}.lesson-plan-basic-grid input:focus,.lesson-plan-field-list textarea:focus{background:#fff;border-color:#3478f68c;outline:4px solid #3478f61f}.lesson-plan-preview pre{color:#273247;white-space:pre-wrap;background:linear-gradient(#fbfcff,#fff);min-height:620px;margin:0;padding:22px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:800;line-height:1.85;overflow:auto}.cost-dashboard{gap:16px;display:grid}.cost-hero{background:linear-gradient(135deg,#f7fbff 0%,#fff 52%,#f7fbf5 100%);border-color:#dceafb;justify-content:space-between;align-items:center;gap:22px;padding:26px 28px;display:flex}.cost-hero h3{color:#172033;letter-spacing:-.04em;margin:5px 0 8px;font-size:26px}.cost-hero p{color:#728096;max-width:660px;margin:0;font-size:12px;font-weight:800;line-height:1.7}.cost-hero-total{background:#fff;border-radius:22px;justify-items:end;gap:5px;min-width:180px;padding:16px 18px;display:grid;box-shadow:inset 0 0 0 1px #e6edf7,0 12px 28px #24345614}.cost-hero-total span{color:#8490a3;font-size:10px;font-weight:900}.cost-hero-total strong{color:#173050;letter-spacing:-.04em;font-size:28px}.cost-hero-total small{color:#728096;font-size:10px;font-weight:900}.cost-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.cost-stat-grid article{background:#fff;border:1px solid #e5edf7;border-radius:20px;align-content:center;gap:6px;min-height:104px;padding:18px;display:grid;box-shadow:0 8px 24px #1c395b0f}.cost-stat-grid article.success{background:linear-gradient(#fff,#f3fff9)}.cost-stat-grid article.warning{background:linear-gradient(#fff,#fff8ec)}.cost-stat-grid article.danger{background:linear-gradient(#fff,#fff4f6)}.cost-stat-grid span{color:#7d8798;font-size:11px;font-weight:900}.cost-stat-grid strong{color:#172033;letter-spacing:-.03em;font-size:24px}.cost-stat-grid p{color:#98a2b2;margin:0;font-size:10px;font-weight:800;line-height:1.5}.cost-main-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}.cost-editor-panel,.cost-reminder-panel,.cost-bot-panel{overflow:hidden}.cost-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 22px 22px;display:grid}.cost-form-grid label{gap:6px;display:grid}.cost-form-grid label>span{color:#657184;font-size:9px;font-weight:900}.cost-form-grid input{width:100%;height:42px;color:var(--ink);background:#ffffffdb;border:1px solid #d8deebeb;border-radius:14px;outline:0;padding:0 12px;font-size:11px;font-weight:800;transition:all .15s}.cost-form-grid input:focus{background:#fff;border-color:#3478f68c;box-shadow:0 0 0 4px #3478f61a}.cost-reminder-list,.cost-bot-list{gap:10px;padding:18px;display:grid}.cost-reminder-list article,.cost-bot-list article{background:#fbfdff;border:1px solid #edf1f7;border-radius:16px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:12px;display:grid}.cost-reminder-list article>span{color:#61708b;background:#eef1f5;border-radius:13px;place-items:center;width:38px;height:38px;font-size:13px;font-weight:900;display:grid}.cost-reminder-list article.success>span,.cost-bot-list b.success{color:#07866f;background:#e8f8f3}.cost-reminder-list article.warning>span{color:#b87318;background:#fff3df}.cost-reminder-list article.danger>span{color:#c4525e;background:#fff0f2}.cost-reminder-list article.neutral>span{color:#61708b;background:#eef1f5}.cost-reminder-list strong,.cost-bot-list strong{color:#172033;font-size:12px;display:block}.cost-reminder-list p,.cost-bot-list p{color:#7d8798;margin:4px 0 0;font-size:10px;font-weight:800;line-height:1.55}.cost-bot-list article{grid-template-columns:46px minmax(0,1fr) 58px}.cost-bot-list .dingtalk-role-icon{border-radius:14px;width:42px;height:42px;font-size:15px}.cost-bot-list .role-schedule{background:linear-gradient(135deg,#1677ff,#52a7ff)}.cost-bot-list .role-morning{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.cost-bot-list .role-homework{background:linear-gradient(135deg,#2563eb,#60a5fa)}.cost-bot-list .role-activity{background:linear-gradient(135deg,#10b981,#34d399)}.cost-bot-list .role-routine{background:linear-gradient(135deg,#ef4444,#fb7185)}.cost-bot-list b{color:#61708b;background:#eef1f5;border-radius:999px;place-items:center;min-height:26px;padding:0 8px;font-size:9px;font-weight:900;display:grid}.cost-device-list{gap:12px;padding:18px 22px 22px;display:grid}.cost-device-list>article{background:linear-gradient(135deg,#fff,#f9fbff);border:1px solid #edf1f7;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;padding:14px;display:grid}.cost-device-form{grid-template-columns:1.1fr repeat(3,minmax(120px,.7fr)) 1.4fr;gap:10px;display:grid}.cost-device-form label{gap:6px;display:grid}.cost-device-form label>span{color:#657184;font-size:9px;font-weight:900}.cost-device-form input{width:100%;height:40px;color:var(--ink);background:#ffffffe6;border:1px solid #d8deebeb;border-radius:13px;outline:0;padding:0 12px;font-size:11px;font-weight:800}.cost-device-form input:focus{background:#fff;border-color:#3478f68c;box-shadow:0 0 0 4px #3478f61a}.cost-device-summary{justify-items:end;gap:7px;min-width:130px;display:grid}.cost-device-summary span{color:#7d8798;white-space:nowrap;font-size:10px;font-weight:900}.cost-device-summary strong{color:#172033;font-size:18px}.cost-device-summary .secondary-button{height:30px;padding:0 12px;font-size:10px}.two-column{grid-template-columns:minmax(0,1fr) 360px;gap:16px;display:grid}.rule-list{padding:12px 16px 18px}.rule-row{border-bottom:1px solid #f0f1f4;grid-template-columns:70px 1fr 42px;align-items:center;gap:10px;padding:11px 0;display:grid}.rule-row span{color:#5f5fc2;font-size:9px;font-weight:800}.rule-row p{color:#667185;margin:0;font-size:9px;line-height:1.55}.card-grid{grid-template-columns:repeat(3,1fr);gap:14px;padding:17px;display:grid}.info-card{border:1px solid var(--line);background:#fff;border-radius:14px;min-height:196px;padding:16px}.info-card h3{margin:12px 0 0;font-size:14px}.info-card p{color:#626d80;margin:9px 0 0;font-size:10px;line-height:1.7}.info-card small{color:#8f98a8;margin-top:9px;font-size:8px;line-height:1.65;display:block}.card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.date-chip{color:#6262ca;background:#eef;border-radius:9px;padding:5px 8px;font-size:8px;font-weight:800}.homework-card img,.image-placeholder{aspect-ratio:4/3;object-fit:cover;background:#f2f4f8;border-radius:10px;width:100%;margin-top:12px}.image-placeholder{color:#9aa3b3;place-items:center;font-size:10px;font-weight:700;display:grid}.homework-timeline{gap:0;padding:18px 22px 24px;display:grid;position:relative}.homework-timeline-item{grid-template-columns:90px 24px minmax(0,1fr);align-items:start;gap:14px;min-height:170px;display:grid}.homework-date{justify-items:end;gap:6px;padding-top:6px;display:grid;position:sticky;top:10px}.homework-date strong{color:#5f5fd4;font-size:12px}.homework-date span{color:#5f5fc2;background:#eef;border-radius:999px;padding:4px 8px;font-size:8px;font-weight:800}.homework-line{background:#eceef7;width:2px;min-height:100%;margin:0 auto;position:relative}.homework-line:before{content:"";background:var(--indigo);border:3px solid #eef;border-radius:50%;width:13px;height:13px;position:absolute;top:9px;left:50%;transform:translate(-50%);box-shadow:0 0 0 4px #fff}.homework-content{border:1px solid var(--line);background:#fff;border-radius:16px;gap:12px;max-width:620px;margin-bottom:22px;padding:18px;display:grid;position:relative}.homework-delete{justify-self:end;height:30px;padding:0 10px;font-size:9px}.homework-content p{color:#657184;margin:0;font-size:11px;line-height:1.75}.homework-content img,.homework-content .image-placeholder{aspect-ratio:4/3;object-fit:cover;background:#f1f3f7;border-radius:12px;width:100%;margin:0}.todo-reflection-layout{gap:16px;display:grid}.todo-reflection-hero{background:linear-gradient(135deg,#fff,#f4fbf8);justify-content:space-between;align-items:center;gap:16px;padding:24px 28px;display:flex}.todo-reflection-hero h3{color:var(--ink);letter-spacing:-.04em;margin:4px 0 0;font-size:24px}.todo-reflection-hero p{color:#758095;margin:6px 0 0;font-size:12px;font-weight:800}.todo-reflection-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.todo-reflection-list{gap:10px;padding:0 20px 20px;display:grid}.todo-reflection-card{background:#fff;border:1px solid #eef1f5;border-radius:16px;gap:9px;padding:15px;display:grid}.todo-reflection-card.todo{background:linear-gradient(#fff,#f8fbff)}.todo-reflection-card.reflection{background:linear-gradient(#fff,#fbfff8)}.todo-reflection-card>div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.todo-reflection-card span{color:#3478f6;background:#eef4ff;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:900}.todo-reflection-card.reflection span{color:#16836d;background:#eaf8f3}.todo-reflection-card time{color:#8b95a6;font-size:9px;font-weight:800}.todo-reflection-card h4{color:#1f293b;margin:0;font-size:14px}.todo-reflection-card p{color:#626d80;white-space:pre-wrap;margin:0;font-size:11px;line-height:1.7}.reflection-source-list{gap:10px;padding:0 20px 20px;display:grid}.reflection-source-row{border:1px solid #e7ebf3;border-left:4px solid var(--schedule-color,#94a3b8);background:linear-gradient(135deg, #fff, var(--schedule-color,#94a3b8));border-radius:18px;grid-template-columns:minmax(210px,1fr) 110px minmax(240px,1.2fr) auto;align-items:stretch;gap:10px;padding:12px;display:grid}@supports (color:color-mix(in lab, red, red)){.reflection-source-row{background:linear-gradient(135deg, #fff, color-mix(in srgb, var(--schedule-color,#94a3b8) 8%, #fff))}}.reflection-source-meta{align-content:start;gap:5px;display:grid}.reflection-source-meta span{width:max-content;color:var(--schedule-color,#94a3b8);border-radius:999px;padding:4px 8px}@supports (color:color-mix(in lab, red, red)){.reflection-source-meta span{color:color-mix(in srgb, var(--schedule-color,#94a3b8) 75%, #172033)}}.reflection-source-meta span{background:var(--schedule-color,#94a3b8)}@supports (color:color-mix(in lab, red, red)){.reflection-source-meta span{background:color-mix(in srgb, var(--schedule-color,#94a3b8) 15%, #fff)}}.reflection-source-meta span{font-size:9px;font-weight:900}.reflection-source-meta strong{color:#172033;font-size:12px;line-height:1.45}.reflection-source-meta small{color:#758095;font-size:10px;line-height:1.55}.reflection-source-row select,.reflection-source-row textarea{color:#182439;background:#ffffffe6;border:1px solid #dfe6f2;border-radius:14px;outline:none;width:100%;font-size:12px;font-weight:800}.reflection-source-row select{height:40px;padding:0 10px}.reflection-source-row textarea{resize:vertical;min-height:66px;padding:10px;line-height:1.55}.reflection-row-actions{align-content:center;gap:8px;display:grid}.reflection-row-actions .primary-button,.reflection-row-actions .secondary-button{height:32px;padding:0 12px;font-size:10px}.todo-planner{gap:12px;display:grid}.ios-calendar-hero{background:linear-gradient(135deg,#fff,#f6f9ff);border-radius:22px;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:18px;padding:13px 16px;display:grid}.ios-calendar-hero h3{color:var(--ink);letter-spacing:-.05em;margin:4px 0 0;font-size:26px}.ios-calendar-hero p{color:#7b8798;margin:6px 0 0;font-size:12px;font-weight:800}.week-summary{background:#eef4ff9e;border-radius:17px;flex:none;align-items:center;gap:8px;padding:5px 7px;display:flex;box-shadow:inset 0 0 0 1px #3478f614}.week-summary>div{min-width:120px}.week-summary button{color:#3478f6;cursor:pointer;background:#fff;border:0;border-radius:50%;width:30px;height:30px;font-size:21px;font-weight:900;line-height:1;box-shadow:0 6px 14px #3478f61a}.week-summary button:hover{color:#fff;background:#3478f6}.schedule-hero-guide{gap:3px;min-width:0;display:grid}.schedule-hero-guide strong{color:#27354b;font-size:14px}.schedule-hero-guide span{color:#8490a2;font-size:10px;line-height:1.45}.schedule-hero-actions{align-items:center;gap:7px;display:flex}.schedule-hero-actions>button{color:#5e6c82;cursor:pointer;background:#fff;border:1px solid #dfe6f2;border-radius:11px;min-height:34px;padding:0 12px;font-size:10px;font-weight:900}.schedule-hero-actions>.primary-button{color:#fff;background:#3478f6;border-color:#0000}.week-focus-card{color:#2357d1;background:#eef4ffb8;border-radius:18px;flex:1;justify-content:center;align-items:center;min-width:220px;max-width:460px;min-height:46px;padding:10px 18px;font-size:15px;font-weight:900;display:flex;box-shadow:inset 0 0 0 1px #3478f614}.schedule-quick-entry{flex:520px;grid-template-columns:150px 160px 140px minmax(150px,1fr) auto;align-items:end;gap:8px;margin:0;display:grid}.schedule-quick-entry label{gap:5px;margin:0;display:grid}.schedule-quick-entry label span{color:#758095;font-size:9px;font-weight:900}.schedule-quick-entry input{color:#182439;background:#ffffffe6;border:1px solid #dfe6f2;border-radius:14px;outline:none;height:40px;padding:0 11px;font-size:12px;font-weight:800}.schedule-quick-entry input:focus{border-color:#9cc1ff;box-shadow:0 0 0 3px #3478f61c}.schedule-quick-entry .primary-button{border-radius:14px;height:40px;padding:0 15px}.schedule-filter-row{flex-wrap:wrap;flex:1 0 100%;gap:8px;display:flex}.schedule-filter-row button{color:#526079;cursor:pointer;background:#f0f3f8;border:0;border-radius:999px;min-height:30px;padding:0 12px;font-size:11px;font-weight:900}.schedule-filter-row button:not(:first-child){color:var(--schedule-color)}@supports (color:color-mix(in lab, red, red)){.schedule-filter-row button:not(:first-child){color:color-mix(in srgb, var(--schedule-color) 70%, #182439)}}.schedule-filter-row button:not(:first-child){background:var(--schedule-color)}@supports (color:color-mix(in lab, red, red)){.schedule-filter-row button:not(:first-child){background:color-mix(in srgb, var(--schedule-color) 16%, #fff)}}.schedule-filter-row button.active{color:#fff;background:var(--schedule-color,#3478f6);box-shadow:0 10px 22px var(--schedule-color,#3478f6)}@supports (color:color-mix(in lab, red, red)){.schedule-filter-row button.active{box-shadow:0 10px 22px color-mix(in srgb, var(--schedule-color,#3478f6) 22%, transparent)}}.schedule-filter-row .schedule-type-manage-button{color:#566278;background:#fff;box-shadow:inset 0 0 0 1px #e3e8f2}.schedule-filter-row .schedule-type-manage-button:hover{color:#2563eb;background:#eef4ff}.week-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.week-switcher{background:#eef4ff;border-radius:999px;align-items:center;gap:8px;padding:5px;display:inline-flex}.week-switcher button{color:#3478f6;cursor:pointer;background:#fff;border:0;border-radius:50%;width:34px;height:34px;font-size:24px;font-weight:900;line-height:1;box-shadow:0 8px 18px #3478f61f}.week-switcher button:hover{color:#fff;background:#3478f6}.week-switcher span{color:#2357d1;text-align:center;min-width:60px;font-size:12px;font-weight:900}.calendar-height-control{background:#f4f7fb;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.calendar-height-control span{color:#6f7d93;font-size:12px;font-weight:900}.calendar-height-control input{accent-color:#3478f6;width:96px}.ios-week-strip{grid-template-columns:repeat(7,1fr);gap:10px;display:grid}.ios-week-strip button{cursor:pointer;background:#ffffffd1;border:1px solid #edf0f6;border-radius:22px;place-items:center;gap:5px;min-height:72px;padding:10px;display:grid;box-shadow:0 12px 28px #1f2a440d}.ios-week-strip button.active{color:#fff;background:#3478f6;border-color:#0000;box-shadow:0 18px 32px #3478f638}.ios-week-strip span{color:#8a94a6;font-size:10px;font-weight:900}.ios-week-strip strong{color:var(--ink);font-size:21px}.ios-week-strip button.active span,.ios-week-strip button.active strong{color:#fff}.daily-schedule-panel{overflow:hidden}.daily-schedule-grid{grid-template-columns:repeat(3,1fr);gap:10px;padding:0 20px 16px;display:grid}.schedule-slot{text-align:left;cursor:pointer;background:#fbfcff;border:1px solid #edf0f6;border-radius:18px;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:9px;min-height:72px;padding:12px;transition:all .16s;display:grid}.schedule-slot:hover{background:#f6f9ff;border-color:#dce7ff;transform:translateY(-2px)}.schedule-slot time{color:#3478f6;font-size:12px;font-weight:900}.schedule-slot div{gap:5px;display:grid}.schedule-slot span{text-overflow:ellipsis;white-space:nowrap;color:#263247;font-size:10px;font-weight:900;overflow:hidden}.schedule-slot em{text-overflow:ellipsis;white-space:nowrap;color:#16836d;background:#e8f8f3;border-radius:999px;width:max-content;max-width:100%;padding:3px 7px;font-size:9px;font-style:normal;font-weight:900;overflow:hidden}.schedule-slot small{color:#9aa4b5;font-size:10px;font-weight:800}.schedule-note-list{align-content:start;gap:6px;padding:0;display:grid}.schedule-note-list p{background:var(--schedule-color,#22c55e);border-radius:14px;gap:5px;margin:0;padding:10px 12px;display:grid}@supports (color:color-mix(in lab, red, red)){.schedule-note-list p{background:color-mix(in srgb, var(--schedule-color,#22c55e) 10%, #fff)}}.schedule-note-list p{box-shadow:inset 3px 0 0 var(--schedule-color,#22c55e)}.schedule-note-list p.editable-agenda-item{cursor:text}.schedule-note-list p.editable-agenda-item:hover{background:var(--schedule-color,#22c55e)}@supports (color:color-mix(in lab, red, red)){.schedule-note-list p.editable-agenda-item:hover{background:color-mix(in srgb, var(--schedule-color,#22c55e) 16%, #fff)}}.schedule-note-list p.editable-agenda-item:hover{outline:2px solid var(--schedule-color,#22c55e)}@supports (color:color-mix(in lab, red, red)){.schedule-note-list p.editable-agenda-item:hover{outline:2px solid color-mix(in srgb, var(--schedule-color,#22c55e) 18%, transparent)}}.schedule-note-list strong{color:#172033;font-size:11px}.schedule-note-list span,.schedule-note-list>small{color:#758095;font-size:10px;line-height:1.6}.agenda-detail-row{background:var(--schedule-color,#22c55e);border-radius:13px;grid-template-columns:16px minmax(0,1fr) 18px;align-items:start;gap:6px;padding:7px 8px;display:grid}@supports (color:color-mix(in lab, red, red)){.agenda-detail-row{background:color-mix(in srgb, var(--schedule-color,#22c55e) 10%, #fff)}}.agenda-detail-row{box-shadow:inset 3px 0 0 var(--schedule-color,#22c55e);cursor:pointer}.agenda-detail-row.done{opacity:.58}.agenda-detail-row.done strong,.agenda-detail-row.done span{text-decoration:line-through}.agenda-detail-row div{gap:2px;min-width:0;display:grid}.agenda-detail-row strong{color:#172033;font-size:10px;line-height:1.35}.agenda-detail-row span{color:#758095;font-size:9px;line-height:1.35}.agenda-check{color:#3478f6;cursor:pointer;background:#fff;border:0;border-radius:999px;width:16px;height:16px;font-size:13px;font-weight:900;line-height:1}.agenda-detail-row.done .agenda-check{color:#fff;background:#44bd91}.agenda-reflection-button,.agenda-delete-button{cursor:pointer;border:0;border-radius:999px;width:20px;height:20px;padding:0;font-size:10px;font-weight:900;line-height:1}.agenda-reflection-button{color:#2563eb;background:#e8f0ff}.agenda-reflection-button.active{color:#fff;background:#3478f6}.agenda-delete-button{color:#d25b67;background:#fff0f2}.agenda-action-spacer{width:20px;height:20px;display:block}.agenda-reflection-inline{box-shadow:inset 3px 0 0 var(--schedule-color,#3478f6), 0 8px 16px #1f2a440d;background:#ffffffe6;border-radius:12px;gap:7px;margin:-2px 0 4px 25px;padding:8px;display:grid}.agenda-reflection-inline label{gap:4px;margin:0;display:grid}.agenda-reflection-inline label span{color:var(--schedule-color,#3478f6)}@supports (color:color-mix(in lab, red, red)){.agenda-reflection-inline label span{color:color-mix(in srgb, var(--schedule-color,#3478f6) 74%, #172033)}}.agenda-reflection-inline label span{font-size:9px;font-weight:900}.agenda-reflection-inline select,.agenda-reflection-inline textarea{color:#182439;background:#fff;border:1px solid #dfe6f2;border-radius:10px;outline:none;width:100%;font-size:10px;font-weight:800}.agenda-reflection-inline select{height:30px;padding:0 8px}.agenda-reflection-inline textarea{resize:vertical;padding:8px;line-height:1.45}.agenda-inline-editor{box-shadow:inset 0 0 0 2px var(--schedule-color,#3478f6), 0 10px 20px #1f2a440f;background:#fff;border-radius:16px;gap:8px;padding:10px;display:grid}@supports (color:color-mix(in lab, red, red)){.agenda-inline-editor{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--schedule-color,#3478f6) 30%, #e7ecf5), 0 10px 20px #1f2a440f}}.agenda-editor-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.agenda-editor-grid.two{grid-template-columns:1fr 1fr}.agenda-inline-editor label{gap:4px;margin:0;display:grid}.agenda-inline-editor label span{color:#758095;font-size:9px;font-weight:900}.agenda-inline-editor input,.agenda-inline-editor select,.agenda-inline-editor textarea{color:#182439;background:#fff;border:1px solid #dfe6f2;border-radius:11px;outline:none;width:100%;font-size:11px;font-weight:800}.agenda-inline-editor input,.agenda-inline-editor select{height:34px;padding:0 9px}.agenda-inline-editor textarea{resize:vertical;padding:9px;line-height:1.55}.agenda-editor-actions{justify-content:flex-end;gap:8px;display:flex}.agenda-editor-actions .primary-button,.agenda-editor-actions .secondary-button{height:32px;padding:0 12px;font-size:10px}.weekly-calendar-panel{overflow:hidden}.weekly-calendar-board{grid-template-columns:max-content minmax(240px,1fr);align-items:stretch;gap:0;padding:0 20px 20px;display:grid}.weekly-calendar-grid{background:#edf0f6;border:1px solid #edf0f6;border-radius:22px 0 0 22px;grid-template-columns:max-content repeat(7,minmax(78px,88px));justify-content:start;gap:1px;display:grid;overflow-x:auto}.schedule-detail-panel{background:#eef2f7;border-radius:0 22px 22px 0;grid-template-rows:auto 1fr;gap:12px;min-width:0;padding:17px;display:grid}.schedule-detail-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.schedule-detail-head h3{color:#182439;letter-spacing:-.03em;margin:0;font-size:15px}.schedule-detail-head span{color:#3478f6;background:#fff;border-radius:999px;place-items:center;min-width:23px;height:23px;font-size:10px;font-weight:900;display:grid}.week-calendar-corner,.week-calendar-day,.week-calendar-time,.week-calendar-cell{background:#fffffff0;min-width:0}.week-calendar-corner{z-index:3;color:#8a94a6;place-items:center;min-height:58px;padding:0 8px;font-size:11px;font-weight:900;display:grid;position:sticky;left:0}.week-calendar-day{z-index:2;color:#182439;text-align:center;justify-content:center;align-items:center;gap:6px;min-height:42px;display:flex;position:sticky;top:0}.week-calendar-day span{color:#182439;font-size:10px;font-weight:900}.week-calendar-day strong{color:#182439;font-size:18px;line-height:1}.week-calendar-day em{color:#fff;background:#3478f6;border-radius:6px;padding:2px 5px;font-size:7px;font-style:normal;font-weight:900}.week-calendar-day.today{background:#edf4ff;box-shadow:inset 0 -3px #3478f6}.week-calendar-time{z-index:1;min-height:var(--row-height,62px);color:#3478f6;text-align:left;cursor:pointer;border:0;justify-content:flex-start;align-items:center;gap:4px;padding:6px 8px;font-size:11px;font-weight:900;display:flex;position:sticky;left:0}.week-calendar-time:hover{background:#f5f9ff;box-shadow:inset 0 0 0 2px #dce7ff}.week-calendar-time strong{color:#182439;white-space:nowrap;font-size:10px;line-height:1.1}.week-calendar-time span{color:#7c8798;white-space:nowrap;font-size:7px;line-height:1.1}.week-calendar-cell{min-height:var(--row-height,62px);text-align:left;cursor:pointer;border:0;align-content:start;gap:4px;padding:7px;transition:all .16s;display:grid;position:relative}.week-calendar-time.teaching-row,.week-calendar-cell.teaching-row{background:#fff1f2}.week-calendar-cell:hover{z-index:1;background:#f5f9ff;position:relative;box-shadow:inset 0 0 0 2px #dce7ff}.week-calendar-cell.teaching-row:hover,.week-calendar-time.teaching-row:hover{background:#ffe4e8;box-shadow:inset 0 0 0 2px #fecdd3}.week-calendar-cell.today{box-shadow:inset 2px 0 #3478f64d,inset -2px 0 #3478f64d}.week-cell-hover-details{z-index:12;background:#fffffff7;border:1px solid #dbe5f4;border-radius:13px;gap:5px;width:max(180px,100%);max-width:300px;padding:9px;display:none;position:absolute;top:calc(100% + 4px);left:6px;box-shadow:0 14px 34px #1f2a4424}.week-calendar-cell:hover .week-cell-hover-details{display:grid}.week-cell-hover-details p{color:#5e6878;white-space:normal;grid-template-columns:38px minmax(0,1fr);gap:6px;margin:0;font-size:10px;line-height:1.55;display:grid}.week-cell-hover-details b{color:#3478f6;font-size:9px}.course-subject-button{text-overflow:ellipsis;white-space:nowrap;color:#1f2a44;cursor:pointer;background:#f4f7fb;border:0;border-radius:999px;width:max-content;max-width:100%;padding:4px 8px;font-size:13px;font-weight:900;line-height:1.3;overflow:hidden}.course-subject-button:hover{color:#2357d1;background:#e9f0ff}.week-calendar-cell span,.week-calendar-cell em{text-overflow:ellipsis;white-space:nowrap;border-radius:999px;font-size:9px;font-weight:900;overflow:hidden}.week-calendar-cell span{color:#2357d1;background:#edf4ff;padding:4px 7px}.week-calendar-cell .schedule-kind-pill{color:var(--schedule-color)}@supports (color:color-mix(in lab, red, red)){.week-calendar-cell .schedule-kind-pill{color:color-mix(in srgb, var(--schedule-color) 72%, #172033)}}.week-calendar-cell .schedule-kind-pill{background:var(--schedule-color)}@supports (color:color-mix(in lab, red, red)){.week-calendar-cell .schedule-kind-pill{background:color-mix(in srgb, var(--schedule-color) 18%, #fff)}}.week-calendar-cell span,.week-calendar-cell em,.course-subject-button{cursor:text}.week-calendar-cell span[draggable=true],.week-calendar-cell em[draggable=true]{cursor:grab}.week-calendar-cell span[draggable=true]:active,.week-calendar-cell em[draggable=true]:active{cursor:grabbing}.week-calendar-cell span:hover,.week-calendar-cell em:hover,.course-subject-button:hover{outline-offset:1px;outline:2px solid #3478f62e}.week-calendar-cell em{color:#16836d;background:#e8f8f3;width:max-content;max-width:100%;padding:3px 7px;font-style:normal}.week-calendar-cell .todo-kind-pill{color:#1d4ed8;background:#dbeafe}.course-editor-modal{max-width:520px}.course-style-grid{grid-template-columns:120px 1fr 1fr;gap:10px;margin-top:12px;display:grid}.course-style-grid label{margin:0}.course-style-grid input[type=color]{cursor:pointer;height:46px;padding:4px}.course-style-grid input[type=range]{accent-color:#3478f6}.course-import-modal{max-width:720px}.course-import-modal textarea{white-space:pre;min-height:230px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.7}.course-image-preview{background:#f8fbff;border:1px solid #edf0f6;border-radius:18px;gap:8px;margin:0 0 14px;padding:10px;display:grid}.course-image-preview img{object-fit:contain;background:#fff;border-radius:14px;width:100%;max-height:260px}.course-image-preview figcaption{color:#7c8798;text-align:center;font-size:11px;font-weight:900}.row-height-modal{max-width:520px}.row-height-preview{color:#3478f6;background:#f6f9ff;border:1px dashed #cfd8ea;border-radius:16px;place-items:center;margin:4px 0 14px;font-size:14px;font-weight:900;display:grid}.row-height-control{margin:0}.row-height-control input{accent-color:#3478f6}.schedule-type-modal{max-width:560px}.schedule-type-list{gap:9px;display:grid}.schedule-type-row{background:#fbfcff;border:1px solid #edf0f6;border-radius:14px;grid-template-columns:minmax(0,1fr) 56px 34px;align-items:center;gap:8px;padding:9px;display:grid}.schedule-type-row input[type=color]{cursor:pointer;height:34px;padding:3px}.schedule-type-remove{color:#d25b67;cursor:pointer;background:#fff0f2;border:0;border-radius:999px;width:32px;height:32px;font-size:16px;font-weight:900}.schedule-type-add{justify-self:start}.course-preset-list{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.course-preset-list button{color:#526079;cursor:pointer;background:#f3f6fb;border:0;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800}.course-preset-list button:hover{color:#2357d1;background:#eaf1ff}.todo-planner-grid{grid-template-columns:.92fr 1.08fr;align-items:start;gap:16px;display:grid}.todo-planner-grid.single{grid-template-columns:1fr}.todo-time-list{gap:0;padding:0 20px 20px;display:grid}.todo-time-row{border-top:1px solid #f0f2f6;grid-template-columns:58px minmax(0,1fr);gap:12px;padding:13px 0;display:grid}.todo-time-row time{color:#3478f6;padding-top:2px;font-size:12px;font-weight:900}.todo-time-row div{background:#f8fbff;border-radius:17px;gap:7px;padding:13px;display:grid;box-shadow:inset 0 0 0 1px #e8eefb}.todo-time-row span{color:#3478f6;background:#eaf2ff;border-radius:999px;width:max-content;padding:4px 8px;font-size:9px;font-weight:900}.todo-time-row strong{color:#172033;font-size:13px}.todo-time-row p{color:#687487;white-space:pre-wrap;margin:0;font-size:10px;line-height:1.65}.quadrant-grid{grid-template-columns:1fr 1fr;gap:12px;padding:0 20px 20px;display:grid}.quadrant-card{background:#f8fafc;border-radius:20px;align-content:start;gap:8px;min-height:156px;padding:15px;display:grid;box-shadow:inset 0 0 0 1px #edf0f6}.quadrant-card h4{color:#1f2937;justify-content:space-between;align-items:center;gap:8px;margin:0 0 3px;font-size:13px;display:flex}.quadrant-card h4 button{color:#3478f6;cursor:pointer;background:#ffffffbf;border:0;border-radius:50%;place-items:center;width:26px;height:26px;font-size:15px;font-weight:900;display:grid;box-shadow:0 8px 18px #3478f61f}.quadrant-card h4 button:hover{color:#fff;background:#3478f6}.quadrant-card p{color:#536074;grid-template-columns:42px minmax(0,1fr);gap:8px;margin:0;font-size:10px;line-height:1.45;display:grid}.quadrant-card p span{color:#8d96a7;font-weight:900}.quadrant-card small{color:#a0a8b6;font-size:10px;font-weight:800}.quadrant-0{background:#fff4f4;box-shadow:inset 0 0 0 1px #ffe0e0}.quadrant-1{background:#f5f9ff;box-shadow:inset 0 0 0 1px #e0ecff}.quadrant-2{background:#fffaf0;box-shadow:inset 0 0 0 1px #f8ead0}.quadrant-3{background:#f7fbf7;box-shadow:inset 0 0 0 1px #e2f1e2}.week-schedule-list{gap:9px;padding:0 20px 20px;display:grid}.week-schedule-list article{text-align:left;background:#fff;border:1px solid #edf0f6;border-radius:16px;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:11px;padding:11px;display:grid}.week-schedule-list time{color:#3478f6;background:#eef4ff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:13px;font-weight:900;display:grid}.week-schedule-list div{gap:4px;display:grid}.week-schedule-list strong{color:#1f2937;font-size:11px}.week-schedule-list span{color:#526075;font-size:10px;font-weight:800}.week-schedule-list small{color:#9aa4b5;font-size:10px;font-weight:800}.activity-panel{overflow:hidden}.activity-tree{background:radial-gradient(circle at 50% 16%,#c5f7d273,#0000 32%),linear-gradient(#fbfff8 0%,#f8fbff 62%,#f3f7ef 100%);min-height:530px;padding:28px 30px 34px;position:relative;overflow:hidden}.activity-tree:before{content:"";filter:blur(.2px);background:#dbf9e1ad;border-radius:48% 52% 44% 56%/55% 50% 50% 45%;height:250px;position:absolute;inset:22px 9% auto}.tree-crown-note{z-index:2;text-align:center;background:#ffffffd1;border:1px solid #61be7f33;border-radius:999px;width:max-content;max-width:100%;margin:0 auto 18px;padding:13px 24px;position:relative;box-shadow:0 12px 30px #5f8b601f}.tree-crown-note span,.tree-crown-note small{color:#73916d;font-size:9px;font-weight:800;display:block}.tree-crown-note strong{color:#2b4d30;margin:2px 0;font-size:18px;display:block}.tree-stage-list{z-index:2;gap:28px;max-width:980px;margin:0 auto;padding-bottom:72px;display:grid;position:relative}.tree-branch{grid-template-columns:58px 80px minmax(0,1fr);align-items:center;gap:12px;display:grid}.branch-label{color:#3c7a45;background:#e8f8e8;border:3px solid #fff;border-radius:50%;place-items:center;width:52px;height:52px;font-size:14px;font-weight:900;display:grid;box-shadow:0 10px 24px #3e744721}.branch-line{background:linear-gradient(90deg,#b8834d,#d1a06b,#d1a06b26);border-radius:999px;height:6px}.fruit-row{flex-wrap:wrap;align-items:center;gap:13px;min-height:92px;padding:8px 0;display:flex}.activity-fruit{color:#fff;text-align:center;cursor:pointer;border:0;border-radius:44% 56% 50% 50%/48% 44% 56% 52%;align-content:center;place-items:center;gap:7px;width:132px;min-height:132px;padding:16px 12px;transition:transform .18s,box-shadow .18s;display:grid;box-shadow:0 14px 26px #41603029}.activity-fruit:hover{transform:translateY(-4px)rotate(-1deg);box-shadow:0 18px 34px #41603038}.activity-fruit strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:14px;line-height:1.35;display:-webkit-box;overflow:hidden}.activity-fruit small{color:#ffffffe0;font-size:9px;font-weight:800}.fruit-dot{color:#25391ed1;background:#ffffffdb;border-radius:50%;place-items:center;width:32px;height:32px;font-size:11px;font-weight:900;display:grid}.fruit-tone-0{background:linear-gradient(145deg,#ff9f6e,#e95d68)}.fruit-tone-1{background:linear-gradient(145deg,#7dcf89,#3aa667)}.fruit-tone-2{background:linear-gradient(145deg,#ffd66e,#eca233)}.fruit-tone-3{background:linear-gradient(145deg,#8da7ff,#5d5de2)}.fruit-tone-4{background:linear-gradient(145deg,#f08cc5,#c95f9d)}.fruit-empty{color:#8fa087;background:#fff9;border:1px dashed #cbdcc9;border-radius:18px;place-items:center;min-height:80px;padding:0 18px;font-size:11px;font-weight:800;display:grid}.tree-trunk{z-index:1;background:linear-gradient(90deg,#916039,#bd8251 52%,#8b5631);border-radius:45px 45px 18px 18px;width:74px;height:190px;position:absolute;bottom:29px;left:50%;transform:translate(-50%);box-shadow:inset 13px 0 18px #ffffff1f}.tree-ground{z-index:1;background:#8dbe683d;border-radius:999px;width:330px;height:30px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.christmas-tree-scene{background:radial-gradient(circle at 50% 14%,#fde08b3d,#0000 18%),radial-gradient(circle at 50% 62%,#3077522e,#0000 38%),linear-gradient(160deg,#fffdf7 0%,#f4fbf3 42%,#eff7f8 100%)}.christmas-tree-scene:before{content:"";filter:none;pointer-events:none;background:radial-gradient(circle at 12% 22%,#f4be6f52 0 2px,#0000 3px),radial-gradient(circle at 84% 22%,#42917238 0 2px,#0000 3px),radial-gradient(circle at 20% 75%,#deae5b3d 0 2px,#0000 3px),radial-gradient(circle at 78% 76%,#ffffffb3 0 3px,#0000 4px);border-radius:0;height:auto;position:absolute;inset:0}.christmas-tree-scene:after{content:"";z-index:4;clip-path:polygon(50% 0,100% 100%,0 100%);opacity:.78;pointer-events:none;background:radial-gradient(at 50% 19%,#0000 0 20%,#e7b75bbf 20.4% 21.4%,#0000 21.8%),radial-gradient(at 50% 34%,#0000 0 29%,#e7b75bb8 29.4% 30.2%,#0000 30.6%),radial-gradient(#0000 0 38%,#e7b75bad 38.4% 39.1%,#0000 39.6%),radial-gradient(circle at 43% 28%,#fff6c2f2 0 2px,#0000 3px),radial-gradient(circle at 57% 32%,#fff6c2d1 0 2px,#0000 3px),radial-gradient(circle at 34% 54%,#fff6c2d1 0 2px,#0000 3px),radial-gradient(circle at 67% 62%,#fff6c2e6 0 2px,#0000 3px);width:470px;height:390px;animation:3.2s ease-in-out infinite alternate treeLights;position:absolute;top:168px;left:50%;transform:translate(-50%)}.snow-layer{z-index:9;pointer-events:none;opacity:.72;background-repeat:repeat;position:absolute;inset:-80px 0 0}.snow-back{background-image:radial-gradient(circle,#fffffff2 0 1.2px,#0000 1.8px),radial-gradient(circle,#ffffffb3 0 1px,#0000 1.6px);background-position:0 0,42px 18px;background-size:92px 92px,136px 136px;animation:14s linear infinite snowFallBack}.snow-front{opacity:.88;background-image:radial-gradient(circle,#fffffffa 0 2px,#0000 2.8px),radial-gradient(circle,#ffffffc7 0 1.4px,#0000 2.1px);background-position:18px 0,88px 34px;background-size:128px 128px,178px 178px;animation:9s linear infinite snowFallFront}.christmas-note{z-index:8;color:#2b4d30;background:#ffffffe6;border-color:#ddb05c38;margin-bottom:0;box-shadow:0 16px 42px #3159361f}.tree-star{z-index:7;color:#d8a746;text-shadow:0 0 16px #f3c253a6,0 8px 18px #97662140;font-size:32px;animation:2.6s ease-in-out infinite alternate starGlow;position:absolute;top:112px;left:50%;transform:translate(-50%)}.tree-garland{z-index:6;filter:drop-shadow(0 4px 7px #a4702129);pointer-events:none;border-bottom:4px solid #ecbe5bc7;border-radius:0 0 50% 50%;height:34px;position:absolute;left:50%;transform:translate(-50%)rotate(-3deg)}.tree-garland:after{content:"";background:radial-gradient(circle at 9%,#ffe9a8 0 2px,#0000 3px),radial-gradient(circle at 24%,#ff8d93 0 2px,#0000 3px),radial-gradient(circle at 39%,#9ee8ff 0 2px,#0000 3px),radial-gradient(circle at 55%,#ffe9a8 0 2px,#0000 3px),radial-gradient(circle at 71%,#d8b4ff 0 2px,#0000 3px),radial-gradient(circle at 88%,#b8ffd0 0 2px,#0000 3px);height:10px;animation:2.4s ease-in-out infinite alternate treeLights;position:absolute;bottom:-8px;left:0;right:0}.garland-one{width:190px;top:214px}.garland-two{width:330px;top:330px;transform:translate(-50%)rotate(3deg)}.garland-three{width:485px;top:468px}.tree-confetti{z-index:5;clip-path:polygon(50% 0,100% 100%,0 100%);pointer-events:none;background:radial-gradient(circle at 52% 16%,#fff3ad 0 3px,#0000 4px),radial-gradient(circle at 43% 25%,#e15f68 0 3px,#0000 4px),radial-gradient(circle at 58% 29%,#75d4e2 0 3px,#0000 4px),radial-gradient(circle at 39% 40%,#f0b34e 0 2.5px,#0000 3.5px),radial-gradient(circle at 63% 44%,#dd93d8 0 3px,#0000 4px),radial-gradient(circle at 31% 58%,#f47778 0 3px,#0000 4px),radial-gradient(circle at 72% 62%,#8de19c 0 3px,#0000 4px),radial-gradient(circle at 42% 75%,#9bd9ff 0 3px,#0000 4px),radial-gradient(circle at 61% 79%,#ffd26d 0 3px,#0000 4px);width:500px;height:430px;animation:3.4s ease-in-out infinite alternate ornamentTwinkle;position:absolute;top:150px;left:50%;transform:translate(-50%)}.christmas-tree-shape{z-index:2;clip-path:polygon(50% 0,100% 100%,0 100%);filter:drop-shadow(0 18px 28px #17492d2e);background:radial-gradient(circle at 38% 40%,#ffffff14,#0000 15%),radial-gradient(circle at 63% 58%,#ffffff12,#0000 13%),linear-gradient(145deg,#1d6c48,#0e3f2e 72%);width:210px;height:152px;position:absolute;top:148px;left:50%;transform:translate(-50%)}.christmas-tree-shape:after{content:"";clip-path:inherit;border:1px solid #e5b45273;position:absolute;inset:6px}.christmas-tree-shape.middle{background:linear-gradient(145deg,#1b7650,#0a3a2b 72%);width:350px;height:210px;top:230px}.christmas-tree-shape.lower{background:linear-gradient(145deg,#166743,#082f24 75%);width:520px;height:258px;top:342px}.christmas-trunk{z-index:1;background:linear-gradient(90deg,#7e5235,#b77c4d 52%,#75472d);border-radius:16px 16px 10px 10px;width:58px;height:100px;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.christmas-ground{z-index:1;background:#4b834f29;border-radius:999px;width:330px;height:22px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.christmas-fruits{z-index:7;position:absolute;inset:0}.christmas-fruit{color:#fff;text-align:center;cursor:pointer;border:1.5px solid #ffffffd9;border-radius:50%;place-items:center;width:42px;min-height:42px;padding:0;transition:transform .18s,box-shadow .18s;animation:3s ease-in-out infinite alternate ornamentTwinkle;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 8px 16px #0c271a38,inset -6px -7px 11px #00000029,inset 6px 6px 11px #ffffff40}.christmas-fruit:before{content:"";filter:blur(.3px);background:#ffffffe0;border-radius:50%;width:22%;height:22%;position:absolute;top:14%;left:18%}.christmas-fruit:after{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle,#ffffffd9,#0000 56%);border-radius:50%;animation:2.6s ease-in-out infinite ornamentGlint;position:absolute;inset:-4px}.christmas-fruit:hover{transform:translate(-50%,-58%)scale(1.12);box-shadow:0 14px 26px #0c271a4d,0 0 18px #ffedac8c,inset -6px -7px 11px #00000024,inset 6px 6px 11px #ffffff4d}.ornament-cap{background:linear-gradient(#ffe8a4,#bf8734);border-radius:3px 3px 1px 1px;width:11px;height:7px;position:absolute;top:-4px;left:50%;transform:translate(-50%);box-shadow:inset 0 -2px #ffffff57}.christmas-fruit .fruit-order{z-index:1;color:#26342b;background:#ffffffe6;border-radius:50%;place-items:center;width:21px;height:21px;font-size:11px;font-weight:900;display:grid;position:relative}.ornament-tip{z-index:12;opacity:0;pointer-events:none;color:#263247;background:#fffffff5;border:1px solid #e5b45247;border-radius:10px;min-width:116px;max-width:150px;padding:7px 8px;transition:all .16s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 12px 26px #1835252e}.christmas-fruit:hover .ornament-tip{opacity:1;transform:translate(-50%)translateY(0)}.ornament-tip strong{white-space:nowrap;text-overflow:ellipsis;color:#1f3428;font-size:10px;line-height:1.35;display:block;overflow:hidden}.ornament-tip small{white-space:nowrap;text-overflow:ellipsis;color:#7b865f;margin-top:2px;font-size:8px;font-weight:800;display:block;overflow:hidden}.ornament-0{background:radial-gradient(circle at 31% 24%,#fff0cc,#dc6b62 48%,#a8253f);animation-delay:0s}.ornament-1{background:radial-gradient(circle at 31% 24%,#eaffff,#67c9d5 48%,#2f69b8);animation-delay:.25s}.ornament-2{background:radial-gradient(circle at 31% 24%,#fff8cb,#e9bb47 48%,#b86d24);animation-delay:.5s}.ornament-3{background:radial-gradient(circle at 31% 24%,#f5e9ff,#9a7be4 48%,#5449b7);animation-delay:.75s}.ornament-4{background:radial-gradient(circle at 31% 24%,#ecfff1,#58c878 48%,#237b4e);animation-delay:1s}.ornament-5{background:radial-gradient(circle at 31% 24%,#fff0f9,#e982bd 48%,#a3347d);animation-delay:1.25s}.ornament-6{background:radial-gradient(circle at 31% 24%,#fff4df,#e99847 48%,#a44b23);animation-delay:1.5s}.ornament-7{background:radial-gradient(circle at 31% 24%,#eafff7,#7bd0b8 48%,#267c76);animation-delay:1.75s}.christmas-empty{color:#eaffee;background:#1e6e3959;border:1px dashed #ffffffd9;border-radius:18px;padding:14px 18px;font-size:12px;font-weight:900;position:absolute;top:330px;left:50%;transform:translate(-50%)}@keyframes ornamentTwinkle{0%{filter:brightness()}to{filter:brightness(1.16)saturate(1.08)}}@keyframes ornamentGlint{0%,48%,to{opacity:0;transform:scale(.86)}58%{opacity:.88;transform:scale(1.18)}}@keyframes treeLights{0%{opacity:.42;filter:brightness(.92)}to{opacity:.9;filter:brightness(1.35)}}@keyframes starGlow{0%{filter:brightness(.96)}to{filter:brightness(1.22)}}@keyframes snowFallBack{0%{background-position:0 -80px,42px -40px}to{background-position:46px 560px,12px 620px}}@keyframes snowFallFront{0%{background-position:18px -120px,88px -60px}to{background-position:-28px 640px,134px 700px}}@media (prefers-reduced-motion:reduce){.christmas-tree-scene:after,.christmas-fruit,.christmas-fruit:after,.tree-star,.snow-layer,.tree-garland:after,.tree-confetti{animation:none}}.gallery-modal{width:min(980px,100%)}.gallery-body{grid-template-columns:minmax(0,1fr) 240px;gap:18px;padding:20px 24px 24px;display:grid}.gallery-main{min-width:0;position:relative}.gallery-image-wrap{background:#f3f5f8;border-radius:18px;place-items:center;min-height:480px;display:grid;overflow:hidden}.gallery-image{object-fit:contain;width:100%;height:100%;max-height:68vh}.gallery-photo-stage{cursor:crosshair;max-width:100%;line-height:0;position:relative}.gallery-photo-stage .gallery-image{width:auto;max-width:100%;height:auto;max-height:68vh;display:block}.gallery-photo-tag,.gallery-photo-pending{z-index:1;color:#fff;background:#3970eb;border:2px solid #fff;border-radius:50%;place-items:center;width:26px;height:26px;padding:0;font-size:10px;font-weight:900;line-height:1;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 12px #17203377}.gallery-photo-pending{pointer-events:none;background:#ef9e24;font-size:19px}.gallery-nav{z-index:2;color:#fff;cursor:pointer;background:#171f3173;border:0;border-radius:999px;width:38px;height:52px;font-size:32px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.gallery-nav:disabled{opacity:.25;cursor:not-allowed}.gallery-nav.prev{left:12px}.gallery-nav.next{right:12px}.gallery-side{align-content:start;gap:12px;display:grid}.gallery-side p{color:#667185;margin:0;font-size:11px;line-height:1.75}.gallery-tag-panel{background:#f7faff;border:1px solid #dfe7fb;border-radius:13px;gap:7px;padding:11px;display:grid}.gallery-tag-panel>strong{color:#243755;font-size:13px}.gallery-tag-panel input{border-radius:10px;height:34px}.gallery-tag-students{flex-wrap:wrap;gap:5px;max-height:96px;display:flex;overflow:auto}.gallery-tag-students button,.gallery-tagged-list span{color:#3d5277;background:#fff;border:1px solid #dce5f7;border-radius:8px;padding:5px 7px;font-size:10px;font-weight:800}.gallery-tag-students button:disabled{opacity:.58;cursor:not-allowed}.gallery-tag-students button:not(:disabled){cursor:pointer}.gallery-tag-students button:not(:disabled):hover{color:#315ac2;border-color:#3970eb}.gallery-tagged-list{flex-wrap:wrap;gap:5px;display:flex}.gallery-tagged-list span{background:#eaf1ff;align-items:center;gap:5px;display:inline-flex}.gallery-tagged-list button{color:#9e4560;cursor:pointer;background:0 0;border:0;font-size:13px}.activity-student-albums .table-toolbar>span{color:#72829b;font-size:11px;font-weight:900}.activity-album-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:9px;padding:18px 24px 24px;display:grid}.activity-album-list button{text-align:left;cursor:pointer;background:#f9fbff;border:1px solid #dfe7f4;border-radius:12px;gap:4px;padding:11px 13px;display:grid}.activity-album-list button strong{color:#263858;font-size:12px}.activity-album-list button span{color:#74839b;font-size:10px}.activity-album-empty{color:#77859c;margin:0;padding:22px 24px;font-size:11px}.activity-album-modal{width:min(900px,100%)}.activity-album-photos{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;padding:18px 24px 24px;display:grid}.activity-album-photos figure{background:#f8faff;border:1px solid #e3e8f2;border-radius:13px;margin:0;overflow:hidden}.activity-album-photos img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.activity-album-photos figcaption{color:#596a85;padding:8px 10px;font-size:11px}.gallery-count{color:#6262ca;background:#eef;border-radius:999px;width:max-content;padding:6px 10px;font-size:10px;font-weight:900}.gallery-actions{gap:8px;display:grid}.download-link{place-items:center;text-decoration:none;display:inline-grid}.danger-button{color:#bd4f5c;cursor:pointer;background:#ffecef;border:0;border-radius:10px;height:38px;padding:0 14px;font-size:11px;font-weight:800}.danger-button:disabled{opacity:.6;cursor:wait}.modal .gallery-upload{background:#fbfcfd;border:1px solid #edf0f5;border-radius:12px;gap:8px;padding:12px;display:grid}.gallery-upload label{gap:6px;display:grid}.gallery-upload span{color:#636e80;font-size:9px;font-weight:800}.gallery-upload input{width:100%;font-size:9px}.gallery-thumbs{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:4px;display:grid}.gallery-thumbs button{cursor:pointer;background:#eef1f6;border:2px solid #0000;border-radius:10px;padding:0;overflow:hidden}.gallery-thumbs button.active{border-color:var(--indigo)}.gallery-thumbs img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.video-thumb{aspect-ratio:1;color:#5f5fc2;background:#eef;place-items:center;width:100%;font-size:9px;font-weight:900;display:grid}.parent-layout{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:16px;display:grid}.parent-page-tabs{grid-column:1/-1;gap:8px;display:flex}.parent-page-tabs span{color:#778196;background:#fff;border:1px solid #e4e7f0;border-radius:999px;padding:8px 12px;font-size:10px;font-weight:800}.parent-page-tabs span.active{color:#5555cf;background:#f3f3ff;border-color:#dedefb}.inline-form,.message-form{gap:12px;padding:18px;display:grid}.inline-form label,.message-form label{gap:6px;display:grid}.inline-form span{color:#636e80;font-size:9px;font-weight:700}.inline-form input,.message-form input,.message-form textarea{background:#fbfcfd;border:1px solid #dde1e8;border-radius:9px;width:100%;font-size:10px}.inline-form input,.message-form input{height:39px;padding:0 10px}.message-form textarea{resize:vertical;padding:10px;line-height:1.6}.parent-result{overflow:hidden}.parent-sections{gap:16px;padding:18px;display:grid}.parent-sections h4{margin:0 0 10px;font-size:12px}.note-line{color:#657184;background:#f7f8fb;border-radius:10px;margin:0 0 8px;padding:10px 11px;font-size:9px;line-height:1.65}.note-line strong{color:#263247;margin-bottom:3px;display:block}.compact-empty{min-height:130px}.compact-empty p{max-width:220px}.comprehensive-stat-grid{grid-template-columns:repeat(5,1fr)}.comprehensive-map{grid-template-columns:repeat(5,1fr);gap:12px;padding:17px 17px 0;display:grid}.comprehensive-dimension{border:1px solid var(--line);background:#fbfcfd;border-radius:14px;min-height:148px;padding:14px}.comprehensive-dimension h4{color:var(--ink);margin:0;font-size:12px}.comprehensive-card strong{color:var(--ink)}.seating-assistant{background:linear-gradient(135deg,#f1fffb 0%,#f7fbff 46%,#fff7fb 100%);border:1px solid #d9e4eee6;border-radius:28px;grid-template-columns:320px minmax(0,1fr);gap:18px;min-height:690px;padding:12px;display:grid;box-shadow:0 24px 68px #263a521a}.seat-control-panel{background:#ffffffb8;border-radius:22px;align-content:start;gap:13px;padding:14px;display:grid;box-shadow:inset -1px 0 #d6e0e9bf}.seat-app-mark{grid-template-columns:42px 1fr;align-items:center;gap:10px;padding:3px 0 8px;display:grid}.seat-app-mark>span{color:#fff;background:linear-gradient(145deg,#31c7a6,#5c65dc);border-radius:14px;place-items:center;width:42px;height:42px;font-size:20px;font-weight:900;display:grid;box-shadow:0 12px 28px #31c7a642}.seat-app-mark strong{color:var(--ink);letter-spacing:-.04em;font-size:18px;display:block}.seat-app-mark small{color:#728199;margin-top:2px;font-size:11px;font-weight:800;display:block}.seat-control-block{background:#ffffffe0;border:1px solid #e0e7f0e6;border-radius:18px;padding:13px}.seat-control-block h4{color:#253047;justify-content:space-between;align-items:center;margin:0 0 11px;font-size:13px;display:flex}.seat-control-block h4 span{color:#2ca889;background:#e9fbf5;border-radius:999px;padding:3px 8px;font-size:10px}.class-select{color:#435168;background:#fbfefd;border:1px solid #e3e9ef;border-radius:13px;align-items:center;width:100%;height:38px;padding:0 12px;font-size:12px;font-weight:900;display:flex}.seat-class-actions,.seat-tool-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.seat-class-actions button,.seat-tool-grid button{color:#506074;cursor:pointer;background:#f2f6f9;border:0;border-radius:12px;min-height:36px;font-size:11px;font-weight:900}.seat-class-actions button:first-child,.seat-tool-grid button:first-child{color:#fff;background:linear-gradient(135deg,#31c4a5,#21a88c)}.seat-tool-grid button:last-child{color:#cf5c67;background:#fff0f2}.seat-tool-grid{grid-template-columns:1fr}.seat-source-note{color:#8a95a8;margin:8px 0 0;font-size:10px;font-weight:800;line-height:1.6}.seat-mini-stats{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.seat-mini-stats b{color:#263247;background:#f5f8ff;border-radius:14px;place-items:center;min-height:54px;padding:7px 4px;font-size:18px;display:grid}.seat-mini-stats b:nth-child(2){background:#eefbf6}.seat-mini-stats b:nth-child(3){background:#fff4f6}.seat-mini-stats small{color:#7e8ba0;font-size:9px;font-weight:800;display:block}.seating-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.seating-actions label{color:#697386;background:#f4f7fa;border-radius:13px;align-items:center;gap:6px;height:40px;padding:0 10px;font-size:11px;font-weight:800;display:flex}.seating-actions input{width:100%;min-width:0;height:28px;color:var(--ink);text-align:center;background:#fff;border:0;border-radius:9px;font-size:12px;font-weight:900}.unseated-panel p{color:#7b8597;margin:0 0 10px;font-size:10px;line-height:1.6}.unseated-list{flex-wrap:wrap;gap:7px;max-height:176px;display:flex;overflow:auto}.unseated-list button{color:#536074;cursor:pointer;background:#f1f4f8;border:0;border-radius:999px;min-height:30px;padding:0 9px;font-size:10px;font-weight:800}.unseated-list button:not(:disabled):hover{color:#fff;background:var(--indigo)}.unseated-list button:disabled{opacity:.55;cursor:not-allowed}.seat-history-list{gap:7px;max-height:150px;display:grid;overflow:auto}.seat-history-list button{color:#344156;text-align:left;cursor:pointer;background:#fbfcfe;border:1px solid #edf0f5;border-radius:12px;gap:3px;padding:9px 10px;display:grid}.seat-history-list button:hover{background:#f7f8ff;border-color:#cfd8ff}.seat-history-list strong{white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.seat-history-list small,.seat-history-list p{color:#8b96a8;margin:0;font-size:9px;font-weight:800}.seat-workbench{background:#fffc;border-radius:24px;min-width:0;overflow:hidden;box-shadow:0 18px 54px #4546821f}.seat-workbench-head{background:#ffffffe6;border-top:6px solid #6b60dc;border-bottom:1px solid #eef1f6;justify-content:space-between;align-items:center;gap:14px;min-height:82px;padding:18px 24px;display:flex}.seat-workbench-head h3{color:var(--ink);letter-spacing:-.04em;margin:0;font-size:22px}.seat-workbench-head p{color:#75829a;margin:6px 0 0;font-size:11px;font-weight:800}.seat-top-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.seat-top-actions button{color:#6d7587;cursor:pointer;background:#f4f6f8;border:0;border-radius:12px;height:36px;padding:0 13px;font-size:11px;font-weight:900}.seat-top-actions .primary-button{color:#fff;background:linear-gradient(135deg,#6b60dc,#7f62e9)}.seat-workbench-tabs{justify-content:flex-end;align-items:center;gap:8px;padding:14px 24px 0;display:flex}.seat-workbench-tabs button{color:#7b8496;cursor:pointer;background:#f5f6fa;border:1px solid #0000;border-radius:12px;height:34px;padding:0 13px;font-size:11px;font-weight:900}.seat-workbench-tabs button.active{color:#5f55cf;background:#fff;border-color:#dedafa;box-shadow:0 8px 22px #5f55cf1f}.seat-workbench-tabs span{color:#95a0b1;font-size:10px;font-weight:800}.seat-zoom-actions{background:#f2f5f8;border-radius:999px;gap:5px;margin-left:auto;padding:4px;display:flex}.seat-zoom-actions button{border-radius:999px;height:26px;padding:0 9px;font-size:10px}.seat-classroom{background:#fff;border:1px solid #edf0f6;border-radius:24px;margin:16px 24px 24px;padding:24px;overflow:auto}.seat-classroom-inner{transform-origin:0 0;transition:transform .16s}.seat-classroom.student-perspective .classroom-seat-grid,.seat-classroom.student-perspective .seat-cell{transform:rotate(180deg)}.teacher-platform{color:#fff;background:linear-gradient(135deg,#ed5fa1,#6960dd);border-radius:13px;place-items:center;width:min(420px,56%);height:48px;margin:0 auto 26px;font-size:14px;font-weight:900;display:grid;box-shadow:0 12px 28px #6f60dd38}.classroom-seat-grid{gap:11px;min-width:790px;display:grid}.seat-row{grid-template-columns:repeat(8,minmax(74px,1fr));gap:11px 32px;display:grid}.seat-slot{min-width:0;position:relative}.seat-slot i{color:#b8bec9;letter-spacing:.15em;pointer-events:none;font-size:10px;font-style:normal;font-weight:900;position:absolute;top:50%;right:-25px;transform:translateY(-50%)}.seat-cell{color:#253047;text-align:center;cursor:pointer;background:linear-gradient(#fbfcff,#eef2f7);border:2px solid #d9e1ec;border-radius:13px;align-content:center;gap:5px;width:100%;min-height:86px;padding:9px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;box-shadow:inset 0 0 0 1px #ffffffb3,0 7px 18px #2e5c5514}.seat-cell.gender-male{background:linear-gradient(#edf7ff,#d9ecff);border-color:#7eb6f4}.seat-cell.gender-female{background:linear-gradient(#fff2f7,#ffe0eb);border-color:#f4a4be}.seat-cell.gender-unknown{background:linear-gradient(#fbfcff,#eef2f7);border-color:#d9e1ec}.seat-cell:hover{transform:translateY(-2px);box-shadow:0 12px 24px #3c526926}.seat-cell.selected{border-color:#6b60dc;box-shadow:0 0 0 4px #6b60dc29,0 14px 26px #3c526929}.seat-cell.dragging{opacity:.55;transform:scale(.96)}.seat-cell small{color:#8291a4;font-size:9px;font-weight:900;position:absolute;top:6px;left:8px}.seat-cell strong{color:#263247;font-size:14px;font-weight:950;display:block}.seat-cell span{color:#697389;background:#ffffffc7;border-radius:999px;justify-self:center;width:max-content;padding:2px 7px;font-size:10px;font-weight:900}.seat-cell em{color:#a0a8b5;text-align:center;font-size:11px;font-style:normal;font-weight:800}.dingtalk-inbox{gap:16px;display:grid}.dingtalk-hero{background:linear-gradient(135deg,#f4f9ff 0%,#fff 65%);border-color:#dceafb;justify-content:space-between;align-items:center;gap:20px;padding:24px 26px;display:flex}.dingtalk-hero h3{margin:5px 0 8px;font-size:24px}.dingtalk-hero p{color:var(--muted);margin:0;line-height:1.7}.dingtalk-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.dingtalk-stats article{background:#fff;border:1px solid #e5edf7;border-radius:20px;min-height:92px;padding:17px 18px;box-shadow:0 8px 24px #1c395b0f}.dingtalk-stats span{color:var(--muted);margin-bottom:8px;font-size:13px;display:block}.dingtalk-stats strong{color:#173050;font-size:25px}.dingtalk-stats>button{text-align:left;cursor:pointer;min-height:92px;font:inherit;background:#fff;border:1px solid #e5edf7;border-radius:20px;padding:17px 18px;transition:border-color .15s,background .15s;box-shadow:0 8px 24px #1c395b0f}.dingtalk-stats>button:hover{border-color:#a8c7ff}.dingtalk-stats>button[aria-pressed=true]{background:#eef4ff;border-color:#3778ff}.dingtalk-stats>button:focus-visible{outline-offset:3px;outline:3px solid #9dbaff}.dingtalk-partition-empty{background:#f8faff;border:1px dashed #d9e3f4;border-radius:14px;align-content:center;min-height:125px;padding:18px;display:grid}.dingtalk-partition-empty strong{color:#657998;font-size:14px}.dingtalk-partition-empty p{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.7}.dingtalk-source-robot{color:#3862ad;background:#edf3ff;border-radius:7px;margin-bottom:8px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.dingtalk-columns{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px;display:grid}.dingtalk-role{min-width:0;padding:20px}.dingtalk-role>header{grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:16px;display:grid}.dingtalk-role>header h4{margin:0 0 4px;font-size:17px}.dingtalk-role>header p{color:var(--muted);margin:0;font-size:13px}.dingtalk-role>header b{color:#1677ff;background:#edf5ff;border-radius:999px;place-items:center;min-width:32px;height:32px;padding:0 9px;display:grid}.dingtalk-role-icon{color:#fff;background:linear-gradient(135deg,#1677ff,#52a7ff);border-radius:15px;place-items:center;width:46px;height:46px;font-size:18px;font-weight:800;display:grid}.role-morning .dingtalk-role-icon{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.role-homework .dingtalk-role-icon{background:linear-gradient(135deg,#2563eb,#60a5fa)}.role-activity .dingtalk-role-icon{background:linear-gradient(135deg,#10b981,#34d399)}.role-routine .dingtalk-role-icon{background:linear-gradient(135deg,#ef4444,#fb7185)}.role-todo .dingtalk-role-icon{background:linear-gradient(135deg,#ff8b32,#ffb34f)}.role-reflection .dingtalk-role-icon{background:linear-gradient(135deg,#7654db,#a080f5)}.role-note .dingtalk-role-icon{background:linear-gradient(135deg,#14a980,#53c7a6)}.dingtalk-event-list{gap:10px;max-height:430px;display:grid;overflow:auto}.dingtalk-event{background:#fbfdff;border:1px solid #e9eef5;border-radius:15px;padding:14px 15px}.dingtalk-event p{color:#263c58;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.65}.dingtalk-classify-actions{flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;display:flex}.dingtalk-classify-actions span{color:#07866f;background:#e8f8f3;border-radius:999px;align-items:center;min-height:28px;padding:0 9px;font-size:10px;font-weight:900;display:inline-flex}.dingtalk-classify-actions button{color:#2563eb;cursor:pointer;background:#eef4ff;border:0;border-radius:999px;min-height:28px;padding:0 10px;font-size:10px;font-weight:900}.dingtalk-classify-actions button:last-child{color:#8a5b09;background:#fff3df}.dingtalk-classify-actions button:hover{filter:brightness(.98)}.dingtalk-classify-actions button:disabled{cursor:default;opacity:.58}.dingtalk-event footer{color:#8a98a9;justify-content:space-between;gap:12px;margin-top:9px;font-size:12px;display:flex}.dingtalk-empty{text-align:center;padding:44px 24px}.dingtalk-empty strong{margin-bottom:10px;font-size:20px;display:block}.dingtalk-empty p{color:var(--muted);margin:0}.dingtalk-empty code{color:#176bc2;background:#eef5ff;border-radius:6px;padding:3px 6px}@media (width<=1100px){.auth-page{grid-template-columns:minmax(680px,900px);align-content:center;padding:26px}.yujian-brand-panel{min-height:auto;padding:28px}.poster-copy h1{max-width:680px;font-size:42px}.poster-showcase{grid-template-columns:260px minmax(0,1fr)}.phone-mock{width:245px;height:470px}.web-mock{width:100%}.trace-card strong{font-size:21px}.trace-card small{font-size:14px}.mini-program-card{width:100%;max-width:280px}.sidebar{flex-basis:106px;width:106px}.stat-grid,.mini-stat-grid{grid-template-columns:repeat(2,1fr)}.performance-body{grid-template-columns:165px 1fr}.subject-stat-grid{grid-template-columns:repeat(2,1fr)}.stage-timeline,.two-column,.parent-layout{grid-template-columns:1fr}.card-grid,.comprehensive-map{grid-template-columns:repeat(2,1fr)}.growth-overview-panel,.seating-layout{grid-template-columns:1fr}.dingtalk-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.cost-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-main-grid{grid-template-columns:1fr}}@media (width<=820px){.english-v2-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.english-student-check-grid{gap:5px;padding:10px}.english-student-check{gap:4px;padding:4px}.auth-page{grid-template-columns:minmax(0,1fr);place-content:start center;padding:16px;display:grid;overflow:auto}.yujian-brand-panel,.yujian-login-card{border-radius:24px}.login-shell{grid-template-columns:1fr}.login-identity-panel{border-bottom:1px solid #e5ebf4;border-right:0;padding:28px}.login-form-panel{padding:28px}.yujian-brand-panel{margin-bottom:14px}.poster-topline{flex-direction:column;align-items:flex-start}.poster-copy h1{font-size:34px}.poster-copy p{font-size:16px;line-height:1.8}.poster-showcase{grid-template-columns:1fr}.phone-mock{width:min(275px,86vw);height:500px}.web-mock{justify-self:center;width:min(520px,92vw)}.poster-bottom{font-size:17px}.identity-grid{grid-template-columns:repeat(2,1fr)}.login-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.role-landing-grid{grid-template-columns:1fr}.app-shell{flex-direction:column;display:flex}.sidebar{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;flex:none;align-items:center;gap:10px;width:100%;height:auto;min-height:auto;padding:12px;display:flex;position:static;overflow-x:auto;box-shadow:0 12px 34px #1f2a440d}.app-shell.sidebar-collapsed .sidebar{flex-basis:auto;align-items:center;width:100%;padding-inline:12px}.app-shell.sidebar-collapsed .brand{padding:0;display:flex}.app-shell.sidebar-collapsed .brand span{display:block}.app-shell.sidebar-collapsed .workspace-viewport-switch{display:flex}.sidebar-collapse-button{display:none}.brand{padding:0;display:flex}.workspace-viewport-switch{display:flex}.main-nav{flex-direction:row;align-items:center;gap:7px;padding-bottom:2px;display:flex;overflow:auto hidden}.nav-caption,.sidebar-note,.teacher-card{display:none}.main-nav button{width:auto;min-width:max-content;height:37px;padding:0 11px}.app-shell.sidebar-collapsed .main-nav button{justify-content:flex-start;gap:10px;padding:0 11px;font-size:12px}.main-nav button.active{box-shadow:none}.nav-icon{width:23px;height:23px}.module-manage-button{border-radius:999px;width:auto;min-height:37px}.app-shell.sidebar-collapsed .module-manage-button{color:#687489;width:auto;min-height:37px;padding:0 12px;font-size:10px}.app-shell.sidebar-collapsed .module-manage-button:before{content:none}.topbar{height:auto;min-height:80px;padding:15px 18px}.topbar h1{font-size:19px}.topbar p,.icon-button{display:none}.content{padding:18px}.welcome-strip{align-items:flex-start;padding:22px}.welcome-strip p{max-width:380px;line-height:1.6}.quick-actions{display:none}.dashboard-grid,.conversation-grid,.card-grid{grid-template-columns:1fr}.homework-timeline-item{grid-template-columns:1fr;gap:8px}.homework-date{justify-items:start;position:static}.homework-line{display:none}.homework-content,.todo-planner-grid,.english-subject-page,.english-control-row{grid-template-columns:1fr}.english-class-switch{flex-direction:column;align-items:flex-start}.english-class-tabs{width:100%}.english-class-tabs button{flex:1 1 0;min-width:0}.english-homework-fields,.english-level-entry-grid,.english-student-board,.english-note-grid,.english-summary-card{grid-template-columns:1fr}.english-summary-homework{grid-column:1}.english-summary-status-row{grid-template-columns:1fr}.english-summary-critique{grid-column:1;grid-template-columns:1fr}.english-summary-remark{grid-column:1}.english-homework-stat-list article,.english-person-stat-grid{grid-template-columns:1fr}.ios-calendar-hero{grid-template-columns:1fr auto;gap:10px}.schedule-hero-guide{grid-area:2/1/auto/-1}.weekly-calendar-board{grid-template-columns:1fr;padding-inline:10px}.weekly-calendar-grid{border-radius:18px 18px 0 0}.schedule-detail-panel{border-radius:0 0 18px 18px}.ios-week-strip{gap:6px}.ios-week-strip button{border-radius:18px;min-height:58px}.daily-schedule-grid,.quadrant-grid{grid-template-columns:1fr}.activity-tree{min-height:auto;padding:22px 16px 26px}.activity-tree:before{height:330px;inset:70px 8px auto}.christmas-tree-scene{min-height:560px;padding:18px 8px 24px}.christmas-tree-scene:before{border-radius:0;height:auto;inset:0}.christmas-tree-scene:after{width:min(380px,90vw);height:350px;top:158px}.tree-confetti{width:min(380px,90vw);height:360px;top:148px}.garland-one{width:150px}.garland-two{width:255px}.garland-three{width:min(375px,88vw)}.tree-star{font-size:30px;top:108px}.christmas-tree-shape{width:190px;height:145px;top:142px}.christmas-tree-shape.middle{width:290px;height:190px;top:226px}.christmas-tree-shape.lower{width:min(420px,92vw);height:238px;top:336px}.christmas-fruit{width:36px;min-height:36px}.christmas-fruit .fruit-order{width:18px;height:18px;font-size:10px}.ornament-cap{width:9px;height:6px}.ornament-tip{display:none}.christmas-trunk{width:62px;height:92px}.christmas-ground{width:min(300px,72vw)}.tree-stage-list{padding-bottom:28px}.tree-branch{grid-template-columns:52px minmax(0,1fr);gap:10px}.branch-line{display:none}.fruit-row{grid-column:1/-1}.tree-trunk,.tree-ground{display:none}.activity-fruit{width:118px;min-height:118px}.gallery-body{grid-template-columns:1fr}.gallery-image-wrap{min-height:320px}.gallery-thumbs{grid-template-columns:repeat(5,1fr)}.comprehensive-map{grid-template-columns:1fr}.growth-overview-grid{grid-template-columns:repeat(2,1fr)}.seating-assistant{border-radius:22px;padding:8px}.seat-control-panel{grid-template-columns:1fr}.seat-workbench-head{flex-direction:column;align-items:flex-start;padding:16px}.seat-workbench-tabs{flex-wrap:wrap;justify-content:flex-start;padding:12px 16px 0}.seat-classroom{margin:12px 16px 16px;padding:16px}.classroom-seat-grid{min-width:680px}.teacher-platform{width:78%}.seat-cell{min-width:54px}.lesson-plan-layout{grid-template-columns:1fr}.lesson-plan-basic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-hero{flex-direction:column;align-items:flex-start}.cost-hero-total{justify-items:start;width:100%}.cost-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-device-list>article{grid-template-columns:1fr}.cost-device-summary{justify-items:start}.cost-device-form{grid-template-columns:repeat(2,minmax(0,1fr))}.dingtalk-columns{grid-template-columns:1fr}.dingtalk-hero{flex-direction:column;align-items:flex-start}.app-shell.viewport-mobile .seating-layout,.app-shell.viewport-mobile .seating-assistant,.app-shell.viewport-mobile .seat-control-panel{grid-template-columns:1fr}}@media (width<=560px){.english-student-check-grid{grid-template-rows:none;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:34px;grid-auto-flow:row}.english-student-check>span{font-size:11px}.english-level-automatic{margin-left:0}.auth-page{padding:10px}.yujian-brand-panel,.yujian-login-card,.role-landing-card{border-radius:20px;padding:18px}.yujian-login-card{padding:0}.login-card-header{min-height:76px;padding:12px 18px}.login-header-tag{display:none}.login-identity-panel,.login-form-panel{padding:22px 18px}.login-identity-panel h1{font-size:27px}.login-portal-grid{grid-template-columns:1fr;margin-top:18px}.login-portal-grid button{min-height:72px}.yujian-login-card>.auth-policy-links{padding:16px 18px 18px}.yujian-logo{border-radius:15px;width:48px;height:48px}.yujian-logo-wrap strong{font-size:21px}.poster-pill{min-height:30px;padding:0 13px;font-size:13px}.poster-copy h1{font-size:30px;line-height:1.24}.poster-copy p{font-size:14px}.routine-detail-card dl div{grid-template-columns:1fr;gap:4px}.ios-calendar-hero{grid-template-columns:1fr;align-items:flex-start;padding:12px}.schedule-hero-guide,.schedule-hero-actions{grid-area:auto/1;width:100%}.schedule-hero-actions>button{flex:1}.ios-calendar-hero h3{font-size:21px}.schedule-quick-entry{grid-template-columns:1fr;width:100%}.schedule-filter-row{width:100%}.ios-week-strip strong{font-size:17px}.todo-time-row{grid-template-columns:1fr}.poster-copy b{margin:0 5px}.phone-mock{height:460px}.web-body{grid-template-columns:76px 1fr}.web-body aside{padding:12px 7px}.web-body aside i{font-size:9px}.web-stats{grid-template-columns:1fr}.trace-card{grid-template-columns:48px 1fr;min-height:88px;padding:14px}.trace-card span{width:42px;height:42px;font-size:20px}.trace-card strong{font-size:18px}.trace-card small{font-size:12px}.poster-bottom{padding:16px 18px;font-size:15px}.identity-grid{gap:8px}.identity-grid button{border-radius:17px;min-height:74px}.login-form-head h2{font-size:24px}.login-methods button{flex:1}.code-row,.password-row{grid-template-columns:1fr}.code-row button,.password-row button{height:44px}.auth-policy-links{gap:9px}.top-actions .primary-button{color:#0000;width:38px;padding:0 10px;overflow:hidden}.top-actions .primary-button:first-letter{color:#fff}.stat-grid,.mini-stat-grid,.subject-stat-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{min-height:104px;padding:15px}.stat-card strong{font-size:23px}.stat-symbol{display:none}.performance-body{grid-template-columns:1fr;gap:23px}.average-orbit{width:135px;height:135px}.average-orbit:after{width:101px;height:101px}.form-grid{grid-template-columns:1fr}.table-toolbar{flex-direction:column;align-items:flex-start}.toolbar-actions{width:100%}.search-box{flex:1}.routine-bulk-grid,.routine-bulk-bottom{grid-template-columns:1fr}.routine-bulk-head{flex-direction:column;align-items:flex-start}.lesson-plan-basic-grid{grid-template-columns:1fr}.lesson-plan-preview pre{min-height:360px}.cost-stat-grid,.cost-form-grid{grid-template-columns:1fr}.cost-bot-list article{grid-template-columns:42px minmax(0,1fr)}.cost-bot-list b{grid-column:2;justify-self:start}.cost-device-form{grid-template-columns:1fr}.record-row{grid-template-columns:35px 1fr auto}.record-row time{display:none}.record-row.extended{grid-template-columns:35px minmax(0,1fr) auto}.rule-row{grid-template-columns:1fr auto}.rule-row span{grid-column:1/-1}.parent-layout{gap:12px}.tree-crown-note strong{font-size:15px}.tree-star{top:116px}.christmas-tree-scene:after,.tree-confetti{width:min(315px,90vw);height:330px}.garland-one{width:125px}.garland-two{width:205px}.garland-three{width:min(300px,88vw)}.christmas-tree-shape{width:150px;height:120px}.christmas-tree-shape.middle{width:230px;height:162px}.christmas-tree-shape.lower{width:min(340px,92vw);height:220px}.activity-fruit{width:calc(50% - 7px);min-height:112px}.christmas-fruit{width:32px;min-height:32px}.christmas-fruit .fruit-order{width:16px;height:16px;font-size:9px}.gallery-body{padding:16px}.gallery-nav{width:32px;height:44px;font-size:26px}.gallery-thumbs{grid-template-columns:repeat(4,1fr)}.growth-overview-grid{grid-template-columns:1fr}.dingtalk-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.english-class-tabs{flex-direction:column}.dingtalk-event footer{flex-direction:column;align-items:flex-start;gap:3px}}.morning-nap-navigation .morning-duty-categories{grid-template-rows:repeat(7,minmax(0,1fr));gap:5px}.morning-duty-categories .morning-section-duty i{color:#265fd5;background:#e8f0ff}.morning-duty-categories .morning-section-attendance i,.morning-duty-categories .morning-section-midday i{color:#148778;background:#e2f6f0}.morning-duty-categories .morning-section-homework i,.morning-duty-categories .morning-section-afternoon i{color:#b36a16;background:#fff1db}.morning-duty-categories .morning-section-day i{color:#b84973;background:#fce8f0}.morning-duty-categories .morning-section-week i{color:#7251ba;background:#f0eafd}.morning-duty-categories .morning-section-month i{color:#167f9c;background:#e2f4f8}.morning-duty-categories .morning-section-total i{color:#4655a4;background:#e9ecfa}.morning-duty-categories button.active i{box-shadow:inset 0 0 0 1px}.morning-period-main{flex-direction:column;gap:12px;display:flex;overflow:hidden}.morning-period-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.morning-period-heading>div{gap:4px;display:grid}.morning-period-heading strong{color:#314060;font-size:16px}.morning-period-heading span,.morning-period-heading b,.morning-period-note{color:#8b96aa;font-size:11px}.morning-period-figures{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.morning-period-figures>div{background:#f3f6ff;border-radius:12px;gap:4px;padding:11px 14px;display:grid}.morning-period-figures span{color:#7685a0;font-size:11px}.morning-period-figures strong{color:#5268c9;font-size:23px}.morning-period-note{margin:0}.morning-period-ranking{align-content:start;gap:5px;min-height:0;display:grid;overflow:auto}.morning-period-ranking>div{color:#45536d;border:1px solid #e6eaf4;border-radius:9px;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:7px 10px;font-size:12px;display:grid}.morning-period-ranking b{color:#697bd0}.morning-period-ranking strong{color:#5268c9}.morning-period-side{flex-direction:column;gap:14px;display:flex}.morning-period-side>p{color:#71809a;margin:0;font-size:12px;line-height:1.5}.morning-period-side-stats{color:#71809a;background:#f5f7ff;border-radius:12px;grid-template-columns:1fr auto;gap:10px;padding:12px;font-size:12px;display:grid}.morning-period-side-stats strong{color:#5268c9}.morning-nap-navigation.morning-duty-panel.presenter .morning-duty-categories button{min-height:0}.morning-nap-navigation.morning-duty-panel.presenter .morning-duty-categories i{width:42px;height:42px}.morning-nap-time{white-space:nowrap;background:linear-gradient(135deg,#f7f9ff,#eef1ff);border:1px solid #dce3fa;border-radius:16px;grid-template-columns:auto auto;justify-self:center;align-items:center;gap:3px 10px;min-width:0;min-height:50px;padding:6px 9px 6px 12px;display:grid;position:relative;box-shadow:0 8px 22px #5060be14}.morning-nap-time span{color:#6f7892;font-size:10px;font-weight:800}.morning-nap-time strong{color:#4b5fdb;letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:clamp(24px,2.1vw,34px);line-height:1}.morning-nap-time button{color:#fff;cursor:pointer;background:#6975da;border:0;border-radius:9px;min-height:28px;padding:4px 9px;font-size:9px;font-weight:800}.morning-nap-time small{color:#b15d70;white-space:normal;text-align:center;grid-column:1/-1;font-size:9px}.morning-nap-time>span{grid-area:1/1}.morning-nap-time>strong{grid-area:2/1}.morning-nap-audio-controls{flex-direction:column;grid-area:1/2/span 2;gap:3px;display:flex}.morning-nap-time .nap-audio-status{color:#7b85a1;font-size:8px}.morning-nap-time button:disabled{opacity:.65;cursor:wait}.morning-nap-navigation.preview .morning-duty-heading{grid-template-columns:minmax(130px,1fr) auto minmax(190px,1fr)}.morning-nap-navigation.preview .morning-duty-heading>div{min-width:0}.morning-nap-navigation.preview .morning-countdown{text-align:center;gap:3px;min-width:170px;padding:6px 10px;display:grid}.morning-nap-navigation.preview .morning-countdown strong{font-size:25px}.morning-nap-time.phase-music{background:linear-gradient(135deg,#f0faf7,#edf5ff);border-color:#bfded8}.morning-nap-time.phase-music strong{color:#39887c}.morning-nap-workbench{grid-template-columns:62px minmax(0,1fr) 226px;gap:10px}.morning-nap-roster,.morning-nap-summary{background:#ffffffeb;border:1px solid #e0e5f4;border-radius:20px;min-width:0;min-height:0;padding:12px;box-shadow:0 10px 30px #2a37590f}.morning-nap-roster{grid-template-rows:auto auto minmax(0,1fr);gap:9px;display:grid}.morning-check-roster{grid-template-rows:minmax(0,1fr)}.morning-check-roster .morning-nap-students{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(var(--morning-check-rows,9), minmax(0, 1fr));grid-auto-flow:row}.morning-nap-category-tabs{flex-wrap:wrap;gap:6px;display:flex}.morning-nap-category-tabs button{color:#657095;cursor:pointer;background:#f7f8ff;border:1px solid #e2e6f6;border-radius:10px;align-items:center;gap:5px;min-height:30px;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.morning-nap-category-tabs button b{background:#6774d31a;border-radius:5px;place-items:center;min-width:17px;height:17px;font-size:10px;display:grid}.morning-nap-category-tabs button.active{color:#fff;background:#6470df;border-color:#6470df;box-shadow:0 4px 12px #5b6cd32e}.morning-nap-category-tabs button.active b{background:#ffffff2e}.morning-nap-roster-hint{color:#8992a8;justify-content:space-between;gap:7px;font-size:10px;line-height:1.4;display:flex}.morning-nap-roster-hint b{color:#6c75a3;white-space:nowrap}.morning-nap-students{grid-template-columns:repeat(var(--morning-nap-columns,5), minmax(0, 1fr));grid-template-rows:repeat(10,minmax(0,1fr));grid-auto-flow:column;gap:5px;min-height:0;display:grid}.morning-nap-students button{color:#586477;cursor:pointer;background:#fcfdff;border:1px solid #e5e9f2;border-radius:8px;align-items:center;gap:4px;min-width:0;min-height:0;padding:3px 5px;display:flex;position:relative}.morning-nap-students button strong{color:#7681ae;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.morning-nap-students button>span{color:#46536c;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px;font-weight:800;overflow:hidden}.morning-nap-students button>i{color:#9aa3b4;background:#f0f3f7;border-radius:4px;flex-shrink:0;place-items:center;width:15px;height:15px;font-size:9px;font-style:normal;display:grid}.morning-nap-students button.status-quiet{background:#f1f8f8;border-color:#c8e5e2}.morning-nap-students button.status-quiet>i{color:#3c867c;background:#d6eeeb}.morning-nap-students button.status-disruptive{background:#fff7f2;border-color:#f2d9c8}.morning-nap-students button.status-disruptive>i{color:#b47c4c;background:#fce5d3}.morning-nap-students button.status-absent{background:#fff5f6;border-color:#ebd2d8}.morning-nap-students button.status-absent>i{color:#b9687d;background:#f7e0e6}.morning-nap-students button.status-leave{background:#f7f5ff;border-color:#ddd6ef}.morning-nap-students button.status-leave>i{color:#8b72b9;background:#e9e3f7}.morning-nap-students button.status-check{background:#f2f4ff;border-color:#cfd5f4}.morning-nap-students button.status-check>i{color:#fff;background:#6c78da}.morning-nap-students button.active{border-color:#6976dc;box-shadow:inset 0 0 0 1px #6976dc}.morning-nap-students button:hover:not(:disabled){border-color:#6976dc}.morning-nap-students button:focus-visible,.morning-nap-category-tabs button:focus-visible,.morning-nap-totals button:focus-visible,.morning-nap-save:focus-visible{outline-offset:2px;outline:2px solid #7c83eb}.morning-nap-students button:disabled{opacity:.7;cursor:wait}.morning-nap-summary{grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;display:grid}.morning-check-summary{grid-template-rows:auto auto minmax(0,1fr)}.morning-check-summary .morning-nap-save-area{align-self:end}.morning-nap-summary-heading{justify-content:space-between;align-items:center;gap:6px;display:flex}.morning-nap-summary-heading strong{color:#3f4b6b;font-size:14px}.morning-nap-summary-heading span{color:#7c76b7;background:#f0eef9;border-radius:7px;padding:3px 7px;font-size:10px;font-weight:700}.morning-nap-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.morning-nap-totals button,.morning-nap-unmarked{color:#75809a;background:#f8f9fd;border:1px solid #e8ebf5;border-radius:10px;justify-content:space-between;align-items:center;gap:5px;min-height:35px;padding:6px 8px;font-size:10px;display:flex}.morning-nap-totals button{cursor:pointer}.morning-nap-totals b{color:#6071c5;font-variant-numeric:tabular-nums;font-size:16px}.morning-nap-totals button.active{background:#eff1fc;border-color:#c9cef2}.morning-nap-unmarked{background:#fafbfd;grid-column:1/-1;min-height:26px;padding-block:3px}.morning-nap-unmarked b{color:#9199ac;font-size:12px}.morning-nap-totals button.morning-nap-unmarked{text-align:left;cursor:pointer;width:100%}.morning-nap-totals button.morning-nap-unmarked:hover{background:#f0f3ff;border-color:#bfc9ed}.morning-nap-current{flex-direction:column;gap:7px;min-height:0;display:flex}.morning-nap-current>div:first-child{color:#67738f;justify-content:space-between;align-items:center;gap:5px;font-size:11px;display:flex}.morning-nap-current>div:first-child b{color:#8993a8;font-size:10px}.morning-nap-selected{flex-wrap:wrap;align-content:flex-start;gap:5px;min-height:0;display:flex;overflow:auto}.morning-nap-selected>span{color:#6b749a;background:#f8f9ff;border:1px solid #e6e9f6;border-radius:7px;padding:4px 7px;font-size:10px;line-height:1.2}.morning-check-record-list{align-content:start;gap:6px;min-height:0;display:grid;overflow:auto}.morning-check-record-list>p{color:#8993a8;margin:0;font-size:13px}.morning-check-record{background:#f8faff;border:1px solid #e4e9f5;border-radius:9px;justify-content:flex-start;align-items:center;gap:8px;padding:7px 9px;display:flex}.morning-check-record>input[type=checkbox]{accent-color:#6470df;cursor:pointer;flex:none;width:18px;height:18px;margin:0 4px 0 0}.morning-check-record strong{text-overflow:ellipsis;white-space:nowrap;color:#3f4b6b;min-width:0;font-size:14px;overflow:hidden}.morning-check-record span{color:#697797;flex:none;font-size:12px}.morning-check-record span.morning-check-record-category{border:1px solid var(--morning-category-border);min-width:34px;color:var(--morning-category-text);background:var(--morning-category-background);text-align:center;border-radius:8px;padding:5px 8px;font-weight:700}.morning-check-record button{color:#aa445d;cursor:pointer;background:#fff4f5;border:1px solid #edc1ca;border-radius:7px;flex:none;padding:5px 9px;font-size:12px;font-weight:700}.morning-check-record button:disabled{opacity:.55;cursor:wait}.morning-check-record-backdrop{z-index:250}.morning-check-record-modal{background:#fff;flex-direction:column;width:min(720px,100%);max-height:min(760px,100vh - 40px);display:flex;overflow:hidden}.morning-check-record-modal .modal-head{flex:none}.morning-check-record-modal .modal-head p{color:#77849c;margin:6px 0 0;font-size:15px}.morning-check-record-modal label.morning-check-select-all{color:#53617e;white-space:nowrap;cursor:pointer;background:#f7f9fd;border:1px solid #dce3f1;border-radius:9px;align-items:center;gap:8px;min-height:38px;margin:0;padding:7px 11px;font-size:15px;font-weight:700;line-height:1;display:inline-flex}.morning-check-select-all input{accent-color:#6470df;width:19px;height:19px;margin:0}.morning-check-select-all:has(input:disabled){opacity:.5;cursor:not-allowed}.morning-check-record-modal .morning-check-record-list{overscroll-behavior:contain;padding:18px 24px;overflow-y:auto}.morning-check-record-modal .morning-check-record{padding:12px 14px}.morning-check-record-modal .morning-check-record strong{font-size:20px}.morning-check-record-modal .morning-check-record span{font-size:16px}.morning-check-record-modal .morning-check-record button{padding:9px 14px;font-size:16px}.morning-check-record-modal-footer{border-top:1px solid #e8ecf5;justify-content:flex-start;align-items:center;gap:10px;padding:14px 24px;display:flex}.morning-check-record-modal-footer button{color:#53617e;cursor:pointer;background:#f7f9fd;border:1px solid #dce3f1;border-radius:9px;min-width:90px;min-height:38px;font-size:15px;font-weight:700}.morning-check-record-modal-footer button:last-child{margin-left:auto}.morning-check-record-modal-footer button.morning-check-undo-selected{color:#aa445d;background:#fff4f5;border-color:#edc1ca}.morning-check-record-modal-footer button:disabled{opacity:.5;cursor:not-allowed}.morning-category-color{--morning-category-accent:#555bbb;--morning-category-text:#464ca0;--morning-category-background:#f0f1ff;--morning-category-border:#ccd0f5}.morning-nap-category-tabs button.morning-category-color,.morning-nap-totals button.morning-category-color,.morning-nap-selected>span.morning-category-color{color:var(--morning-category-text);border-color:var(--morning-category-border);background:var(--morning-category-background)}.morning-nap-category-tabs button.morning-category-color b{color:var(--morning-category-text);background:var(--morning-category-border)}.morning-nap-category-tabs button.morning-category-color.active{color:#fff;border-color:var(--morning-category-accent);background:var(--morning-category-accent);box-shadow:0 3px 10px #2a375924}.morning-nap-category-tabs button.morning-category-color.active b{color:#fff;background:#fff3}.morning-nap-totals button.morning-category-color b{color:var(--morning-category-accent)}.morning-nap-totals button.morning-category-color.active{border-color:var(--morning-category-accent);box-shadow:inset 0 0 0 1px var(--morning-category-accent)}.morning-nap-students button.morning-category-color{border-color:var(--morning-category-border);background:var(--morning-category-background)}.morning-nap-students button.morning-category-color.active,.morning-nap-students button.morning-category-color:hover:not(:disabled){border-color:var(--morning-category-accent)}.morning-nap-students button.morning-category-color.active{box-shadow:inset 0 0 0 1px var(--morning-category-accent)}.morning-nap-students button.morning-category-color>i,.morning-nap-students .morning-student-category-tags>i.morning-category-color{color:#fff;background:var(--morning-category-accent)}.morning-nap-students button>.morning-student-category-tags{flex:0 0 42px;grid-template-columns:repeat(3,12px);grid-auto-rows:14px;place-content:center end;gap:1px;display:grid;overflow:hidden}.morning-student-category-tags>i{border-radius:3px;flex-shrink:0;place-items:center;min-width:12px;height:14px;padding:0 1px;font-size:8px;font-style:normal;font-weight:800;line-height:1;display:grid}.morning-student-category-tags>i.morning-category-overflow{color:#536079;background:#e5eaf3;min-width:16px}.morning-nap-current>div:first-child strong.morning-category-color{color:var(--morning-category-text)}.morning-nap-save.morning-category-color:not(:disabled){background:var(--morning-category-accent)}.morning-category-color:focus-visible{outline-color:var(--morning-category-accent)}.morning-nap-selected p,.morning-nap-empty{color:#9aa2b4;margin:0;font-size:11px}.morning-nap-save-area{gap:6px;display:grid}.morning-nap-footnote{color:#9399ad;margin:0;font-size:9px;line-height:1.5}.morning-nap-feedback{color:#65958b;margin:0;font-size:10px;line-height:1.5}.morning-nap-feedback.error{color:#b56374}.morning-nap-save{color:#fff;cursor:pointer;background:linear-gradient(120deg,#6375d9,#8678cf);border:0;border-radius:10px;min-height:33px;font-size:11px;font-weight:800}.morning-nap-save:disabled{color:#929abb;cursor:default;background:#edf0f8}.morning-nap-panel.presenter .morning-nap-workbench{grid-template-columns:80px minmax(0,1fr) minmax(230px,290px);gap:16px}.morning-nap-panel.presenter .morning-nap-roster,.morning-nap-panel.presenter .morning-nap-summary{border-radius:25px;gap:13px;padding:18px}.morning-nap-panel.presenter .morning-nap-category-tabs button{min-height:38px;padding:5px 13px;font-size:15px}.morning-nap-panel.presenter .morning-nap-time{min-height:62px;padding:7px 10px 7px 18px}.morning-nap-panel.presenter .morning-nap-time span{font-size:13px}.morning-nap-panel.presenter .morning-nap-time strong{font-size:clamp(34px,4vw,54px)}.morning-nap-panel.presenter .morning-nap-time button{min-height:34px;font-size:11px}.morning-nap-panel.presenter .morning-nap-students{gap:7px}.morning-nap-panel.presenter .morning-nap-students button{border-radius:10px;gap:6px;padding:4px 8px}.morning-nap-panel.presenter .morning-nap-students button strong{font-size:13px}.morning-nap-panel.presenter .morning-nap-students button>span{font-size:clamp(12px,1.15vw,18px)}.morning-nap-panel.presenter .morning-nap-students button>i{width:20px;height:20px;font-size:11px}.morning-nap-panel.presenter .morning-nap-summary-heading strong{font-size:19px}.morning-nap-panel.presenter .morning-nap-totals button{min-height:44px;font-size:13px}.morning-nap-panel.presenter .morning-nap-current>div:first-child,.morning-nap-panel.presenter .morning-nap-selected>span{font-size:13px}.morning-nap-panel.presenter .morning-nap-save{min-height:41px;font-size:14px}@media (width<=1100px){.morning-nap-workbench{grid-template-columns:50px minmax(0,1fr) 182px;gap:7px}.morning-nap-roster,.morning-nap-summary{gap:7px;padding:9px}.morning-nap-category-tabs{gap:4px}.morning-nap-category-tabs button{min-height:26px;padding:3px 7px;font-size:10px}.morning-nap-time{gap:4px 7px;padding-inline:9px 6px}.morning-nap-time strong{font-size:22px}.morning-nap-time button{padding-inline:6px}.morning-nap-students{gap:4px}.morning-nap-students button{gap:3px;padding-inline:3px}.morning-nap-students button>i{width:12px;height:14px;font-size:8px}.morning-nap-totals button{padding-inline:5px;font-size:9px}}@media (width<=1100px),(height<=760px){.morning-nap-panel.presenter{gap:10px;min-width:0;min-height:0;padding:62px 32px 45px}.morning-nap-panel.presenter .morning-duty-heading{border-radius:17px;grid-template-columns:minmax(150px,1fr) auto minmax(260px,1.4fr);padding:8px 10px}.morning-nap-panel.presenter .morning-duty-heading>div:first-child strong{font-size:24px}.morning-nap-panel.presenter .morning-nap-time{min-height:48px}.morning-nap-panel.presenter .morning-nap-time span{font-size:10px}.morning-nap-panel.presenter .morning-nap-time strong{font-size:29px}.morning-nap-panel.presenter .morning-duty-meta{gap:5px}.morning-nap-panel.presenter .morning-duty-meta span,.morning-nap-panel.presenter .morning-duty-meta label{min-height:24px;padding-inline:7px;font-size:10px}.morning-nap-panel.presenter .morning-nap-workbench{grid-template-columns:50px minmax(0,1fr) 210px;gap:10px}.morning-nap-navigation.morning-nap-panel.presenter .morning-duty-categories{border-radius:17px;padding:6px}.morning-nap-navigation.morning-nap-panel.presenter .morning-duty-categories button{border-radius:12px;padding:3px}.morning-nap-navigation.morning-nap-panel.presenter .morning-duty-categories i{border-radius:11px;width:32px;height:32px;font-size:15px}.morning-nap-panel.presenter .morning-nap-roster,.morning-nap-panel.presenter .morning-nap-summary{border-radius:17px;gap:8px;padding:10px}.morning-nap-panel.presenter .morning-nap-category-tabs button{min-height:29px;padding:3px 9px;font-size:12px}.morning-nap-panel.presenter .morning-nap-students{grid-template-rows:repeat(10,minmax(0,1fr));gap:5px}.morning-nap-panel.presenter .morning-nap-students button{border-radius:8px;gap:4px;padding:3px 6px}.morning-nap-panel.presenter .morning-nap-students button strong{font-size:11px}.morning-nap-panel.presenter .morning-nap-students button>span{font-size:12px}.morning-nap-panel.presenter .morning-nap-students button>i{width:15px;height:15px;font-size:9px}.morning-nap-panel.presenter .morning-nap-summary-heading strong{font-size:15px}.morning-nap-panel.presenter .morning-nap-totals button{min-height:35px;padding:5px 7px;font-size:11px}.morning-nap-panel.presenter .morning-nap-current>div:first-child,.morning-nap-panel.presenter .morning-nap-selected>span{font-size:11px}.morning-nap-panel.presenter .morning-nap-save{min-height:34px;font-size:12px}}.meeting-workspace{gap:18px;display:grid}.meeting-intro{justify-content:space-between;align-items:center;gap:22px;padding:22px 27px;display:flex}.meeting-intro .eyebrow{color:#5e6edc;letter-spacing:.12em;font-size:11px;font-weight:800}.meeting-intro h2{color:#1a2d4f;margin:6px 0;font-size:26px}.meeting-intro p,.meeting-list-head p{color:#73829b;margin:0;font-size:13px;line-height:1.6}.meeting-intro-count{color:#4c62ca;background:#eef3ff;border-radius:18px;place-items:center;min-width:92px;padding:12px;display:grid}.meeting-intro-count strong{font-size:26px;line-height:1.1}.meeting-intro-count span{white-space:nowrap;font-size:11px}.meeting-layout{grid-template-columns:minmax(340px,.95fr) minmax(410px,1.05fr);align-items:start;gap:18px;display:grid}.meeting-editor,.meeting-records-panel{min-width:0;padding:22px}.meeting-editor h3,.meeting-list-head h3{color:#1d3051;margin:0 0 14px;font-size:18px}.meeting-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.meeting-editor label,.meeting-filters label{color:#63728d;gap:6px;min-width:0;font-size:12px;font-weight:700;display:grid}.meeting-editor input,.meeting-editor select,.meeting-editor textarea,.meeting-filters input,.meeting-filters select{box-sizing:border-box;color:#243655;width:100%;min-height:40px;font:inherit;background:#fff;border:1px solid #d7e0f3;border-radius:12px;outline:none;padding:9px 11px;font-size:13px}.meeting-editor input:focus,.meeting-editor select:focus,.meeting-editor textarea:focus,.meeting-filters input:focus,.meeting-filters select:focus{border-color:#607afa;box-shadow:0 0 0 3px #607afa1d}.meeting-content-field{margin-top:14px}.meeting-content-field textarea{resize:vertical;min-height:160px;line-height:1.65}.meeting-content-field small{color:#8693aa;justify-self:end;font-weight:500}.meeting-form-actions{justify-content:flex-end;gap:9px;margin-top:16px;display:flex}.meeting-error{color:#bf3b4b;margin:12px 0 0;font-size:12px}.meeting-list-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.meeting-list-head h3{margin-bottom:4px}.meeting-list-head button{white-space:nowrap}.meeting-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0;display:grid}.meeting-record-list{gap:9px;max-height:620px;padding-right:3px;display:grid;overflow:auto}.meeting-record-card{background:#f9fbff;border:1px solid #e3e9f5;border-radius:15px;justify-content:space-between;gap:12px;padding:14px;display:flex}.meeting-record-card>div:first-child{min-width:0}.meeting-record-card small{color:#7385ab;font-size:11px;display:block}.meeting-record-card strong{color:#233755;margin:5px 0;font-size:14px;display:block}.meeting-record-card p{-webkit-line-clamp:2;color:#74809a;white-space:pre-wrap;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.meeting-record-actions{flex-direction:column;flex:none;gap:4px;display:flex}.meeting-record-actions button{color:#4b65cc;cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:700}.meeting-record-actions button:last-child{color:#c15366}.meeting-record-actions button:disabled{opacity:.5;cursor:not-allowed}.meeting-empty{text-align:center;color:#8795ab;padding:32px 12px;font-size:13px}.meeting-print-root{display:none}@media (width<=1000px){.meeting-layout{grid-template-columns:1fr}}@media (width<=650px){.meeting-intro{align-items:flex-start;padding:18px}.meeting-intro h2{font-size:22px}.meeting-editor,.meeting-records-panel{padding:17px}.meeting-form-grid{grid-template-columns:1fr}.meeting-list-head{flex-direction:column;align-items:flex-start}.meeting-filters{grid-template-columns:1fr 1fr}.meeting-filters label:last-child{grid-column:1/-1}}@media print{body.meeting-printing>:not(.meeting-print-root){display:none!important}body.meeting-printing{background:#fff!important;margin:0!important}body.meeting-printing .meeting-print-root{color:#000;background:#fff;font-family:Songti SC,SimSun,serif;display:block!important}.meeting-print-sheet{box-sizing:border-box;page-break-after:always;break-after:page;width:210mm;height:297mm;padding:19mm 5mm 13mm;overflow:hidden}.meeting-print-sheet:last-child{page-break-after:auto;break-after:auto}.meeting-print-sheet h1{text-align:center;letter-spacing:.14em;margin:0 0 4mm;font-size:20pt;font-weight:500}.meeting-print-types{justify-content:space-around;font-size:12pt;line-height:8mm;display:flex}.meeting-print-date{text-align:center;white-space:nowrap;font-size:11pt;line-height:8mm}.meeting-print-table{border:1px solid #000;grid-template-rows:11mm minmax(0,1fr);grid-template-columns:28mm minmax(0,1fr) 20mm 47mm;height:226mm;font-size:11pt;display:grid}.meeting-print-cell{box-sizing:border-box;overflow-wrap:anywhere;border-bottom:1px solid #000;border-right:1px solid #000;align-items:center;padding:1.5mm 2mm;display:flex}.meeting-print-chair{border-right:0}.meeting-print-label{justify-content:center}.meeting-print-body{box-sizing:border-box;grid-column:1/-1;padding:2mm;line-height:1.55;overflow:hidden}.meeting-print-body strong{font-weight:500}.meeting-print-body p{white-space:pre-wrap;overflow-wrap:anywhere;margin:2mm 0 0;font-size:10.5pt}}@media (width>=1000px){.public-panel .topbar{height:48px;padding:0 18px}.public-panel .topbar h1{font-size:19px}.public-panel .content{padding:10px 14px 28px}.public-panel .morning-toolbar{gap:6px 12px;padding:9px 15px}.public-panel .morning-toolbar-title{align-items:center;gap:9px;display:flex}.public-panel .morning-toolbar-title h3{white-space:nowrap;font-size:13px}.public-panel .public-toolbar-countdown{color:#5364bc;white-space:nowrap;background:#eef2ff;border-radius:10px;align-items:center;gap:7px;min-width:0;padding:4px 8px;display:flex}.public-panel .public-toolbar-countdown span{font-size:10px;font-weight:700}.public-panel .public-toolbar-countdown strong{font-variant-numeric:tabular-nums;font-size:17px}.public-panel .morning-weekday-tabs{flex-basis:380px;gap:6px}.public-panel .morning-weekday-tabs button{min-height:38px;padding:3px 6px}.public-panel .morning-weekday-tabs button strong{font-size:11px}.public-panel .morning-weekday-tabs button small{font-size:9px}.public-panel .morning-toolbar .toolbar-actions button{height:34px;font-size:11px}.public-panel .morning-deck{padding:8px 8px 14px}.public-panel .morning-stage-shell{max-width:none;padding:0 4px}.public-panel .morning-stage{min-height:580px}.public-panel .morning-duty-panel.preview{display:block;inset:12px}.public-panel .morning-duty-panel.preview .morning-duty-heading{display:none}.public-panel .morning-duty-panel.preview .morning-duty-workbench{height:100%}.public-panel .morning-duty-heading{padding:8px 14px}.public-panel .morning-duty-heading>div:first-child strong{font-size:30px}.public-panel .morning-countdown span{font-size:13px}.public-panel .morning-nap-navigation.preview .morning-countdown strong{font-size:31px}.public-panel .morning-duty-meta span{font-size:12px}.public-panel .morning-nap-workbench{grid-template-columns:66px minmax(0,1fr) 235px;gap:10px}.public-panel .morning-duty-categories i{width:42px;height:42px;font-size:20px}.public-panel .morning-nap-roster,.public-panel .morning-nap-summary{padding:12px}.public-panel .morning-nap-summary-heading strong,.public-panel .morning-period-heading strong{font-size:19px}.public-panel .morning-nap-summary-heading span{font-size:13px}.public-panel .morning-duty-list-footer{font-size:12px}.public-panel .morning-duty-task{grid-template-columns:116px minmax(112px,1fr) minmax(190px,1.4fr) 34px;gap:8px;min-height:50px;padding:5px 8px}.public-panel .morning-duty-task-time time{font-size:23px}.public-panel .morning-duty-task-time input[type=time]{font-size:16px}.public-panel .morning-duty-task-time>span{letter-spacing:-.04em;font-size:23px}.public-panel .morning-duty-task-title{white-space:nowrap;font-size:21px}.public-panel .morning-duty-open-panel{padding:6px 9px;font-size:14px}.public-panel .morning-duty-owner>span{font-size:15px}.public-panel .morning-duty-owner input{height:38px;font-size:18px}.public-panel .morning-duty-check>span{width:30px;height:30px}.public-panel .morning-duty-required{font-size:14px}.public-panel .morning-duty-progress>strong{font-size:36px}.public-panel .morning-duty-progress small,.public-panel .morning-duty-progress>span{font-size:15px}.public-panel .morning-duty-due>strong,.public-panel .morning-duty-next>strong,.public-panel .morning-duty-all-done>strong{font-size:16px}.public-panel .morning-duty-due>div,.public-panel .morning-duty-due small,.public-panel .morning-duty-next>span{font-size:13px}.public-panel .morning-duty-next>b{font-size:27px}.public-panel .morning-duty-save-area p{font-size:12px}.public-panel .morning-nap-save{min-height:40px;font-size:15px}.public-panel .morning-nap-category-tabs button{min-height:34px;font-size:15px}.public-panel .morning-nap-roster-hint{font-size:12px}.public-panel .morning-nap-students button{padding:4px 6px}.public-panel .morning-nap-students button strong,.public-panel .morning-nap-students button>span{font-size:15px}.public-panel .morning-check-roster .morning-nap-students button strong,.public-panel .morning-check-roster .morning-nap-students button>span{font-size:clamp(18px,1.7vw,24px)}.public-panel .morning-nap-totals button,.public-panel .morning-nap-unmarked{min-height:40px;font-size:13px}.public-panel .morning-nap-current>div:first-child,.public-panel .morning-nap-selected>span,.public-panel .morning-period-heading span,.public-panel .morning-period-heading b,.public-panel .morning-period-note{font-size:14px}.public-panel .morning-period-figures span{font-size:16px}.public-panel .morning-period-figures strong{font-size:34px}.public-panel .morning-period-ranking>div{min-height:35px;font-size:17px}.public-panel .morning-period-ranking>p{font-size:19px}.public-panel .morning-period-side>p,.public-panel .morning-period-side-stats{font-size:16px}}.public-presenter .morning-nap-workbench{grid-template-columns:92px minmax(0,1fr) minmax(270px,22%)}.public-presenter .morning-period-main{gap:18px}.public-presenter .morning-period-heading strong,.public-presenter .morning-nap-summary-heading strong{font-size:clamp(28px,2.1vw,40px)}.public-presenter .morning-period-heading span,.public-presenter .morning-period-heading b,.public-presenter .morning-period-note{font-size:clamp(17px,1.15vw,23px)}.public-presenter .morning-period-figures>div{min-height:135px;padding:18px 24px}.public-presenter .morning-period-figures span{font-size:clamp(20px,1.35vw,27px)}.public-presenter .morning-period-figures strong{font-size:clamp(54px,4.1vw,82px)}.public-presenter .morning-period-ranking{gap:9px}.public-presenter .morning-period-ranking>div{grid-template-columns:62px 1fr auto;min-height:62px;padding:10px 16px;font-size:clamp(26px,1.9vw,38px)}.public-presenter .morning-period-ranking>p{font-size:clamp(30px,2vw,42px)}.public-presenter .morning-period-side>p{font-size:clamp(19px,1.25vw,26px)}.public-presenter .morning-period-side-stats{text-align:center;flex:1;grid-template-columns:1fr;align-content:center;justify-items:center;gap:14px;padding:22px;font-size:clamp(22px,1.5vw,30px);display:grid}.public-presenter .morning-period-side-stats strong{margin-bottom:24px;font-size:clamp(54px,4vw,82px);line-height:1}.public-presenter .morning-duty-task-title{font-size:clamp(23px,1.75vw,34px)}.public-presenter .morning-duty-open-panel{padding:8px 12px;font-size:clamp(17px,1.2vw,24px)}.public-presenter .morning-duty-task-time time{font-size:clamp(25px,1.9vw,37px)}.public-presenter .morning-duty-task-time input[type=time]{font-size:clamp(19px,1.25vw,25px)}.public-presenter .morning-duty-task-time>span{font-size:clamp(27px,2vw,40px)}.public-presenter .morning-duty-owner>span{font-size:clamp(18px,1.2vw,24px)}.public-presenter .morning-duty-owner input{height:44px;font-size:clamp(20px,1.45vw,29px)}.public-presenter .morning-duty-required{font-size:clamp(18px,1.2vw,24px)}.public-presenter .morning-duty-due>strong,.public-presenter .morning-duty-next>strong{font-size:clamp(20px,1.5vw,30px)}.public-presenter .morning-duty-due>div,.public-presenter .morning-duty-due small{font-size:clamp(17px,1.2vw,24px)}.public-presenter .morning-nap-category-tabs button{min-height:45px;font-size:clamp(18px,1.3vw,26px)}.public-presenter .morning-nap-students button strong,.public-presenter .morning-nap-students button>span{font-size:clamp(17px,1.25vw,25px)}.public-presenter .morning-nap-totals button,.public-presenter .morning-nap-unmarked{min-height:50px;font-size:clamp(18px,1.25vw,25px)}.public-presenter .morning-nap-current>div:first-child,.public-presenter .morning-nap-selected>span{font-size:clamp(17px,1.2vw,24px)}.public-presenter{background:#fff;place-items:end center}.public-presenter .presenter-slide{height:calc(100vh - 44px)}.public-presenter .presenter-page-no,.public-presenter .presenter-close{top:4px}.public-presenter .morning-nap-panel.presenter{gap:0;padding:0}.public-presenter .morning-nap-panel.presenter .morning-duty-heading{border-radius:0;padding:18px 28px}.public-presenter .morning-nap-panel.presenter .morning-nap-workbench{grid-template-columns:92px minmax(0,1fr) minmax(320px,22%);gap:0}.public-presenter .morning-nap-panel.presenter .morning-duty-categories,.public-presenter .morning-nap-panel.presenter .morning-nap-roster,.public-presenter .morning-nap-panel.presenter .morning-nap-summary{box-shadow:none;border-radius:0}.public-presenter .morning-nap-panel.presenter .morning-nap-roster,.public-presenter .morning-nap-panel.presenter .morning-nap-summary{padding:16px 24px}.public-presenter .morning-nap-panel.presenter .morning-nap-students{grid-template-rows:repeat(11,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.public-presenter .morning-nap-panel.presenter .morning-nap-students button{padding-inline:12px}.public-presenter .morning-nap-panel.presenter .morning-check-roster .morning-nap-students{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(var(--morning-check-rows,9), minmax(0, 1fr));grid-auto-flow:row}.public-presenter .morning-nap-panel.presenter .morning-check-roster .morning-nap-students button strong,.public-presenter .morning-nap-panel.presenter .morning-check-roster .morning-nap-students button>span{font-size:clamp(21px,1.45vw,30px)}.morning-period-side{min-height:0}.morning-period-categories{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.morning-period-categories>strong{color:#3f4b6b;font-size:15px}.morning-period-category-list{align-content:start;gap:6px;min-height:0;display:grid;overflow:auto}.morning-period-category-list>div{color:#45536d;background:#fbfcff;border:1px solid #e6eaf4;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.morning-period-category-list span{min-width:0;font-weight:800}.morning-period-category-list small{color:#8893aa;margin-top:3px;font-size:11px;font-weight:600;display:block}.morning-period-category-list b{color:#5268c9;flex-shrink:0;font-size:16px}.morning-period-category-list p{color:#8993a8;margin:0;font-size:13px}.public-panel .morning-period-categories>strong{font-size:19px}.public-panel .morning-period-category-list>div{font-size:16px}.public-panel .morning-period-category-list small{font-size:13px}.public-panel .morning-period-category-list b{font-size:20px}.public-presenter .morning-period-side-stats{text-align:left;flex:none;grid-template-columns:1fr auto;justify-items:stretch;gap:6px 12px;font-size:clamp(18px,1.2vw,25px)}.public-presenter .morning-period-side-stats strong{text-align:right;margin:0;font-size:clamp(27px,2vw,40px)}.public-presenter .morning-period-categories>strong{font-size:clamp(23px,1.7vw,34px)}.public-presenter .morning-period-category-list>div{padding:12px 16px;font-size:clamp(20px,1.4vw,28px)}.public-presenter .morning-period-category-list small{font-size:clamp(16px,1.1vw,22px)}.public-presenter .morning-period-category-list b{font-size:clamp(24px,1.7vw,34px)}@media (width>=1000px){.public-panel .morning-check-summary .morning-nap-summary-heading strong{font-size:24px}.public-panel .morning-check-summary .morning-nap-summary-heading span{font-size:16px}.public-panel .morning-check-summary .morning-nap-totals button{min-height:50px;font-size:18px}.public-panel .morning-check-summary .morning-nap-totals button.long-category{grid-column:1/-1}.public-panel .morning-check-summary .morning-nap-totals b{font-size:23px}.public-panel .morning-check-summary .morning-nap-unmarked{min-height:42px;font-size:17px}.public-panel .morning-check-summary .morning-nap-unmarked b{font-size:20px}.public-panel .morning-check-summary .morning-nap-current>div:first-child{font-size:19px}.public-panel .morning-check-summary .morning-nap-current>div:first-child b{font-size:17px}.public-panel .morning-check-summary .morning-nap-selected>span,.public-panel .morning-check-summary .morning-nap-selected p{font-size:18px}.public-panel .morning-check-summary .morning-nap-footnote{font-size:13px}.public-panel .morning-check-summary .morning-nap-save,.public-panel .morning-check-record strong{font-size:18px}.public-panel .morning-check-record span,.public-panel .morning-check-record button{font-size:16px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
