@import url("https://api.fontshare.com/v2/css?f[]=general-sans@300,400,500,600,700&display=swap");:root{--bg-dark:#08080a;--card-bg:#121216;--card-hover-bg:#18181f;--card-inner-bg:#1a1a22;--pill-bg:#202028;--pill-hover-bg:#2a2a34;--pill-active-bg:#ffffff;--pill-active-text:#000000;--text-primary:#ffffff;--text-secondary:#9ea0aa;--text-muted:#626470;--text-dark:#000000;--font-general-sans:"General Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--card-radius:20px;--item-radius:14px}*,:after,:before{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body,html{min-height:100vh;min-height:100dvh;font-family:var(--font-general-sans);background-color:var(--bg-dark);background-image:radial-gradient(circle at 50% 0,#15151b 0,#08080a 60%,#030304 100%);background-attachment:fixed;color:var(--text-primary);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bg-wrapper{position:fixed;inset:0;overflow:hidden;z-index:0;pointer-events:none}.ambient-orb{position:absolute;border-radius:50%;filter:blur(120px);pointer-events:none}.orb-1{width:500px;height:500px;background:rgba(255,255,255,.035);top:-120px;right:15%}.orb-2{width:450px;height:450px;background:rgba(255,255,255,.025);bottom:10%;left:10%}.dashboard-layout{position:relative;z-index:1;width:100%;max-width:1280px;margin:0 auto;padding:32px 24px 64px;display:flex;flex-direction:column;gap:24px}@media (max-width:768px){.dashboard-layout{padding:16px 14px 40px;gap:18px}}.dash-header{display:flex;flex-direction:column;gap:16px;background:var(--card-bg);border:none;border-radius:var(--card-radius);padding:24px 28px;box-shadow:0 20px 50px rgba(0,0,0,.6)}.dash-header-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}.brand-badge-group{display:flex;align-items:center;gap:10px}.badge-tag{letter-spacing:.04em;text-transform:uppercase;color:#ffffff;background:rgba(255,255,255,.08)}.badge-tag,.live-badge{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:500;border:none;padding:5px 12px;border-radius:9999px}.live-badge{color:var(--text-secondary);background:rgba(255,255,255,.05)}.live-dot{width:7px;height:7px;border-radius:50%;background-color:#22c55e;box-shadow:0 0 8px #22c55e;animation:pulseLive 2s ease-in-out infinite}@keyframes pulseLive{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.7}}.dash-title-row{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px}.dash-title{font-size:1.85rem;font-weight:700;letter-spacing:-.03em;color:var(--text-primary);line-height:1.15}.dash-subtitle{font-size:.88rem;color:var(--text-secondary);margin-top:4px}.dash-actions-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.action-btn{display:inline-flex;align-items:center;gap:6px;background:var(--pill-bg);border:none;border-radius:var(--item-radius);color:var(--text-secondary);font-family:inherit;font-size:.82rem;font-weight:500;padding:9px 15px;cursor:pointer;transition:all .2s ease;outline:none}.action-btn:hover:not(:disabled){background:var(--pill-hover-bg);color:var(--text-primary);transform:translateY(-1px)}.action-btn:active:not(:disabled){transform:scale(.97)}.action-btn:disabled{opacity:.4;cursor:not-allowed}.action-btn.primary{background:#ffffff;color:#000000;font-weight:600}.action-btn.primary:hover:not(:disabled){background:#e8e8ed;box-shadow:0 4px 18px rgba(255,255,255,.25)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}@media (max-width:860px){.stats-grid{grid-template-columns:1fr;gap:14px}}.stat-card{background:var(--card-bg);border:none;border-radius:var(--card-radius);padding:22px 20px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;transition:all .25s ease;position:relative;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.4)}.stat-card:hover{background:var(--card-hover-bg);transform:translateY(-2px);box-shadow:0 16px 36px rgba(0,0,0,.6)}.stat-top-row{display:flex;justify-content:space-between;align-items:center}.stat-title{font-size:.78rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.stat-icon-wrapper{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.06);border:none;display:flex;align-items:center;justify-content:center;color:#ffffff}.stat-value-group{display:flex;flex-direction:column;gap:4px}.stat-value{font-size:2.15rem;font-weight:700;letter-spacing:-.04em;color:#ffffff;line-height:1}.stat-subtext{font-size:.78rem;color:var(--text-secondary)}.stat-meter{width:100%;height:4px;background:rgba(255,255,255,.08);border-radius:9999px;overflow:hidden;margin-top:6px}.stat-meter-fill{height:100%;background:#ffffff;border-radius:9999px;transition:width .8s cubic-bezier(.16,1,.3,1)}.charts-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}@media (max-width:1024px){.charts-grid{grid-template-columns:1fr}}.glass-panel{background:var(--card-bg);border:none;border-radius:var(--card-radius);padding:22px;display:flex;flex-direction:column;gap:18px;box-shadow:0 12px 30px rgba(0,0,0,.4)}.panel-header{display:flex;justify-content:space-between;align-items:center}.panel-title-group{display:flex;flex-direction:column;gap:2px}.panel-title{font-size:1.05rem;font-weight:600;letter-spacing:-.015em;color:#ffffff}.panel-subtitle{font-size:.78rem;color:var(--text-muted)}.sentiment-rows{gap:10px}.sentiment-item,.sentiment-rows{display:flex;flex-direction:column}.sentiment-item{gap:6px;background:var(--card-inner-bg);border:none;border-radius:var(--item-radius);padding:11px 14px;transition:all .2s ease;cursor:pointer}.sentiment-item:hover{background:var(--pill-hover-bg);transform:translateY(-1px)}.sentiment-item.active{background:rgba(255,255,255,.12)}.sentiment-header{display:flex;justify-content:space-between;align-items:center;font-size:.83rem}.sentiment-label-group{display:flex;align-items:center;gap:8px;color:var(--text-primary);font-weight:500}.sentiment-val-group{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-secondary)}.sentiment-bar-track{width:100%;height:5px;background:rgba(255,255,255,.08);border-radius:9999px;overflow:hidden}.sentiment-bar-fill{height:100%;background:#ffffff;border-radius:9999px;transition:width .7s cubic-bezier(.16,1,.3,1)}.confidence-buckets-list{display:flex;flex-direction:column;gap:12px}.bucket-row{display:flex;flex-direction:column;gap:6px}.bucket-header{display:flex;justify-content:space-between;align-items:baseline;font-size:.82rem}.bucket-label{color:var(--text-primary);font-weight:500}.bucket-range{font-size:.72rem;color:var(--text-muted);margin-left:6px}.bucket-meta{color:var(--text-secondary);font-weight:600;font-size:.8rem}.bucket-bar-track{width:100%;height:6px;background:rgba(255,255,255,.08);border-radius:9999px;overflow:hidden}.bucket-bar-fill{height:100%;border-radius:9999px;background:#ffffff;transition:width .7s cubic-bezier(.16,1,.3,1)}.highlights-list{display:flex;flex-direction:column;gap:10px}.highlight-rank-item{display:flex;flex-direction:column;gap:6px;background:var(--card-inner-bg);border:none;border-radius:var(--item-radius);padding:11px 14px;transition:all .2s ease;cursor:pointer}.highlight-rank-item:hover{background:var(--pill-hover-bg);transform:translateY(-1px)}.highlight-rank-header{display:flex;justify-content:space-between;align-items:center;font-size:.82rem}.highlight-name{font-weight:500;color:var(--text-primary)}.highlight-count-badge{font-size:.75rem;color:#ffffff;background:rgba(255,255,255,.08);padding:2px 8px;border-radius:6px;font-weight:600}.highlight-track{width:100%;height:5px;background:rgba(255,255,255,.08);border-radius:9999px;overflow:hidden}.highlight-fill{height:100%;background:#ffffff;border-radius:9999px;transition:width .7s cubic-bezier(.16,1,.3,1)}.explorer-section{display:flex;flex-direction:column;gap:16px}.explorer-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.explorer-title{font-size:1.3rem;font-weight:600;letter-spacing:-.02em;color:#ffffff;display:flex;align-items:center;gap:10px}.items-count-badge{font-size:.78rem;color:var(--text-secondary);background:rgba(255,255,255,.08);border:none;padding:2px 8px;border-radius:9999px;font-weight:500}.toolbar-container{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:var(--card-bg);border:none;border-radius:var(--card-radius);padding:14px 18px;box-shadow:0 12px 30px rgba(0,0,0,.4)}.search-input-wrapper{position:relative;display:flex;align-items:center;min-width:260px;flex:1 1}.search-icon{position:absolute;left:12px;color:var(--text-muted);pointer-events:none}.search-input{width:100%;height:40px;background:var(--card-inner-bg);border:none;border-radius:var(--item-radius);padding:0 12px 0 36px;font-family:inherit;font-size:.85rem;color:var(--text-primary);outline:none;transition:all .2s ease}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{background:var(--pill-bg);box-shadow:0 0 0 2px rgba(255,255,255,.15)}.filters-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filter-select{height:40px;background:var(--card-inner-bg);border:none;border-radius:var(--item-radius);padding:0 32px 0 14px;font-family:inherit;font-size:.82rem;color:var(--text-primary);outline:none;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:14px;transition:all .2s ease}.filter-select option{background:#111114;color:#ffffff}.filter-select:hover{background-color:var(--pill-bg)}.view-mode-toggle{display:flex;background:var(--card-inner-bg);border:none;border-radius:var(--item-radius);padding:3px}.view-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.view-btn.active{background:#ffffff;color:#000000}.feedback-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}@media (max-width:1100px){.feedback-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:680px){.feedback-grid{grid-template-columns:1fr}}.feedback-card-item{background:var(--card-bg);border:none;border-radius:var(--card-radius);padding:20px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;transition:all .25s ease;position:relative;box-shadow:0 12px 30px rgba(0,0,0,.4)}.feedback-card-item:hover{background:var(--card-hover-bg);transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,0,0,.65)}.card-student-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.student-info-group{display:flex;align-items:center;gap:12px}.student-avatar{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.08);border:none;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:600;color:#ffffff;flex-shrink:0}.student-name-reg{display:flex;flex-direction:column;gap:2px}.student-name{font-size:.95rem;font-weight:600;color:#ffffff;letter-spacing:-.01em}.student-reg{font-size:.72rem;font-weight:500;color:var(--text-muted);letter-spacing:.02em}.mood-badge{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:9999px;border:none;background:rgba(255,255,255,.08);color:#ffffff}.mood-badge.excited{background:rgba(255,255,255,.16)}.card-confidence-row{display:flex;flex-direction:column;gap:6px;background:var(--card-inner-bg);border:none;border-radius:var(--item-radius);padding:10px 12px}.confidence-row-top{display:flex;justify-content:space-between;align-items:baseline;font-size:.75rem}.conf-label{color:var(--text-muted)}.conf-score{font-weight:600;color:#ffffff}.conf-bar{width:100%;height:4px;background:rgba(255,255,255,.08);border-radius:9999px;overflow:hidden}.conf-bar-fill{height:100%;background:#ffffff;border-radius:9999px}.card-chips{display:flex;flex-wrap:wrap;gap:6px}.card-chip{font-size:.72rem;background:rgba(255,255,255,.06);border:none;padding:4px 9px;border-radius:8px}.card-chip,.card-comment{color:var(--text-secondary)}.card-comment{font-size:.84rem;line-height:1.45;background:var(--card-inner-bg);border-left:2px solid rgba(255,255,255,.3);padding:8px 12px;border-radius:0 8px 8px 0;font-style:italic;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid rgba(255,255,255,.05);font-size:.72rem;color:var(--text-muted)}.detail-link-btn{background:none;border:none;color:#ffffff;font-family:inherit;font-size:.75rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;transition:all .2s ease}.detail-link-btn:hover{background:rgba(255,255,255,.1)}.table-container{width:100%;overflow-x:auto;background:var(--card-bg);border:none;border-radius:var(--card-radius);box-shadow:0 16px 40px rgba(0,0,0,.5)}.glass-table{width:100%;border-collapse:collapse;text-align:left;font-size:.84rem}.glass-table th{background:rgba(255,255,255,.03);color:var(--text-muted);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.06)}.glass-table td{padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.03);color:var(--text-secondary)}.glass-table tr:last-child td{border-bottom:none}.glass-table tr:hover td{background:rgba(255,255,255,.025)}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}.modal-content{background:#121217;border:none;border-radius:24px;width:100%;max-width:540px;padding:28px;display:flex;flex-direction:column;gap:20px;box-shadow:0 30px 80px rgba(0,0,0,.95);animation:modalPop .3s cubic-bezier(.16,1,.3,1)}@keyframes modalPop{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-close-btn{background:rgba(255,255,255,.08);border:none;width:32px;height:32px;border-radius:50%;color:#ffffff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.modal-close-btn:hover{background:rgba(255,255,255,.2)}.empty-state{text-align:center;padding:64px 20px;background:var(--card-bg);border:none;border-radius:var(--card-radius);flex-direction:column;gap:12px}.empty-icon,.empty-state{display:flex;align-items:center;color:var(--text-muted)}.empty-icon{width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.05);justify-content:center}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.2);border-top-color:#ffffff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shine{0%{background-position:100%}to{background-position:-100%}}.animate-shine{animation:shine 4s linear infinite}