:root{--primary-color: #4facfe;--primary-dark: #1890ff;--primary-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--bg-color: #ffffff;--bg-gray: #f6f9fc;--bg-soft: #f2f8ff;--text-primary: #243047;--text-secondary: #5f6f89;--border-color: #e5edf7;--success-color: #51cf66}*{box-sizing:border-box}body{margin:0;min-width:320px;color:var(--text-primary);font-family:Segoe UI,PingFang SC,Hiragino Sans GB,sans-serif;background:radial-gradient(circle at 20% 10%,#edf7ff,#f8fbff 45%,#f5f9ff)}h1,h2,h3,h4,p,dl,dd{margin:0}button,input,select{font:inherit}.layout{max-width:1320px;margin:0 auto;padding:20px}.login-wrap{min-height:80vh;display:grid;place-items:center}.login-card{width:100%;max-width:420px;border:1px solid var(--border-color);border-radius:16px;background:var(--bg-color);padding:20px;display:grid;gap:12px}.login-card h1{font-size:24px}.login-card p{color:var(--text-secondary);font-size:14px}.login-card label{display:grid;gap:6px}.login-card span{color:var(--text-secondary);font-size:13px}.login-card input{height:40px;border:1px solid var(--border-color);border-radius:10px;padding:0 10px}.login-btn{height:40px;border:0;border-radius:10px;background:var(--primary-gradient);color:#fff;cursor:pointer}.login-error{color:#d94848}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.topbar-actions{display:flex;gap:8px}.topbar h1{font-size:28px;font-weight:700}.topbar p{margin-top:6px;color:var(--text-secondary)}.ghost-btn{height:40px;border:1px solid var(--border-color);background:var(--bg-color);color:var(--primary-dark);border-radius:999px;padding:0 16px;cursor:pointer}.tabs{display:flex;gap:8px;margin-bottom:16px}.tab-btn{height:40px;border:0;border-radius:12px;background:#eaf3ff;color:#4f607b;padding:0 14px;cursor:pointer}.tab-btn.active{background:var(--primary-gradient);color:#fff}.content{display:flex;flex-direction:column;gap:14px}.hero-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hero-card article{background:var(--bg-color);border:1px solid var(--border-color);border-radius:14px;padding:16px}.hero-card h2{font-size:26px;color:var(--primary-dark);font-weight:700}.hero-card span{color:var(--text-secondary);font-size:13px}.hero-card small{display:block;margin-top:6px;color:#6f7f98;font-size:12px}.revenue-hero{grid-template-columns:repeat(4,minmax(0,1fr))}.panel{background:var(--bg-color);border:1px solid var(--border-color);border-radius:16px;padding:16px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.search-input{width:260px;max-width:100%;height:38px;border:1px solid var(--border-color);border-radius:10px;padding:0 12px;background:#fbfdff}.teacher-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.date-input{width:150px;max-width:100%;height:38px;border:1px solid var(--border-color);border-radius:10px;padding:0 10px;background:#fbfdff;color:var(--text-primary)}.state{border-radius:12px;background:var(--bg-soft);color:var(--text-secondary);text-align:center;padding:20px}.teacher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.teacher-table-wrap{overflow-x:auto}.teacher-table{min-width:980px;border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.teacher-row{display:grid;grid-template-columns:1.5fr 1.1fr 1fr .8fr .8fr .9fr;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border-color);font-size:13px;background:#fff}.teacher-row:last-child{border-bottom:0}.teacher-row-head{background:#f4f8ff;color:#5c6d88;font-weight:600}.teacher-main-cell{display:flex;flex-direction:column;gap:2px}.teacher-main-cell strong{color:var(--text-primary)}.teacher-main-cell small{color:var(--text-secondary);font-size:12px}.teacher-expand{border-bottom:1px solid var(--border-color);background:#fbfdff;padding:10px 12px 12px}.teacher-card{border:1px solid var(--border-color);background:#fcfdff;border-radius:14px;padding:14px}.teacher-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.teacher-head h4{font-size:18px}.teacher-head p{margin-top:4px;color:var(--text-secondary);font-size:13px}.tag{background:#51cf6624;color:#228f38;border:1px solid rgba(81,207,102,.24);border-radius:999px;padding:6px 10px;font-size:12px}.meta-grid{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.meta-grid div{border-radius:10px;background:var(--bg-soft);padding:8px 10px}.meta-grid dt{color:var(--text-secondary);font-size:12px}.meta-grid dd{margin-top:4px;font-size:13px;line-height:1.4;word-break:break-word}.students-block{margin-top:10px;border-top:1px dashed var(--border-color);padding-top:10px}.link-btn{border:0;background:transparent;color:var(--primary-dark);padding:0;cursor:pointer}.student-list{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.student-chip{border-radius:999px;padding:6px 10px;background:#4facfe24;font-size:12px}.empty-text{color:var(--text-secondary);font-size:13px}.invite-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.invite-summary>div{border:1px solid var(--border-color);border-radius:14px;background:var(--bg-color);padding:14px}.invite-summary strong{display:block;font-size:24px;color:var(--primary-dark)}.invite-summary span{color:var(--text-secondary);font-size:13px}.invite-summary p{grid-column:1 / -1;color:var(--text-secondary);font-size:13px;padding:0 2px}.trend-list{display:flex;flex-direction:column;gap:10px}.trend-item{border:1px solid var(--border-color);border-radius:12px;background:#fcfdff;padding:10px}.trend-line{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.trend-line strong{font-size:14px}.trend-line span{font-size:13px;color:var(--text-secondary)}.progress-bg{height:10px;border-radius:999px;background:#4facfe1f;overflow:hidden}.progress-bar{height:100%;border-radius:999px;background:var(--primary-gradient)}@media(max-width:1024px){.teacher-grid{grid-template-columns:1fr}}@media(max-width:768px){.layout{padding:12px}.topbar{align-items:flex-start;flex-direction:column}.hero-card,.revenue-hero,.invite-summary,.meta-grid{grid-template-columns:1fr}.panel-head{flex-direction:column;align-items:stretch}.teacher-filters,.search-input,.date-input{width:100%}}
