*,*:before,*:after{box-sizing:border-box}html,body,#app{margin:0;padding:0;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;color:#333}:root{--el-color-primary: #409EFF;--el-color-primary-light-3: #66b1ff;--el-color-primary-light-5: #89c4ff;--el-color-primary-light-7: #b3d8ff;--el-color-primary-light-8: #c6e2ff;--el-color-primary-light-9: #d9ecff;--el-color-primary-dark-2: #0958d9;--el-border-radius-base: 4px;--el-font-size-base: 14px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.el-menu-item.is-active{background-color:#409eff!important;border-radius:0!important}.el-menu-item:hover,.el-sub-menu__title:hover{background-color:#ffffff14!important}.el-card{border-radius:12px;border:1px solid #f0f0f0}.el-table th.el-table__cell{background-color:#fafafa;color:#333;font-weight:600}.el-dialog{border-radius:12px}.el-dialog__header{border-bottom:1px solid #f0f0f0;padding-bottom:16px}.el-dialog__footer{border-top:1px solid #f0f0f0;padding-top:16px}.page-enter-active,.page-leave-active{transition:all .3s ease}.page-enter-from{opacity:0;transform:translate(10px)}.page-leave-to{opacity:0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.page-title{font-size:22px;font-weight:700;color:#1a1a2e;margin:0 0 6px}.page-subtitle{font-size:14px;color:#888;margin:0}.table-card{background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 2px 8px #0000000f;border:1px solid #f0f0f0}.filter-bar{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}img,video,canvas{max-width:100%;height:auto}pre{overflow-x:auto;max-width:100%}.el-dialog{max-width:94vw;box-sizing:border-box}.el-drawer{max-width:92vw;box-sizing:border-box}@media (max-width: 768px){.el-dialog{width:92%!important;margin-top:5vh!important}.el-drawer{width:88%!important}}.el-table{width:100%!important;max-width:100%}.el-table__body-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 768px){.el-table{font-size:13px}.el-table .cell{padding-left:8px;padding-right:8px}.el-table th .cell{white-space:nowrap}}.el-table .el-table__body td .cell{word-break:break-word}:root{--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px)}.app-header,.student-layout .top-nav,.parent-layout .top-nav,.teacher-layout .header,.admin-layout .header{padding-top:var(--safe-area-top);min-height:calc(60px + var(--safe-area-top))}.app-footer,.fixed-bottom-bar{padding-bottom:var(--safe-area-bottom)}.text-xs{font-size:clamp(11px,2.5vw,12px)}.text-sm{font-size:clamp(13px,2.8vw,14px)}.text-base{font-size:clamp(14px,3vw,16px)}.text-lg{font-size:clamp(16px,3.5vw,18px)}.text-xl{font-size:clamp(18px,4vw,20px)}.text-2xl{font-size:clamp(20px,4.5vw,24px)}.text-3xl{font-size:clamp(24px,5vw,30px)}h1{font-size:clamp(24px,5vw,32px)}h2{font-size:clamp(20px,4.5vw,26px)}h3{font-size:clamp(18px,4vw,22px)}h4{font-size:clamp(16px,3.5vw,18px)}
