body{-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--dbs-maroon:maroon;--dbs-teal:teal;--bg-primary:#fafafa;--bg-card:#fff;--text-primary:#1a1a1a;--text-secondary:#666}*{box-sizing:border-box;margin:0;padding:0}body{background:#fafafa;background:var(--bg-primary);color:#1a1a1a;color:var(--text-primary);font-family:Inter,-apple-system,sans-serif;line-height:1.5}.app-main{margin:0 auto;max-width:1200px;padding:1rem}.auth-page{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 80px);padding:1rem}.auth-card{background:#fff;background:var(--bg-card);border-radius:16px;box-shadow:0 4px 20px #00000014;max-width:420px;padding:2.5rem;width:100%}.auth-card h2{color:maroon;color:var(--dbs-maroon);font-size:1.75rem;margin-bottom:.5rem;text-align:center}.auth-subtitle{color:#666;color:var(--text-secondary);font-size:.95rem;margin-bottom:1.5rem;text-align:center}.google-btn{align-items:center;background:#fff;border:2px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000000d;color:#444;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.75rem;justify-content:center;margin-bottom:1rem;padding:.75rem 1.5rem;transition:all .2s;width:100%}.google-btn:hover{background:#f5f5f5;border-color:#ccc;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.google-btn svg{height:20px;width:20px}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.3rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:8px;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus{border-color:teal;border-color:var(--dbs-teal);box-shadow:0 0 0 3px #0080801a;outline:none}.error-message{background:#ffebee;border-radius:8px;color:#c62828;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.auth-footer{color:#666;color:var(--text-secondary);font-size:.9rem;margin-top:1.5rem;text-align:center}.auth-footer a{color:teal;color:var(--dbs-teal);font-weight:500;text-decoration:none}.app-header{background:maroon;background:var(--dbs-maroon);color:#fff;padding:.75rem 1rem;position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px}.logo{color:#fff;font-size:1.2rem;font-weight:600;text-decoration:none}.user-menu{align-items:center;display:flex;gap:1rem}.user-info{font-size:.9rem;font-weight:500}.teacher-badge{background:teal;background:var(--dbs-teal);border-radius:12px;color:#fff;font-size:.75rem;margin-left:.5rem;padding:.2rem .5rem}.points-badge{background:#fff3;border-radius:20px;font-size:.85rem;font-weight:500;padding:.3rem .75rem}.logout-btn,.nav-btn,.post-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:background .2s}.logout-btn:hover,.nav-btn:hover{background:#ffffff1a}.post-btn{background:#fff;color:maroon;height:36px;width:36px}.btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:transform .1s,box-shadow .2s}.btn:hover:not(:disabled){box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.btn-primary{background:maroon;background:var(--dbs-maroon);color:#fff}.btn-teal{background:teal;background:var(--dbs-teal);color:#fff}.btn-outline{background:#0000;border:2px solid maroon;border:2px solid var(--dbs-maroon);color:maroon;color:var(--dbs-maroon)}.btn-success{background:#10b981;color:#fff}.btn-warning{background:#f59e0b;color:#fff}.btn-danger{background:#ef4444;color:#fff}.btn-full{width:100%}.btn-group{display:flex;gap:.5rem;margin-top:1rem}.card{background:#fff;background:var(--bg-card);border-radius:12px;box-shadow:0 2px 12px #00000014;padding:1.5rem}.loading-screen{align-items:center;color:maroon;color:var(--dbs-maroon);display:flex;flex-direction:column;height:100vh;justify-content:center}.filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.filter-buttons button{background:#fff;border:2px solid maroon;border-radius:20px;color:maroon;cursor:pointer;font-size:.875rem;padding:.5rem 1rem}.filter-buttons button.active,.filter-buttons button:hover{background:maroon;color:#fff}.search-bar{margin:1rem 0;width:100%}.search-input{border:2px solid #ddd;border-radius:25px;font-size:1rem;padding:.75rem 1rem;width:100%}.search-input:focus{border-color:maroon;box-shadow:0 0 0 3px #8000001a;outline:none}.request-card{margin-bottom:1rem}.request-subject{background:#f3f4f6;border-radius:12px;color:#374151;display:inline-block;font-size:14px;margin-bottom:8px;padding:4px 12px}.request-meta{align-items:center;color:#666;display:flex;font-size:.875rem;gap:.5rem;margin:1rem 0}.separator{color:#ccc}.dashboard{margin:0 auto;max-width:800px;padding:2rem}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.requests-list{display:flex;flex-direction:column;gap:1rem}.status-badge{border-radius:20px;color:#fff;display:inline-block;font-size:.75rem;font-weight:600;padding:.4rem 1rem}.status-badge.pending{background:#f59e0b}.status-badge.resolved{background:#10b981}.matched-info,.offer-info{background:#f9fafb;border-left:4px solid #2d9e8f;border-radius:8px;margin-top:1rem;padding:1rem}.action-buttons{display:flex;gap:.5rem;margin-top:1rem}.waiting-msg{color:#6b7280;font-style:italic}.profile-page{margin:2rem auto;max-width:800px;padding:0 1rem}.profile-card{padding:2rem}.profile-header{align-items:center;border-bottom:2px solid #eee;display:flex;gap:1.5rem;margin-bottom:2rem;padding-bottom:2rem}.profile-avatar{align-items:center;background:linear-gradient(135deg,maroon,#2d9e8f);border-radius:50%;color:#fff;display:flex;font-size:3rem;font-weight:700;height:100px;justify-content:center;width:100px}.profile-info h2{color:maroon;margin:0 0 .5rem}.profile-email{color:#666;margin:0}.profile-stats{background:#f9fafb;border-radius:12px;display:flex;gap:2rem;margin-bottom:2rem;padding:1.5rem}.stat{text-align:center}.stat-value{color:maroon;display:block;font-size:1.5rem;font-weight:700}.stat-label{color:#666;font-size:.875rem}.detail-section{margin-bottom:2rem}.detail-section h3{color:maroon;margin-bottom:1rem}.subject-list{display:flex;flex-wrap:wrap;gap:.5rem}.subject-tag{background:#2d9e8f;border-radius:20px;color:#fff;font-size:.875rem;padding:.5rem 1rem}.contact-section{border-top:2px solid #eee;margin-top:2rem;padding-top:2rem}.contact-section a{color:#2d9e8f;text-decoration:none}.edit-form{margin-top:2rem}.subject-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.subject-tags .tag{background:#fff;border:2px solid #ddd;border-radius:20px;cursor:pointer;font-size:.875rem;padding:.5rem 1rem}.subject-tags .tag.active{background:#2d9e8f;border-color:#2d9e8f;color:#fff}.no-data{color:#999;font-style:italic}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.rating-modal{background:#fff;border-radius:12px;max-width:400px;padding:2rem;text-align:center}.star-rating{display:flex;gap:.5rem;justify-content:center;margin:1.5rem 0}.star{background:none;border:none;color:#ddd;cursor:pointer;font-size:2.5rem;transition:all .2s}.star.filled{color:#f59e0b}.star:hover{transform:scale(1.2)}.completed-info{background:#d1fae5;border-radius:8px;color:#065f46;margin-top:1rem;padding:1rem}.leaderboard-page{margin:2rem auto;max-width:800px;padding:0 1rem}.leaderboard-header{margin-bottom:2rem;text-align:center}.leaderboard-header h2{color:maroon;font-size:2rem;margin-bottom:1rem}.filter-tabs{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.filter-tabs button{background:#fff;border:2px solid maroon;border-radius:25px;color:maroon;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 2rem;transition:all .2s}.filter-tabs button.active,.filter-tabs button:hover{background:maroon;color:#fff}.leaderboard-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:1.5rem}.leaderboard-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;padding:1.25rem;transition:background .2s}.leaderboard-item:hover{background:#f9fafb}.leaderboard-item:last-child{border-bottom:none}.rank{color:maroon;font-size:1.5rem;font-weight:700;text-align:center;width:50px}.leaderboard-item .user-info{align-items:center;display:flex;flex:1 1;gap:1rem}.leaderboard-item .avatar{align-items:center;background:linear-gradient(135deg,maroon,#2d9e8f);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.5rem;font-weight:700;height:50px;justify-content:center;width:50px}.leaderboard-item .details{display:flex;flex-direction:column;gap:.25rem}.leaderboard-item .details .name{color:maroon;font-size:1rem;font-weight:600}.leaderboard-item .details .grade{color:#666;font-size:.85rem}.leaderboard-item .stats{text-align:right}.leaderboard-item .stats .stat-value{color:#2d9e8f;font-size:1.25rem;font-weight:700}.leaderboard-info{background:#f9fafb;border-radius:12px;margin-top:2rem;padding:1.5rem}.leaderboard-item:first-child{background:linear-gradient(90deg,#fef3c7,#0000);border-radius:8px}.leaderboard-item:nth-child(2){background:linear-gradient(90deg,#e5e7eb,#0000);border-radius:8px}.leaderboard-item:nth-child(3){background:linear-gradient(90deg,#fed7aa,#0000);border-radius:8px}.teacher-dashboard{margin:2rem auto;max-width:1000px;padding:0 1rem}.dashboard-tabs{display:flex;gap:1rem;margin-bottom:2rem}.dashboard-tabs button{background:#fff;border:2px solid maroon;border-radius:25px;color:maroon;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem}.dashboard-tabs button.active{background:maroon;color:#fff}.report-item,.user-item{margin-bottom:1rem;padding:1.5rem}.report-header{display:flex;justify-content:space-between;margin-bottom:1rem}.report-actions,.user-actions{display:flex;gap:.5rem;margin-top:1rem}.banned-badge{background:#ef4444;border-radius:12px;color:#fff;font-size:.75rem;font-weight:700;padding:.25rem .75rem}.block-page,.report-page{margin:2rem auto;max-width:600px;padding:0 1rem}.teacher-btn{background:maroon;border:2px solid maroon;color:#fff}.teacher-btn:hover{background:#600000}.badges{display:flex;gap:.5rem;margin-top:.5rem}.top-tutor-badge{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:12px;color:#fff;font-size:.75rem;font-weight:700;padding:.25rem .75rem}body.dark-mode{background:#1a1a2e;color:#eee}body.dark-mode .app-header{background:#16213e}body.dark-mode .auth-card,body.dark-mode .card{background:#16213e;color:#eee}body.dark-mode input,body.dark-mode select,body.dark-mode textarea{background:#0f3460;border-color:#1a1a2e;color:#eee}body.dark-mode .filter-buttons button{background:#16213e;border-color:#0f3460;color:#eee}body.dark-mode .filter-buttons button.active{background:#e94560}body.dark-mode .search-input{background:#16213e;border-color:#0f3460;color:#eee}body.dark-mode .nav-btn{background:#0f3460;color:#eee}body.dark-mode .notification-dropdown{background:#16213e;color:#eee}.notification-btn{background:none;color:#fff}.notification-badge{font-size:.65rem;font-weight:600;padding:2px 6px;text-align:center}.notification-dropdown{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;max-height:400px;max-width:400px;min-width:300px;overflow-y:auto;padding:1rem;position:absolute;right:0;top:50px;z-index:1000}.notification-dropdown h4{border-bottom:2px solid #f0f0f0;color:maroon;font-size:1.1rem;margin:0 0 1rem;padding-bottom:.75rem}.notification-item{background:#f9fafb;border-left:3px solid #ddd;border-radius:8px;margin-bottom:.5rem;padding:.75rem}.notification-item.unread{background:#fff5f5;border-left-color:maroon}.notification-item p{color:#333;font-size:.9rem;margin:0 0 .25rem}.notification-item .notification-time{color:#999;font-size:.75rem}.no-notifications{color:#999;font-size:.9rem;padding:1rem;text-align:center}.reviews-section{margin-top:2rem}.reviews-section h3{color:maroon;margin-bottom:1rem}.review-card{background:#f9fafb;border-radius:8px;margin-bottom:1rem;padding:1rem}.review-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.review-comment{color:#333;margin:.5rem 0}.review-attachments{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.review-file{background:#f3f4f6;border-radius:4px;color:#666;font-size:.875rem;padding:.25rem .5rem;text-decoration:none}.review-file:hover{background:#e5e7eb}.review-footer{align-items:center;color:#999;display:flex;font-size:.8rem;justify-content:space-between;margin-top:.5rem}.report-review-btn{background:none;border:1px solid #dc2626;border-radius:4px;color:#dc2626;cursor:pointer;font-size:.75rem;padding:.25rem .5rem}.report-review-btn:hover,.warning-banner{background:#fee2e2}.warning-banner{border-bottom:2px solid #dc2626;color:#dc2626;font-weight:500;padding:.75rem 1rem;text-align:center}.warning-banner p{margin:0}.btn-danger-outline{background:#fee2e2;border:1px solid #dc2626;color:#dc2626}.btn-danger-outline:hover{background:#fecaca}.cost-info{background:#eff6ff;color:#1e40af;font-size:.9rem;margin:1rem 0;padding:.75rem}.cost-info,.whatsapp-btn{border-radius:8px;font-weight:500}.whatsapp-btn{background:#25d366;color:#fff;display:inline-block;margin-top:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s}.whatsapp-btn:hover{background:#128c7e;transform:translateY(-2px)}.post-request-card{margin:2rem auto;max-width:500px}.subtitle{color:#666;margin-bottom:1.5rem}@media (max-width:768px){.header-content{flex-direction:column;gap:.75rem}.user-menu{justify-content:space-between;width:100%}}.nav-btn{align-items:center;background:#fff;border:none;border-radius:50%;box-shadow:0 2px 4px #0000001a;color:maroon;cursor:pointer;display:flex;height:40px;justify-content:center;margin:0 4px;transition:all .2s;width:40px}.nav-btn:hover{background:#f0f0f0;transform:scale(1.05)}.nav-btn svg{color:maroon;height:20px;width:20px}body.dark-mode .nav-btn{background:#2a2a2a;color:#fff}body.dark-mode .nav-btn svg{color:#fff}.notification-badge{font-size:9px;height:16px;min-width:16px;padding:0 3px}.notification-btn{box-shadow:0 2px 4px #0000001a;margin:0 4px}.notification-badge{font-size:.7rem;padding:2px 5px;transform:none!important;z-index:100}.notifications-container{align-items:center;display:inline-flex;vertical-align:middle}.notification-badge{pointer-events:none;z-index:1000}.notification-btn{display:inline-flex}.notification-badge{right:-2px;top:-2px}.notification-btn{position:relative}.notification-badge{box-shadow:0 2px 4px #0003;font-size:10px;height:18px!important;line-height:1;min-width:18px!important;padding:0 4px}.notification-btn{overflow:visible}.notification-btn svg{color:maroon;height:20px;width:20px}.notification-badge{box-shadow:0 2px 6px #0000004d!important;font-size:12px!important;height:22px!important;line-height:1!important;min-width:22px!important;right:-6px!important;top:-6px!important}.notifications-container{display:inline-block!important;position:relative!important}.notification-badge{border-radius:10px;border-radius:50%!important;height:18px;min-width:18px;right:-5px;right:-4px!important;top:-5px;top:-4px!important;z-index:10!important}.notifications-container{display:inline-block;position:relative}.notification-btn{align-items:center!important;background:#fff!important;border:none!important;border-radius:50%!important;color:maroon!important;cursor:pointer!important;display:flex!important;height:40px!important;justify-content:center!important;margin:0 2px!important;overflow:visible!important;position:relative!important;transition:all .2s!important;width:40px!important}.notification-btn:hover{background:#f0f0f0!important;transform:scale(1.05)!important}.notification-btn svg{color:maroon!important;height:20px!important;width:20px!important}.notification-badge{align-items:center!important;background:#ef4444!important;border:2px solid #fff!important;border-radius:10px!important;box-shadow:0 2px 4px #0000004d!important;color:#fff!important;display:flex!important;font-size:11px!important;font-weight:700!important;height:20px!important;justify-content:center!important;min-width:20px!important;padding:0 5px!important;position:absolute!important;right:-5px!important;top:-5px!important;z-index:1000!important}.notification-wrapper{display:inline-block;position:relative}.notification-btn{align-items:center;background:#fff;border:none;border-radius:50%;color:maroon;cursor:pointer;display:flex;height:40px;justify-content:center;margin:0 2px;transition:all .2s;width:40px}.notification-btn:hover{background:#f0f0f0;transform:scale(1.05)}.notification-badge{align-items:center;background:#ef4444;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0000004d;color:#fff;display:flex;font-size:11px;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 5px;position:absolute;right:-4px;top:-4px;z-index:10}.modal-subtitle{line-height:1.5}.questionnaire-modal{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.modal-subtitle{color:#666;font-size:.95rem;margin-bottom:1.5rem}.likert-buttons{display:flex;gap:.5rem;margin-bottom:.25rem}.likert-btn{font-size:1rem;padding:.75rem;transition:all .2s}.likert-btn.active{background:maroon;border-color:maroon;color:#fff}.likert-labels{color:#999;display:flex;font-size:.75rem;justify-content:space-between;margin-top:.25rem}.modal-actions{gap:.75rem}.close-btn{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;justify-content:center;padding:.25rem}.likert-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 4px #0000000d;color:#333;cursor:pointer;flex:1 1;font-size:1.1rem;font-weight:600;padding:.85rem;transition:all .2s ease}.likert-btn:hover{border-color:maroon;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.likert-btn.active{background:maroon!important;border-color:maroon!important;box-shadow:0 4px 12px #8000004d;color:#fff!important;transform:scale(1.05)}.questionnaire-modal{padding:2rem}.questionnaire-modal h3{margin-top:0}.modal-actions{border-top:1px solid #eee;display:flex;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem}
/*# sourceMappingURL=main.df9d0eac.css.map*/