.react-calendar{width:350px;max-width:100%;background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar *:before,.react-calendar *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.react-calendar button{margin:0;border:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{min-width:44px;background:none}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{display:flex;align-items:center;justify-content:center;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{max-width:100%;padding:10px 6.6667px;background:none;text-align:center;font:inherit;font-size:.833em}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.counseling-container{padding:24px;font-family:Inter,system-ui,sans-serif;max-width:1200px;margin:0 auto}.credits-banner{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#667eea,#764ba2);padding:16px 24px;border-radius:16px;margin-bottom:24px;color:#fff;box-shadow:0 4px 15px #667eea4d}.credits-icon{width:48px;height:48px;background:#fff3;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px}.credits-info{display:flex;flex-direction:column}.credits-label{font-size:12px;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.credits-value{font-size:32px;font-weight:700;line-height:1}.credits-description{margin-left:auto;background:#ffffff26;padding:8px 16px;border-radius:8px;font-size:13px}.no-credits-card{text-align:center;padding:48px 24px!important}.no-credits-icon{font-size:64px;margin-bottom:16px}.no-credits-card h3{margin:0 0 8px;color:#ef4444}.no-credits-card p{margin:0 0 8px;color:#64748b}.session-duration{font-size:12px;color:#64748b;background:#f1f5f9;padding:4px 10px;border-radius:6px}.tab-header{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid #e2e8f0;padding-bottom:0}.tab-btn{padding:12px 24px;border:none;background:none;cursor:pointer;font-size:15px;font-weight:500;color:#64748b;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s;display:flex;align-items:center;gap:8px}.tab-btn:hover{color:#3b82f6;background:#f1f5f9}.tab-btn.active{border-bottom-color:#3b82f6;font-weight:600;color:#3b82f6}.tab-badge{background:#ef4444;color:#fff;font-size:12px;padding:2px 8px;border-radius:12px;font-weight:600}.info-banner{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:12px;padding:16px 20px;margin-bottom:24px;display:flex;align-items:center;gap:12px;color:#1e40af}.info-banner.marketplace{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac;color:#166534}.info-banner i{font-size:20px}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:900px){.booking-grid{grid-template-columns:1fr}}.card{background:#fff;padding:24px;border-radius:16px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;border:1px solid #e2e8f0}.section-title{margin:0 0 20px;font-size:16px;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:12px}.step-number{background:#3b82f6;color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.react-calendar{border:none!important;width:100%!important;font-family:inherit!important}.react-calendar__tile--active{background:#3b82f6!important;border-radius:8px!important}.react-calendar__tile:disabled{background:#f1f5f9!important;color:#94a3b8!important}.selected-date-display{background:#f1f5f9;padding:12px 16px;border-radius:8px;text-align:center;font-weight:500;color:#334155;margin-top:16px}.time-slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px}.time-btn{padding:10px 8px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-size:13px;font-weight:500;color:#475569;transition:all .2s}.time-btn:hover:not(:disabled){border-color:#3b82f6;background:#eff6ff}.time-btn.selected{background:#3b82f6;color:#fff;border-color:#3b82f6}.time-btn:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed;border-color:#e2e8f0}.add-slot-btn{width:100%;padding:14px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;margin-top:12px;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.add-slot-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.add-slot-btn:disabled{background:#94a3b8;cursor:not-allowed}.slots-list{min-height:200px}.empty-slots{text-align:center;padding:40px 20px;color:#94a3b8}.empty-slots p{margin:12px 0 4px;font-weight:500}.empty-slots small{font-size:13px}.slot-card{display:flex;align-items:center;justify-content:space-between;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:16px;margin-bottom:12px;transition:all .2s}.slot-card:hover{border-color:#cbd5e1}.slot-info{display:flex;flex-direction:column;gap:4px}.slot-number{font-size:11px;font-weight:700;color:#3b82f6;text-transform:uppercase;letter-spacing:.5px}.slot-date{font-weight:600;color:#1e293b}.slot-time{font-size:14px;color:#64748b}.remove-slot-btn{width:32px;height:32px;border:none;background:#fee2e2;color:#dc2626;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.remove-slot-btn:hover{background:#fecaca}.slots-complete{background:#dcfce7;color:#166534;padding:12px 16px;border-radius:8px;text-align:center;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.topic-input{width:100%;padding:14px 16px;margin-bottom:16px;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;transition:all .2s;box-sizing:border-box}.topic-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.action-btn{width:100%;padding:14px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:15px;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.action-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.action-btn:disabled{background:#94a3b8;cursor:not-allowed}.submit-btn{margin-top:8px}.session-card{background:#fff;border-radius:16px;border:2px solid #e2e8f0;margin-bottom:16px;overflow:hidden;transition:all .2s}.session-card:hover{box-shadow:0 4px 12px #00000014}.session-card.status-waiting{border-left:4px solid #f59e0b}.session-card.status-accepted{border-left:4px solid #10b981}.session-card.status-completed{border-left:4px solid #8b5cf6}.session-header{padding:16px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.status-badge{padding:6px 12px;border-radius:20px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px}.status-badge.waiting{background:#fef3c7;color:#b45309}.status-badge.accepted{background:#d1fae5;color:#047857}.status-badge.completed{background:#ede9fe;color:#6d28d9}.session-topic{font-weight:500;color:#475569}.session-body{padding:20px}.proposed-slots h4{margin:0 0 12px;font-size:14px;color:#475569;display:flex;align-items:center;gap:8px}.slots-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.slot-mini{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px;text-align:center}.slot-mini-label{display:block;font-size:11px;color:#3b82f6;font-weight:700;text-transform:uppercase;margin-bottom:4px}.slot-mini-date{display:block;font-size:13px;font-weight:600;color:#1e293b}.slot-mini-time{display:block;font-size:12px;color:#64748b;margin-top:2px}.confirmed-slot{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:12px;padding:16px}.confirmed-slot-icon{font-size:32px}.confirmed-slot-details{flex:1}.confirmed-date{font-weight:600;color:#166534;font-size:15px}.confirmed-time{color:#22c55e;font-size:14px}.counselor-info{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px 16px;background:#f1f5f9;border-radius:8px;font-size:14px;color:#475569}.meet-link-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#1a73e8,#1557b0);color:#fff;text-decoration:none;border-radius:10px;font-weight:600;margin-top:16px;transition:all .2s}.meet-link-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1a73e84d}.counselor-notes{margin-top:16px;padding:16px;background:#faf5ff;border-radius:10px;border-left:4px solid #a855f7}.counselor-notes h4{margin:0 0 8px;font-size:14px;color:#7c3aed;display:flex;align-items:center;gap:8px}.counselor-notes p{margin:0;color:#6b21a8;line-height:1.6}.session-footer{padding:12px 20px;background:#f8fafc;border-top:1px solid #e2e8f0}.created-date{font-size:13px;color:#94a3b8}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:16px;border:2px dashed #e2e8f0}.empty-icon{font-size:48px;margin-bottom:16px}.empty-state h3{margin:0 0 8px;color:#1e293b}.empty-state p{color:#64748b;margin:0 0 20px}.refresh-btn{padding:10px 20px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-weight:500;color:#475569;display:inline-flex;align-items:center;gap:8px}.refresh-btn:hover{background:#e2e8f0}.counselor-view .sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px}.available-session-card{background:#fff;border-radius:16px;border:2px solid #e2e8f0;overflow:hidden;transition:all .2s}.available-session-card:hover{border-color:#3b82f6;box-shadow:0 4px 20px #3b82f626}.student-info-card{display:flex;gap:16px;padding:16px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;margin-bottom:16px;border:1px solid #bae6fd}.student-info-card .student-avatar{width:60px;height:60px;min-width:60px;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;font-size:24px;border-radius:12px;display:flex;align-items:center;justify-content:center}.student-details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 16px;flex:1}@media(max-width:600px){.student-details-grid{grid-template-columns:repeat(2,1fr)}}.detail-item{display:flex;flex-direction:column;gap:2px}.detail-label{font-size:11px;text-transform:uppercase;color:#64748b;font-weight:600;letter-spacing:.5px}.detail-value{font-size:14px;color:#1e293b;font-weight:500}.selected-slot-indicator{margin-top:12px;padding:10px 16px;background:#dcfce7;border:1px solid #86efac;border-radius:8px;color:#166534;font-weight:500;display:flex;align-items:center;gap:8px}.accept-btn.disabled{background:#94a3b8!important;cursor:not-allowed}.accept-btn.disabled:hover{background:#94a3b8!important;transform:none}.session-card-header{padding:16px 20px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.request-time,.accepted-time{font-size:12px;color:#94a3b8}.session-card-body{padding:20px}.student-info-mini{display:flex;align-items:center;gap:14px;margin-bottom:16px}.student-avatar{width:48px;height:48px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#3b82f6;font-size:20px}.student-avatar.large{width:56px;height:56px;font-size:24px}.student-details{display:flex;flex-direction:column;gap:2px}.student-grade{font-weight:600;color:#1e293b}.student-school,.student-district{font-size:13px;color:#64748b}.student-name{font-size:18px;font-weight:600;color:#1e293b}.student-meta{font-size:14px;color:#64748b}.student-contact{font-size:13px;color:#3b82f6;display:flex;align-items:center;gap:4px}.session-topic-display{display:flex;align-items:center;gap:8px;background:#f8fafc;padding:12px 16px;border-radius:10px;margin-bottom:16px;color:#475569}.session-topic-display i{color:#3b82f6}.slots-selection h4{margin:0 0 12px;font-size:14px;color:#475569;display:flex;align-items:center;gap:8px}.proposed-slots-grid{display:grid;gap:10px}.slot-option{display:flex;flex-direction:column;align-items:center;padding:14px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s}.slot-option:hover{border-color:#3b82f6;background:#eff6ff}.slot-option.selected{border-color:#3b82f6;background:#3b82f6;color:#fff}.slot-option.selected .slot-option-label{color:#bfdbfe}.slot-option.selected .slot-option-time{color:#dbeafe}.slot-option-label{font-size:11px;font-weight:700;color:#3b82f6;text-transform:uppercase;margin-bottom:4px}.slot-option-date{font-weight:600;font-size:14px}.slot-option-time{font-size:13px;color:#64748b;margin-top:2px}.session-card-footer{padding:16px 20px;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:12px}.accept-btn{flex:1;padding:14px 20px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.accept-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.accept-btn:disabled{background:#94a3b8;cursor:not-allowed}.my-session-card{background:#fff;border-radius:16px;border:2px solid #e2e8f0;margin-bottom:16px;overflow:hidden}.my-session-card.status-accepted{border-left:4px solid #10b981}.my-session-card.status-completed{border-left:4px solid #8b5cf6}.student-info-full{display:flex;align-items:center;gap:16px;margin-bottom:16px}.confirmed-session-slot{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #86efac;border-radius:12px;padding:16px;margin-top:16px}.slot-icon{font-size:28px}.slot-details{flex:1}.slot-date{font-weight:600;color:#166534}.slot-time{color:#15803d;font-size:14px}.session-notes{margin-top:16px;padding:16px;background:#faf5ff;border-radius:10px;border-left:4px solid #a855f7}.session-notes h4{margin:0 0 8px;font-size:14px;color:#7c3aed;display:flex;align-items:center;gap:8px}.session-notes p{margin:0;color:#6b21a8;line-height:1.6}.join-meet-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#1a73e8,#1557b0);color:#fff;text-decoration:none;border-radius:10px;font-weight:600;transition:all .2s}.join-meet-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1a73e84d}.complete-btn{padding:12px 20px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.complete-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.complete-btn:disabled{opacity:.6;cursor:not-allowed}.completed-label{color:#8b5cf6;font-weight:600;display:flex;align-items:center;gap:8px}.sessions-section{margin-bottom:32px}.section-heading{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 16px;display:flex;align-items:center;gap:10px}.sessions-list{display:flex;flex-direction:column;gap:12px}.tests-required-card{text-align:center;padding:48px 24px!important}.tests-required-icon{font-size:64px;margin-bottom:16px}.tests-required-card h3{margin:0 0 8px;color:#1e293b}.tests-required-card p{margin:0 0 16px;color:#64748b}.tests-checklist{display:flex;flex-direction:column;gap:12px;margin:24px auto;max-width:280px;text-align:left}.test-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8fafc;border-radius:10px;font-weight:500}.test-item.completed{background:#ecfdf5;color:#047857}.test-item.completed i{color:#10b981}.test-item.pending{background:#fef3c7;color:#b45309}.test-item.pending i{color:#f59e0b}.tests-note{font-size:14px;color:#64748b;margin-top:16px!important;display:flex;align-items:center;gap:8px;justify-content:center}.available-seats-section{background:#fff;border-radius:16px;border:2px solid #e2e8f0;padding:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h3{margin:0;font-size:18px;color:#1e293b;display:flex;align-items:center;gap:10px}.seats-by-date{display:flex;flex-direction:column;gap:24px}.date-group{border-bottom:1px solid #e2e8f0;padding-bottom:20px}.date-group:last-child{border-bottom:none;padding-bottom:0}.date-heading{margin:0 0 12px;font-size:15px;font-weight:600;color:#1e293b;background:#f1f5f9;padding:10px 16px;border-radius:8px}.seats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.seat-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 12px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s}.seat-btn:hover:not(:disabled){border-color:#3b82f6;background:#eff6ff}.seat-btn.selected{border-color:#3b82f6;background:#3b82f6;color:#fff}.seat-btn.selected .seat-availability{color:#bfdbfe}.seat-btn.fully-booked{background:#f1f5f9;border-color:#e2e8f0;cursor:not-allowed;opacity:.7}.seat-btn.fully-booked .seat-availability{color:#ef4444}.seat-time{font-size:15px;font-weight:600}.seat-availability{font-size:12px;color:#10b981;display:flex;align-items:center;gap:4px}.selected-slot-summary{margin-top:24px;padding:20px;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:2px solid #86efac;border-radius:12px}.summary-header{display:flex;align-items:center;gap:8px;font-weight:600;color:#166534;margin-bottom:12px}.summary-details{display:flex;align-items:center;gap:16px;margin-bottom:16px}.summary-date{font-weight:600;color:#166534;font-size:16px}.summary-time{color:#15803d;font-size:15px}.book-btn{width:100%;padding:14px 24px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:15px;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.book-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.book-btn:disabled{background:#94a3b8;cursor:not-allowed}.status-badge.confirmed{background:#d1fae5;color:#047857}.session-card.status-confirmed{border-left:4px solid #10b981}.availability-tab{display:flex;flex-direction:column;gap:24px}.add-availability-section{background:#fff;border-radius:16px;border:2px solid #e2e8f0;padding:24px}.add-availability-section h3{margin:0 0 20px;font-size:18px;color:#1e293b;display:flex;align-items:center;gap:10px}.date-picker-section{margin-bottom:20px}.date-picker-section label{display:block;margin-bottom:8px;font-weight:500;color:#475569}.date-input{padding:12px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;width:100%;max-width:250px}.date-input:focus{outline:none;border-color:#3b82f6}.time-slots-picker label{display:block;margin-bottom:12px;font-weight:500;color:#475569}.time-slots-picker .time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;margin-bottom:16px}.time-slot-btn{padding:10px 8px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.time-slot-btn:hover{border-color:#3b82f6;background:#eff6ff}.time-slot-btn.selected{border-color:#3b82f6;background:#3b82f6;color:#fff}.selected-summary{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #86efac;border-radius:10px;padding:16px;display:flex;justify-content:space-between;align-items:center}.selected-summary p{margin:0;font-weight:500;color:#166534}.add-slots-btn{padding:10px 20px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.add-slots-btn:hover:not(:disabled){transform:translateY(-1px)}.add-slots-btn:disabled{opacity:.6;cursor:not-allowed}.current-availability-section{background:#fff;border-radius:16px;border:2px solid #e2e8f0;padding:24px}.current-availability-section h3{margin:0 0 20px;font-size:18px;color:#1e293b;display:flex;align-items:center;gap:10px}.availability-list{display:flex;flex-direction:column;gap:20px}.availability-date-group h4{margin:0 0 12px;font-size:15px;font-weight:600;color:#1e293b;background:#f1f5f9;padding:10px 16px;border-radius:8px}.slots-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.availability-slot{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.availability-slot.available{background:#f0fdf4;border-color:#86efac}.availability-slot.booked{background:#fef3c7;border-color:#fbbf24}.booked-by{font-size:13px;color:#b45309;display:flex;align-items:center;gap:6px}.delete-slot-btn{padding:6px 10px;background:#fee2e2;color:#dc2626;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.delete-slot-btn:hover{background:#fecaca}.sessions-tab .session-card{background:#fff;border-radius:16px;border:2px solid #e2e8f0;overflow:hidden;margin-bottom:16px}.sessions-tab .session-card.confirmed{border-left:4px solid #10b981}.sessions-tab .session-card.completed{border-left:4px solid #8b5cf6}.view-results-btn{padding:10px 16px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;margin-top:12px;transition:all .2s}.view-results-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.student-info{display:flex;align-items:center;gap:16px}.student-location{display:flex;align-items:center;gap:4px;font-size:13px;color:#64748b}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:80vh;overflow-y:auto}.student-results-modal .modal-header{padding:20px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;align-items:center}.student-results-modal .modal-header h2{margin:0;font-size:18px;display:flex;align-items:center;gap:10px}.close-btn{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#ffffff4d}.modal-body{padding:24px}.loading-state{text-align:center;padding:40px;color:#64748b}.student-info-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:16px;background:#f8fafc;border-radius:10px;margin-bottom:20px}.student-info-summary p{margin:0;font-size:14px;color:#475569}.test-results-summary .result-section{margin-bottom:24px;padding:16px;background:#f8fafc;border-radius:12px}.result-section h3{margin:0 0 16px;font-size:16px;color:#1e293b;display:flex;align-items:center;gap:8px}.riasec-scores,.ocean-scores,.aptitude-scores{display:flex;flex-direction:column;gap:10px}.score-bar{display:flex;align-items:center;gap:10px}.score-label{width:120px;font-size:13px;font-weight:500;color:#475569}.score-fill{flex:1;height:8px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:4px;max-width:100%}.score-value{width:40px;text-align:right;font-size:13px;font-weight:600;color:#1e293b}.top-code{margin-top:12px;padding:10px 16px;background:#dbeafe;border-radius:8px;font-size:14px;color:#1e40af}.career-list{list-style:none;padding:0;margin:0}.career-list li{padding:10px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:8px;font-size:14px;color:#1e293b}.empty-results{text-align:center;padding:40px;color:#64748b}.empty-results i{font-size:48px;margin-bottom:16px;color:#94a3b8}@media(max-width:768px){.counseling-container{padding:16px}.booking-grid{grid-template-columns:1fr}.time-slots-grid{grid-template-columns:repeat(3,1fr)}.slots-mini-grid,.counselor-view .sessions-grid{grid-template-columns:1fr}.session-card-footer{flex-direction:column}.tab-btn{padding:10px 16px;font-size:14px}.seats-grid{grid-template-columns:repeat(2,1fr)}.summary-details{flex-direction:column;gap:4px;align-items:flex-start}.selected-summary{flex-direction:column;gap:12px;align-items:stretch}.student-info-summary,.slots-list{grid-template-columns:1fr}}.calendar-and-slots-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}@media(max-width:900px){.calendar-and-slots-grid{grid-template-columns:1fr}}.calendar-section{background:#f8fafc;padding:20px;border-radius:16px;border:1px solid #e2e8f0}.calendar-section label{display:block;margin-bottom:16px;font-weight:600;color:#1e293b;font-size:15px;display:flex;align-items:center;gap:8px}.calendar-section .react-calendar{width:100%;border:none;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;font-family:Inter,system-ui,sans-serif;padding:12px}.calendar-section .react-calendar__navigation{margin-bottom:12px}.calendar-section .react-calendar__navigation button{font-size:16px;font-weight:600;color:#1e293b;background:none;border-radius:8px}.calendar-section .react-calendar__navigation button:hover{background:#f1f5f9}.calendar-section .react-calendar__navigation button:disabled{background:none;color:#94a3b8}.calendar-section .react-calendar__month-view__weekdays{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase}.calendar-section .react-calendar__month-view__weekdays abbr{text-decoration:none}.calendar-section .react-calendar__tile{padding:10px;font-size:14px;border-radius:8px;transition:all .2s}.calendar-section .react-calendar__tile:hover{background:#eff6ff}.calendar-section .react-calendar__tile--now{background:#fef3c7;font-weight:600}.calendar-section .react-calendar__tile--now:hover{background:#fde68a}.calendar-section .react-calendar__tile--active{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;color:#fff;font-weight:600}.calendar-section .react-calendar__tile--active:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important}.calendar-section .react-calendar__tile:disabled{background:#f1f5f9;color:#cbd5e1;cursor:not-allowed}.calendar-section .react-calendar__tile.has-availability{position:relative}.calendar-section .react-calendar__tile.has-availability:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:6px;height:6px;background:#10b981;border-radius:50%}.calendar-section .selected-date-display{margin-top:16px;padding:12px 16px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:10px;font-weight:600;color:#1e40af;text-align:center}.time-slots-section{background:#f8fafc;padding:20px;border-radius:16px;border:1px solid #e2e8f0}.time-slots-section label{display:block;margin-bottom:16px;font-weight:600;color:#1e293b;font-size:15px;display:flex;align-items:center;gap:8px}.time-slots-grid.counselor-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}@media(max-width:600px){.time-slots-grid.counselor-slots{grid-template-columns:repeat(2,1fr)}}.time-slots-grid.counselor-slots .time-slot-btn{position:relative;padding:12px 8px;font-size:13px}.time-slots-grid.counselor-slots .time-slot-btn.already-added{background:#d1fae5!important;border-color:#86efac!important;color:#047857!important;cursor:not-allowed}.slot-exists-marker{position:absolute;top:4px;right:6px;font-size:10px;color:#10b981}.time-slots-section .selected-summary{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #86efac;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}.time-slots-section .selected-summary p{margin:0;font-weight:500;color:#166534;display:flex;align-items:center;gap:8px}.time-slots-section .add-slots-btn{width:100%;padding:12px 20px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.time-slots-section .add-slots-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.time-slots-section .add-slots-btn:disabled{background:#94a3b8;cursor:not-allowed}.calendar-booking-layout{display:grid;grid-template-columns:auto 1fr;gap:24px;background:#f8fafc;padding:24px;border-radius:16px}@media(max-width:768px){.calendar-booking-layout{grid-template-columns:1fr}}.calendar-booking-layout .calendar-section{display:flex;flex-direction:column;gap:12px}.calendar-booking-layout .calendar-section label{font-weight:600;color:#334155;display:flex;align-items:center;gap:8px}.calendar-booking-layout .calendar-section label i{color:#667eea}.calendar-booking-layout .react-calendar{border:none;border-radius:12px;box-shadow:0 2px 8px #00000014;font-family:inherit;width:320px}.calendar-booking-layout .react-calendar__navigation{margin-bottom:0;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0;padding:8px}.calendar-booking-layout .react-calendar__navigation button{color:#fff;font-weight:600;min-width:40px;background:none;border-radius:8px}.calendar-booking-layout .react-calendar__navigation button:hover:enabled{background:#fff3}.calendar-booking-layout .react-calendar__tile{padding:12px 8px;border-radius:8px;font-weight:500}.calendar-booking-layout .react-calendar__tile:disabled{background-color:#f1f5f9;color:#94a3b8}.calendar-booking-layout .react-calendar__tile--active{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important}.calendar-booking-layout .react-calendar__tile.has-availability{background:#ecfdf5;color:#10b981;font-weight:600}.calendar-booking-layout .react-calendar__tile.has-availability:hover{background:#d1fae5}.calendar-legend{display:flex;gap:16px;padding:12px;background:#fff;border-radius:8px;justify-content:center}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b}.legend-dot{width:12px;height:12px;border-radius:4px}.legend-dot.available{background:#10b981}.legend-dot.unavailable{background:#e2e8f0}.calendar-booking-layout .time-slots-section{display:flex;flex-direction:column;gap:12px}.calendar-booking-layout .time-slots-section label{font-weight:600;color:#334155;display:flex;align-items:center;gap:8px}.calendar-booking-layout .time-slots-section label i{color:#667eea}.time-slots-grid.student-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.time-slots-grid.student-slots .time-slot-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s}.time-slots-grid.student-slots .time-slot-btn:hover:not(:disabled){border-color:#667eea;box-shadow:0 4px 12px #667eea26}.time-slots-grid.student-slots .time-slot-btn.selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.time-slots-grid.student-slots .time-slot-btn.fully-booked{background:#f1f5f9;border-color:#e2e8f0;color:#94a3b8;cursor:not-allowed}.time-slots-grid.student-slots .slot-time{font-weight:600;font-size:14px}.time-slots-grid.student-slots .slot-seats{font-size:12px;opacity:.9;display:flex;align-items:center;gap:4px}.no-slots-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;background:#fff;border-radius:12px;color:#64748b}.no-slots-message i{font-size:32px;margin-bottom:12px;color:#94a3b8}.no-slots-message p{margin:0;font-size:14px}.student-results-modal.full-dashboard{width:95vw;max-width:1400px;max-height:95vh;height:auto}.student-results-modal.full-dashboard .modal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px 24px;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}.student-results-modal.full-dashboard .modal-header h2{margin:0;font-size:18px;display:flex;align-items:center;gap:10px}.student-results-modal.full-dashboard .modal-header .close-btn{background:#fff3;color:#fff;border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.student-results-modal.full-dashboard .modal-header .close-btn:hover{background:#ffffff4d;transform:scale(1.1)}.student-results-modal.full-dashboard .modal-body{padding:0;overflow-y:auto;max-height:calc(95vh - 70px)}.results-dashboard-wrapper{background:#f8fafc}.results-dashboard-wrapper .results-dashboard-page{padding:20px;margin:0;max-width:100%}.results-dashboard-wrapper .student-profile-banner{margin-bottom:20px}.results-dashboard-wrapper .chart-container{max-width:100%;overflow:hidden}.results-dashboard-wrapper .download-report-btn{display:none}:root{--app-primary: #2563eb;--app-primary-dark: #1e40af;--app-primary-light: #dbeafe;--app-secondary: #7c3aed;--app-success: #10b981;--app-warning: #f59e0b;--app-danger: #ef4444;--color-white: rgba(255, 255, 255, 1);--color-black: rgba(0, 0, 0, 1);--color-cream-50: rgba(252, 252, 249, 1);--color-cream-100: rgba(255, 255, 253, 1);--color-gray-200: rgba(245, 245, 245, 1);--color-gray-300: rgba(167, 169, 169, 1);--color-gray-400: rgba(119, 124, 124, 1);--color-slate-500: rgba(98, 108, 113, 1);--color-brown-600: rgba(94, 82, 64, 1);--color-charcoal-700: rgba(31, 33, 33, 1);--color-charcoal-800: rgba(38, 40, 40, 1);--color-slate-900: rgba(19, 52, 59, 1);--color-teal-300: rgba(98, 182, 203, 1);--color-teal-400: rgba(75, 150, 175, 1);--color-teal-500: rgba(27, 73, 101, 1);--color-teal-600: rgba(22, 64, 88, 1);--color-teal-700: rgba(18, 55, 76, 1);--color-teal-800: rgba(98, 182, 203, 1);--color-red-400: rgba(255, 84, 89, 1);--color-red-500: rgba(192, 21, 47, 1);--color-orange-400: rgba(230, 129, 97, 1);--color-orange-500: rgba(168, 75, 47, 1);--color-brown-600-rgb: 94, 82, 64;--color-teal-500-rgb: 27, 73, 101;--color-slate-900-rgb: 19, 52, 59;--color-slate-500-rgb: 98, 108, 113;--color-red-500-rgb: 192, 21, 47;--color-red-400-rgb: 255, 84, 89;--color-orange-500-rgb: 168, 75, 47;--color-orange-400-rgb: 230, 129, 97;--color-bg-1: rgba(59, 130, 246, .08);--color-bg-2: rgba(245, 158, 11, .08);--color-bg-3: rgba(34, 197, 94, .08);--color-bg-4: rgba(239, 68, 68, .08);--color-bg-5: rgba(147, 51, 234, .08);--color-bg-6: rgba(249, 115, 22, .08);--color-bg-7: rgba(236, 72, 153, .08);--color-bg-8: rgba(6, 182, 212, .08);--color-background: var(--color-cream-50);--color-surface: var(--color-cream-100);--color-text: var(--color-slate-900);--color-text-secondary: var(--color-slate-500);--color-primary: var(--color-teal-500);--color-primary-hover: var(--color-teal-600);--color-primary-active: var(--color-teal-700);--color-secondary: rgba(var(--color-brown-600-rgb), .12);--color-secondary-hover: rgba(var(--color-brown-600-rgb), .2);--color-secondary-active: rgba(var(--color-brown-600-rgb), .25);--color-border: rgba(var(--color-brown-600-rgb), .2);--color-btn-primary-text: var(--color-cream-50);--color-card-border: rgba(var(--color-brown-600-rgb), .12);--color-card-border-inner: rgba(var(--color-brown-600-rgb), .12);--color-error: var(--color-red-500);--color-success: var(--color-teal-500);--color-warning: var(--color-orange-500);--color-info: var(--color-slate-500);--color-focus-ring: rgba(var(--color-teal-500-rgb), .4);--color-select-caret: rgba(var(--color-slate-900-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' 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");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' 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");--color-success-rgb: 33, 128, 141;--color-error-rgb: 192, 21, 47;--color-warning-rgb: 168, 75, 47;--color-info-rgb: 98, 108, 113;--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "Berkeley Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 30px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 550;--font-weight-bold: 600;--line-height-tight: 1.2;--line-height-normal: 1.5;--letter-spacing-tight: -.01em;--space-0: 0;--space-1: 1px;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--radius-sm: 6px;--radius-base: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .02);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .04), 0 2px 4px -1px rgba(0, 0, 0, .02);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .04), 0 4px 6px -2px rgba(0, 0, 0, .02);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .15), inset 0 -1px 0 rgba(0, 0, 0, .03);--duration-fast: .15s;--duration-normal: .25s;--ease-standard: cubic-bezier(.16, 1, .3, 1);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px}[data-color-scheme=dark]{--color-gray-400-rgb: 119, 124, 124;--color-teal-300-rgb: 50, 184, 198;--color-gray-300-rgb: 167, 169, 169;--color-gray-200-rgb: 245, 245, 245;--color-bg-1: rgba(29, 78, 216, .15);--color-bg-2: rgba(180, 83, 9, .15);--color-bg-3: rgba(21, 128, 61, .15);--color-bg-4: rgba(185, 28, 28, .15);--color-bg-5: rgba(107, 33, 168, .15);--color-bg-6: rgba(194, 65, 12, .15);--color-bg-7: rgba(190, 24, 93, .15);--color-bg-8: rgba(8, 145, 178, .15);--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb), .7);--color-primary: var(--color-teal-300);--color-primary-hover: var(--color-teal-400);--color-primary-active: var(--color-teal-800);--color-secondary: rgba(var(--color-gray-400-rgb), .15);--color-secondary-hover: rgba(var(--color-gray-400-rgb), .25);--color-secondary-active: rgba(var(--color-gray-400-rgb), .3);--color-border: rgba(var(--color-gray-400-rgb), .3);--color-error: var(--color-red-400);--color-success: var(--color-teal-300);--color-warning: var(--color-orange-400);--color-info: var(--color-gray-300);--color-focus-ring: rgba(var(--color-teal-300-rgb), .4);--color-btn-primary-text: var(--color-slate-900);--color-card-border: rgba(var(--color-gray-400-rgb), .15);--color-card-border-inner: rgba(var(--color-gray-400-rgb), .15);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(0, 0, 0, .15);--color-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-select-caret: rgba(var(--color-gray-200-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' 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");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' 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");--color-success-rgb: var(--color-teal-300-rgb);--color-error-rgb: var(--color-red-400-rgb);--color-warning-rgb: var(--color-orange-400-rgb);--color-info-rgb: var(--color-gray-300-rgb)}[data-color-scheme=light]{--color-brown-600-rgb: 94, 82, 64;--color-teal-500-rgb: 33, 128, 141;--color-slate-900-rgb: 19, 52, 59;--color-background: var(--color-cream-50);--color-surface: var(--color-cream-100);--color-text: var(--color-slate-900);--color-text-secondary: var(--color-slate-500);--color-primary: var(--color-teal-500);--color-primary-hover: var(--color-teal-600);--color-primary-active: var(--color-teal-700);--color-secondary: rgba(var(--color-brown-600-rgb), .12);--color-secondary-hover: rgba(var(--color-brown-600-rgb), .2);--color-secondary-active: rgba(var(--color-brown-600-rgb), .25);--color-border: rgba(var(--color-brown-600-rgb), .2);--color-btn-primary-text: var(--color-cream-50);--color-card-border: rgba(var(--color-brown-600-rgb), .12);--color-card-border-inner: rgba(var(--color-brown-600-rgb), .12);--color-error: var(--color-red-500);--color-success: var(--color-teal-500);--color-warning: var(--color-orange-500);--color-info: var(--color-slate-500);--color-focus-ring: rgba(var(--color-teal-500-rgb), .4);--color-success-rgb: var(--color-teal-500-rgb);--color-error-rgb: var(--color-red-500-rgb);--color-warning-rgb: var(--color-orange-500-rgb);--color-info-rgb: var(--color-slate-500-rgb)}html{font-size:var(--font-size-base);font-family:var(--font-family-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;box-sizing:border-box;color-scheme:light only}body{margin:0;padding:0}*,*:before,*:after{box-sizing:inherit}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-md)}p{margin:0 0 var(--space-16) 0}a{color:var(--color-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}a:hover{color:var(--color-primary-hover)}code,pre{font-family:var(--font-family-mono);font-size:calc(var(--font-size-base) * .95);background-color:var(--color-secondary);border-radius:var(--radius-sm)}code{padding:var(--space-1) var(--space-4)}pre{padding:var(--space-16);margin:var(--space-16) 0;overflow:auto;border:1px solid var(--color-border)}pre code{background:none;padding:0}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:var(--space-16);padding-left:var(--space-16)}@media(min-width:640px){.container{max-width:var(--container-sm)}}@media(min-width:768px){.container{max-width:var(--container-md)}}@media(min-width:1024px){.container{max-width:var(--container-lg)}}@media(min-width:1280px){.container{max-width:var(--container-xl)}}.gap-4{gap:var(--space-4)}.mt-8{margin-top:var(--space-8)}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8)}.hidden{display:none}:focus-visible{outline:var(--focus-outline);outline-offset:2px}#root{min-height:100vh}.app-container{min-height:100vh;display:flex;flex-direction:column}.navbar{background:var(--color-surface);border-bottom:1px solid var(--color-card-border);padding:var(--space-16) var(--space-24);display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #00000014;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideInFromTop .3s ease-out}.navbar-brand{font-size:var(--font-size-2xl);font-weight:900;color:#1b4965;-webkit-text-fill-color:#1b4965;letter-spacing:-.02em;display:flex;align-items:center;gap:var(--space-8);transition:transform var(--duration-fast)}.navbar-brand:hover{transform:scale(1.05)}.navbar-brand i{color:var(--color-primary);animation:bounce 2s infinite}.navbar-menu{display:flex;align-items:center;gap:var(--space-24)}.user-menu{position:relative;display:flex;align-items:center;gap:var(--space-12);cursor:pointer;padding:var(--space-8) var(--space-12);border-radius:var(--radius-base);transition:background var(--duration-fast)}.user-menu:hover{background:var(--color-secondary)}.user-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-teal-300) 100%);color:var(--color-btn-primary-text);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);box-shadow:0 2px 8px rgba(var(--color-teal-500-rgb),.3);transition:transform var(--duration-fast)}.user-avatar:hover{transform:scale(1.1)}.sidebar{width:240px;min-width:240px;background:linear-gradient(180deg,#f8fafb,#eef2f5);border-right:1px solid var(--color-card-border);padding:var(--space-12) var(--space-12) var(--space-24);overflow-y:auto;position:sticky;top:73px;height:calc(100vh - 73px);transition:width .25s ease,min-width .25s ease,padding .25s ease;z-index:10}.sidebar-collapsed{width:68px;min-width:68px;padding:var(--space-12) 8px var(--space-24)}.sidebar-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:36px;height:36px;margin:0 0 var(--space-16) 4px;background:transparent;border:1px solid var(--color-card-border);border-radius:var(--radius-base);cursor:pointer;padding:6px;transition:background .2s,border-color .2s}.sidebar-collapsed .sidebar-toggle{margin:0 auto var(--space-16)}.sidebar-toggle:hover{background:var(--color-secondary);border-color:var(--color-primary)}.sidebar-toggle-bar{display:block;width:18px;height:2px;background:var(--color-text);border-radius:2px;transition:transform .2s,opacity .2s}.sidebar-divider{border-top:2px solid var(--color-card-border);margin:var(--space-12) 4px;list-style:none}.sidebar-header{padding:8px 12px;font-size:11px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;overflow:hidden;list-style:none}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.sidebar-nav{list-style:none;padding:0;margin:0}.sidebar-item{margin-bottom:4px}.sidebar-link{display:flex;align-items:center;gap:var(--space-12);padding:10px 14px;border-radius:var(--radius-base);color:var(--color-text);text-decoration:none;transition:all .2s ease;cursor:pointer;position:relative;font-weight:var(--font-weight-medium);font-size:.9rem;white-space:nowrap;overflow:hidden}.sidebar-collapsed .sidebar-link{justify-content:center;padding:10px 0}.sidebar-link:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--color-primary);border-radius:0 3px 3px 0;transition:height .2s ease}.sidebar-link:hover{background:#0000000d}.sidebar-link:hover:before{height:60%}.sidebar-link.active{background:var(--color-primary);color:var(--color-btn-primary-text);box-shadow:0 2px 8px rgba(var(--color-teal-500-rgb),.25)}.sidebar-link.active:before{height:80%;background:var(--color-btn-primary-text)}.sidebar-link i{font-size:16px;width:20px;text-align:center;flex-shrink:0;transition:transform .2s ease}.sidebar-link:hover i,.sidebar-link.active i{transform:scale(1.1)}.main-layout{display:flex;flex:1;min-height:0}.main-content{flex:1;padding:var(--space-32);overflow-y:auto;min-height:0}.main-content:has(.test-container){overflow-y:visible;padding:0}.page-header{margin-bottom:var(--space-32);animation:fadeIn .4s ease-out}.page-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-8);color:var(--color-text);position:relative;display:inline-block}.page-title:after{content:"";position:absolute;bottom:-4px;left:0;width:60px;height:4px;background:linear-gradient(90deg,var(--color-primary) 0%,transparent 100%);border-radius:var(--radius-full)}.page-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-lg)}.card{background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);padding:var(--space-24);box-shadow:var(--shadow-sm);transition:all var(--duration-normal) var(--ease-standard);animation:fadeIn .3s ease-out;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card:hover:before{left:100%}.card-header{margin-bottom:var(--space-16);padding-bottom:var(--space-16);border-bottom:1px solid var(--color-card-border-inner)}.card-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.card-body{color:var(--color-text)}.grid{display:grid;gap:var(--space-24)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.sidebar{position:fixed;left:-250px;top:0;height:100vh;z-index:1000;box-shadow:2px 0 16px #00000026;transition:left .3s ease}.sidebar.open{left:0}.sidebar-collapsed{left:-68px}.sidebar-collapsed.open{left:0}.main-content{padding:var(--space-16)}.navbar{padding:var(--space-12) var(--space-16)}.navbar-brand{font-size:var(--font-size-xl)}.page-title,.stat-value{font-size:var(--font-size-2xl)}.modal{padding:var(--space-24);margin:var(--space-16)}.toast{right:var(--space-16);left:var(--space-16);min-width:auto}.likert-scale{flex-direction:column}.likert-option{min-width:100%}.table{font-size:var(--font-size-sm)}.role-cards{padding:var(--space-16)}}.stat-card{background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);padding:var(--space-20);display:flex;flex-direction:column;gap:var(--space-8);transition:all var(--duration-normal);position:relative;overflow:hidden;animation:fadeInScale .4s ease-out}.stat-card:after{content:"";position:absolute;top:0;right:0;width:100px;height:100px;background:radial-gradient(circle,rgba(var(--color-teal-500-rgb),.1) 0%,transparent 70%);border-radius:50%;transform:translate(30%,-30%)}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:var(--color-primary)}.stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-teal-300) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:1;animation:fadeIn .5s ease-out}.stat-label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-8);padding:var(--space-12) var(--space-20);border:none;border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-fast);text-decoration:none;position:relative;overflow:hidden;box-shadow:var(--shadow-xs)}.btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:active:after{width:300px;height:300px}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);color:var(--color-btn-primary-text);box-shadow:0 4px 12px rgba(var(--color-teal-500-rgb),.3)}.btn-primary:hover{background:linear-gradient(135deg,var(--color-primary-hover) 0%,var(--color-primary-active) 100%);box-shadow:0 6px 16px rgba(var(--color-teal-500-rgb),.4);transform:translateY(-2px)}.btn-primary:active{background:var(--color-primary-active);transform:translateY(0);box-shadow:0 2px 8px rgba(var(--color-teal-500-rgb),.3)}.btn-secondary{background:var(--color-secondary);color:var(--color-text)}.btn-secondary:hover{background:var(--color-secondary-hover)}.btn-outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn-outline:hover{background:var(--color-secondary)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:var(--space-8) var(--space-16);font-size:var(--font-size-sm)}.btn-lg{padding:var(--space-16) var(--space-32);font-size:var(--font-size-lg)}.form-group{margin-bottom:var(--space-20)}.form-label{display:block;margin-bottom:var(--space-8);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--color-text)}.form-label.required:after{content:" *";color:var(--color-error)}.form-control{width:100%;padding:var(--space-12);border:2px solid var(--color-border);border-radius:var(--radius-base);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-surface);transition:all var(--duration-fast)}.form-control:hover{border-color:var(--color-primary)}.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-focus-ring);transform:translateY(-1px)}.form-error{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--space-4)}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' 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 12px center;background-size:16px;padding-right:40px}.badge{display:inline-flex;align-items:center;padding:var(--space-4) var(--space-12);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.5px;text-transform:uppercase;box-shadow:var(--shadow-xs);animation:fadeIn .3s ease-out}.badge-success{background:rgba(var(--color-teal-500-rgb),.15);color:var(--color-success);border:1px solid rgba(var(--color-teal-500-rgb),.25)}.badge-warning{background:rgba(var(--color-orange-500-rgb),.15);color:var(--color-warning);border:1px solid rgba(var(--color-orange-500-rgb),.25)}.badge-error{background:rgba(var(--color-red-500-rgb),.15);color:var(--color-error);border:1px solid rgba(var(--color-red-500-rgb),.25)}.badge-info{background:rgba(var(--color-slate-500-rgb),.15);color:var(--color-info);border:1px solid rgba(var(--color-slate-500-rgb),.25)}.progress-bar{width:100%;height:8px;background:var(--color-secondary);border-radius:var(--radius-full);overflow:hidden;position:relative;box-shadow:inset 0 1px 2px #0000001a}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-teal-300) 100%);transition:width .5s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}.table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.table th,.table td{padding:var(--space-12) var(--space-16);text-align:left;border-bottom:1px solid var(--color-card-border-inner)}.table th{background:var(--color-secondary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text)}.table tbody tr{transition:all var(--duration-fast)}.table tbody tr:hover{background:var(--color-bg-1);transform:scale(1.01);box-shadow:0 2px 8px #0000000d}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-16);animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-32);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:fadeInScale .3s ease-out;box-shadow:0 20px 60px #0000004d;border:1px solid var(--color-card-border)}.modal-header{margin-bottom:var(--space-24)}.modal-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.modal-footer{margin-top:var(--space-24);display:flex;justify-content:flex-end;gap:var(--space-12)}.toast{position:fixed;top:var(--space-24);right:var(--space-24);background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-base);padding:var(--space-16) var(--space-20);box-shadow:0 12px 32px #0003;display:flex;align-items:center;gap:var(--space-12);z-index:2000;animation:slideInFromRight .4s cubic-bezier(.16,1,.3,1);min-width:300px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.empty-state{text-align:center;padding:var(--space-32);color:var(--color-text-secondary);animation:fadeIn .4s ease-out}.empty-icon{font-size:48px;margin-bottom:var(--space-16);opacity:.5}.test-container{max-width:800px;margin:0 auto}.options-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-12)}.option-item{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-base);padding:var(--space-16);cursor:pointer;transition:all var(--duration-normal);position:relative}.option-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--color-primary);border-radius:var(--radius-base) 0 0 var(--radius-base);transition:width var(--duration-fast)}.option-item:hover{border-color:var(--color-primary);background:var(--color-bg-1);transform:translate(4px)}.option-item:hover:before{width:4px}.option-item.selected{border-color:var(--color-primary);background:var(--color-bg-1);box-shadow:0 4px 12px rgba(var(--color-teal-500-rgb),.2)}.option-item.selected:before{width:4px}.likert-scale{display:flex;justify-content:space-between;gap:var(--space-12)}.likert-option{flex:1;text-align:center;padding:var(--space-16) var(--space-12);border:2px solid var(--color-border);border-radius:var(--radius-base);cursor:pointer;transition:all var(--duration-normal);position:relative;min-width:80px}.likert-option:hover{border-color:var(--color-primary);background:var(--color-bg-1);transform:scale(1.05);box-shadow:0 4px 12px #0000001a}.likert-option.selected{border-color:var(--color-primary);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-teal-300) 100%);color:var(--color-btn-primary-text);transform:scale(1.1);box-shadow:0 6px 16px rgba(var(--color-teal-500-rgb),.4);font-weight:var(--font-weight-semibold)}.login-card{background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);padding:var(--space-32);width:100%;max-width:400px;box-shadow:0 12px 48px #00000026;animation:fadeInScale .4s ease-out;position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-teal-300) 100%)}.login-header{text-align:center;margin-bottom:var(--space-32)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-8{gap:var(--space-8)}.gap-12{gap:var(--space-12)}.gap-16{gap:var(--space-16)}.gap-24{gap:var(--space-24)}.mb-8{margin-bottom:var(--space-8)}.mb-16{margin-bottom:var(--space-16)}.mb-24{margin-bottom:var(--space-24)}.mt-16{margin-top:var(--space-16)}.mt-24{margin-top:var(--space-24)}.text-center{text-align:center}.w-full{width:100%}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:var(--space-8);background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-base);box-shadow:0 12px 32px #00000026;min-width:200px;z-index:100;animation:fadeInScale .2s ease-out;overflow:hidden}.dropdown-item{padding:var(--space-12) var(--space-16);cursor:pointer;transition:all var(--duration-fast);display:flex;align-items:center;gap:var(--space-8)}.dropdown-item:hover{background:var(--color-secondary);padding-left:var(--space-20)}*{scrollbar-width:thin;scrollbar-color:var(--color-primary) var(--color-secondary)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:var(--color-secondary);border-radius:var(--radius-full)}*::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:var(--radius-full);transition:background var(--duration-fast)}*::-webkit-scrollbar-thumb:hover{background:var(--color-primary-hover)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.divider{height:1px;background:var(--color-border);margin:var(--space-24) 0;position:relative}.input-group{position:relative;display:flex;align-items:stretch}.input-group .form-control{border-radius:0}.input-group .form-control:first-child{border-radius:var(--radius-base) 0 0 var(--radius-base)}.input-group .form-control:last-child{border-radius:0 var(--radius-base) var(--radius-base) 0}@media print{.navbar,.sidebar,.btn,.modal-overlay{display:none!important}.main-content{padding:0}.card{break-inside:avoid;box-shadow:none;border:1px solid #ddd}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-contrast:high){.btn,.card,.form-control{border-width:2px}.btn:focus,.form-control:focus{outline-width:3px}}.text-huge{font-size:3rem;font-weight:700;line-height:1.1}.text-label{text-transform:uppercase;letter-spacing:.1em;font-size:.875rem;font-weight:600;color:var(--color-primary);margin-bottom:1rem;display:block}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.animate-float{animation:float 3s ease-in-out infinite}@media(max-width:768px){.main-layout{flex-direction:column!important}.sidebar{position:fixed;top:0;left:-280px;height:100vh;transition:left .3s ease;z-index:1000;box-shadow:2px 0 10px #0000001a}.sidebar.open{left:0}.main-content{margin-left:0!important;padding:80px 16px 16px!important;width:100%!important}.navbar{padding:12px 16px!important;flex-wrap:wrap}.navbar .user-info{font-size:14px}.grid,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important;gap:16px!important}.card{margin-bottom:16px!important;padding:16px!important}.card-header{padding:12px!important}.card-body{padding:16px!important}.page-header{padding:16px 0!important;margin-bottom:16px!important}.page-title{font-size:24px!important}.page-subtitle{font-size:14px!important}.stat-card{padding:16px!important}.form-group{margin-bottom:16px!important}.form-control{font-size:16px!important;padding:12px!important}.btn{padding:12px 20px!important;font-size:16px!important;width:100%!important}.btn-sm{padding:8px 12px!important;font-size:14px!important;width:auto!important}table{min-width:600px}.login-card{padding:24px!important;max-width:100%!important}.modal-content{width:95%!important;max-width:95%!important;margin:20px auto!important;max-height:90vh!important;overflow-y:auto!important}.test-container{padding:16px!important}}@media(max-width:480px){.page-title{font-size:20px!important}.card-title{font-size:18px!important}.stat-value{font-size:24px!important}.btn-lg{font-size:16px!important;padding:14px!important}.mb-24{margin-bottom:16px!important}.mt-24{margin-top:16px!important}}@media(max-width:768px)and (orientation:landscape){.main-content{padding-top:60px!important}}
