:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1f2937;background:#f5f7fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f5f7fb}#root{min-height:100vh}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:#eef3f8}.login-card{width:min(100%,400px);border-radius:8px}.admin-shell{min-height:100vh;background:#f5f7fb}.admin-header{height:auto;min-height:64px;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#263445}.admin-title.ant-typography{margin:0;color:#fff}.admin-content{width:min(1180px,100%);margin:0 auto;padding:24px}.center-state{min-height:320px;display:flex;align-items:center;justify-content:center}.empty-panel,.class-summary,.tabs-panel,.toolbar{background:#fff;border:1px solid #e5e7eb;border-radius:8px}.empty-panel{padding:48px 24px}.class-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;margin-bottom:16px}.class-summary h3.ant-typography{margin:0 0 6px}.invite-code{font-size:18px}.tabs-panel{padding:16px 20px 20px}.table-toolbar{margin-bottom:16px}.toolbar{padding:16px;margin-bottom:16px}.filter-select{width:140px}.action-input{width:180px}.diff-code{display:inline-block;max-width:360px;padding:2px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;background:#f3f4f6;color:#374151;font-size:12px}.student-import-textarea{margin-top:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.conflict-alert{margin-top:12px}.conflict-list{margin:0;padding-left:20px}@media (max-width: 720px){.admin-header{padding:12px 16px;align-items:flex-start;flex-direction:column}.admin-content{padding:16px}.class-summary{padding:16px;align-items:flex-start;flex-direction:column}.tabs-panel{padding:12px}.filter-select,.action-input{width:min(100%,220px)}}
