.panel{position:relative;background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.panel-header{position:relative;padding:8px 12px;background:linear-gradient(90deg,#00c8ff1f,#00c8ff08);border-bottom:1px solid var(--border-color)}.panel-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-primary);text-shadow:0 0 10px rgba(0,200,255,.4)}.panel-icon{font-size:14px}.panel-corner{position:absolute;width:10px;height:10px;border-color:var(--accent-blue);border-style:solid;border-width:0}.panel-corner.tl{top:0;left:0;border-top-width:2px;border-left-width:2px}.panel-corner.tr{top:0;right:0;border-top-width:2px;border-right-width:2px}.panel-corner.bl{bottom:0;left:0;border-bottom-width:2px;border-left-width:2px}.panel-corner.br{bottom:0;right:0;border-bottom-width:2px;border-right-width:2px}.panel-content{padding:12px}.panel-scanline{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-blue),transparent);animation:scanline 3s linear infinite;opacity:.4}@keyframes scanline{0%{top:0;opacity:.4}50%{opacity:.15}to{top:100%;opacity:.4}}.chart-container{width:100%;min-height:120px}.stat-card{position:relative;padding:12px;border-radius:8px;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,200,255,.2);transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);border-color:#00c8ff80;box-shadow:0 0 20px #00c8ff33}.stat-card-inner{position:relative;z-index:2;display:flex;align-items:flex-start;gap:10px}.stat-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#00c8ff26;border-radius:8px;font-size:18px;flex-shrink:0}.stat-content{flex:1;min-width:0}.stat-title{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-value-row{display:flex;align-items:baseline;gap:2px}.stat-value{font-size:20px;font-weight:700;color:var(--text-primary);line-height:1.2}.stat-suffix{font-size:11px;color:var(--text-secondary)}.stat-trend{display:inline-flex;align-items:center;gap:2px;margin-top:4px;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:500}.stat-trend.up{background:#00ff8826;color:var(--accent-green)}.stat-trend.down{background:#ef444426;color:#ef4444}.stat-card-border{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-blue),transparent);opacity:.6}.stat-glow{position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(0,200,255,.1) 0%,transparent 70%);pointer-events:none}.enterprise-panel{display:flex;flex-direction:column;gap:12px;height:100%}.enterprise-panel.compact .panel-content{padding:12px}.progress-ring-container{position:relative;display:flex;justify-content:center;align-items:center;padding:5px 0}.progress-center-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:10}.progress-value{display:block;font-size:20px;font-weight:700;color:#0f8;text-shadow:0 0 15px rgba(0,255,136,.5)}.progress-label{font-size:10px;color:var(--text-secondary)}.progress-legend{display:flex;justify-content:center;gap:12px;margin-top:4px}.progress-legend.compact{gap:8px}.legend-item{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-secondary)}.dot{width:6px;height:6px;border-radius:50%}.dot.green{background:#0f8}.dot.blue{background:#00c8ff}.dot.red{background:#ef4444}.distribution-bar{display:flex;flex-direction:column;gap:10px}.distribution-bar.compact .distribution-item{gap:8px}.distribution-item{display:flex;align-items:center;gap:10px}.distribution-label{width:35px;font-size:11px;color:var(--text-secondary)}.distribution-track{flex:1;height:12px;background:#00c8ff1a;border-radius:6px;overflow:hidden}.distribution-fill{height:100%;border-radius:6px;transition:width 1s ease-out}.distribution-fill.school{background:linear-gradient(90deg,#00c8ff,#0f8);box-shadow:0 0 10px #00c8ff66}.distribution-fill.company{background:linear-gradient(90deg,#ff9500,#ec4899);box-shadow:0 0 10px #ff950066}.distribution-value{width:40px;text-align:right;font-size:12px;font-weight:600;color:var(--text-primary)}.task-summary{display:flex;justify-content:space-around;margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,200,255,.1)}.summary-row{display:flex;flex-direction:column;align-items:center}.summary-row .summary-label{font-size:10px;color:var(--text-secondary)}.summary-row .summary-value{font-size:16px;font-weight:700}.summary-value.green{color:#0f8}.summary-value.blue{color:#00c8ff}.school-panel{display:flex;flex-direction:column;gap:12px}.school-panel.compact .panel-content{padding:12px}.charts-row-2col{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.guidance-stats{display:flex;justify-content:space-around;margin-top:4px}.guidance-stats.compact{margin-top:6px}.guidance-stat{text-align:center}.guidance-value{display:block;font-size:16px;font-weight:700;color:var(--accent-blue)}.guidance-label{font-size:9px;color:var(--text-secondary)}.quality-indicators{display:flex;justify-content:center;gap:50px}.quality-indicators.compact{gap:40px}.quality-item{display:flex;flex-direction:column;align-items:center;gap:8px}.quality-circle{position:relative;width:100px;height:100px}.quality-circle.small{width:80px;height:80px}.quality-circle svg{transform:rotate(-90deg);width:100%;height:100%}.quality-bg{fill:none;stroke:#00c8ff1a;stroke-width:6}.quality-progress{fill:none;stroke:#00c8ff;stroke-width:6;stroke-linecap:round;transition:stroke-dasharray 1.5s ease-out}.quality-progress.green{stroke:#0f8}.quality-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:18px;font-weight:700;color:var(--text-primary)}.quality-circle.small .quality-value{font-size:15px}.quality-label{font-size:11px;color:var(--text-secondary)}.result-panel{display:flex;flex-direction:column;gap:12px}.result-panel.compact .panel-content{padding:12px}.stats-grid-2x2,.charts-row-2col{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.chart-panel{height:auto}.chart-panel .panel-content{padding:10px}.effectiveness-bar{display:flex;flex-direction:column;gap:8px}.effectiveness-bar.compact{gap:6px}.bar-item{animation:fadeSlideIn .5s ease-out both}.bar-header{display:flex;justify-content:space-between;margin-bottom:3px}.bar-label{font-size:10px;color:var(--text-secondary)}.bar-value{font-size:11px;font-weight:600}.bar-track{height:6px;background:#00c8ff1a;border-radius:3px;overflow:hidden}.bar-fill{height:100%;border-radius:3px;transition:width 1s ease-out}@keyframes fadeSlideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.evaluation-summary{display:flex;justify-content:center;align-items:center;gap:30px;margin-top:6px}.evaluation-summary.compact{gap:20px}.summary-item{text-align:center}.summary-label{display:block;font-size:10px;color:var(--text-secondary)}.summary-value{font-size:22px;font-weight:700}.summary-item.teacher .summary-value{color:var(--accent-blue)}.summary-item.company .summary-value{color:var(--accent-green)}.summary-divider{width:1px;height:30px;background:var(--border-color)}.employment-quality{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.employment-quality.compact{margin-bottom:8px}.quality-card{display:flex;align-items:center;gap:10px}.quality-icon{font-size:24px}.quality-info{display:flex;flex-direction:column}.quality-info .quality-label{font-size:10px;color:var(--text-secondary)}.quality-info .quality-value{font-size:18px;font-weight:700;color:var(--accent-green)}.quality-trend{text-align:right}.trend-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600}.trend-badge.up{background:#00ff8826;color:var(--accent-green)}.salary-distribution{display:flex;height:24px;border-radius:4px;overflow:hidden}.salary-distribution.compact{height:20px}.salary-bar{display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;color:#fff;transition:flex-basis .5s ease-out}.salary-bar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard{position:relative;min-height:100vh;display:flex;flex-direction:column;overflow:hidden}.header{position:relative;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:80px;background:linear-gradient(180deg,#111638fa,#111638e6);border-bottom:2px solid var(--border-color);box-shadow:0 4px 30px #0000004d}.header-left{display:flex;align-items:center;gap:16px}.decoration-line{width:4px;height:40px;background:linear-gradient(180deg,var(--accent-blue),var(--accent-green));border-radius:2px;box-shadow:0 0 15px #00c8ff80}.logo{display:flex;align-items:center;gap:12px}.logo-icon{font-size:36px;filter:drop-shadow(0 0 15px rgba(0,200,255,.6));animation:pulse 2s ease-in-out infinite}.logo-text{font-size:26px;font-weight:700;color:var(--text-primary);text-shadow:0 0 30px rgba(0,200,255,.6);letter-spacing:3px}.header-center{display:flex;align-items:center;gap:24px;padding:8px 32px;background:#00c8ff0d;border:1px solid rgba(0,200,255,.2);border-radius:12px}.header-stat{display:flex;flex-direction:column;align-items:center;min-width:80px}.header-stat .stat-value{font-size:24px;font-weight:700;color:var(--accent-blue);text-shadow:0 0 15px rgba(0,200,255,.5)}.header-stat .stat-label{font-size:11px;color:var(--text-secondary);margin-top:2px}.stat-divider{width:1px;height:30px;background:linear-gradient(180deg,transparent,var(--accent-blue),transparent)}.header-right{display:flex;align-items:center;gap:16px}.time-display{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.time-week{font-size:13px;color:var(--accent-green)}.time-date{font-size:12px;color:var(--text-secondary)}.time-clock{font-size:22px;font-weight:600;color:var(--accent-blue);font-variant-numeric:tabular-nums;text-shadow:0 0 15px rgba(0,200,255,.6)}.fullscreen-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#00c8ff1a;border:1px solid rgba(0,200,255,.3);border-radius:10px;color:var(--accent-blue);font-size:22px;cursor:pointer;transition:all .3s ease}.fullscreen-btn:hover{background:#00c8ff40;box-shadow:0 0 20px #00c8ff66;transform:scale(1.05)}.main-content{position:relative;z-index:10;flex:1;padding:16px 20px;overflow:hidden;display:flex;flex-direction:column}.content-layout{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;flex:1;min-height:0}.column{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding-right:4px;min-height:0;align-content:flex-start}.column>.panel{flex-shrink:0}.column>*:last-child{flex:1;min-height:0}.column::-webkit-scrollbar{width:4px}.column::-webkit-scrollbar-thumb{background:var(--accent-blue);border-radius:2px}.footer{position:relative;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:10px 24px;background:#111638f2;border-top:1px solid var(--border-color)}.footer-left,.footer-center,.footer-right{display:flex;align-items:center;gap:12px}.footer-center{position:absolute;left:50%;transform:translate(-50%)}.footer-item{font-size:12px;color:var(--text-secondary)}.footer-divider{color:var(--border-color)}.pulse-dot{color:var(--accent-green);animation:pulse 1.5s ease-in-out infinite}.floating-particles{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}.particle{position:absolute;bottom:-10px;width:4px;height:4px;background:var(--accent-blue);border-radius:50%;opacity:0;animation:floatParticle linear infinite}@keyframes floatParticle{0%{transform:translateY(0) scale(0);opacity:0}10%{opacity:.6}50%{opacity:.4}to{transform:translateY(-100vh) scale(1);opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@media (max-width: 1600px){.header-center{padding:6px 20px;gap:16px}.header-stat .stat-value{font-size:20px}.header-stat .stat-label{font-size:10px}}@media (max-width: 1400px){.content-layout{grid-template-columns:1fr 1fr}.column-right{grid-column:span 2;max-height:300px}.header-center{display:none}.logo-text{font-size:20px}}@media (max-width: 1024px){.content-layout{grid-template-columns:1fr}.column-right{grid-column:span 1}.header{padding:0 16px;height:70px}.logo-text{font-size:18px;letter-spacing:1px}.main-content{padding:12px}.footer{flex-direction:column;gap:8px;text-align:center}.footer-left,.footer-center,.footer-right{justify-content:center}.footer-center{position:static;transform:none}}:root{--bg-primary: #0a0e27;--bg-secondary: #111638;--bg-card: rgba(17, 22, 56, .8);--border-color: rgba(0, 200, 255, .3);--text-primary: #e8f4f8;--text-secondary: #8ba4b4;--accent-blue: #00c8ff;--accent-green: #00ff88;--accent-orange: #ff9500;--accent-purple: #a855f7;--accent-pink: #ec4899;--glow-blue: 0 0 20px rgba(0, 200, 255, .5);--glow-green: 0 0 20px rgba(0, 255, 136, .5)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Microsoft YaHei,PingFang SC,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--accent-blue);border-radius:3px}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 20px #00c8ff4d}50%{box-shadow:0 0 40px #00c8ff99}}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}.particle-bg{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 20% 20%,rgba(0,200,255,.1) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(168,85,247,.1) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(0,255,136,.05) 0%,transparent 70%)}.grid-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;background-image:linear-gradient(rgba(0,200,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,200,255,.03) 1px,transparent 1px);background-size:50px 50px}
