@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#0f172a;background-color:transparent;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#0f172a;background-color:transparent}a:hover{color:#4f46e5}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(135deg,#f8fafc,#e0e7ff);min-height:100vh;margin:0;padding:0;color:#0f172a;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:block;width:100%}.app{width:100%;min-height:100vh;padding:0;margin:0;overflow-x:hidden}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes countUp{0%{opacity:0}to{opacity:1}}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:#4f46e5;background:#f8fafc}.spinner{width:48px;height:48px;border:3px solid #e0e7ff;border-top-color:#4f46e5;border-radius:50%;animation:spin .8s linear infinite}.loading-screen p{margin-top:20px;font-size:.95em;color:#64748b;font-weight:500}.header{background:linear-gradient(135deg,#4f46e5,#6366f1);padding:40px 48px 32px;box-shadow:0 1px 3px #00000014;position:relative;overflow:hidden}.header:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="40" height="40" patternUnits="userSpaceOnUse"><path d="M 40 0 L 0 0 0 40" fill="none" stroke="rgba(255,255,255,0.05)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');opacity:.5}.header-content{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;max-width:1600px;margin:0 auto;padding-left:40px;padding-right:40px}.header-left h1{color:#fff;font-size:2em;margin-bottom:8px;font-weight:700;display:flex;align-items:center;gap:12px;letter-spacing:-.02em}.header-left p{color:#ffffffd9;font-size:.95em;font-weight:400;margin-bottom:24px}.header-actions{display:flex;gap:12px;align-items:center}.date-selector{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);padding:10px 16px;border-radius:10px;color:#fff;font-size:.9em;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:Inter,sans-serif}.date-selector:hover{background:#ffffff40}.export-btn{background:#fff;color:#4f46e5;border:none;padding:10px 20px;border-radius:10px;font-size:.9em;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;gap:8px}.export-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;padding:32px 40px;max-width:1600px;margin:0 auto;animation:fadeIn .5s ease}.stat-card{background:#fff;padding:24px;border-radius:16px;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;transition:all .3s ease;border:1px solid rgba(0,0,0,.04);position:relative;overflow:visible}.stat-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#4f46e5,#6366f1);opacity:0;transition:opacity .3s ease}.stat-card:hover{box-shadow:0 8px 24px #4f46e51f,0 2px 8px #0000000a;transform:translateY(-4px);border-color:#4f46e526}.stat-card:hover:before{opacity:1}.stat-card-inner{display:flex;align-items:flex-start;justify-content:space-between}.stat-content{flex:1}.stat-content h3{color:#64748b;font-size:.8em;text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px;font-weight:600}.stat-content .value{color:#0f172a;font-size:2.25em;font-weight:700;margin-bottom:8px;letter-spacing:-.02em;animation:countUp .6s ease}.stat-content .trend{font-size:.85em;color:#14b8a6;display:flex;align-items:center;gap:4px;font-weight:500}.stat-content .trend.up{color:#14b8a6}.stat-content .trend.down{color:#ef4444}.stat-content .trend i{font-size:.9em}.charts-section{display:grid;grid-template-columns:1fr 1.5fr;gap:24px;padding:0 40px 32px;max-width:1600px;margin:0 auto;animation:fadeIn .6s ease .1s both;overflow:hidden}.chart-card{background:#fff;padding:28px;border-radius:16px;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;border:1px solid rgba(0,0,0,.04);transition:all .3s ease;overflow:hidden;min-width:0}.chart-card:hover{box-shadow:0 4px 12px #00000014}.chart-card h3{color:#0f172a;margin-bottom:20px;font-size:1.1em;font-weight:600;display:flex;align-items:center;gap:8px;letter-spacing:-.01em}.chart-insight{margin-top:20px;padding:16px;background:linear-gradient(135deg,#f0f9ff,#f8fafc);border-radius:12px;border-left:3px solid #4f46e5}.chart-insight p{font-size:.9em;color:#475569;line-height:1.6;margin:0}.insights-section{padding:0 40px 32px;max-width:1600px;margin:0 auto;animation:fadeIn .7s ease .2s both}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.insight-card{background:#fff;padding:20px 24px;border-radius:14px;box-shadow:0 1px 3px #0000000f;border:1px solid rgba(0,0,0,.04);border-left:4px solid #4f46e5;transition:all .3s ease}.insight-card.warning{border-left-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fff)}.insight-card.critical{border-left-color:#ef4444;background:linear-gradient(135deg,#fef2f2,#fff)}.insight-card:hover{transform:translate(4px);box-shadow:0 4px 12px #00000014}.insight-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.insight-icon{font-size:1.3em}.insight-header h4{font-size:.95em;font-weight:600;color:#0f172a;margin:0}.insight-card p{font-size:.9em;color:#64748b;line-height:1.6;margin:0}.insight-value{display:inline-block;background:#4f46e5;color:#fff;padding:2px 8px;border-radius:6px;font-weight:600;font-size:.95em}.filters-section{background:#fff;padding:20px 40px;border-top:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06);max-width:1600px;margin:0 auto}.filters-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.filters-header h2{color:#0f172a;margin:0;font-size:1.1em;font-weight:600;display:flex;align-items:center;gap:8px}.filters-toggle{color:#64748b;font-size:1.2em;transition:transform .3s ease}.filters-toggle.open{transform:rotate(180deg)}.filters-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.filters-content.open{max-height:200px;margin-top:20px}.filter-group{display:grid;grid-template-columns:2fr 1.5fr 1.5fr auto auto;gap:12px;align-items:center}.filter-group input,.filter-group select{padding:11px 14px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:.9em;transition:all .2s ease;font-family:Inter,sans-serif;background:#fff;color:#0f172a}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.filter-group input::placeholder{color:#94a3b8}.btn-primary,.btn-secondary{padding:11px 22px;border:none;border-radius:10px;font-size:.9em;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Inter,sans-serif}.btn-primary{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;box-shadow:0 2px 8px #4f46e533}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.btn-secondary{background:transparent;color:#64748b;border:1.5px solid #e2e8f0}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.table-section{background:#fff;padding:32px 40px;max-width:1600px;margin:0 auto;animation:fadeIn .8s ease .3s both}.table-section h2{color:#0f172a;margin-bottom:24px;font-size:1.25em;font-weight:600;letter-spacing:-.01em}.table-wrapper{overflow-x:auto;border-radius:12px;border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 3px #0000000a}table{width:100%;border-collapse:collapse;margin-bottom:0}thead{background:#f8fafc;position:sticky;top:0;z-index:10}th{padding:14px 16px;text-align:left;color:#64748b;font-weight:600;text-transform:uppercase;font-size:.75em;letter-spacing:.6px;border-bottom:1px solid #e2e8f0}td{padding:16px;color:#334155;font-size:.9em;border-bottom:1px solid #f1f5f9}tbody tr{transition:all .15s ease;cursor:pointer;background:#fff}tbody tr:hover{background:#f8fafc}tbody tr:nth-child(2n){background:#fafbfc}tbody tr:nth-child(2n):hover{background:#f8fafc}.risk-badge{padding:5px 12px;border-radius:12px;font-size:.8em;font-weight:600;text-transform:capitalize;display:inline-block;letter-spacing:.3px}.risk-critical{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.risk-high{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.risk-moderate{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.risk-low-moderate{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.risk-low{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.confidence-bar{width:100px;height:6px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:4px}.confidence-fill{height:100%;background:linear-gradient(90deg,#4f46e5,#6366f1);transition:width .4s ease;border-radius:4px}.summary-cell{max-width:450px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:.9em}.pagination{display:flex;justify-content:center;gap:12px;align-items:center;margin-top:28px;padding-bottom:20px}.pagination span{color:#64748b;font-size:.9em;font-weight:500}.pagination button{padding:9px 18px;border:1.5px solid #e2e8f0;background:#fff;color:#4f46e5;border-radius:10px;cursor:pointer;font-weight:600;transition:all .2s ease;font-size:.9em;font-family:Inter,sans-serif}.pagination button:hover:not(:disabled){background:#4f46e5;color:#fff;border-color:#4f46e5;transform:translateY(-1px)}.pagination button:disabled{opacity:.4;cursor:not-allowed;color:#94a3b8}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:flex-end;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:0;width:600px;height:100%;overflow-y:auto;box-shadow:-4px 0 24px #0000001f;animation:slideInRight .3s ease}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:28px 32px;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fff;z-index:1}.modal-header h2{color:#0f172a;margin:0;font-size:1.3em;font-weight:600;letter-spacing:-.01em}.close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:24px;font-weight:400;color:#64748b;cursor:pointer;transition:all .2s ease;background:transparent}.close:hover{background:#f1f5f9;color:#0f172a}.modal-body{padding:32px}.detail-section{margin-bottom:32px}.detail-section h3{color:#4f46e5;margin-bottom:14px;font-size:1.05em;font-weight:600;display:flex;align-items:center;gap:8px}.detail-section p,.detail-section ul{color:#64748b;line-height:1.7;font-size:.95em}.detail-section ul{list-style:none;padding-left:0}.detail-section ul li{padding:8px 0;border-bottom:1px solid #f1f5f9}.detail-section ul li:last-child{border-bottom:none}.email-box{background:#f8fafc;padding:16px;border-radius:12px;margin-bottom:12px;border-left:3px solid #4f46e5;transition:all .2s ease}.email-box:hover{background:#f1f5f9}.email-box strong{color:#0f172a;font-size:.9em;font-weight:600;display:block;margin-bottom:8px}.email-box p{color:#475569;font-size:.9em;line-height:1.6;margin:0}.text-muted{color:#94a3b8;text-align:center;font-size:.9em;margin-top:12px}.tags-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.category-tag{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;padding:7px 14px;border-radius:10px;font-size:.85em;font-weight:500;transition:all .2s ease;box-shadow:0 2px 6px #4f46e533}.category-tag:hover{transform:translateY(-2px);box-shadow:0 4px 10px #4f46e54d}.indicators-list{display:flex;flex-direction:column;gap:12px;margin-top:14px}.indicator-item{display:flex;gap:12px;align-items:flex-start;background:#fffbeb;padding:14px 16px;border-radius:10px;border-left:3px solid #f59e0b;transition:all .2s ease}.indicator-item:hover{background:#fef3c7}.indicator-number{background:#f59e0b;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85em;flex-shrink:0}.indicator-item p{margin:0;color:#78350f;line-height:1.6;font-size:.9em}.quotes-list{display:flex;flex-direction:column;gap:12px;margin-top:14px}.quote-item{background:#f8fafc;padding:14px 18px 14px 48px;border-radius:10px;border-left:3px solid #3b82f6;position:relative;transition:all .2s ease}.quote-item:hover{background:#f1f5f9}.quote-icon{position:absolute;top:12px;left:14px;font-size:1.8em;color:#3b82f6;opacity:.25;font-style:normal}.quote-item p{margin:0;color:#475569;line-height:1.6;font-style:italic;font-size:.9em}@media(max-width:1200px){.charts-section{grid-template-columns:1fr}}@media(max-width:768px){.header{padding:24px 20px}.stats-grid,.charts-section,.insights-section,.filters-section,.table-section{padding-left:20px;padding-right:20px}.charts-section,.filter-group{grid-template-columns:1fr}.modal-content{width:100%}.stat-card{padding:20px}.header-actions{flex-direction:column;width:100%}.export-btn,.date-selector{width:100%;justify-content:center}}.student-detail-page{min-height:100vh;background:#fff}.student-detail-header{background:linear-gradient(135deg,#4f46e5,#6366f1);padding:32px 40px;color:#fff}.back-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:10px 20px;border-radius:8px;font-size:.9em;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:20px;display:inline-flex;align-items:center;gap:8px;font-family:Inter,sans-serif}.back-btn:hover{background:#ffffff4d;transform:translate(-2px)}.student-detail-header h1{margin:0;font-size:2em;font-weight:700;letter-spacing:-.02em}.student-detail-content{max-width:1200px;margin:0 auto;padding:40px}.student-detail-content .detail-section{background:#fff;padding:28px;margin-bottom:24px;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.student-detail-content .detail-section h3{color:#0f172a;margin-bottom:20px;font-size:1.2em;font-weight:600;display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:2px solid #e2e8f0}.student-detail-content .detail-section p{color:#475569;line-height:1.8;font-size:.95em;margin-bottom:12px}.student-detail-content .detail-section p:last-child{margin-bottom:0}.student-detail-content .detail-section strong{color:#0f172a;font-weight:600;margin-right:8px}.intelligence-section{max-width:1600px;margin:0 auto 40px;padding:0 40px}.intelligence-section h2{font-size:1.5em;font-weight:700;color:#0f172a;margin-bottom:24px;letter-spacing:-.02em}.intelligence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.intel-card{background:#fff;padding:32px;border-radius:16px;border:2px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;transition:all .3s ease}.intel-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a}.intel-card.priority{border-color:#ef4444;background:linear-gradient(135deg,#fff,#fef2f2)}.intel-card.preventive{border-color:#f59e0b;background:linear-gradient(135deg,#fff,#fffbeb)}.intel-card h3{font-size:1.1em;font-weight:600;color:#0f172a;margin-bottom:16px}.intel-number{font-size:3em;font-weight:700;color:#4f46e5;margin:16px 0;line-height:1}.intel-card.priority .intel-number{color:#ef4444}.intel-card.preventive .intel-number{color:#f59e0b}.intel-card p{color:#64748b;margin-bottom:20px;font-size:.95em}.concerns-list{margin-top:20px;padding-top:20px;border-top:1px solid #e2e8f0}.concerns-list strong{display:block;margin-bottom:12px;color:#0f172a;font-size:.9em;font-weight:600}.concern-item{padding:8px 0;color:#475569;font-size:.9em;font-weight:500}.risk-details-section{max-width:1600px;margin:0 auto 40px;padding:0 40px}.risk-details-section h2{font-size:1.5em;font-weight:700;color:#0f172a;margin-bottom:24px;letter-spacing:-.02em}.risk-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.risk-detail-card{background:#fff;padding:24px;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.risk-detail-card h3{display:inline-block;margin-bottom:20px;font-size:.95em}.risk-metrics{display:flex;flex-direction:column;gap:14px}.metric{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f1f5f9}.metric:last-child{border-bottom:none}.metric-label{color:#64748b;font-size:.85em;font-weight:500}.metric-value{color:#0f172a;font-size:1em;font-weight:600}.markers-section,.prevalence-section{max-width:1600px;margin:0 auto 40px;padding:0 40px}.prevalence-section h2{font-size:1.5em;font-weight:700;color:#0f172a;margin-bottom:8px;letter-spacing:-.02em}.prevalence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px}.prevalence-card{background:#fff;padding:24px;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.prevalence-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #f1f5f9}.prevalence-header h3{margin:0;font-size:1em}.student-count{color:#64748b;font-size:.9em;font-weight:500}.prevalence-list{display:flex;flex-direction:column;gap:12px}.prevalence-list strong{display:block;color:#0f172a;font-size:.9em;margin-bottom:8px;font-weight:600}.prevalence-item{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 12px;background:#f8fafc;border-radius:6px;transition:all .2s ease}.prevalence-item:hover{background:#f1f5f9}.prevalence-category{flex:1;color:#475569;font-size:.85em;font-weight:500;line-height:1.4}.prevalence-stats{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:12px}.prevalence-percent{color:#0f172a;font-weight:700;font-size:.9em;min-width:45px;text-align:right}.prevalence-count{color:#94a3b8;font-size:.85em;font-weight:500}.markers-section{max-width:1600px;margin:0 auto 40px;padding:0 40px}.markers-section h2{font-size:1.5em;font-weight:700;color:#0f172a;margin-bottom:8px;letter-spacing:-.02em}.section-subtitle{color:#64748b;font-size:.95em;margin-bottom:24px}.markers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:20px}.marker-card{background:#fff;padding:24px;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;display:flex;gap:16px;transition:all .3s ease;position:relative;overflow:hidden}.marker-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001f;border-color:#cbd5e1}.marker-card:hover .marker-explanation{max-height:200px;opacity:1;margin-top:16px;padding-top:16px}.marker-rank{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2em;flex-shrink:0;box-shadow:0 2px 8px #4f46e54d}.marker-content{flex:1;min-width:0}.marker-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;gap:12px}.marker-category{font-weight:600;color:#0f172a;font-size:.95em;line-height:1.4;flex:1}.marker-diff{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#16a34a;padding:6px 14px;border-radius:8px;font-weight:700;font-size:.95em;flex-shrink:0;box-shadow:0 1px 3px #16a34a1a}.marker-bar-container{width:100%}.marker-bar{display:flex;height:40px;border-radius:10px;overflow:hidden;background:#f1f5f9;box-shadow:inset 0 1px 3px #00000014}.bar-segment{display:flex;align-items:center;justify-content:center;font-size:.8em;font-weight:600;color:#fff;transition:all .3s ease;position:relative}.bar-segment.high-risk{background:linear-gradient(90deg,#ef4444,#dc2626);box-shadow:inset 0 1px 2px #fff3}.bar-segment.other{background:linear-gradient(90deg,#94a3b8,#64748b)}.bar-label{white-space:nowrap;padding:0 12px;text-shadow:0 1px 2px rgba(0,0,0,.2);position:relative;transition:all .3s ease}.bar-label.outside{position:absolute;left:100%;padding-left:8px;color:#0f172a;text-shadow:none;font-weight:500}.bar-segment{position:relative}.marker-explanation{max-height:0;opacity:0;overflow:hidden;transition:all .4s ease;color:#64748b;font-size:.9em;line-height:1.6;border-top:1px solid #e2e8f0}.marker-explanation strong{color:#0f172a;font-weight:600}.marker-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#ef4444,#f59e0b,#10b981);opacity:0;transition:opacity .3s ease}.marker-card:hover:before{opacity:1}.markers-list{background:#fff;padding:32px;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.marker-item{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #f1f5f9}.marker-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.patterns-section{max-width:1600px;margin:0 auto 40px;padding:0 40px}.patterns-section h2{font-size:1.5em;font-weight:700;color:#0f172a;margin-bottom:8px;letter-spacing:-.02em}.patterns-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:16px}.pattern-card{background:#fff;padding:20px;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;display:flex;gap:16px;align-items:center;transition:all .2s ease}.pattern-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.pattern-number{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1em;flex-shrink:0}.pattern-content{flex:1}.pattern-categories{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.category-pill{background:#ede9fe;color:#5b21b6;padding:6px 12px;border-radius:6px;font-size:.85em;font-weight:500}.plus{color:#94a3b8;font-weight:600;font-size:1.1em}.pattern-stats{color:#64748b;font-size:.9em}.pattern-stats strong{color:#0f172a;font-weight:600}.attendance-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:20px;padding:16px;background:linear-gradient(135deg,#f0f9ff,#f3e8ff);border-radius:12px;border:1px solid rgba(99,102,241,.1)}.attendance-metric{text-align:center;padding:12px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d;transition:all .3s ease}.attendance-metric:hover{box-shadow:0 4px 12px #6366f126;transform:translateY(-2px)}.metric-value{font-size:1.5em;font-weight:700;color:#4f46e5;margin-bottom:4px}.metric-label{font-size:.85em;color:#64748b;font-weight:500}.attendance-dropdown{margin-top:16px;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.dropdown-toggle{width:100%;padding:12px 16px;background:#f8fafc;border:none;text-align:left;font-weight:500;color:#0f172a;cursor:pointer;font-size:.95em;transition:all .3s ease;display:flex;align-items:center;gap:8px}.dropdown-toggle:hover{background:#f1f5f9;color:#4f46e5}.attendance-records{padding:16px;background:#fff;border-top:1px solid #e2e8f0;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.attendance-table{width:100%;border-collapse:collapse;font-size:.9em}.attendance-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.attendance-table th{padding:10px;text-align:left;font-weight:600;color:#64748b;font-size:.85em;text-transform:uppercase;letter-spacing:.5px}.attendance-table td{padding:10px;border-bottom:1px solid #f1f5f9;color:#334155}.attendance-table tbody tr:hover{background:#f9fafb}.ratio-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-weight:600;font-size:.85em}.ratio-badge.high{background:#dcfce7;color:#166534}.ratio-badge.low{background:#fee2e2;color:#991b1b}.drift-analysis-section{border-left:4px solid #f59e0b}.section-header{display:flex;justify-content:space-between;align-items:center;width:100%}.drift-content{margin-top:1.5rem}.drift-risk-card{margin-bottom:1.5rem;padding:1.5rem;border-radius:8px;background:#f3f4f6}.drift-risk-badge{display:inline-block;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;font-size:.95rem}.drift-risk-badge.high-risk{background:#fee2e2;color:#991b1b;border:2px solid #dc2626}.drift-risk-badge.low-risk{background:#dcfce7;color:#166534;border:2px solid #16a34a}.drift-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1.5rem 0}.drift-metric-card{padding:1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;text-align:center;box-shadow:0 1px 3px #0000001a}.drift-metric-card .metric-header{font-size:.9rem;color:#6b7280;margin-bottom:.5rem;font-weight:500}.drift-metric-card .metric-value{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.drift-metric-card .metric-value.trend-down{color:#dc2626}.drift-metric-card .metric-value.trend-up{color:#16a34a}.drift-metric-card .metric-value.negative{color:#dc2626}.drift-metric-card .metric-value.positive{color:#16a34a}.drift-metric-card .metric-category{font-size:.85rem;color:#9ca3af;text-transform:capitalize;padding:.25rem .75rem;background:#f3f4f6;border-radius:4px;display:inline-block}.drift-metric-card .metric-label{font-size:.85rem;color:#6b7280}.drift-signals{display:flex;flex-direction:column;gap:.75rem;margin:1.5rem 0;padding:1rem;background:#f9fafb;border-radius:8px}.signal{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:6px;font-weight:500}.signal.alert{background:#fee2e2;color:#991b1b;border-left:4px solid #dc2626}.signal.ok{background:#dcfce7;color:#166534;border-left:4px solid #16a34a}.signal-icon{font-size:1.2rem;width:24px;text-align:center}.signal-text{flex:1}.analysis-period{margin:1.5rem 0;padding:1rem;background:#eff6ff;border-left:4px solid #0ea5e9;border-radius:4px}.analysis-period p{margin:.5rem 0;font-size:.95rem;color:#0c4a6e}.alignment-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.alignment-section h4{margin-bottom:1rem;color:#1f2937}.alignment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.alignment-card{padding:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;text-align:center}.alignment-label{font-size:.85rem;color:#6b7280;margin-bottom:.5rem;font-weight:500}.alignment-value{font-size:1.1rem;font-weight:600;padding:.5rem;border-radius:4px}.alignment-value.aligned{background:#dcfce7;color:#166534}.alignment-value.misaligned{background:#fef3c7;color:#92400e}.llm-assessment-section{border-left:4px solid #8b5cf6;background:linear-gradient(135deg,#f5f3ff,#ede9fe)}.llm-content{padding:1.5rem;background:#fff;border-radius:8px;margin-top:1rem}.llm-assessment-text{font-size:.95rem;line-height:1.6;color:#374151;margin-bottom:1rem;font-style:italic}.assessment-timestamp{font-size:.8rem;color:#9ca3af;text-align:right}@media(max-width:768px){.intelligence-grid,.risk-details-grid,.patterns-grid,.attendance-summary,.drift-metrics-grid,.alignment-grid{grid-template-columns:1fr}.marker-bar{height:24px}.bar-segment span{font-size:.7em}}[data-tooltip]{position:relative;cursor:help}[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;bottom:180%;left:50%;transform:translate(-50%) scale(1);background:#000000e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f1f5f9;padding:12px 16px;border-radius:8px;font-size:.85em;line-height:1.5;white-space:pre-wrap;width:500px;text-align:center;word-wrap:break-word;z-index:1000;box-shadow:0 8px 24px #00000026;border:1px solid rgba(51,65,85,.4);pointer-events:none;animation:tooltipFadeIn .2s ease-in-out}[data-tooltip]:hover:before{content:"";position:absolute;bottom:174%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1e293b;z-index:1000;pointer-events:none;animation:tooltipFadeIn .2s ease-in-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(8px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.drift-metric-card[data-tooltip]:hover:after,.stat-content h3[data-tooltip]:hover:after,.alignment-card[data-tooltip]:hover:after{animation:tooltipFadeIn .2s ease-in-out}.drift-metric-card[data-tooltip]:hover:before,.stat-content h3[data-tooltip]:hover:before,.alignment-card[data-tooltip]:hover:before{animation:tooltipFadeIn .2s ease-in-out}@media(max-width:768px){[data-tooltip]:hover:after{max-width:220px;font-size:.8em;padding:8px 12px}}.stat-card [data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;bottom:110%;left:50%;transform:translate(-50%) scale(1.1);background:#000000e6;color:#fff;padding:10px 14px;border-radius:6px;font-size:.8em;line-height:1.4;white-space:pre-wrap;width:auto;max-width:280px;text-align:center;word-wrap:break-word;z-index:1000;box-shadow:0 4px 12px #0006;border:none;pointer-events:none;animation:tooltipFadeIn .2s ease-in-out}.stat-card [data-tooltip]:hover:before{content:"";position:absolute;bottom:104%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#000;z-index:1000;pointer-events:none;animation:tooltipFadeIn .2s ease-in-out}
