.score-slider{display:flex;align-items:center;gap:10px;padding:8px 0;}
.score-slider input[type="range"]{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:var(--bg-input,rgba(142,142,147,.12));border-radius:3px;outline:none;transition:all .2s;}
.score-slider input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary,#007AFF);cursor:pointer;box-shadow:0 2px 6px rgba(0,122,255,.3);transition:transform .15s;}
.score-slider input[type="range"]::-webkit-slider-thumb:hover{transform:scale(1.2);}
.score-slider .score-value{min-width:32px;text-align:center;font-size:14px;font-weight:800;color:var(--primary,#007AFF);}
.eval-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--bg-card,rgba(255,255,255,.72));border:0.5px solid var(--border-color,rgba(60,60,67,.06));border-radius:12px;margin-bottom:8px;transition:all .2s;}
.eval-item:hover{box-shadow:0 2px 8px rgba(0,0,0,.06);}
.eval-item-name{font-size:13px;font-weight:600;color:var(--text-primary,#1C1C1E);min-width:80px;}
.eval-item-score{font-size:16px;font-weight:900;min-width:36px;text-align:center;}
.score-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-card,rgba(255,255,255,.72));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:0.5px solid var(--border-color,rgba(60,60,67,.06));border-radius:14px;margin-bottom:10px;transition:all .25s;cursor:pointer;}
.score-card:hover{box-shadow:var(--shadow-md,0 4px 16px rgba(0,0,0,.06));transform:translateY(-1px);}
.score-card .sc-score{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;color:#fff;flex-shrink:0;}
.score-card .sc-info{flex:1;min-width:0;}
.score-card .sc-name{font-size:14px;font-weight:700;color:var(--text-primary,#1C1C1E);}
.score-card .sc-detail{font-size:11px;color:var(--text-tertiary,#8E8E93);margin-top:2px;}
.photo-upload-area{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;}
.photo-thumb{width:80px;height:80px;border-radius:10px;overflow:hidden;position:relative;border:2px solid var(--border-color,rgba(60,60,67,.06));}
.photo-thumb img{width:100%;height:100%;object-fit:cover;}
.photo-thumb .photo-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background:rgba(220,38,38,.85);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.photo-add{width:80px;height:80px;border-radius:10px;border:2px dashed var(--border-color,rgba(60,60,67,.12));display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:var(--text-tertiary,#8E8E93);font-size:10px;gap:4px;transition:all .2s;}
.photo-add:hover{border-color:var(--primary,#007AFF);color:var(--primary,#007AFF);}
.problem-input{width:100%;padding:10px 14px;border-radius:10px;background:var(--bg-input,rgba(142,142,147,.12));border:1px solid transparent;color:var(--text-primary,#1C1C1E);font-size:13px;transition:all .2s;resize:vertical;min-height:60px;font-family:inherit;line-height:1.5;}
.problem-input:focus{border-color:var(--primary,#007AFF);box-shadow:0 0 0 3px rgba(0,122,255,.1);}
.avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0;}
.avatar-sm{width:28px;height:28px;font-size:11px;}
.avatar-lg{width:52px;height:52px;font-size:20px;}
.stat-mini{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600;}
.stat-mini.green{background:#dcfce7;color:#166534;}
.stat-mini.red{background:#fee2e2;color:#991b1b;}
.stat-mini.yellow{background:#fef3c7;color:#92400e;}
.stat-mini.blue{background:#eff6ff;color:#1d4ed8;}
.stat-mini.gray{background:#f1f5f9;color:#64748b;}
.divider{height:1px;background:var(--border-color,rgba(60,60,67,.06));margin:16px 0;}
.chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid transparent;}
.chip.active{background:var(--primary,#007AFF);color:#fff;border-color:var(--primary,#007AFF);}
.chip:not(.active){background:var(--bg-input,rgba(142,142,147,.12));color:var(--text-secondary,#3C3C43);border-color:transparent;}
.chip:not(.active):hover{background:var(--bg-tertiary,#F9F9F9);}
.rank-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;margin-bottom:6px;transition:all .2s;}
.rank-item:hover{background:rgba(0,0,0,.02);}
.rank-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;flex-shrink:0;}
.rank-num.gold{background:linear-gradient(135deg,#F59E0B,#D97706);color:#fff;}
.rank-num.silver{background:linear-gradient(135deg,#94A3B8,#64748B);color:#fff;}
.rank-num.bronze{background:linear-gradient(135deg,#FDBA74,#F97316);color:#fff;}
.rank-num.normal{background:var(--bg-input,rgba(142,142,147,.12));color:var(--text-tertiary,#8E8E93);}
.empty-illustration{text-align:center;padding:40px 20px;}
.empty-illustration .empty-img{font-size:64px;margin-bottom:16px;opacity:.4;}
.empty-illustration .empty-msg{font-size:14px;color:var(--text-tertiary,#8E8E93);font-weight:500;}
.empty-illustration .empty-hint{font-size:12px;color:var(--text-tertiary,#8E8E93);opacity:.7;margin-top:8px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:767px){.form-row{grid-template-columns:1fr;}}
.form-section-title{font-size:12px;font-weight:700;color:var(--text-secondary,#3C3C43);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px;}
.switch{position:relative;width:44px;height:24px;cursor:pointer;}
.switch input{opacity:0;width:0;height:0;}
.switch .slider{position:absolute;inset:0;background:#ccc;border-radius:24px;transition:all .25s;}
.switch .slider::before{content:'';position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:all .25s;}
.switch input:checked+.slider{background:var(--primary,#007AFF);}
.switch input:checked+.slider::before{transform:translateX(20px);}
.tooltip-wrap{position:relative;}
.tooltip-wrap .tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);padding:6px 12px;background:#1C1C1E;color:#fff;border-radius:8px;font-size:11px;font-weight:500;white-space:nowrap;z-index:100;}
.tooltip-wrap:hover .tooltip{display:block;}
.skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px;}
@keyframes shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.skeleton-text{height:14px;margin-bottom:8px;}
.skeleton-title{height:20px;width:60%;margin-bottom:12px;}
.skeleton-box{height:120px;}
.stepper{display:flex;align-items:center;gap:4px;}
.stepper button{width:32px;height:32px;border-radius:8px;border:1px solid var(--border-color,rgba(60,60,67,.12));background:var(--bg-secondary,#fff);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-secondary,#3C3C43);cursor:pointer;transition:all .15s;}
.stepper button:hover{background:var(--bg-tertiary,#F9F9F9);}
.stepper .stepper-value{width:40px;text-align:center;font-size:15px;font-weight:700;color:var(--text-primary,#1C1C1E);}
.eval-category-card{background:var(--bg-card,rgba(255,255,255,.72));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:0.5px solid var(--border-color,rgba(60,60,67,.06));border-radius:16px;padding:16px;margin-bottom:12px;}
.eval-category-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.eval-category-title{font-size:14px;font-weight:700;color:var(--text-primary,#1C1C1E);display:flex;align-items:center;gap:6px;}
.eval-category-badge{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;}
@media(max-width:767px){
.hide-mobile{display:none!important;}
.eval-item{padding:10px 12px;}
.score-card{padding:12px;}
}
@media(min-width:1024px){
.hide-desktop{display:none!important;}
}
.command-screen{position:fixed;inset:0;background:linear-gradient(135deg,#0a0e27 0%,#1a1e3e 50%,#0a0e27 100%);color:#e2e8f0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;overflow:hidden;z-index:10000;display:flex;flex-direction:column;}
body.display-mode{overflow:hidden;}
body.display-mode .sidebar,body.display-mode nav,body.display-mode .topbar,body.display-mode header{display:none!important;}
.cs-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.08);}
.cs-title{font-size:22px;font-weight:900;letter-spacing:1px;}
.cs-time{font-size:18px;font-weight:700;font-family:monospace;color:rgba(255,255,255,.7);}
.cs-header-title{font-size:22px;font-weight:900;}
.cs-header-sub{font-size:14px;color:rgba(255,255,255,.5);margin-top:4px;}
.cs-kpi-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:16px 24px;}
.cs-kpi-item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px 10px;text-align:center;transition:all .3s;}
.cs-kpi-item:hover{background:rgba(255,255,255,.08);transform:translateY(-2px);}
.cs-kpi-icon{font-size:24px;margin-bottom:6px;}
.cs-kpi-value{font-size:28px;font-weight:900;line-height:1.2;}
.cs-kpi-label{font-size:12px;color:rgba(255,255,255,.5);margin-top:4px;}
.cs-body{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:16px;padding:0 24px;flex:1;overflow:hidden;min-height:0;}
.cs-left,.cs-center,.cs-right{display:flex;flex-direction:column;gap:12px;overflow-y:auto;overflow-x:hidden;min-height:0;width:auto;min-width:0;}
.cs-panel{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px;flex-shrink:0;}
.cs-panel-title{font-size:14px;font-weight:700;color:rgba(255,255,255,.9);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1);}
.cs-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;}
.cs-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.cs-att-row{display:flex;align-items:center;gap:6px;padding:5px 0;}
.cs-class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;overflow-y:auto;flex:1;}
.cs-class-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px;text-align:center;cursor:pointer;transition:all .3s;}
.cs-class-card:hover{background:rgba(255,255,255,.1);transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.3);}
.cs-class-name{font-size:14px;font-weight:700;color:rgba(255,255,255,.9);margin-bottom:6px;}
.cs-class-score{font-size:32px;font-weight:900;line-height:1.2;}
.cs-event-stream{position:fixed;left:0;bottom:0;width:320px;height:auto;min-height:0;max-height:160px;overflow:hidden;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);border-radius:0 12px 0 0;padding:10px 14px;z-index:10001;}
body.cs-ppt-on .cs-event-stream{bottom:56px;}
.cs-event-item{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:12px;color:rgba(255,255,255,.7);animation:csFadeIn .3s ease-out;}
.cs-log-time{color:#34C759;font-family:monospace;font-size:11px;}
.cs-alert-popup{position:fixed;top:80px;left:50%;transform:translateX(-50%);z-index:10003;animation:csSlideDown .3s ease-out;}
.cs-exit{position:fixed;right:20px;bottom:20px;padding:10px 20px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:10px;color:rgba(255,255,255,.8);font-size:14px;cursor:pointer;z-index:10002;transition:all .2s;}
.cs-exit:hover{background:rgba(255,59,48,.3);border-color:#FF3B30;}
.cs-period-switch{display:inline-flex;gap:0;border:1px solid rgba(255,255,255,.18);border-radius:9px;overflow:hidden;background:rgba(255,255,255,.05);}
.cs-period-btn{padding:5px 14px;font-size:13px;font-weight:700;color:rgba(255,255,255,.6);background:transparent;border:0;cursor:pointer;transition:all .2s;}
.cs-period-btn:hover{color:#fff;background:rgba(255,255,255,.08);}
.cs-period-btn.active{background:rgba(127,216,255,.18);color:#7FD8FF;box-shadow:inset 0 0 0 1px rgba(127,216,255,.5);}
.cs-kpi-empty{background:rgba(255,255,255,.02);border-color:rgba(255,255,255,.06);}
.cs-kpi-empty .cs-kpi-value{font-size:20px;}
.cs-kpi-sub{display:block;font-size:10px;color:rgba(255,255,255,.38);margin-top:2px;font-weight:400;}
.cs-dim{opacity:.55;}
.cs-src{font-size:10px;color:rgba(255,255,255,.32);margin-top:8px;padding-top:6px;border-top:1px dashed rgba(255,255,255,.1);}
.cs-panel-matrix{flex:1;min-height:0;display:flex;flex-direction:column;}
.cs-uneval{background:rgba(148,163,184,.08)!important;border-style:dashed!important;}
.cs-badge-uneval{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:700;color:#94A3B8;background:rgba(148,163,184,.16);}
.cs-panel-loop{flex-shrink:0;}
.cs-flow{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;}
.cs-flow-cell{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:8px 6px;text-align:center;cursor:pointer;transition:all .2s;}
.cs-flow-cell:hover{background:rgba(255,255,255,.1);}
.cs-flow-cell span{display:block;font-size:10px;color:rgba(255,255,255,.45);margin-bottom:3px;}
.cs-flow-cell b{font-size:16px;font-weight:900;color:#e2e8f0;}
.cs-flow-cell b i{font-style:normal;font-size:10px;font-weight:400;color:rgba(255,255,255,.38);}
.cs-flow-cell.stuck{background:rgba(255,149,0,.14);border-color:rgba(255,149,0,.4);}
.cs-flow-cell.stuck b{color:#FF9500;animation:csPulse 1.6s infinite;}
.cs-flow-cell.empty{background:rgba(255,255,255,.02);border-color:rgba(255,255,255,.06);}
.cs-flow-cell.empty b{color:#94A3B8;font-size:13px;}
.cs-todo{cursor:pointer;border-radius:8px;padding:6px 8px;margin:0 -8px;transition:background .15s;}
.cs-todo:hover{background:rgba(255,255,255,.07);}
.cs-day-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:0.5px solid rgba(255,255,255,.05);}
.cs-day-row:last-of-type{border-bottom:none;}
@keyframes csPulse{0%,100%{opacity:1;}50%{opacity:.4;}}
@keyframes csFadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
@keyframes csSlideDown{from{opacity:0;transform:translateX(-50%) translateY(-20px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}
@media(max-width:1200px){
.cs-kpi-bar{grid-template-columns:repeat(4,1fr);}
.cs-body{grid-template-columns:1fr 1fr;}
.cs-right{grid-column:span 2;}
}
@media(max-width:768px){
.cs-kpi-bar{grid-template-columns:repeat(2,1fr);}
.cs-body{grid-template-columns:1fr;}
.cs-right{grid-column:auto;}
}
