.sb-app{--bg: #f1f8f6;--card: #ffffff;--border: #e3f0ec;--text: #1c2230;--text2: #6c7484;--text3: #9aa2b3;--indigo: #0d9488;--indigo-d: #0f766e;--indigo-s: #e6f6f3;--emerald: #10b981;--emerald-s: #e7f8f1;--rose: #f43f5e;--rose-s: #fdeef1;--amber: #f59e0b;--amber-s: #fef5e6;display:flex;flex-direction:column;height:100%;background:var(--bg);color:var(--text)}.sb-topbar-wrap{padding:14px 18px 0;flex-shrink:0}.sb-topbar{display:flex;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:11px 14px;box-shadow:0 12px 34px -20px #323c6e59}.sb-brand{display:flex;align-items:center;gap:11px}.sb-logo{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#0d9488,#06b6d4)}.sb-brand-name{font-size:15px;font-weight:700}.sb-brand-sub{font-size:11.5px;color:var(--text3);margin-top:2px}.sb-segment{display:flex;background:#f1f3f9;border-radius:13px;padding:4px;gap:2px}.sb-segment button{display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--text2);padding:8px 15px;border-radius:10px}.sb-segment button.active{background:#fff;color:var(--indigo-d);font-weight:650;box-shadow:0 3px 10px -3px #3c467840}.sb-top-right{display:flex;align-items:center;gap:11px}.sb-ai-pill{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--indigo-d);background:var(--indigo-s);padding:8px 14px;border-radius:999px;font-weight:600}.sb-avatar{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:650;background:linear-gradient(135deg,#0d9488,#06b6d4)}.sb-logout{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;color:var(--text2);background:var(--card);border:1px solid var(--border);transition:color .2s,border-color .2s,transform .2s}.sb-logout:hover{color:var(--rose);border-color:var(--rose);transform:translateY(-1px)}.sb-content{flex:1;overflow-y:auto}.sb-inner{max-width:1180px;margin:0 auto;padding:10px 6px 70px}.sb-view{padding-top:12px}.sb-hello,.sb-page-head{display:flex;align-items:flex-end;justify-content:space-between;margin:14px 12px 22px;gap:20px}.sb-hello h1{font-size:26px;font-weight:800;letter-spacing:-.3px}.sb-page-head h1{font-size:23px;font-weight:800}.sb-hello p,.sb-page-head p{font-size:14px;color:var(--text2);margin-top:9px;line-height:1.8;max-width:640px}.sb-btn{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;padding:9px 16px;border-radius:12px}.sb-btn-lg{padding:12px 20px;font-size:14px;border-radius:13px}.sb-btn-primary{background:var(--indigo);color:#fff;box-shadow:0 8px 18px -8px #0d9488b3}.sb-btn-primary:hover{background:var(--indigo-d)}.sb-btn-ghost{background:#fff;color:#4a5468;border:1px solid #e2e6ef}.sb-btn-ghost:hover{background:#f7f9fd}.sb-btn-indigo-soft{background:var(--indigo-s);color:var(--indigo-d)}.sb-block{width:100%;justify-content:center}.sb-grid{display:grid;gap:18px;margin:0 12px 20px}.sb-grid-16-10{grid-template-columns:1.6fr 1fr}.sb-grid-10-16{grid-template-columns:1fr 1.6fr}.sb-stack{display:flex;flex-direction:column;gap:18px}.sb-card{background:var(--card);border:1px solid var(--border);border-radius:20px;box-shadow:0 14px 36px -26px #323c6e66;overflow:hidden}.sb-card-head{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid #f1f3f8}.sb-card-head h3{font-size:15px;font-weight:700}.sb-grow{flex:1;min-width:0}.sb-tiny{font-size:11.5px;color:var(--text3)}.sb-soft-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;background:#f1f4f9;color:var(--text2)}.sb-soft-pill.green{background:var(--emerald-s);color:#059669}.sb-soft-pill.amber{background:var(--amber-s);color:#d97706}.sb-center{align-self:center}.sb-dropzone{margin:18px;border:2px dashed #d7dcec;border-radius:16px;padding:22px;display:flex;align-items:center;gap:16px;background:#fbfcff}.sb-drop-icon{width:50px;height:50px;border-radius:14px;background:var(--indigo-s);color:var(--indigo-d);display:grid;place-items:center;flex-shrink:0}.sb-drop-text b{font-size:14px}.sb-drop-text span{display:block;font-size:12.5px;color:var(--text3);margin-top:4px}.sb-file-rows{padding:0 14px 12px}.sb-file-row{display:flex;align-items:center;gap:11px;padding:11px 8px;border-top:1px solid #f2f4f9}.sb-file-ic{width:36px;height:36px;border-radius:10px;background:#f4f6fb;color:#8a93a7;display:grid;place-items:center;flex-shrink:0}.sb-file-name{font-size:13.5px;font-weight:600}.sb-file-meta{font-size:12px;color:var(--text3);margin-top:2px}.sb-check{width:27px;height:27px;border-radius:50%;background:var(--emerald-s);color:var(--emerald);display:grid;place-items:center}.sb-preprocess{padding:18px}.sb-ready-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.sb-sev-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.sb-sev-card{border-radius:14px;padding:12px 4px;text-align:center}.sb-sev-card b{display:block;font-size:22px;font-variant-numeric:tabular-nums}.sb-sev-card span{font-size:12px;color:var(--text2)}.sb-sev-card.err{background:var(--rose-s);color:var(--rose)}.sb-sev-card.warn{background:var(--amber-s);color:#d97706}.sb-sev-card.info{background:#eef2f8;color:#5a6b85}.sb-stepper{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.sb-step{display:flex;align-items:center;gap:11px;font-size:13px;color:var(--text2);padding:5px 0}.sb-step-dot{width:23px;height:23px;border-radius:50%;background:#eef1f6;display:grid;place-items:center;color:#fff;flex-shrink:0}.sb-step.done .sb-step-dot{background:var(--emerald)}.sb-step.done{color:var(--text)}.sb-step.active .sb-step-dot{background:var(--indigo);box-shadow:0 0 0 4px var(--indigo-s)}.sb-step.active{color:var(--indigo-d);font-weight:600}.sb-issue-cards{padding:8px 16px 14px}.sb-issue-card{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:14px;margin-bottom:10px;border:1px solid #eef1f6}.sb-issue-card.err{border-left:3px solid var(--rose);background:#fff7f8}.sb-issue-card.warn{border-left:3px solid var(--amber);background:#fffaf2}.sb-issue-card.info{border-left:3px solid #94a3c4;background:#f8fafd}.sb-issue-ic{display:grid;place-items:center}.sb-issue-card.err .sb-issue-ic{color:var(--rose)}.sb-issue-card.warn .sb-issue-ic{color:var(--amber)}.sb-issue-card.info .sb-issue-ic{color:#6b7a99}.sb-issue-card b{font-size:13.5px;display:block}.sb-issue-card span{font-size:12px;color:var(--text3);display:block;margin-top:3px}.sb-issue-go{display:flex;align-items:center;color:var(--indigo-d);font-size:12.5px;font-weight:600;white-space:nowrap}.sb-mini-list{padding:8px 16px 14px}.sb-mini-row{display:flex;align-items:center;gap:10px;padding:8px 4px;color:var(--text2)}.sb-mini-row b{font-size:13px}.sb-mini-badge{font-size:11px;border-radius:999px;padding:1px 8px}.sb-mini-badge.warn{background:var(--amber-s);color:#d97706}.sb-mini-badge.ok{background:var(--emerald-s);color:#059669}.sb-block-text{font-size:13px;display:block}.sb-dl-ic{color:var(--indigo)}.sb-big-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 12px 20px}.sb-big-stat{position:relative;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:16px;display:flex;align-items:center;gap:12px;box-shadow:0 12px 30px -24px #323c6e66}.sb-big-ic{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;flex-shrink:0}.sb-big-ic.indigo{background:var(--indigo-s);color:var(--indigo)}.sb-big-ic.emerald{background:var(--emerald-s);color:var(--emerald)}.sb-big-ic.rose{background:var(--rose-s);color:var(--rose)}.sb-big-ic.amber{background:var(--amber-s);color:var(--amber)}.sb-big-stat b{font-size:23px;font-variant-numeric:tabular-nums;display:block;line-height:1.1}.sb-big-stat span{font-size:12px;color:var(--text2)}.sb-big-stat em{position:absolute;top:13px;right:14px;font-style:normal;font-size:11px;color:var(--text3)}.sb-quota{padding:18px;display:flex;flex-direction:column;gap:12px}.sb-select-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sb-select{display:flex;align-items:center;gap:8px;border:1px solid #e3e7f0;border-radius:12px;padding:10px 12px;font-size:13px;color:#46506a}.sb-select svg{color:#9aa2b3}.sb-select svg:last-child{margin-left:auto}.sb-total-pill{display:flex;align-items:center;gap:8px;background:#f6f8fd;border-radius:12px;padding:11px 13px;font-size:13px;color:var(--text2)}.sb-total-pill b{margin-left:auto;color:var(--text)}.sb-stepper-field{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--text2)}.sb-stepper-ctrl{display:flex;align-items:center;gap:10px}.sb-stepper-ctrl button{width:26px;height:26px;border-radius:8px;background:#f1f4f9;color:#6b7484;display:grid;place-items:center}.sb-flip{transform:rotate(180deg)}.sb-stepper-ctrl b{font-size:14px;min-width:42px;text-align:center}.sb-quota-out{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#f7f9fd;border-radius:14px;padding:14px}.sb-quota-out div{text-align:center}.sb-quota-out b{font-size:24px;color:var(--indigo-d);display:block}.sb-quota-out span{font-size:12px;color:var(--text2)}.sb-level-pills{display:flex;gap:8px;flex-wrap:wrap;padding:15px 18px}.sb-level-pills button{display:flex;align-items:center;gap:7px;font-size:13px;padding:8px 14px;border-radius:999px;background:#f3f5fa;color:var(--text2)}.sb-level-pills button em{font-style:normal;font-size:11px;background:#00000012;border-radius:999px;padding:0 7px}.sb-level-pills button.active{background:var(--indigo);color:#fff}.sb-level-pills button.active em{background:#ffffff40}.sb-student-chips{padding:2px 18px 18px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.sb-person{display:flex;align-items:center;gap:11px;border:1px solid #edf0f6;border-radius:14px;padding:11px 13px}.sb-person-av{width:36px;height:36px;border-radius:50%;background:var(--indigo-s);color:var(--indigo-d);display:grid;place-items:center;font-weight:650}.sb-person b{font-size:13.5px;display:block}.sb-person span{font-size:11.5px;color:var(--text3);display:block}.sb-person-ok{color:var(--emerald);margin-left:auto}.sb-big-search{display:flex;align-items:center;gap:11px;margin:16px 18px;background:#f5f7fc;border-radius:14px;padding:8px 10px 8px 15px;color:var(--text3)}.sb-big-search input{flex:1;border:none;outline:none;font-size:14px;background:none;color:var(--text)}.sb-profile{padding:0 18px 18px}.sb-profile-top{display:flex;align-items:center;gap:14px;padding:6px 0 18px;border-bottom:1px solid #f1f3f8}.sb-profile-av{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,#0d9488,#06b6d4);color:#fff;display:grid;place-items:center;font-size:21px;font-weight:700}.sb-profile-top h3{font-size:19px;display:flex;align-items:center;gap:10px}.sb-profile-top p{font-size:13px;color:var(--text2);margin-top:4px}.sb-score-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px 0;border-bottom:1px solid #f1f3f8}.sb-score-strip div{text-align:center;background:#f7f9fd;border-radius:14px;padding:14px}.sb-score-strip span{font-size:12px;color:var(--text2);display:block}.sb-score-strip b{font-size:22px;color:var(--indigo-d);font-variant-numeric:tabular-nums}.sb-award-chips{display:flex;flex-wrap:wrap;gap:8px;padding:16px 0;border-bottom:1px solid #f1f3f8}.sb-award-chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;padding:6px 12px;border-radius:999px;background:var(--indigo-s);color:var(--indigo-d);font-weight:600}.sb-award-chip.tag{background:var(--emerald-s);color:#059669}.sb-course-list{padding-top:8px}.sb-course-row{display:flex;align-items:center;gap:14px;padding:11px 4px;border-bottom:1px solid #f3f5f9;font-size:13px}.sb-course-nature{font-size:12px;color:var(--text3)}.sb-course-credit{font-size:12px;color:var(--text2)}.sb-course-score{font-size:14px;color:var(--indigo-d);min-width:48px;text-align:right;font-variant-numeric:tabular-nums}.sb-add-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--indigo-d);font-weight:600}.sb-rule-cards{padding:12px 16px 16px;display:flex;flex-direction:column;gap:12px}.sb-rule-card{display:flex;gap:14px;border:1px solid #edf0f6;border-radius:16px;padding:15px 16px}.sb-rule-card.off{opacity:.55}.sb-switch{width:42px;height:24px;border-radius:999px;background:#d2d9e6;position:relative;flex-shrink:0;margin-top:2px;transition:background .15s}.sb-switch i{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 3px #00000040}.sb-switch.on{background:var(--indigo)}.sb-switch.on i{transform:translate(18px)}.sb-rule-top{display:flex;align-items:center;gap:10px}.sb-rule-top b{font-size:14.5px}.sb-kind-pill{font-size:11.5px;font-weight:600;padding:2px 10px;border-radius:999px}.sb-kind-pill.up{background:var(--emerald-s);color:#059669}.sb-kind-pill.down{background:var(--rose-s);color:#e11d48}.sb-kind-pill.add{background:var(--indigo-s);color:var(--indigo-d)}.sb-kind-pill.limit{background:#e0f7f6;color:#0e7490}.sb-kind-pill.cancel{background:#f1f3f8;color:#5b6472}.sb-rule-card p{font-size:13px;color:var(--text2);margin:8px 0;line-height:1.7}.sb-target-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#5a6b85;background:#f5f7fc;padding:5px 11px;border-radius:9px}.sb-mysql{padding:16px 18px 18px;display:flex;flex-direction:column;gap:10px}.sb-input2{display:flex;align-items:center;gap:10px;border:1px solid #e3e7f0;border-radius:12px;padding:8px 12px}.sb-input2 span{font-size:12px;color:var(--text3);min-width:32px}.sb-input2 input{border:none;outline:none;flex:1;font-size:13px}.sb-mysql-btns{display:flex;gap:10px;margin-top:2px}.sb-env-chips{display:flex;flex-wrap:wrap;gap:10px;padding:16px 18px;border-bottom:1px solid #f1f3f8}.sb-env-chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:#46506a;background:#f6f8fd;border-radius:999px;padding:7px 13px}.sb-env-chip svg{color:var(--emerald)}.sb-doc-pills{display:flex;flex-wrap:wrap;gap:10px;padding:16px 18px}.sb-doc-pill{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:#4a5468;background:#f5f7fc;border:1px solid #edf0f6;border-radius:12px;padding:9px 15px}.sb-fab{position:fixed;right:30px;bottom:30px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#0d9488,#06b6d4);color:#fff;display:grid;place-items:center;box-shadow:0 14px 30px -10px #0d9488b3;z-index:20}.sb-modal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:60;opacity:0;pointer-events:none;transition:opacity .2s}.sb-modal-wrap.show{opacity:1;pointer-events:auto}.sb-modal-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#1c223066;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sb-ai-modal{position:relative;width:430px;max-width:94vw;height:78vh;max-height:680px;background:#fff;border-radius:24px;box-shadow:0 30px 80px -20px #141e3c80;display:flex;flex-direction:column;overflow:hidden;transform:translateY(12px) scale(.98);transition:transform .22s}.sb-modal-wrap.show .sb-ai-modal{transform:none}.sb-ai-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px}.sb-ai-modal-title{display:flex;align-items:center;gap:10px;font-weight:700}.sb-ai-modal-ic{width:34px;height:34px;border-radius:11px;background:var(--indigo-s);color:var(--indigo-d);display:grid;place-items:center}.sb-round-close{width:32px;height:32px;border-radius:50%;background:#f2f4f9;color:var(--text2);display:grid;place-items:center}.sb-ai-modal-providers{display:flex;gap:7px;padding:0 18px 14px}.sb-ai-modal-providers button{font-size:12px;padding:6px 13px;border-radius:999px;background:#f3f5fa;color:var(--text2)}.sb-ai-modal-providers button.active{background:var(--indigo);color:#fff}.sb-ai-modal-chat{flex:1;overflow-y:auto;padding:14px 18px;background:#fafbfe;display:flex;flex-direction:column;gap:14px}.sb-m-bubble{display:flex;gap:9px;font-size:13.5px;line-height:1.75}.sb-m-bubble.user{justify-content:flex-end}.sb-m-bubble.assistant div{background:#fff;border:1px solid #edf0f6;border-radius:5px 14px 14px;padding:10px 13px;color:#374151;max-width:85%}.sb-m-bubble.user div{background:var(--indigo);color:#fff;border-radius:14px 5px 14px 14px;padding:10px 13px;max-width:85%}.sb-m-av{width:29px;height:29px;border-radius:9px;background:var(--indigo-s);color:var(--indigo-d);display:grid;place-items:center;flex-shrink:0}.sb-ai-modal-input{display:flex;align-items:center;gap:9px;padding:13px 16px;border-top:1px solid #f1f3f8}.sb-ai-modal-input input{flex:1;border:1px solid #e3e7f0;border-radius:999px;padding:10px 15px;font-size:13.5px;outline:none}.sb-ai-modal-input input:focus{border-color:var(--indigo)}.sb-ai-modal-input button{width:38px;height:38px;border-radius:50%;background:var(--indigo);color:#fff;display:grid;place-items:center;flex-shrink:0}.sb-app{--ease: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.45, .48, 1)}.sb-content{scroll-behavior:smooth}.sb-content::-webkit-scrollbar,.sb-ai-modal-chat::-webkit-scrollbar{width:10px}.sb-content::-webkit-scrollbar-thumb,.sb-ai-modal-chat::-webkit-scrollbar-thumb{background:#d2d8e6;border-radius:999px;border:3px solid transparent;background-clip:padding-box}.sb-content::-webkit-scrollbar-thumb:hover,.sb-ai-modal-chat::-webkit-scrollbar-thumb:hover{background:#b6bfd2;border:3px solid transparent;background-clip:padding-box}.sb-content::-webkit-scrollbar-track,.sb-ai-modal-chat::-webkit-scrollbar-track{background:transparent}.sb-segment{position:relative}.sb-seg-ind{position:absolute;top:4px;bottom:4px;left:0;border-radius:10px;background:#fff;box-shadow:0 3px 10px -3px #3c467847;z-index:0;opacity:0;transition:transform .36s var(--ease),width .36s var(--ease),opacity .25s}.sb-seg-ind.ready{opacity:1}.sb-segment button{position:relative;z-index:1;background:transparent!important;box-shadow:none!important;transition:color .22s var(--ease)}.sb-segment button.active{background:transparent;box-shadow:none}.sb-inner .sb-view{animation:sbViewIn .46s var(--ease) both}@keyframes sbViewIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes sbRowIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}@keyframes sbPop{0%{opacity:0;transform:scale(.94) translateY(10px)}to{opacity:1;transform:none}}@keyframes sbMsgIn{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}.sb-card{transition:transform .32s var(--ease),box-shadow .32s var(--ease),border-color .32s}.sb-grid>.sb-card:hover,.sb-stack>.sb-card:hover{transform:translateY(-3px);box-shadow:0 24px 48px -26px #323c6e85}.sb-btn{transition:transform .16s var(--ease),background .22s var(--ease),box-shadow .26s var(--ease),border-color .22s,color .22s}.sb-btn:active{transform:scale(.955)}.sb-ai-pill{transition:transform .24s var(--ease),box-shadow .24s var(--ease)}.sb-ai-pill:hover{transform:translateY(-2px);box-shadow:0 10px 22px -12px #0d948899}.sb-dropzone{transition:border-color .26s var(--ease),background .26s var(--ease),transform .26s var(--ease)}.sb-dropzone.dragging{border-color:var(--indigo);background:var(--indigo-s);transform:scale(1.012)}.sb-drop-icon{transition:transform .32s var(--ease-spring)}.sb-dropzone.dragging .sb-drop-icon{transform:translateY(-4px) scale(1.1)}.sb-file-row{animation:sbRowIn .42s var(--ease) both;transition:background .2s}.sb-file-row:nth-child(1){animation-delay:.04s}.sb-file-row:nth-child(2){animation-delay:.08s}.sb-file-row:nth-child(3){animation-delay:.12s}.sb-file-row:nth-child(4){animation-delay:.16s}.sb-file-row:nth-child(5){animation-delay:.2s}.sb-file-row:nth-child(6){animation-delay:.24s}.sb-file-row:nth-child(7){animation-delay:.28s}.sb-file-row:nth-child(8){animation-delay:.32s}.sb-file-row:hover{background:#f7f9fd}.sb-check{transition:transform .25s var(--ease-spring)}.sb-file-row:hover .sb-check{transform:scale(1.12)}.sb-sev-card{animation:sbPop .5s var(--ease) both}.sb-sev-card:nth-child(1){animation-delay:.05s}.sb-sev-card:nth-child(2){animation-delay:.12s}.sb-sev-card:nth-child(3){animation-delay:.19s}.sb-step{transition:color .22s}.sb-step-dot{transition:background .26s var(--ease),box-shadow .26s var(--ease),transform .26s var(--ease-spring)}.sb-step.active .sb-step-dot{transform:scale(1.06)}.sb-pre-bar{height:6px;background:#edf0f7;border-radius:999px;overflow:hidden}.sb-pre-bar i{display:block;height:100%;transform-origin:left center;background:linear-gradient(90deg,#0d9488,#06b6d4);border-radius:999px;animation:sbScaleX 1.1s var(--ease) both}@keyframes sbScaleX{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.sb-pre-bar-label{display:flex;justify-content:space-between;font-size:11.5px;color:var(--text2);margin-top:8px}.sb-issue-card{animation:sbRowIn .42s var(--ease) both;transition:transform .24s var(--ease),box-shadow .24s var(--ease)}.sb-issue-card:nth-child(1){animation-delay:.05s}.sb-issue-card:nth-child(2){animation-delay:.11s}.sb-issue-card:nth-child(3){animation-delay:.17s}.sb-issue-card:nth-child(4){animation-delay:.23s}.sb-issue-card:nth-child(5){animation-delay:.29s}.sb-issue-card:hover{transform:translate(4px)}.sb-issue-go{transition:gap .2s var(--ease)}.sb-issue-card:hover .sb-issue-go{gap:10px}.sb-mini-row{animation:sbRowIn .38s var(--ease) both;transition:background .2s}.sb-mini-row:nth-child(1){animation-delay:.04s}.sb-mini-row:nth-child(2){animation-delay:.09s}.sb-mini-row:nth-child(3){animation-delay:.14s}.sb-mini-row:nth-child(4){animation-delay:.19s}.sb-mini-row:hover{background:#f7f9fd}.sb-big-stat{animation:sbPop .5s var(--ease) both;transition:transform .28s var(--ease),box-shadow .28s var(--ease)}.sb-big-stat:nth-child(1){animation-delay:.05s}.sb-big-stat:nth-child(2){animation-delay:.12s}.sb-big-stat:nth-child(3){animation-delay:.19s}.sb-big-stat:nth-child(4){animation-delay:.26s}.sb-big-stat:hover{transform:translateY(-3px);box-shadow:0 18px 36px -22px #323c6e8c}.sb-select,.sb-input2,.sb-mysql input{transition:border-color .22s var(--ease),box-shadow .22s var(--ease)}.sb-select:hover{border-color:#c6cce0}.sb-stepper-ctrl button{transition:background .2s,color .2s,transform .15s}.sb-stepper-ctrl button:hover{background:#e7ebf6}.sb-stepper-ctrl button:active{transform:scale(.88)}.sb-person{animation:sbPop .46s var(--ease) both;transition:transform .24s var(--ease),box-shadow .24s,border-color .24s}.sb-person:nth-child(1){animation-delay:.05s}.sb-person:nth-child(2){animation-delay:.11s}.sb-person:nth-child(3){animation-delay:.17s}.sb-person:nth-child(4){animation-delay:.23s}.sb-person:nth-child(5){animation-delay:.29s}.sb-person:nth-child(6){animation-delay:.35s}.sb-person:hover{transform:translateY(-2px);border-color:#d6dcf0;box-shadow:0 12px 26px -18px #323c6e8c}.sb-level-pills button{transition:transform .2s var(--ease),background .2s,color .2s}.sb-level-pills button:hover{transform:translateY(-1px)}.sb-course-row{animation:sbRowIn .4s var(--ease) both;transition:background .2s}.sb-course-row:nth-child(1){animation-delay:.05s}.sb-course-row:nth-child(2){animation-delay:.1s}.sb-course-row:nth-child(3){animation-delay:.15s}.sb-course-row:nth-child(4){animation-delay:.2s}.sb-course-row:nth-child(5){animation-delay:.25s}.sb-course-row:nth-child(6){animation-delay:.3s}.sb-course-row:hover{background:#f7f9fd}.sb-award-chip{transition:transform .22s var(--ease-spring)}.sb-award-chip:hover{transform:translateY(-2px) scale(1.04)}.sb-rule-card{animation:sbPop .46s var(--ease) both;transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s}.sb-rule-card:nth-child(1){animation-delay:.05s}.sb-rule-card:nth-child(2){animation-delay:.12s}.sb-rule-card:nth-child(3){animation-delay:.19s}.sb-rule-card:nth-child(4){animation-delay:.26s}.sb-rule-card:nth-child(5){animation-delay:.33s}.sb-rule-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px -26px #323c6e80}.sb-switch{transition:background .26s var(--ease),box-shadow .26s var(--ease)}.sb-switch i{transition:transform .28s var(--ease-spring)}.sb-add-btn{transition:gap .2s var(--ease)}.sb-add-btn:hover{gap:9px}.sb-env-chip,.sb-doc-pill{animation:sbRowIn .4s var(--ease) both;transition:transform .22s var(--ease),border-color .22s,background .22s}.sb-env-chip:nth-child(1){animation-delay:.04s}.sb-env-chip:nth-child(2){animation-delay:.09s}.sb-env-chip:nth-child(3){animation-delay:.14s}.sb-env-chip:nth-child(4){animation-delay:.19s}.sb-doc-pill:hover{transform:translateY(-2px)}.sb-fab{animation:sbFabIn .6s var(--ease-spring) both;transition:transform .32s var(--ease-spring),box-shadow .32s var(--ease)}@keyframes sbFabIn{0%{opacity:0;transform:scale(.4) rotate(-30deg)}to{opacity:1;transform:none}}.sb-fab:hover{transform:translateY(-4px) scale(1.07) rotate(90deg);box-shadow:0 20px 38px -10px #0d9488cc}.sb-fab:active{transform:scale(.94)}.sb-modal-wrap{transition:opacity .32s var(--ease)}.sb-ai-modal{transition:transform .4s var(--ease-spring)}.sb-m-bubble{animation:sbMsgIn .36s var(--ease) both}.sb-m-bubble.user{transform-origin:right bottom}.sb-m-bubble.assistant{transform-origin:left bottom}.sb-ai-modal-providers button{transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.sb-ai-modal-providers button:hover{transform:translateY(-1px)}.sb-round-close{transition:transform .26s var(--ease),background .26s}.sb-round-close:hover{transform:rotate(90deg);background:#e7eaf2}.sb-ai-modal-input button{transition:transform .15s var(--ease),box-shadow .25s}.sb-ai-modal-input button:hover{transform:scale(1.08)}.sb-ai-modal-input button:active{transform:scale(.92)}.sb-typing-dots{display:flex;gap:5px;padding:5px 3px}.sb-typing-dots i{width:7px;height:7px;border-radius:50%;background:#98a1b4;animation:sbBlink 1.2s infinite}.sb-typing-dots i:nth-child(2){animation-delay:.18s}.sb-typing-dots i:nth-child(3){animation-delay:.36s}@keyframes sbBlink{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.sb-app button:focus-visible,.sb-app input:focus-visible{outline:2px solid rgba(13,148,136,.55);outline-offset:2px}.sb-big-search input:focus-visible,.sb-ai-modal-input input:focus-visible,.sb-mysql input:focus-visible,.sb-input2 input:focus-visible{outline:none}.sb-mysql input:focus,.sb-input2 input:focus{border-color:var(--indigo)}@media (prefers-reduced-motion: reduce){.sb-app,.sb-app *,.sb-app *:before,.sb-app *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.sb-head-actions{display:flex;gap:10px}.sb-grid-15-10{grid-template-columns:1.5fr 1fr}.sb-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:0 12px 20px}.sb-big-ic.violet{background:#e0f7f6;color:#06b6d4}.sb-hist{display:flex;align-items:stretch;gap:12px;padding:20px 22px 8px;height:252px}.sb-hist-col{flex:1;display:flex;flex-direction:column;align-items:center}.sb-hist-val{font-size:12px;color:var(--text2);height:18px;font-variant-numeric:tabular-nums}.sb-hist-track{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}.sb-hist-bar{width:62%;border-radius:9px 9px 4px 4px;background:linear-gradient(180deg,#22d3ee,#0d9488);transform-origin:bottom center;animation:sbGrowY .85s var(--ease) both}.sb-hist-label{font-size:11.5px;color:var(--dim);margin-top:9px;white-space:nowrap}@keyframes sbGrowY{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.sb-donut-block{display:flex;align-items:center;gap:20px;padding:18px 20px;flex-wrap:wrap;justify-content:center}.sb-donut-wrap{position:relative;width:164px;height:164px;flex-shrink:0}.sb-donut{animation:sbDonutSpin 1s var(--ease) both}@keyframes sbDonutSpin{0%{opacity:0;transform:rotate(-24deg) scale(.9)}to{opacity:1;transform:none}}.sb-donut-seg{animation:sbDonutSeg .9s var(--ease) both}@keyframes sbDonutSeg{0%{opacity:0}to{opacity:1}}.sb-donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.sb-donut-center b{font-size:26px;color:var(--text)}.sb-donut-center span{font-size:11.5px;color:var(--dim);margin-top:2px}.sb-legend{flex:1;min-width:130px;display:flex;flex-direction:column;gap:10px}.sb-legend-row{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--text2);animation:sbRowIn .5s var(--ease) both}.sb-legend-dot{width:10px;height:10px;border-radius:3px}.sb-legend-row b{color:var(--text)}.sb-rank{padding:12px 18px 14px;display:flex;flex-direction:column}.sb-rank-row{display:flex;align-items:center;gap:12px;padding:7px 0;animation:sbRowIn .45s var(--ease) both}.sb-rank-no{width:24px;height:24px;border-radius:7px;background:#f1f4f9;color:var(--text2);display:grid;place-items:center;font-size:12px;flex-shrink:0}.sb-rank-no.top{background:var(--indigo-s);color:var(--indigo-d);font-weight:700}.sb-rank-name{font-size:13px;width:52px;flex-shrink:0}.sb-rank-track{flex:1;height:8px;background:#f1f4f9;border-radius:999px;overflow:hidden}.sb-rank-track i{display:block;height:100%;transform-origin:left center;border-radius:999px;background:linear-gradient(90deg,#22d3ee,#0d9488);animation:sbScaleX .9s var(--ease) both}.sb-rank-score{font-size:13px;color:var(--indigo-d);width:44px;text-align:right}.sb-qcmp{padding:16px 18px 18px;display:flex;flex-direction:column;gap:14px}.sb-qcmp-row{display:flex;align-items:center;gap:14px;animation:sbRowIn .5s var(--ease) both}.sb-qcmp-level{font-size:13px;width:34px;flex-shrink:0;color:var(--text);font-weight:600}.sb-qcmp-bars{flex:1;display:flex;flex-direction:column;gap:7px}.sb-qcmp-line{display:flex;align-items:center;gap:10px;font-size:11.5px;color:var(--dim)}.sb-qcmp-line span{width:28px}.sb-qcmp-track{flex:1;height:8px;background:#f1f4f9;border-radius:999px;overflow:hidden}.sb-qcmp-track i{display:block;height:100%;transform-origin:left center;border-radius:999px;animation:sbScaleX .9s var(--ease) both}.sb-qcmp-track i.quota{background:#c8cee0}.sb-qcmp-track i.actual{background:linear-gradient(90deg,#22d3ee,#0d9488)}.sb-qcmp-line b{width:16px;text-align:right;color:var(--text)}.sb-meters{padding:16px 18px 18px;display:flex;flex-direction:column;gap:17px}.sb-meter{animation:sbRowIn .5s var(--ease) both}.sb-meter-head{display:flex;justify-content:space-between;font-size:13px;color:var(--text2);margin-bottom:8px}.sb-meter-head b{color:var(--text)}.sb-meter-track{height:9px;background:#f1f4f9;border-radius:999px;overflow:hidden}.sb-meter-track i{display:block;height:100%;transform-origin:left center;border-radius:999px;animation:sbScaleX 1s var(--ease) both}.sb-range-seg{display:flex;background:#f1f3f9;border-radius:11px;padding:3px;gap:2px}.sb-range-seg button{font-size:12.5px;color:var(--text2);padding:6px 13px;border-radius:8px;transition:color .2s,background .2s}.sb-range-seg button.active{background:#fff;color:var(--indigo-d);font-weight:650;box-shadow:0 2px 7px -2px #3c467833}.sb-kpi{background:#fff;border:1px solid var(--border);border-radius:17px;padding:14px 15px 10px;box-shadow:0 12px 30px -24px #323c6e73;transition:transform .28s var(--ease),box-shadow .28s var(--ease);display:flex;flex-direction:column}.sb-kpi:hover{transform:translateY(-3px);box-shadow:0 20px 40px -24px #323c6e8c}.sb-kpi-top{display:flex;align-items:center;gap:10px}.sb-kpi-num b{font-size:23px;line-height:1.05;display:block;font-variant-numeric:tabular-nums}.sb-kpi-num span{font-size:12px;color:var(--text2)}.sb-delta{margin-left:auto;display:inline-flex;align-items:center;gap:2px;font-size:11.5px;font-weight:700;padding:2px 7px;border-radius:999px;align-self:flex-start}.sb-delta.good{color:#059669;background:var(--emerald-s)}.sb-delta.bad{color:#e11d48;background:var(--rose-s)}.sb-delta.flat{color:var(--text2);background:#f1f3f9}.sb-up{transform:rotate(180deg)}.sb-kpi-spark{display:flex;align-items:flex-end;gap:4px;height:30px;margin-top:12px}.sb-kpi-spark i{flex:1;border-radius:3px 3px 1px 1px;opacity:.6;transform-origin:bottom center;animation:sbGrowY .7s var(--ease) both}.sb-kpi-spark i.indigo{background:#0d9488}.sb-kpi-spark i.emerald{background:#10b981}.sb-kpi-spark i.violet{background:#06b6d4}.sb-kpi-spark i.amber{background:#f59e0b}.sb-kpi-spark i.rose{background:#f43f5e}.sb-donut-seg{transition:stroke-width .25s var(--ease),opacity .25s var(--ease);cursor:pointer}.sb-donut-seg.dim{opacity:.28}.sb-legend-row{padding:6px 8px;border-radius:9px;cursor:pointer;transition:background .2s}.sb-legend-row.on{background:var(--indigo-s)}.sb-legend-row em{font-style:normal;font-size:11px;color:var(--dim)}.sb-legend-row.on em{color:var(--indigo-d)}.sb-hist-col{cursor:pointer}.sb-hist-val{transition:transform .2s var(--ease),color .2s}.sb-hist-col.hover .sb-hist-val{transform:translateY(-2px) scale(1.15);color:var(--indigo-d);font-weight:700}.sb-hist-val.zero{color:#c4cbd8}.sb-hist-bar{transition:filter .2s}.sb-hist-col.hover .sb-hist-bar{filter:brightness(1.12)}.sb-rank-no.medal{background:linear-gradient(135deg,#0d9488,#06b6d4);color:#fff;font-weight:700;box-shadow:0 4px 10px -3px #0d948899}.sb-rank-name{display:flex;align-items:center;gap:7px;width:102px;flex-shrink:0;white-space:nowrap}.sb-rank-tag{font-style:normal;font-size:10px;font-weight:600;color:#0d9488;background:var(--indigo-s);border-radius:999px;padding:2px 8px;white-space:nowrap}.sb-rank-row{border-radius:9px;transition:background .2s}.sb-rank-row:hover{background:#f7f9fd}.sb-rank-track i{transition:filter .2s}.sb-rank-row:hover .sb-rank-track i{filter:brightness(1.08)}.sb-qcmp-legend{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--dim)}.sb-qcmp-legend i{width:9px;height:9px;border-radius:3px;display:inline-block;margin-left:4px}.sb-qcmp-legend i.q{background:#c8cee0}.sb-qcmp-legend i.a{background:linear-gradient(135deg,#22d3ee,#0d9488)}.sb-qcmp-delta{font-size:12px;font-weight:700;color:var(--text2);min-width:30px;text-align:right}.sb-qcmp-delta.up{color:#059669}.sb-qcmp-row{border-radius:10px;transition:background .2s}.sb-qcmp-row:hover{background:#f7f9fd}.sb-meter-track i{position:relative;overflow:hidden}.sb-meter-shine{position:absolute;top:0;bottom:0;width:38%;left:-45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);animation:sbShine 2.6s var(--ease) infinite}@keyframes sbShine{0%{left:-45%}55%,to{left:135%}}.sb-skeleton{position:relative;overflow:hidden;background:#eef1f7;border-radius:12px}.sb-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);animation:sbShimmer 1.3s ease infinite}@keyframes sbShimmer{to{transform:translate(100%)}}.sb-skel-head{height:60px;margin-bottom:18px}.sb-skel-kpi{height:112px}.sb-skel-card{height:330px}.sb-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:120px 20px;text-align:center}.sb-state-ic{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--rose-s);color:#f43f5e}.sb-state h3{margin:8px 0 0}.sb-state p{color:var(--text2);margin:0}.sb-soft-pill.rose{background:var(--rose-s);color:#e11d48}.sb-select select{flex:1;border:none;outline:none;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:13px;color:#46506a;cursor:pointer}.sb-select select option{color:#1f2737}.sb-person-score{margin-left:auto;font-size:13px;font-weight:700;color:#059669;font-variant-numeric:tabular-nums}.sb-pager{display:flex;align-items:center;justify-content:center;gap:14px;padding:6px 0 16px}.sb-pager button{width:30px;height:30px;border-radius:9px;background:#f1f4f9;color:#6b7484;display:grid;place-items:center;transition:background .2s,transform .15s}.sb-pager button:hover:not(:disabled){background:#e7ebf6}.sb-pager button:active:not(:disabled){transform:scale(.9)}.sb-pager button:disabled{opacity:.45}.sb-pager span{font-size:13px;color:var(--text2)}.sb-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px 20px;color:var(--text3);margin:0 18px 18px}.sb-empty p{margin:0;font-size:13px}.sb-empty-inline{grid-column:1 / -1;text-align:center;color:var(--text3);font-size:13px;padding:30px 0}.sb-course-title{display:flex;align-items:center;justify-content:space-between;padding:16px 0 4px}.sb-course-title h4{font-size:14px;margin:0}.sb-course-scroll{max-height:360px;overflow-y:auto;padding-right:4px}.sb-btn.is-loading svg{animation:sbSpin 1s linear infinite}@keyframes sbSpin{to{transform:rotate(360deg)}}.sb-mini-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:34px 16px;color:var(--text3);font-size:12.5px;text-align:center}.sb-file-row.missing .sb-file-ic{color:#c2c9d6}.sb-missing-ic{width:24px;height:24px;border-radius:50%;background:var(--amber-s);color:#d97706;display:grid;place-items:center}.sb-db-note{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text2);background:#f5f8ff;border:1px solid #e6ecfb;border-radius:10px;padding:9px 11px}.sb-db-note b{color:var(--indigo-d)}.sb-btn.disabled,.sb-btn:disabled{opacity:.55;cursor:not-allowed}.sb-pre-bar i.indeterminate{width:38%!important;animation:sbIndet 1.1s var(--ease) infinite}@keyframes sbIndet{0%{margin-left:-40%}to{margin-left:105%}}.sb-inline-note{display:flex;align-items:center;gap:7px;margin:0 12px 14px;font-size:12.5px;color:var(--text2);background:#f5f8ff;border:1px solid #e6ecfb;border-radius:10px;padding:9px 12px}.sb-db-group{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;color:var(--text3);padding:10px 4px 4px}.sb-pl-22{padding-left:22px}.sb-env-chip span.dim{color:var(--text3)}.sb-rules-edit .sb-view-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:14px 12px 20px}.sb-rules-edit .sb-view-head h2{font-size:22px;font-weight:800;letter-spacing:-.3px}.sb-rules-edit .sb-view-head p{font-size:13.5px;color:var(--text2);margin-top:8px;line-height:1.7;max-width:680px}.sb-subsection-title{font-size:15px;font-weight:750;margin:26px 12px 14px;color:var(--text)}.sb-rules-edit .sb-stepper{display:flex;flex-direction:row;align-items:flex-start;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:14px 10px;margin:0 12px 20px;gap:0}.sb-rules-edit .sb-step{position:relative;flex:1;display:flex;align-items:center;gap:10px;padding:0 8px;text-align:left;font-size:inherit;color:inherit}.sb-rules-edit .sb-step-dot{width:30px;height:30px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;border:2px solid var(--border);color:var(--text3);background:var(--card);z-index:1;transition:background .25s var(--ease),border-color .25s,color .25s,box-shadow .25s}.sb-rules-edit .sb-step-txt{display:flex;flex-direction:column}.sb-rules-edit .sb-step-txt b{font-size:13.5px;font-weight:700}.sb-rules-edit .sb-step-txt small{font-size:11px;color:var(--text3);margin-top:2px}.sb-rules-edit .sb-step-line{position:absolute;top:15px;left:calc(50% + 21px);right:calc(-50% + 21px);height:2px;background:var(--border);z-index:0}.sb-rules-edit .sb-step-current .sb-step-dot{border-color:var(--indigo);background:var(--indigo);color:#fff;box-shadow:0 6px 16px -6px #0d9488cc}.sb-rules-edit .sb-step-current .sb-step-txt b{color:var(--indigo-d)}.sb-rules-edit .sb-step-done .sb-step-dot{border-color:var(--indigo);background:var(--indigo);color:#fff}.sb-rules-edit .sb-step-done .sb-step-line{background:var(--indigo)}.sb-flow-card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:18px 20px;margin:0 12px 18px;animation:sbViewIn .42s var(--ease) both}.sb-flow-head{display:flex;align-items:center;gap:12px;margin-bottom:15px}.sb-flow-no{width:28px;height:28px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--indigo-s);color:var(--indigo-d);font-size:13px;font-weight:700}.sb-flow-head b{font-size:14.5px;font-weight:700}.sb-flow-head small{display:block;font-size:12px;color:var(--text2);margin-top:3px}.sb-flow-flag{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:12px}.sb-flag-ok{color:#059669;background:var(--emerald-s);padding:6px 11px;border-radius:999px;font-weight:600}.sb-flow-card.is-locked{opacity:.7}.sb-locked-tip{display:flex;align-items:center;gap:7px;color:var(--text3);font-size:13px;margin:0}.sb-seg{display:inline-flex;background:#f1f3f9;border-radius:11px;padding:4px;gap:2px;margin-bottom:14px}.sb-seg button{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text2);padding:7px 14px;border-radius:9px}.sb-seg button.on{background:#fff;color:var(--indigo-d);font-weight:650;box-shadow:0 3px 10px -3px #3c467840}.sb-rules-edit .sb-dropzone{display:flex;flex-direction:column;align-items:center;gap:8px;border:2px dashed #d6dcea;border-radius:16px;padding:34px 20px;cursor:pointer;text-align:center;background:#fafbfe;width:100%;transition:border-color .25s var(--ease),background .25s}.sb-rules-edit .sb-dropzone.drag{border-color:var(--indigo);background:var(--indigo-s)}.sb-drop-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--indigo-s);color:var(--indigo)}.sb-rules-edit .sb-dropzone b{font-size:14px}.sb-rules-edit .sb-dropzone small{font-size:12px;color:var(--text3)}.sb-input{width:100%;border:1px solid #e2e6ef;border-radius:11px;padding:9px 12px;font-size:13px;background:#fff;color:var(--text);font-family:inherit;transition:border-color .2s var(--ease),box-shadow .2s}.sb-input:focus{outline:none;border-color:var(--indigo);box-shadow:0 0 0 3px #0d948824}textarea.sb-input{resize:vertical;line-height:1.6}.sb-paste{display:flex;flex-direction:column;gap:10px}.sb-provider{width:auto;min-width:190px}.sb-mini{width:auto;padding:6px 9px;font-size:12px;border-radius:9px}.sb-doc-current{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px 13px;background:#f7f9fd;border:1px solid var(--border);border-radius:12px;color:var(--indigo-d)}.sb-doc-current b{font-size:13px;color:var(--text)}.sb-doc-current small{display:block;font-size:12px;color:var(--text2);margin-top:2px}.sb-doc-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.sb-doc-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;background:#f4f6fb;border-radius:999px;padding:6px 11px;color:var(--text2)}.sb-doc-chip i{font-style:normal;font-size:11px;color:var(--text3)}.sb-recognize-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.sb-rec-progress{display:flex;flex-wrap:wrap;gap:18px;margin-top:16px}.sb-rec-item{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text3)}.sb-rec-item.on{color:var(--text)}.sb-rec-dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--border);font-size:11px;font-weight:700}.sb-rec-item.on .sb-rec-dot{border-color:var(--indigo);color:var(--indigo-d)}.sb-rec-item.done .sb-rec-dot{background:var(--emerald);border-color:var(--emerald);color:#fff}.sb-rec-ok{display:flex;align-items:center;gap:7px;color:#059669;font-size:13px;margin-top:15px;font-weight:600}.sb-warn-count{color:#b45309;font-weight:500}.sb-rule-edit-list{display:flex;flex-direction:column;gap:12px}.sb-rule-edit-card{border:1px solid var(--border);border-radius:16px;padding:13px 15px;background:#fcfdff;animation:sbRowIn .4s var(--ease) both}.sb-rule-edit-card.off{opacity:.6;background:#fafbfe}.sb-rule-edit-top{display:flex;align-items:center;gap:10px}.sb-rule-action{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:650;border-radius:999px;padding:5px 11px;flex-shrink:0}.tone-danger{background:var(--rose-s);color:var(--rose)}.tone-success{background:var(--emerald-s);color:#059669}.tone-warning{background:var(--amber-s);color:#b45309}.tone-primary{background:var(--indigo-s);color:var(--indigo-d)}.tone-neutral{background:#f1f3f9;color:var(--text2)}.sb-rule-name-input{flex:1;border:none;background:transparent;font-size:13.5px;font-weight:650;min-width:80px;color:var(--text);font-family:inherit}.sb-rule-name-input:focus{outline:none}.sb-icon-btn{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--text3);flex-shrink:0}.sb-icon-btn:hover{background:#f1f3f9}.sb-icon-btn.danger:hover{background:var(--rose-s);color:var(--rose)}.sb-rule-edit-body{margin:10px 0 6px}.sb-conds{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.sb-cond-tag{font-size:11px;font-weight:700;background:var(--indigo-s);color:var(--indigo-d);border-radius:7px;padding:3px 8px}.sb-cond-chip{font-size:12px;background:#f1f3f9;border-radius:8px;padding:4px 9px;color:var(--text)}.sb-cond-empty{font-size:12px;color:var(--text3)}.sb-params-line{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text2);margin-top:9px}.sb-rule-edit-foot{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text2)}.sb-switch{position:relative;width:40px;height:22px;flex-shrink:0}.sb-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}.sb-switch-ui{position:absolute;top:0;right:0;bottom:0;left:0;background:#d3d9e6;border-radius:999px;transition:background .24s var(--ease)}.sb-switch-ui:before{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .26s var(--ease-spring);box-shadow:0 1px 3px #00000040}.sb-switch input:checked+.sb-switch-ui{background:var(--indigo)}.sb-switch input:checked+.sb-switch-ui:before{transform:translate(18px)}.sb-apply-save{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px}.sb-btn-sm{padding:6px 11px!important;font-size:12px!important;border-radius:9px!important}.sb-inline-err{display:flex;align-items:center;gap:7px;color:var(--rose);font-size:12.5px;margin-top:12px}.sb-pop{animation:sbPop .42s var(--ease) both}.sb-apply-result{margin-top:16px;border:1px solid var(--border);border-radius:16px;padding:16px;background:#fcfdff}.sb-apply-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.sb-apply-kpi{background:#fff;border:1px solid var(--border);border-radius:13px;padding:12px;text-align:center}.sb-apply-kpi b{font-size:20px;font-weight:800;display:block}.sb-apply-kpi small{font-size:11.5px;color:var(--text3)}.sb-audit{margin-top:16px}.sb-audit-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;margin-bottom:8px}.sb-audit-row{display:grid;grid-template-columns:230px 1fr 46px;align-items:center;gap:10px;margin:9px 0}.sb-audit-name{font-size:12.5px;color:var(--text2)}.sb-audit-track{height:8px;background:#eef0f5;border-radius:999px;overflow:hidden}.sb-audit-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0d9488,#06b6d4);transition:width .7s var(--ease)}.sb-audit-hits{font-size:13px;font-weight:700;text-align:right}.sb-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:sbSpin .7s linear infinite;display:inline-block}.sb-spinner.sm{width:13px;height:13px;border-width:1.5px}.sb-rec-dot .sb-spinner{border-color:#0d94884d;border-top-color:var(--indigo)}@media (max-width: 860px){.sb-stepper{flex-wrap:wrap;gap:10px}.sb-step{flex:1 1 45%}.sb-step-line{display:none}.sb-apply-kpis{grid-template-columns:repeat(2,1fr)}.sb-audit-row{grid-template-columns:1fr auto}.sb-audit-track{grid-column:1 / -1;order:3}}@media (prefers-reduced-motion: reduce){.sb-flow-card,.sb-rule-edit-card,.sb-pop{animation:none}.sb-spinner{animation-duration:2s}.sb-audit-track i{transition:none}}.sb-rag-bar{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:13px 16px;margin:0 12px 20px;box-shadow:var(--shadow-sm)}.sb-rag-ic{width:40px;height:40px;flex-shrink:0;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#0d948824,#06b6d424);color:var(--indigo)}.sb-rag-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.sb-rag-info b{font-size:14px;font-weight:700}.sb-rag-info span{font-size:12px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-rag-note{font-size:12px;color:var(--emerald-d);background:#10b9811a;border-radius:8px;padding:5px 10px;white-space:nowrap}.sb-rag-mode{position:relative;display:flex;align-items:center}.sb-rag-mode select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--bg);border-radius:10px;padding:8px 30px 8px 12px;font-size:12.5px;color:var(--text2);cursor:pointer}.sb-rag-mode>svg{position:absolute;right:9px;pointer-events:none;color:var(--text3)}.sb-rag-sync{white-space:nowrap}.sb-spin{animation:sb-spin .9s linear infinite}@keyframes sb-spin{to{transform:rotate(360deg)}}.sb-model-bar{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:12px 16px;margin:0 12px 20px;box-shadow:var(--shadow-sm);flex-wrap:wrap}.sb-model-bar.is-stale{border-color:#f59e0b8c;background:linear-gradient(180deg,rgba(245,158,11,.06),var(--card))}.sb-model-bar .sb-btn{padding:8px 13px;font-size:12.5px;white-space:nowrap}.sb-btn-warn{background:#f59e0b;color:#fff;box-shadow:0 8px 18px -10px #f59e0bd9}.sb-btn-warn:hover{background:#ea920a}.sb-model-rebuild{white-space:nowrap}.sb-model-pull{display:flex;align-items:center;gap:8px}.sb-model-pull input{border:1px solid var(--border);background:var(--bg);border-radius:10px;padding:8px 12px;font-size:12.5px;color:var(--text2);width:230px}.sb-model-pull input::placeholder{color:var(--text3)}@media (max-width: 1180px){.sb-model-pull input{width:150px}}.sb-m-body{min-width:0}.sb-m-err{color:var(--rose-d)}.sb-m-ev{margin-top:10px;padding-top:9px;border-top:1px dashed var(--border)}.sb-m-ev-label{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--indigo-d);background:#0d94881a;border-radius:7px;padding:3px 8px}.sb-m-ev-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.sb-m-ev-chip{font-size:11px;color:var(--text2);background:var(--bg);border:1px solid var(--border);border-radius:7px;padding:3px 8px}.sb-ai-suggest{display:flex;flex-wrap:wrap;gap:7px;padding:10px 16px 2px}.sb-ai-suggest button{font-size:12px;color:var(--text2);background:var(--card);border:1px solid var(--border);border-radius:999px;padding:6px 12px;cursor:pointer;transition:border-color .2s,color .2s,transform .2s var(--ease)}.sb-ai-suggest button:hover{border-color:var(--indigo);color:var(--indigo-d);transform:translateY(-1px)}.sb-burger,.sb-mobile-menu{display:none}@media (max-width: 820px){html,body{overflow-x:hidden;max-width:100%}.sb-topbar-wrap{padding:10px 10px 0}.sb-topbar{padding:9px 12px;border-radius:16px;gap:8px}.sb-brand{gap:9px;min-width:0}.sb-logo{width:36px;height:36px;border-radius:10px}.sb-brand-name{font-size:14px;white-space:nowrap}.sb-brand-sub{display:none}.sb-segment{display:none!important}.sb-top-right{display:none}.sb-burger{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:11px;color:var(--indigo-d);background:var(--indigo-s)}.sb-mobile-menu{display:flex;flex-direction:column;gap:4px;margin-top:8px;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:8px;box-shadow:0 18px 40px -24px #323c6e80}.sb-mobile-nav{display:flex;align-items:center;gap:11px;width:100%;padding:12px;border-radius:11px;font-size:14px;font-weight:600;color:var(--text);text-align:left}.sb-mobile-nav svg{color:var(--text2)}.sb-mobile-nav.active{background:var(--indigo-s);color:var(--indigo-d)}.sb-mobile-nav.active svg{color:var(--indigo-d)}.sb-mobile-user{display:flex;align-items:center;gap:10px;margin-top:4px;padding:10px 12px 6px;border-top:1px solid #f1f3f8}.sb-mobile-user .sb-avatar{width:34px;height:34px;font-size:14px}.sb-mobile-uname{flex:1;min-width:0;font-size:13px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-mobile-logout{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:8px 12px;border-radius:10px;font-size:12.5px;font-weight:600;color:var(--rose);background:var(--rose-s)}.sb-inner{padding:8px 4px 104px}.sb-grid,.sb-kpi-row,.sb-big-stats,.sb-rag-bar,.sb-model-bar,.sb-flow-card,.sb-rules-edit .sb-stepper,.sb-subsection-title{margin-left:8px;margin-right:8px}.sb-hello,.sb-page-head{flex-direction:column;align-items:stretch;margin:12px 8px 18px;gap:12px}.sb-hello h1{font-size:21px}.sb-page-head h1{font-size:19px}.sb-hello p,.sb-page-head p{margin-top:6px;line-height:1.6}.sb-head-actions{flex-wrap:wrap}.sb-head-actions .sb-btn{flex:1;justify-content:center}.sb-rules-edit .sb-view-head{flex-direction:column;align-items:stretch;gap:12px}.sb-rules-edit .sb-view-head>.sb-btn{align-self:flex-start}.sb-rules-edit .sb-stepper{flex-wrap:wrap;gap:14px 6px;padding:14px}.sb-rules-edit .sb-step{flex:1 1 42%}.sb-rules-edit .sb-step-line{display:none}.sb-grid-16-10,.sb-grid-10-16,.sb-grid-15-10{grid-template-columns:1fr}.sb-grid{gap:14px}.sb-kpi-row{grid-template-columns:repeat(2,1fr);gap:10px}.sb-kpi{padding:12px 12px 8px}.sb-kpi-num b{font-size:20px}.sb-big-stats{grid-template-columns:repeat(2,1fr);gap:10px}.sb-big-stat{padding:13px;gap:9px}.sb-big-stat b{font-size:19px}.sb-big-ic{width:38px;height:38px}.sb-card-head{padding:14px 60px 14px 15px}.sb-card-head h3{font-size:14px}.sb-burger{width:44px;height:44px}.sb-btn-primary,.sb-btn-lg{min-height:44px}.sb-round-close,.sb-ai-modal-input button{width:44px;height:44px}.sb-pager button{width:42px;height:42px}.sb-dropzone{flex-direction:column;text-align:center;padding:20px 16px;gap:12px}.sb-donut-block{flex-direction:column;gap:14px;padding:16px}.sb-legend{width:100%;min-width:0}.sb-hist{height:210px;gap:8px;padding:16px 14px 8px}.sb-rag-bar{flex-wrap:wrap;gap:10px;padding:12px 14px}.sb-rag-info span{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sb-model-bar{padding:12px 14px}.sb-model-pull{width:100%}.sb-model-pull input{width:100%!important;flex:1}.sb-student-chips{grid-template-columns:1fr;gap:9px;padding:2px 14px 16px}.sb-score-strip{gap:8px;padding:14px 0}.sb-score-strip div{padding:10px 6px}.sb-score-strip b{font-size:18px}.sb-profile{padding:0 14px 16px}.sb-profile-top{gap:11px}.sb-profile-top h3{font-size:16px;flex-wrap:wrap}.sb-profile-av{width:46px;height:46px;font-size:18px}.sb-big-search{margin:14px;padding:8px 12px}.sb-course-scroll{overflow-x:auto;padding-right:0;-webkit-overflow-scrolling:touch}.sb-course-list{min-width:460px}.sb-fab{right:18px;bottom:18px;width:52px;height:52px}.sb-ai-modal{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0}}@media (max-width: 480px){.sb-inner{padding:6px 2px 84px}.sb-grid,.sb-kpi-row,.sb-big-stats,.sb-rag-bar,.sb-model-bar,.sb-flow-card,.sb-rules-edit .sb-stepper{margin-left:6px;margin-right:6px}.sb-hello h1{font-size:19px}.sb-kpi-row{gap:8px}.sb-kpi-top{gap:7px}.sb-kpi-spark{height:24px;margin-top:8px}.sb-big-ic{width:34px;height:34px;border-radius:10px}.sb-big-stat em{display:none}.sb-select-row{grid-template-columns:1fr;gap:8px}.sb-quota{padding:14px;gap:10px}.sb-quota-out b{font-size:20px}.sb-rank{padding:10px 14px 12px}.sb-rank-name{width:auto;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.sb-qcmp{padding:14px;gap:11px}.sb-card-head{padding:13px 60px 13px 14px}.sb-issue-cards,.sb-mini-list{padding:8px 12px 12px}.sb-issue-card{flex-wrap:wrap}.sb-issue-go{margin-left:auto}.sb-flow-head b{font-size:14px}.sb-ai-modal-input{padding:10px 12px;gap:8px}}.sb-db{margin-bottom:6px}.sb-db-head{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text2);margin-bottom:8px;flex-wrap:wrap}.sb-db-head b{color:var(--text);font-size:13.5px}.sb-db-head .sb-muted{font-size:11.5px;overflow-wrap:anywhere}.sb-tables{display:flex;flex-wrap:wrap;gap:6px}.sb-table-tag{display:inline-block;max-width:100%;font-size:11.5px;line-height:1.5;color:var(--text2);background:#f4f6fb;border:1px solid #edf0f6;border-radius:8px;padding:4px 9px;overflow-wrap:anywhere;word-break:break-word}.sb-table-tag i{font-style:normal;font-size:10.5px;color:var(--text3);margin-left:5px}.sb-mysql-row,.sb-env-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;padding:4px 0}.sb-mysql-row span,.sb-env-row span{color:var(--text2);flex-shrink:0}.sb-mysql-row b,.sb-env-row b{text-align:right;overflow-wrap:anywhere}.sb-env-row .sb-path{text-align:right;font-size:12px}.lg-wrap{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:radial-gradient(1200px 500px at 80% -10%,rgba(34,211,238,.18),transparent 60%),radial-gradient(900px 500px at 0% 110%,rgba(13,148,136,.16),transparent 55%),#f2faf8}.lg-card{width:100%;max-width:380px;background:#fff;border:1px solid #e3f1ed;border-radius:22px;padding:34px 30px 28px;box-shadow:0 28px 60px -34px #0d645c73}.lg-logo{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;color:#fff;margin:0 auto 16px;background:linear-gradient(135deg,#0d9488,#06b6d4);box-shadow:0 12px 24px -12px #0d9488cc}.lg-title{font-size:19px;font-weight:800;text-align:center;color:#12312d}.lg-sub{font-size:13px;color:#6b857f;text-align:center;margin:7px 0 24px}.lg-form{display:flex;flex-direction:column;gap:16px}.lg-field{display:flex;flex-direction:column;gap:7px}.lg-label{font-size:12.5px;font-weight:650;color:#3f5b55}.lg-field input{height:44px;border:1px solid #d6e6e1;border-radius:12px;padding:0 14px;font-size:14px;color:#1c2b28;background:#f8fcfb;transition:border-color .15s,box-shadow .15s,background .15s}.lg-field input::placeholder{color:#a6bcb6}.lg-field input:focus{outline:none;border-color:#0d9488;background:#fff;box-shadow:0 0 0 4px #0d948824}.lg-error{display:flex;align-items:center;gap:7px;font-size:12.5px;color:#e11d48;background:#fef2f4;border:1px solid #fdd8de;border-radius:10px;padding:9px 12px}.lg-btn{height:46px;border-radius:12px;font-size:15px;font-weight:700;color:#fff;background:linear-gradient(135deg,#0d9488,#06b6d4);box-shadow:0 14px 26px -12px #0d9488cc;transition:transform .12s,filter .12s}.lg-btn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.lg-btn:active:not(:disabled){transform:translateY(0)}.lg-btn:disabled{opacity:.7;cursor:not-allowed}.lg-foot{margin-top:22px;font-size:12px;color:#7d9791;letter-spacing:.3px}@media (max-width: 480px){html,body{overflow-x:hidden;max-width:100%}.lg-wrap{padding:18px}.lg-card{max-width:100%;padding:26px 20px 22px;border-radius:18px}.lg-logo{width:48px;height:48px}.lg-title{font-size:17px}.lg-sub{margin-bottom:18px}.lg-field input{height:46px;font-size:15px}.lg-btn{height:48px}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;color:#1f2937}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}table{border-collapse:collapse;width:100%}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#78788259;border-radius:8px}::-webkit-scrollbar-track{background:transparent}
