.pa[data-v-6dbee073]{position:absolute}.pr[data-v-6dbee073]{position:relative}.swing[data-v-6dbee073]{width:100%;height:100%;min-height:50px;position:absolute;left:0;top:25px;z-index:100;background-color:hsla(0,0%,100%,.4)}.swing .swing-container[data-v-6dbee073]{display:flex;justify-content:center;align-items:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.swing .swing-container .loader[data-v-6dbee073]{position:absolute;border-radius:50%;border-bottom:8px solid #717fff;animation:load-6dbee073 1.5s linear infinite}.swing .swing-container .loader[data-v-6dbee073]:first-child{width:80px;height:80px}.swing .swing-container .loader[data-v-6dbee073]:nth-child(2){width:50px;height:50px;animation-direction:reverse}@keyframes load-6dbee073{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pa[data-v-d61bebd6]{position:absolute}.pr[data-v-d61bebd6]{position:relative}.subject-card[data-v-d61bebd6]{display:flex;flex-direction:column;gap:8px;width:172px;padding:12px;background:#fff;border-radius:12px;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px;box-shadow:0 8px 24px rgba(149,157,165,.2)}.card-head[data-v-d61bebd6]{display:flex;align-items:center;gap:4px;height:36px}.subject-icon[data-v-d61bebd6]{flex-shrink:0;width:32px;height:32px}.subject-name[data-v-d61bebd6]{overflow:hidden;color:rgba(0,0,0,.8);font-size:18px;font-weight:600;line-height:24px;white-space:nowrap;text-overflow:ellipsis}.state-block[data-v-d61bebd6]{display:flex;align-items:center;gap:8px;height:64px;padding:0 12px;overflow:hidden;color:#298af0;text-align:left;background-color:#ebf5ff;background-repeat:no-repeat;background-size:100% 100%;border:0;border-radius:8px;cursor:default}.state-block.clickable[data-v-d61bebd6]{cursor:pointer}.state-block.dashboard_ready[data-v-d61bebd6]{color:#fff}.state-block.dashboard_ready.grade[data-v-d61bebd6]{background-color:#5c77ff}.state-block.dashboard_ready.class[data-v-d61bebd6]{background-color:#01b0f5}.state-text[data-v-d61bebd6]{flex:1;min-width:0;overflow:hidden;font-size:16px;font-weight:600;line-height:24px;white-space:nowrap;text-overflow:ellipsis}.pa[data-v-ca19754a]{position:absolute}.pr[data-v-ca19754a]{position:relative}.dashboard-image[data-v-ca19754a]{display:block;flex-shrink:0;width:130px;height:134px;padding:0;background:none;border:0;cursor:pointer}.dashboard-image[disabled][data-v-ca19754a]{opacity:.6;cursor:not-allowed}.dashboard-image.compact[data-v-ca19754a]{height:72px}.dashboard-image img[data-v-ca19754a]{display:block;width:100%;height:100%}.dashboard-card[data-v-ca19754a]{display:flex;flex-direction:column;justify-content:flex-end;gap:4px;width:130px;height:134px;padding:8px;overflow:hidden;border-radius:12px;outline:1px solid #fff;outline-offset:-1px}.dashboard-card.grade[data-v-ca19754a]{background:linear-gradient(160deg,#ffd3ad,#ffe8d4 55%,#fff3e8)}.dashboard-card.grade .card-title[data-v-ca19754a]{color:#4d1010}.dashboard-card.grade .trend-button[data-v-ca19754a]{background:linear-gradient(90deg,#fc6501,#fda627)}.dashboard-card.class[data-v-ca19754a]{background:linear-gradient(160deg,#cfe6ff,#e3f0ff 55%,#f2f8ff)}.dashboard-card.class .card-title[data-v-ca19754a]{color:#10214d}.dashboard-card.class .trend-button[data-v-ca19754a]{background:linear-gradient(90deg,#0073ff,#49acff)}.dashboard-card.compact[data-v-ca19754a]{justify-content:center;height:72px;background:linear-gradient(160deg,#dfe1fd,#e7e8fd 60%,#f1f2fe)}.dashboard-card.compact .card-title[data-v-ca19754a]{color:#10214d}.dashboard-card.compact .trend-button[data-v-ca19754a]{background:linear-gradient(90deg,#0073ff,#49acff)}.dashboard-card.compact .card-title[data-v-ca19754a]{font-size:16px;font-weight:600;line-height:24px}.dashboard-card.compact .trend-button[data-v-ca19754a]{width:100%;height:30px;border-radius:4px}.card-title[data-v-ca19754a]{font-size:16px;font-weight:700;line-height:28px;white-space:nowrap}.trend-button[data-v-ca19754a]{display:flex;align-items:center;justify-content:space-between;width:112px;height:32px;padding:0 6px 0 8px;color:#fff;font-size:14px;font-weight:600;line-height:22px;white-space:nowrap;border:0;border-radius:8px;outline:1px solid #fff;outline-offset:-1px;cursor:pointer}.trend-button[disabled][data-v-ca19754a]{opacity:.6;cursor:not-allowed}.pa[data-v-965cff2a]{position:absolute}.pr[data-v-965cff2a]{position:relative}.dashboard-banner[data-v-965cff2a]{display:flex;align-items:center;gap:8px;width:100%;height:56px;padding:0 12px 0 16px;background-repeat:no-repeat;background-position:0;background-size:cover;border:0;border-radius:8px;cursor:pointer}.dashboard-banner[disabled][data-v-965cff2a]{cursor:not-allowed}.dashboard-banner[disabled] .exam-button[data-v-965cff2a]{opacity:.6}.dashboard-banner.grade[data-v-965cff2a]{background-color:#fc6501}.dashboard-banner.grade .exam-button[data-v-965cff2a]{color:#fd6304;background:linear-gradient(90deg,#fff,#ffe9d5)}.dashboard-banner.class[data-v-965cff2a]{background-color:#298af0}.dashboard-banner.class .exam-button[data-v-965cff2a]{color:#298af0;background:linear-gradient(90deg,#fff,#d5f0ff)}.banner-spacer[data-v-965cff2a]{flex:1}.exam-button[data-v-965cff2a]{display:flex;flex-shrink:0;align-items:center;gap:4px;height:36px;padding:0 12px;font-size:14px;font-weight:600;white-space:nowrap;border:0;border-radius:8px;outline:1px solid #fff;outline-offset:-1px}.pa[data-v-78391026]{position:absolute}.pr[data-v-78391026]{position:relative}.grade-board[data-v-78391026]{overflow:hidden;background:#fff;border-radius:16px}.board-header[data-v-78391026]{display:flex;align-items:baseline;gap:12px;height:64px;padding:0 16px;line-height:64px}.board-header strong[data-v-78391026]{color:rgba(0,0,0,.8);font-size:20px;font-weight:600}.board-header span[data-v-78391026]{color:rgba(0,0,0,.6);font-size:14px}.grade-icon[data-v-78391026]{align-self:center;width:40px;height:40px}.board-empty[data-v-78391026]{padding:16px 16px 24px;color:rgba(0,0,0,.4);font-size:14px}.board-scroll[data-v-78391026]{padding:0 16px 16px;overflow-x:auto}.board-rows[data-v-78391026]{display:inline-flex;flex-direction:column;gap:4px;min-width:100%}.board-row[data-v-78391026]{display:flex;gap:4px}.row-header[data-v-78391026]{position:sticky;left:0;z-index:1;flex-shrink:0;display:flex;flex-direction:column;gap:16px;width:154px;padding:12px;background:#f0f7ff;border-radius:8px}.row-header.corner[data-v-78391026]{height:56px;padding:0}.row-name[data-v-78391026]{display:flex;align-items:center;justify-content:center;gap:6px;height:64px;padding:0 12px;background:#fff;border-radius:8px}.row-name.grade[data-v-78391026]{justify-content:space-between;gap:0;padding:0 8px}.row-name.grade .name-text[data-v-78391026]{color:#298af0;font-weight:600}.name-text[data-v-78391026]{overflow:hidden;color:rgba(0,0,0,.9);font-size:18px;font-weight:500;line-height:24px;white-space:nowrap;text-overflow:ellipsis}.grade-title[data-v-78391026]{display:flex;align-items:center;gap:6px;min-width:0}.grade-mark[data-v-78391026]{flex-shrink:0;width:24px;height:24px}.collapse-button[data-v-78391026]{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:0;border-radius:4px;cursor:pointer}.collapse-button img[data-v-78391026]{width:16px;height:16px;transform:rotate(180deg);transition:transform .2s}.collapse-button[data-v-78391026]:hover{background:#f0f7ff}.collapse-button.collapsed img[data-v-78391026]{transform:none}.exam-header[data-v-78391026]{display:flex;flex-shrink:0;align-items:center;gap:12px;width:var(--cell-width);height:56px;padding:0 12px;overflow:hidden;background-repeat:no-repeat;background-position:100% 100%,0 0;background-size:196px 56px,100% 100%;border-radius:8px}.exam-name[data-v-78391026]{flex-shrink:0;max-width:160px;color:rgba(0,0,0,.8);font-size:18px;font-weight:600;line-height:24px}.exam-name[data-v-78391026],.exam-term[data-v-78391026]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.exam-term[data-v-78391026]{color:rgba(0,0,0,.6);font-size:14px;line-height:22px}.board-cell[data-v-78391026]{display:flex;flex-shrink:0;flex-wrap:wrap;align-content:flex-start;gap:12px;width:var(--cell-width);padding:12px;border-radius:8px}.classes-loading[data-v-78391026]{position:relative;height:120px}.classes-empty[data-v-78391026]{padding:16px 0 16px 170px;color:rgba(0,0,0,.4);font-size:14px}.cell-empty[data-v-78391026]{align-self:center;width:100%;color:rgba(0,0,0,.4);font-size:14px;text-align:center}.grade-row[data-v-78391026]{background:#e0f2fe;border-radius:8px}.grade-row .row-header[data-v-78391026]{background:#e0f2fe}