:root{--theme-blue:#3b82f6;--theme-blue-deep:#1d4ed8;--theme-yellow:#fbbf24;--theme-yellow-bg:#fef3c7;--theme-white:#fff;--theme-gray-100:#f3f4f6;--theme-gray-500:#6b7280;--theme-gray-900:#111827}.my-tutors-container{box-sizing:border-box;background:radial-gradient(100% 60% at 0 0,#3b82f61f 0%,#0000 50%),radial-gradient(80% 50% at 100% 100%,#fbbf241a 0%,#0000 50%),linear-gradient(#fafbff 0%,#fffef9 100%);border-radius:16px;flex-direction:column;gap:1.5rem;width:100%;max-width:1200px;min-height:100%;margin:0 auto;padding:1.25rem;display:flex}body.dark-mode .my-tutors-container{background:radial-gradient(100% 60% at 0 0,#3b82f61f 0%,#0000 50%),radial-gradient(80% 50% at 100% 100%,#fbbf240f 0%,#0000 50%),linear-gradient(#0f172afa 0%,#1e293bfa 100%)}body.dark-mode .stat-card .stat-number{color:#f1f5f9}.my-tutors-header{flex-direction:column;gap:.35rem;display:flex}.page-title{background:linear-gradient(135deg,var(--theme-blue-deep)0%,var(--theme-blue)50%,var(--theme-yellow)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.6rem;font-weight:800}.page-description{color:var(--theme-gray-500);margin:0;font-size:.9rem}body.dark-mode .page-description{color:#94a3b8}.stats-grid-wrap{flex-direction:column;gap:.5rem;display:flex}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:.55rem;display:grid}.stat-card{background:#ffffff73;border:1px solid #3b82f61f;border-radius:12px;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;padding:.5rem .65rem;transition:background .2s,box-shadow .2s,border-color .2s;display:flex}body.dark-mode .stat-card{background:#1e293b80;border-color:#94a3b826}.stat-card--hint-open{border-color:#3b82f659;box-shadow:0 0 0 1px #3b82f626}.stat-card-left{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.stat-icon-cluster{flex-shrink:0;width:44px;height:44px;position:relative}.stat-icon-cluster .stat-icon{width:44px;height:44px}.stat-icon-tap-target{display:none}.stat-icon-tap-target:focus-visible{outline:2px solid var(--theme-blue);outline-offset:2px}.stat-caption-desktop{min-width:0;color:var(--theme-gray-900);white-space:nowrap;flex:0 auto;margin:0;font-size:.8125rem;font-weight:700;line-height:1.2;display:block}body.dark-mode .stat-caption-desktop{color:#f1f5f9}@media (min-width:769px){.stats-hint{display:none!important}}@media (max-width:768px){.stat-caption-desktop{display:none}.stat-card-left{flex:0 auto}.stat-icon-tap-target{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:11px;width:100%;height:100%;margin:0;padding:0;display:block;position:absolute;inset:0}}.stat-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stats-hint{color:#374151;background:#3b82f614;border:1px solid #3b82f626;border-radius:10px;margin:0;padding:.5rem .75rem;font-size:.875rem;line-height:1.4}.stats-hint[hidden]{display:none}.stats-hint strong{color:var(--theme-gray-900);font-weight:700}body.dark-mode .stats-hint{color:#cbd5e1;background:#3b82f61f;border-color:#94a3b833}body.dark-mode .stats-hint strong{color:#f1f5f9}.stat-icon{pointer-events:none;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-icon.pending{background:linear-gradient(135deg,var(--theme-yellow-bg)0%,#fde68a 100%);color:#d97706}.stat-icon.accepted{color:#059669;background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%)}.stat-icon.rejected{color:#dc2626;background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%)}.stat-icon svg{stroke-width:2px;width:22px;height:22px}.stat-number{color:var(--theme-gray-900);font-variant-numeric:tabular-nums;min-width:0;font-size:1.5rem;font-weight:700;line-height:1}.tutors-tabs{border-bottom:1px solid #3b82f633;gap:.5rem;display:flex}.tutors-tab{color:var(--theme-gray-500);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;border-radius:12px 12px 0 0;align-items:center;gap:.75rem;margin-bottom:-1px;padding:1rem 1.5rem;font-size:1rem;font-weight:600;transition:all .25s;display:inline-flex}.tutors-tab:hover{color:var(--theme-blue-deep);background:#3b82f614}.tutors-tab.active{background:var(--gradient-brand);color:var(--theme-white);text-shadow:0 1px 2px #0000001a;border-bottom-color:#0000}.tutors-tab svg{stroke-width:2px;width:18px;height:18px}.tutors-content{flex-direction:column;display:flex}.tutors-panel{display:none}.tutors-panel.active{flex-direction:column;display:flex}.requests-list,.tutors-list{flex-direction:column;gap:1rem;padding:1rem 0;display:flex}.my-tutors-container .request-card,.my-tutors-container .tutor-card{background:0 0;gap:1rem;transition:all .25s;cursor:default!important;border-radius:16px!important;flex-flow:wrap!important;align-items:center!important;height:auto!important;min-height:72px!important;padding:.875rem 1.25rem!important;display:flex!important;position:relative!important;overflow:visible!important;box-shadow:0 0 0 1px #3b82f626,0 4px 12px #3b82f614!important}.my-tutors-container .request-card:hover,.my-tutors-container .tutor-card:hover{border-color:#3b82f659;transform:translateY(-2px);box-shadow:0 0 0 1px #3b82f640,0 8px 24px #3b82f61f}.my-tutors-container .request-avatar,.my-tutors-container .tutor-avatar{background:var(--gradient-brand)!important;width:56px!important;height:56px!important;color:var(--theme-white)!important;border-radius:50%!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;margin:0!important;font-size:1.25rem!important;font-weight:600!important;display:flex!important;position:relative!important;overflow:hidden!important;box-shadow:0 4px 14px #3b82f666!important}.my-tutors-container .tutor-avatar--photo{background:#e2e8f0!important;padding:0!important}body.dark-mode .my-tutors-container .tutor-avatar--photo{background:#1e293be6!important}.my-tutors-container .tutor-avatar-img{object-fit:cover!important;border-radius:50%!important;width:100%!important;height:100%!important;display:block!important}.my-tutors-container .tutor-avatar-initials{line-height:1!important}.my-tutors-container .tutor-card-avatar-section{display:none!important}.my-tutors-container .request-info,.my-tutors-container .tutor-info{flex-direction:column;flex:1;justify-content:center;gap:.0625rem;min-width:0;display:flex}.tutor-name-row{flex-wrap:wrap;align-items:center;gap:.375rem;width:100%;display:flex}.my-tutors-container .request-name,.my-tutors-container .tutor-name{color:var(--text-primary,#1f2937);flex-shrink:0;margin:0;font-size:1.0625rem;font-weight:600;line-height:1.1}.my-tutors-container .request-email,.my-tutors-container .tutor-email{color:var(--text-secondary,#6b7280);margin:0;font-size:.875rem;line-height:1.1}.request-message{color:var(--text-secondary,#6b7280);margin:.5rem 0;font-size:.9375rem;font-style:italic}.request-time{color:var(--text-muted,#9ca3af);margin:0;font-size:.8125rem}.my-tutors-container .tutor-rating{flex-shrink:0;align-items:center;gap:.25rem;font-size:.9375rem;display:inline-flex}.my-tutors-container .rating-value{color:var(--text-primary,#1f2937);font-size:.9375rem;font-weight:600}.my-tutors-container .stars{color:var(--theme-yellow);font-size:.9375rem}.my-tutors-container .rating-count{color:var(--text-muted,#9ca3af);margin-left:.125rem;font-size:.8125rem}.my-tutors-container .request-actions{flex-wrap:wrap;flex:none;align-items:center;gap:.5rem;display:flex}.my-tutors-container .request-cancel-btn{cursor:pointer;color:#ef4444;background:0 0;border:1px solid #ef4444;border-radius:.4rem;padding:.5rem .75rem;font-size:.8rem;font-weight:500;transition:all .2s}.my-tutors-container .request-cancel-btn:hover:not(:disabled){color:#fff;background:#ef4444}.my-tutors-container .request-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.my-tutors-container .tutor-actions .btn-remove-from-list{cursor:pointer;color:#ef4444;background:0 0;border:1px solid #ef4444;border-radius:.4rem;flex:none;padding:.5rem .75rem;font-size:.8rem;font-weight:500;transition:all .2s}.my-tutors-container .tutor-actions .btn-remove-from-list:hover{color:#fff;background:#ef4444}.my-tutors-container .tutor-actions .btn-remove-from-list:disabled{opacity:.6;cursor:not-allowed}.my-tutors-container .tutor-actions{flex-shrink:0;align-items:center;gap:.375rem;display:flex}.tutor-details-btn{background:var(--theme-white);color:var(--theme-blue-deep);cursor:pointer;white-space:nowrap;border:1px solid #3b82f673;border-radius:12px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;line-height:1.1;transition:all .25s}.tutor-details-btn:hover{border-color:var(--theme-blue);background:#3b82f61a}body.dark-mode .tutor-details-btn{color:#93c5fd;background:#1e293bcc;border-color:#60a5fa73}body.dark-mode .tutor-details-btn:hover{background:#3b82f633}.rate-btn{background:linear-gradient(135deg,var(--theme-blue)0%,var(--theme-blue-deep)100%);color:var(--theme-white);cursor:pointer;white-space:nowrap;border:none;border-radius:12px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;line-height:1.1;transition:all .25s;box-shadow:0 2px 8px #3b82f659}.rate-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f673}.view-ratings-btn{background:var(--theme-white);color:var(--theme-gray-500);cursor:pointer;white-space:nowrap;border:1px solid #3b82f64d;border-radius:12px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;line-height:1.1;transition:all .25s}.view-ratings-btn:hover{border-color:var(--theme-blue);color:var(--theme-blue);background:#3b82f614}.rating-modal-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.rating-modal-content{background:var(--theme-white);border-radius:16px;width:100%;max-width:420px;padding:1.5rem;box-shadow:0 20px 40px #0003}.rating-modal-title{color:var(--theme-gray-900);margin:0 0 1rem;font-size:1.25rem;font-weight:700}.rating-modal-stars{gap:.5rem;margin-bottom:1rem;display:flex}.rating-modal-star{cursor:pointer;color:#e5e7eb;background:0 0;border:none;padding:.25rem;font-size:2rem;line-height:1;transition:color .2s}.rating-modal-star.filled,.rating-modal-star:hover{color:var(--theme-yellow)}.rating-modal-label{color:var(--theme-gray-700);margin-bottom:.375rem;font-size:.875rem;font-weight:600;display:block}.rating-modal-comment{resize:vertical;box-sizing:border-box;border:1px solid #3b82f64d;border-radius:12px;width:100%;margin-bottom:1rem;padding:.75rem;font-size:.9375rem}.rating-modal-comment:focus{border-color:var(--theme-blue);outline:none;box-shadow:0 0 0 3px #3b82f633}.rating-modal-checkbox{color:var(--theme-gray-700);cursor:pointer;align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:.9375rem;display:flex}.rating-modal-checkbox input{width:1.125rem;height:1.125rem;accent-color:var(--theme-blue)}.rating-modal-actions{justify-content:flex-end;gap:.75rem;display:flex}.rating-modal-cancel{background:var(--theme-gray-100);color:var(--theme-gray-700);cursor:pointer;border:none;border-radius:12px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:background .2s}.rating-modal-cancel:hover{background:#e5e7eb}.rating-modal-submit{background:linear-gradient(135deg,var(--theme-blue)0%,var(--theme-blue-deep)100%);color:var(--theme-white);cursor:pointer;border:none;border-radius:12px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:transform .2s,box-shadow .2s}.rating-modal-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.rating-modal-submit:disabled{opacity:.6;cursor:not-allowed}body.dark-mode .rating-modal-content{background:#1e293b}body.dark-mode .rating-modal-title{color:#f1f5f9}body.dark-mode .rating-modal-label,body.dark-mode .rating-modal-checkbox{color:#cbd5e1}body.dark-mode .rating-modal-comment{color:#e2e8f0;background:#0f172a;border-color:#3b82f666}body.dark-mode .rating-modal-cancel{color:#cbd5e1;background:#334155}body.dark-mode .rating-modal-cancel:hover{background:#475569}.availability-toggle-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#059669;border:none;border-radius:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;line-height:1.1;transition:all .2s}.availability-toggle-btn:hover{background:#047857}body.dark-mode .availability-toggle-btn{background:var(--dashboard-success,#10b981);color:#fff}body.dark-mode .availability-toggle-btn:hover{filter:brightness(1.1);background:#059669}.tutor-details-hint{color:var(--text-secondary,#6b7280);margin:0 0 .75rem;font-size:.875rem;line-height:1.45}body.dark-mode .tutor-details-hint{color:var(--dashboard-text-secondary)}.tutor-details-to-availability-btn{box-sizing:border-box;color:#047857;cursor:pointer;background:#05966929;border:1px solid #04785780;border-radius:.5rem;width:100%;margin-top:.75rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:background .2s,border-color .2s}.tutor-details-to-availability-btn:hover{background:#05966942;border-color:#047857}body.dark-mode .tutor-details-to-availability-btn{color:#6ee7b7;background:#05966938;border-color:#34d39980}body.dark-mode .tutor-details-to-availability-btn:hover{background:#05966952}.tutor-details-to-availability-btn:disabled{opacity:.65;cursor:default}.my-tutors-container .tutor-details-dropdown .tutor-detail-profile-panel--inline .tutor-modal-main{width:100%;max-width:none}.my-tutors-container .tutor-details-dropdown .tutor-modal-header{flex-wrap:wrap}.my-tutors-container .tutor-details-dropdown .tutor-modal-name{font-size:1.125rem}.my-tutors-container .tutor-detail-profile-panel-loading{margin:0 0 .75rem}.my-tutors-container .tutor-detail-profile-panel-footer{border-top:1px solid var(--border-color,#e5e7eb);margin-top:1rem;padding-top:.75rem}body.dark-mode .my-tutors-container .tutor-detail-profile-panel-footer{border-top-color:var(--dashboard-border)}.tutor-availability-dropdown{border:1px solid var(--border-color,#e5e7eb);background:var(--bg-secondary,#f9fafb);border-radius:.5rem;flex:100%;width:100%;min-width:0;max-height:none;margin-top:.25rem;margin-left:0;padding:1rem;overflow:visible}body.dark-mode .tutor-availability-dropdown{background:var(--dashboard-card-bg);border-color:var(--dashboard-border);box-shadow:0 0 0 1px #33415580}.my-tutors-container .tutor-availability-dropdown .my-tutors-availability-toolbar{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.tutor-availability-dropdown .availability-loading{color:var(--text-secondary,#6b7280);margin:0;font-size:.875rem}body.dark-mode .tutor-availability-dropdown .availability-loading{color:var(--dashboard-text-secondary)}.availability-calendar-wrap{min-height:280px;max-height:none;overflow:visible}.my-tutors-container .tutor-availability-dropdown .availability-calendar-wrap .fc,.my-tutors-container .tutor-availability-dropdown .availability-calendar-wrap .fc-view-harness,.my-tutors-container .tutor-availability-dropdown .availability-calendar-wrap .fc-scrollgrid,.my-tutors-container .tutor-availability-dropdown .availability-calendar-wrap .fc-scrollgrid-section-body{height:auto!important;max-height:none!important}.my-tutors-container .tutor-availability-dropdown .availability-calendar-wrap .fc-scroller-harness,.my-tutors-container .tutor-availability-dropdown .availability-calendar-wrap .fc-scroller-harness-liquid,.my-tutors-container .tutor-availability-dropdown .availability-calendar-wrap .fc-scroller{height:auto!important;max-height:none!important;overflow:visible!important}.my-tutors-container .tutor-availability-dropdown .availability-calendar-wrap .fc-scroller-liquid,.my-tutors-container .tutor-availability-dropdown .availability-calendar-wrap .fc-scroller-liquid-absolute{height:auto!important;max-height:none!important;position:relative!important;inset:auto!important}.availability-calendar-wrap .fc{font-size:.8125rem}.availability-calendar-wrap .fc-toolbar-title{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:clamp(.62rem,1.45vw,.78rem);font-weight:600;overflow:hidden}@media (min-width:769px){.availability-calendar-wrap .fc-toolbar-title{font-size:clamp(.95rem,1.35vw,1.125rem);font-weight:700}.availability-calendar-wrap .fc-col-header-cell-cushion{gap:.25rem;padding:.4rem .3rem}.availability-calendar-wrap .fc-day-header-weekday{font-size:1rem;font-weight:700}.availability-calendar-wrap .fc-day-header-date{opacity:1;font-size:.9375rem;font-weight:600}.availability-calendar-wrap .fc-timegrid-slot-label-cushion{font-size:.8125rem}}.availability-calendar-wrap .fc-timegrid-event{border-radius:.25rem}.availability-calendar-wrap .fc-timegrid-event.fc-tutor-student-availability-slot{pointer-events:none;cursor:default;box-sizing:border-box;height:100%;overflow:hidden}.availability-calendar-wrap .fc-timegrid-event.fc-tutor-student-availability-slot .fc-event-main{box-sizing:border-box;flex-direction:column;height:100%;max-height:100%;padding:2px 4px 3px;display:flex;overflow:hidden}.availability-calendar-wrap .fc-timegrid-event.fc-tutor-student-availability-slot .fc-event-main-frame{box-sizing:border-box;flex-direction:column;flex:auto;min-height:0;max-height:100%;display:flex;overflow:hidden}.availability-calendar-wrap .fc-tutor-student-availability-slot .fc-event-time{opacity:.95;font-size:.62rem;font-weight:700}.availability-calendar-wrap .fc-tutor-student-availability-slot .fc-event-title{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.65rem;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.availability-calendar-wrap .fc-my-tutors-avail-inner{box-sizing:border-box;flex-direction:column;flex:auto;gap:.06rem;max-width:100%;min-height:0;max-height:100%;padding:0;display:flex;overflow:hidden}.availability-calendar-wrap .fc-my-tutors-avail-time{opacity:.95;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;font-size:.6rem;font-weight:700;line-height:1.1;overflow:hidden}.availability-calendar-wrap .fc-my-tutors-avail-subject{-webkit-line-clamp:2;word-break:break-word;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex:auto;min-height:0;margin:0;font-size:.6rem;font-weight:700;line-height:1.15;display:-webkit-box;overflow:hidden}body.dark-mode .availability-calendar-wrap .fc-my-tutors-avail-subject,body.dark-mode .availability-calendar-wrap .fc-my-tutors-avail-time{color:inherit}.availability-calendar-wrap .fc-timegrid-event.fc-my-tutors-client-booked-slot{pointer-events:none;cursor:default;box-sizing:border-box;z-index:2;overflow:hidden}.availability-calendar-wrap .fc-timegrid-event.fc-my-tutors-client-pending-slot{pointer-events:auto;cursor:default;box-sizing:border-box;z-index:3;overflow:hidden}.availability-calendar-wrap .fc-timegrid-event.fc-tutor-student-availability-slot{z-index:1}.availability-calendar-wrap .fc-my-tutors-client-booked-slot .fc-event-main,.availability-calendar-wrap .fc-my-tutors-client-pending-slot .fc-event-main{box-sizing:border-box;max-height:100%;padding:2px 4px 3px;overflow:hidden}.fc-my-tutors-booked-inner{flex-direction:column;gap:.06rem;max-width:100%;line-height:1.15;display:flex;overflow:hidden}.fc-my-tutors-booked-label{text-transform:uppercase;letter-spacing:.03em;color:#172554f2;font-size:.58rem;font-weight:800}.fc-my-tutors-booked-subject{color:#1e3a8af2;text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;font-weight:700;overflow:hidden}.fc-my-tutors-booked-times{color:#1e40aff2;white-space:nowrap;text-overflow:ellipsis;font-size:.6rem;font-weight:700;overflow:hidden}body.dark-mode .fc-my-tutors-booked-label{color:#dbeafefa}body.dark-mode .fc-my-tutors-booked-subject{color:#bfdbfef2}body.dark-mode .fc-my-tutors-booked-times{color:#93c5fdf2}.fc-my-tutors-pending-inner{flex-direction:column;gap:.08rem;max-width:100%;line-height:1.15;display:flex;overflow:hidden}.fc-my-tutors-pending-label{text-transform:uppercase;letter-spacing:.03em;color:#78350ff2;font-size:.58rem;font-weight:800}.fc-my-tutors-pending-times{color:#451a03f2;white-space:nowrap;text-overflow:ellipsis;font-size:.6rem;font-weight:700;overflow:hidden}body.dark-mode .fc-my-tutors-pending-label{color:#fef3c7fa}body.dark-mode .fc-my-tutors-pending-times{color:#ffedd5f2}.tutor-client-legend-booked-swatch{border:1px solid #2563eb73}.tutor-client-legend-pending-swatch{border:1px solid #d9770673}.tutor-booking-popover-note-label{color:var(--text-primary,#1f2937);margin-top:.75rem;margin-bottom:.35rem;font-size:.8125rem;font-weight:600;display:block}.tutor-booking-popover-note{box-sizing:border-box;border:1px solid var(--border-color,#d1d5db);resize:vertical;background:var(--bg-primary,#fff);width:100%;color:var(--text-primary,#111827);border-radius:.5rem;padding:.55rem .65rem;font-size:.875rem}.tutor-booking-popover-note:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f626}body.dark-mode .tutor-booking-popover-note-label{color:var(--dashboard-text-primary,#e2e8f0)}body.dark-mode .tutor-booking-popover-note{color:#e2e8f0;border-color:var(--dashboard-border,#334155);background:#0f172a}body.dark-mode .availability-calendar-wrap .fc{color:var(--dashboard-text-primary)}body.dark-mode .availability-calendar-wrap .fc-scrollgrid,body.dark-mode .availability-calendar-wrap .fc-scrollgrid-section-header,body.dark-mode .availability-calendar-wrap .fc-timegrid-slot,body.dark-mode .availability-calendar-wrap .fc-timegrid-col{border-color:var(--dashboard-border)}body.dark-mode .availability-calendar-wrap .fc-col-header-cell{border-color:var(--dashboard-border);background:#1e293bcc}body.dark-mode .availability-calendar-wrap .fc-col-header-cell-cushion,body.dark-mode .availability-calendar-wrap .fc-timegrid-slot-label-cushion{color:var(--dashboard-text-primary)}body.dark-mode .availability-calendar-wrap .fc-timegrid-slot-label{color:var(--dashboard-text-secondary)}.availability-calendar-wrap .fc-timegrid-slot{height:1.6rem}body.dark-mode .availability-calendar-wrap .fc-daygrid-day-frame{background:var(--dashboard-card-bg);border-color:var(--dashboard-border)}body.dark-mode .availability-calendar-wrap .fc-toolbar-title{color:var(--dashboard-text-primary)}body.dark-mode .availability-calendar-wrap .fc-button,body.dark-mode .availability-calendar-wrap .fc .fc-prev-button,body.dark-mode .availability-calendar-wrap .fc .fc-next-button,body.dark-mode .availability-calendar-wrap .fc .fc-today-button{background:var(--dashboard-sidebar-bg);color:var(--dashboard-text-primary);border:1px solid var(--dashboard-border)}body.dark-mode .availability-calendar-wrap .fc-button:hover{background:var(--dashboard-border);color:var(--dashboard-primary)}body.dark-mode .availability-calendar-wrap .fc-button-active{background:var(--dashboard-primary);color:#fff;border-color:var(--dashboard-primary)}.request-status{text-transform:uppercase;border-radius:9999px;padding:.375rem .75rem;font-size:.8125rem;font-weight:600}.status-pending{color:#d97706;background:#fef3c7}.status-accepted{color:#059669;background:#d1fae5}.status-rejected{color:#dc2626;background:#fee2e2}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}.empty-icon{background:var(--gradient-brand);width:64px;height:64px;color:var(--theme-white);border-radius:50%;justify-content:center;align-items:center;margin-bottom:1rem;display:flex;box-shadow:0 8px 24px #3b82f64d}.empty-icon svg{stroke:currentColor;width:32px;height:32px}.empty-title{color:var(--theme-gray-900);margin:0 0 .5rem;font-size:1.25rem;font-weight:700}.empty-description{color:var(--theme-gray-500);margin:0;font-size:.875rem}@media (max-width:768px){.my-tutors-container{gap:1.5rem;padding:1rem}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.stat-card{gap:.45rem;padding:.45rem .5rem}.stat-icon{border-radius:10px;width:40px;height:40px}.stat-icon-cluster,.stat-icon-cluster .stat-icon{width:40px;height:40px}.stat-icon svg{width:20px;height:20px}.stat-number{font-size:1.35rem}.stats-hint{padding:.45rem .6rem;font-size:.8125rem}.tutors-tabs{flex-wrap:wrap}.tutors-tab{flex:1;justify-content:center;min-width:120px}.my-tutors-container .request-card,.my-tutors-container .tutor-card{flex-direction:column;align-items:stretch;gap:.5rem;padding:.875rem}.my-tutors-container .request-avatar,.my-tutors-container .tutor-avatar{width:48px;height:48px;font-size:1.25rem}.my-tutors-container .tutor-actions{flex-direction:row;width:100%;min-width:auto}.rate-btn,.view-ratings-btn{flex:1;padding:.5rem .75rem;font-size:.75rem}}@media (max-width:480px){.page-title{font-size:1.5rem}.stats-grid{gap:.35rem}.stat-card{border-radius:10px;padding:.4rem .45rem}.stat-icon,.stat-icon-cluster,.stat-icon-cluster .stat-icon{width:38px;height:38px}.stat-icon svg{width:19px;height:19px}.stat-number{font-size:1.25rem}.stats-hint{padding:.4rem .5rem;font-size:.78rem}}
:root{--theme-blue:#3b82f6;--theme-blue-deep:#1d4ed8;--theme-yellow:#fbbf24;--theme-white:#fff;--theme-gray-500:#6b7280;--theme-gray-900:#111827}.sessions-container{background:radial-gradient(100% 60% at 0 0,#3b82f62e 0%,#0000 50%),radial-gradient(80% 50% at 100% 100%,#fbbf2426 0%,#0000 50%),linear-gradient(#fafbfff2 0%,#fffef9f2 100%);border-radius:16px;width:100%;min-height:100%;margin:0 auto;padding:1.25rem}body.dark-mode .sessions-container{background:radial-gradient(100% 60% at 0 0,#3b82f61f 0%,#0000 50%),radial-gradient(80% 50% at 100% 100%,#fbbf240f 0%,#0000 50%),linear-gradient(#0f172afa 0%,#1e293bfa 100%)}body.dark-mode .empty-state{color:var(--dashboard-text-secondary)}body.dark-mode .empty-state .btn-primary{background:var(--dashboard-primary);color:#fff}body.dark-mode .empty-state .btn-primary:hover{background:var(--dashboard-primary-hover)}.sessions-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:1.25rem;display:flex;position:relative}.sessions-date-range{background:#ffffff8c;border:1px solid #3b82f633;border-radius:12px;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;padding:.5rem .75rem;display:flex}body.dark-mode .sessions-date-range{border-color:var(--dashboard-border,#94a3b840);background:#1e293b99}.sessions-date-range-title{color:var(--theme-gray-500);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:700}body.dark-mode .sessions-date-range-title{color:var(--dashboard-text-secondary,#94a3b8)}.sessions-date-field{color:var(--theme-gray-900);align-items:center;gap:.35rem;font-size:.875rem;display:inline-flex}body.dark-mode .sessions-date-field{color:inherit}.sessions-date-field span{color:var(--theme-gray-500);font-size:.8rem}.sessions-date-field input[type=date]{color:inherit;background:#ffffffe6;border:1px solid #3b82f659;border-radius:8px;padding:.35rem .5rem;font-size:.875rem}body.dark-mode .sessions-date-field input[type=date]{border-color:var(--dashboard-border,#94a3b859);color:var(--dashboard-text,#e2e8f0);background:#0f172ad9}.empty-state-hint{opacity:.88;margin:.35rem 0 1rem;font-size:.9rem}.sessions-header-create-btn{cursor:pointer;white-space:nowrap;color:var(--theme-white);background:linear-gradient(135deg,var(--theme-blue)0%,var(--theme-blue-deep)55%,var(--theme-yellow)160%);border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-self:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 2px 10px #3b82f659}.sessions-header-create-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #3b82f673}.sessions-header-create-btn:focus-visible{outline:2px solid var(--theme-blue);outline-offset:2px}body.dark-mode .sessions-header-create-btn{box-shadow:0 2px 12px #3b82f640}.empty-state{text-align:center;color:var(--text-secondary,#6b7280);padding:60px 20px}.empty-state p{margin-bottom:20px;font-size:1.2em}body.dark-mode .badge-scheduled{color:#93c5fd;background-color:#3b82f640}body.dark-mode .badge-ongoing{color:#86efac;background-color:#22c55e40}body.dark-mode .badge-completed{color:#94a3b8;background-color:#94a3b840}body.dark-mode .badge-cancelled{color:#fca5a5;background-color:#ef444440}body.dark-mode .badge-pending{color:#fcd34d;background-color:#fbbf2433;border-color:#fbbf2480}body.dark-mode .badge-rejected{color:#fca5a5;background-color:#ef444440}body.dark-mode .loading-spinner{color:var(--dashboard-text-secondary)}body.dark-mode .spinner{border-color:var(--dashboard-border);border-top-color:var(--dashboard-primary)}body.dark-mode .modal-body .form-group small{color:var(--dashboard-text-secondary)}.session-detail-readonly .readonly-field{margin-bottom:1rem}.session-detail-readonly .readonly-field label{color:#666;margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:block}body.dark-mode .session-detail-readonly .readonly-field label{color:var(--dashboard-text-secondary)}.session-detail-readonly .readonly-value{color:#333;word-break:break-word;font-size:.95rem}body.dark-mode .session-detail-readonly .readonly-value{color:var(--dashboard-text-primary)}.session-detail-readonly .readonly-notes{white-space:pre-wrap;line-height:1.5}.badge{white-space:nowrap;border-radius:9999px;padding:.25rem .6rem;font-size:.8rem;font-weight:600;display:inline-block}.badge-scheduled{color:#1976d2;background-color:#e3f2fd}.badge-ongoing{color:#388e3c;background-color:#e8f5e9;animation:2s infinite pulse}.badge-completed{color:#616161;background-color:#f5f5f5}.badge-cancelled{color:#c62828;background-color:#ffebee}.badge-pending{color:#f57c00;background-color:#fff3e0;border:1px dashed #fb8c00}.badge-rejected{color:#c62828;background-color:#ffebee}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.btn-primary{color:#fff;cursor:pointer;background-color:#6366f1;border:none;border-radius:.4rem;padding:.5rem 1.1rem;font-size:.9rem;transition:background-color .2s}.btn-primary:hover{background-color:#4f46e5}.loading-spinner{color:#666;justify-content:center;align-items:center;padding:60px 20px;display:flex}.spinner{border:4px solid #f3f3f3;border-top-color:#6366f1;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal{-webkit-backdrop-filter:blur(4px);z-index:1045;padding:1rem;padding-top:max(calc(var(--dashboard-navbar-height,4.5rem) + .85rem),calc(env(safe-area-inset-top,0px) + var(--dashboard-navbar-height,4.5rem) + .5rem));padding-bottom:max(1rem,env(safe-area-inset-bottom,0px));background:#0009;justify-content:center;align-items:center;animation:.2s sessionModalFadeIn;display:flex;position:fixed;inset:0}@keyframes sessionModalFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--dashboard-card-bg,#fff);border-radius:1rem;flex-direction:column;width:100%;max-width:520px;min-height:0;max-height:min(82vh,100dvh - 6.25rem);margin-top:.65rem;animation:.3s sessionModalSlideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000004d}@keyframes sessionModalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--dashboard-border,#e5e7eb);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-header h2{color:var(--dashboard-text-primary,#1f2937);margin:0;font-size:1.25rem;font-weight:700}.close-modal{background:var(--dashboard-sidebar-bg,#f3f4f6);cursor:pointer;width:36px;height:36px;color:var(--dashboard-text-secondary,#6b7280);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.close-modal:hover{color:#fff;background:#ef4444;transform:rotate(90deg)}.modal-form{flex-direction:column;flex:1;min-height:0;display:flex}.modal-body{flex:1;min-height:0;padding:1rem 1.25rem;overflow:hidden auto}.modal-footer{border-top:1px solid var(--dashboard-border,#e5e7eb);background:var(--dashboard-card-bg,#fff);flex-shrink:0;padding:1rem 1.25rem;box-shadow:0 -6px 16px #0f172a0f}body.dark-mode .modal-footer{box-shadow:0 -8px 20px #00000059}.modal-body .form-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.modal-body .form-row .form-group{margin-bottom:0}.modal-body .form-group{margin-bottom:1rem}.modal-body .form-group label{color:var(--dashboard-text-primary,#333);margin-bottom:.35rem;font-size:.8125rem;font-weight:600;display:block}.modal-body .form-group input,.modal-body .form-group textarea,.modal-body .form-group select{border:1px solid var(--dashboard-border,#e5e7eb);box-sizing:border-box;background:var(--dashboard-card-bg,#fff);border-radius:.5rem;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .2s}.modal-body .form-group input:focus,.modal-body .form-group textarea:focus,.modal-body .form-group select:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f11a}.modal-body .form-group textarea{resize:vertical;min-height:72px}.modal-body .form-group small{color:#6b7280;margin-top:.25rem;font-size:.8em;display:block}.form-hint{color:#6b7280;font-size:.85em}.form-hint-block{margin:.5rem 0;font-size:.9em;display:block}body.dark-mode .form-hint,body.dark-mode .form-hint-block{color:var(--dashboard-text-secondary)}.modal-footer .form-actions{border:none;justify-content:flex-end;gap:.75rem;margin:0;padding:0;display:flex}.btn-cancel{color:#6b7280;border:1px solid var(--dashboard-border,#e5e7eb);cursor:pointer;background:0 0;border-radius:.5rem;padding:.5rem 1.15rem;font-size:.875rem;font-weight:600;transition:all .2s}.btn-cancel:hover{background:#f3f4f6;border-color:#d1d5db}body.dark-mode .btn-cancel{color:var(--dashboard-text-secondary);border-color:var(--dashboard-border)}body.dark-mode .btn-cancel:hover{background:var(--dashboard-sidebar-bg);border-color:var(--dashboard-text-secondary);color:var(--dashboard-text-primary)}.btn-submit{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:.5rem;padding:.5rem 1.15rem;font-size:.875rem;font-weight:600;transition:background-color .2s}.btn-submit:hover{background:#4f46e5}@media (max-width:768px){.modal{padding-top:max(calc(var(--dashboard-navbar-height,4.5rem) + .5rem),calc(env(safe-area-inset-top,0px) + var(--dashboard-navbar-height,4.5rem) + .35rem));padding-bottom:max(.65rem,env(safe-area-inset-bottom,0px));align-items:center;overflow:hidden}.modal-content{width:100%;max-width:100%;max-height:min(calc(100dvh - var(--dashboard-navbar-height,4.5rem) - 1.25rem),calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 1.5rem));min-height:0;margin-top:0}.modal-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modal-footer{padding-bottom:max(.75rem,env(safe-area-inset-bottom,0px))}}@media (max-width:600px){.sessions-container{padding:1rem}.modal-body .form-row{grid-template-columns:1fr}.modal-body .form-row .form-group{margin-bottom:1rem}.modal-body .form-row .form-group:last-child{margin-bottom:0}.sessions-header{flex-direction:column;align-items:stretch;gap:1rem}.sessions-header-create-btn{justify-content:center;width:100%;padding:.65rem 1rem}.modal-footer .form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}.sessions-summary-bar{flex-wrap:wrap;justify-content:center}.sessions-table-scroll{margin:0 -.25rem}.sessions-data-table-actions-col,.sessions-data-table-actions{width:max-content;min-width:min-content;max-width:none}.sessions-table-actions-inner{flex-direction:column;align-items:stretch}.btn-table{white-space:nowrap;justify-content:center;width:100%}}.sessions-summary-bar{background:#ffffff80;border:1px solid #3b82f62e;border-radius:12px;flex-wrap:wrap;gap:.5rem .65rem;margin-bottom:1.25rem;padding:.65rem .75rem;display:flex}body.dark-mode .sessions-summary-bar{border-color:var(--dashboard-border,#94a3b840);background:#1e293b8c}.sessions-summary-chip{color:var(--theme-gray-900);cursor:pointer;background:#ffffffd9;border:1px solid #3b82f640;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.8125rem;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}body.dark-mode .sessions-summary-chip{color:var(--dashboard-text-primary,#e2e8f0);background:#0f172ae6;border-color:#94a3b859}.sessions-summary-chip:hover{border-color:var(--theme-blue);box-shadow:0 1px 8px #3b82f626}.sessions-summary-chip.is-active{background:linear-gradient(135deg,var(--theme-blue)0%,var(--theme-blue-deep)100%);color:#fff;border-color:#0000;box-shadow:0 2px 10px #3b82f659}.sessions-summary-chip-count{min-width:1.35rem;height:1.35rem;color:var(--theme-blue-deep);background:#3b82f61f;border-radius:999px;justify-content:center;align-items:center;padding:0 .35rem;font-size:.72rem;font-weight:700;display:inline-flex}.sessions-summary-chip.is-active .sessions-summary-chip-count{color:#fff;background:#ffffff40}body.dark-mode .sessions-summary-chip .sessions-summary-chip-count{color:#93c5fd;background:#3b82f640}body.dark-mode .sessions-summary-chip.is-active .sessions-summary-chip-count{color:#fff;background:#fff3}.sessions-filtered-view{margin-bottom:1.5rem}.sessions-pagination{color:var(--theme-gray-600);background:#ffffff73;border:1px solid #3b82f61f;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-top:.85rem;padding:.65rem .85rem;font-size:.875rem;display:flex}body.dark-mode .sessions-pagination{border-color:var(--dashboard-border,#94a3b840);color:var(--dashboard-text-secondary,#94a3b8);background:#1e293b73}.sessions-pagination-summary{margin:0}.sessions-pagination-summary strong{color:var(--theme-gray-900);font-weight:700}body.dark-mode .sessions-pagination-summary strong{color:var(--dashboard-text-primary,#f1f5f9)}.sessions-pagination-actions{flex-wrap:wrap;gap:.5rem;display:flex}.sessions-pagination-btn{color:var(--dashboard-accent,#2563eb);cursor:pointer;background:#3b82f61a;border:1px solid #3b82f659;border-radius:8px;padding:.4rem .85rem;font-size:.8125rem;font-weight:600;transition:background .15s,border-color .15s,opacity .15s}.sessions-pagination-btn:hover:not(:disabled){background:#3b82f62e;border-color:#3b82f680}.sessions-pagination-btn:disabled{opacity:.45;cursor:not-allowed}body.dark-mode .sessions-pagination-btn{color:#93c5fd;background:#3b82f626;border-color:#60a5fa59}body.dark-mode .sessions-pagination-btn:hover:not(:disabled){background:#3b82f640}.sessions-filtered-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:.85rem;display:flex}.sessions-filtered-heading{color:var(--theme-gray-900);margin:0;font-size:1.1rem;font-weight:700}body.dark-mode .sessions-filtered-heading{color:var(--dashboard-text-primary,#f1f5f9)}.sessions-filtered-count{color:var(--theme-gray-500);font-weight:600}body.dark-mode .sessions-filtered-count{color:var(--dashboard-text-secondary,#94a3b8)}.sessions-table-empty{text-align:center;color:var(--theme-gray-500);background:#fff6;border:1px dashed #3b82f640;border-radius:12px;padding:2rem 1rem}body.dark-mode .sessions-table-empty{color:var(--dashboard-text-secondary);border-color:var(--dashboard-border,#94a3b84d);background:#1e293b66}.sessions-table-scroll{background:#ffffff8c;border:1px solid #3b82f626;border-radius:12px;width:100%;overflow-x:auto}body.dark-mode .sessions-table-scroll{border-color:var(--dashboard-border,#94a3b840);background:#1e293b80}.sessions-data-table{border-collapse:collapse;width:100%;min-width:920px;font-size:.875rem}.sessions-data-table thead{background:#3b82f614}body.dark-mode .sessions-data-table thead{background:#3b82f61f}.sessions-data-table th,.sessions-data-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #3b82f61f;padding:.65rem .75rem}body.dark-mode .sessions-data-table th,body.dark-mode .sessions-data-table td{border-bottom-color:#94a3b833}.sessions-data-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--theme-gray-500);font-size:.75rem;font-weight:700}body.dark-mode .sessions-data-table th{color:var(--dashboard-text-secondary,#94a3b8)}.sessions-data-table tbody tr:hover{background:#3b82f60f}body.dark-mode .sessions-data-table tbody tr:hover{background:#3b82f61a}.sessions-data-table-row--clickable{cursor:pointer}.sessions-data-table-row--clickable:focus-visible{outline:2px solid var(--theme-blue);outline-offset:-2px}body.dark-mode .sessions-data-table-row--clickable:focus-visible{outline-color:#93c5fd}.sessions-data-table-row.is-expanded{background:#3b82f614}body.dark-mode .sessions-data-table-row.is-expanded{background:#3b82f624}.sessions-table-subject-cell{align-items:center;gap:.35rem;min-width:0;display:inline-flex}.sessions-table-row-chevron{color:var(--theme-blue-deep);flex-shrink:0;display:inline-flex}body.dark-mode .sessions-table-row-chevron{color:#93c5fd}.sessions-table-expand-row td{vertical-align:top;border-bottom:1px solid #3b82f626;padding:0}body.dark-mode .sessions-table-expand-row td{border-bottom-color:#94a3b840}.sessions-table-detail-panel{background:linear-gradient(#3b82f60f 0%,#ffffff73 100%);border-top:2px solid #3b82f659;margin:0;padding:.65rem .9rem .8rem}body.dark-mode .sessions-table-detail-panel{background:linear-gradient(#3b82f61f 0%,#0f172a80 100%);border-top-color:#60a5fa73}.sessions-table-detail-panel-header{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.35rem;display:flex}.sessions-table-detail-title{text-transform:uppercase;letter-spacing:.05em;color:var(--theme-gray-500);font-size:.76rem;font-weight:800;line-height:1.25}body.dark-mode .sessions-table-detail-title{color:var(--dashboard-text-secondary,#94a3b8)}.sessions-table-detail-close{width:1.85rem;height:1.85rem;color:var(--theme-gray-700);cursor:pointer;background:#0000000f;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.sessions-table-detail-close:hover{color:#b91c1c;background:#ef44441f}body.dark-mode .sessions-table-detail-close{color:#e2e8f0;background:#ffffff14}body.dark-mode .sessions-table-detail-close:hover{color:#fecaca;background:#ef444433}.sessions-table-detail-body{flex-direction:column;gap:0;display:flex}.sessions-table-detail-subject-block{border-bottom:1px solid #3b82f624;margin-bottom:.35rem;padding:.15rem 0 .55rem}body.dark-mode .sessions-table-detail-subject-block{border-bottom-color:#94a3b838}.sessions-table-detail-subject-title{color:var(--theme-gray-900);word-break:break-word;margin:.2rem 0 0;font-size:1.05rem;font-weight:700;line-height:1.3}body.dark-mode .sessions-table-detail-subject-title{color:var(--dashboard-text-primary,#f1f5f9)}.sessions-table-detail-meta-grid{border-bottom:1px solid #3b82f61a;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem 1.1rem;margin-bottom:.35rem;padding:.45rem 0 .55rem;display:grid}body.dark-mode .sessions-table-detail-meta-grid{border-bottom-color:#94a3b82e}.sessions-table-detail-kv{flex-direction:column;gap:.14rem;min-width:0;display:flex}.sessions-table-detail-link-block{border-bottom:1px solid #3b82f61a;margin-bottom:.35rem;padding:.5rem 0 .45rem}body.dark-mode .sessions-table-detail-link-block{border-bottom-color:#94a3b82e}.sessions-table-detail-link-actions{flex-wrap:wrap;align-items:flex-start;gap:.65rem .85rem;margin-top:.25rem;display:flex}.sessions-table-detail-link-url{flex:14rem;min-width:0}.sessions-table-detail-link-url a{word-break:break-all;color:#2563eb;font-size:.8rem;font-weight:500;line-height:1.45}body.dark-mode .sessions-table-detail-link-url a{color:#93c5fd}.sessions-table-detail-muted{color:var(--theme-gray-500);font-size:.84rem;font-style:italic;font-weight:500}body.dark-mode .sessions-table-detail-muted{color:var(--dashboard-text-secondary,#94a3b8)}.sessions-table-detail-notes-block{padding-top:.45rem}.sessions-table-detail-notes-block .sessions-table-detail-notes-val{margin-top:.2rem;display:block}.sessions-table-detail-lbl{text-transform:uppercase;letter-spacing:.04em;color:var(--theme-gray-500);font-size:.68rem;font-weight:700;line-height:1.15}body.dark-mode .sessions-table-detail-lbl{color:var(--dashboard-text-secondary,#94a3b8)}.sessions-table-detail-val{color:var(--theme-gray-900);word-break:break-word;font-size:.84rem;font-weight:600;line-height:1.35}body.dark-mode .sessions-table-detail-val{color:var(--dashboard-text-primary,#f1f5f9)}.sessions-table-detail-notes-val{white-space:pre-wrap;max-height:5.75rem;font-weight:500;overflow-y:auto}.sessions-table-detail-status-wrap{flex-wrap:wrap;align-items:center;gap:.3rem .5rem;display:flex}.sessions-table-detail-badge-gap{margin-left:0}.sessions-table-detail-hint-inline{color:var(--theme-gray-500);font-size:.72rem;font-weight:500;line-height:1.3}body.dark-mode .sessions-table-detail-hint-inline{color:var(--dashboard-text-secondary,#94a3b8)}.sessions-table-detail-join{white-space:nowrap;flex-shrink:0;align-self:flex-start;padding:.38rem .7rem;font-size:.78rem}.sessions-table-detail-edit-form{border-top:1px solid #3b82f61f;margin-top:.25rem;padding-top:.5rem}body.dark-mode .sessions-table-detail-edit-form{border-top-color:#94a3b838}.sessions-table-detail-edit-form .form-row{grid-template-columns:1fr 1fr;gap:.65rem 1rem;margin-bottom:.65rem;display:grid}.sessions-table-detail-edit-form .form-row .form-group{margin-bottom:0}.sessions-table-detail-edit-form .form-group{margin-bottom:.65rem}.sessions-table-detail-edit-form .form-group label{color:var(--dashboard-text-primary,#333);margin-bottom:.28rem;font-size:.78rem;font-weight:600;display:block}body.dark-mode .sessions-table-detail-edit-form .form-group label{color:var(--dashboard-text-primary,#f1f5f9)}.sessions-table-detail-edit-form .form-group input,.sessions-table-detail-edit-form .form-group textarea,.sessions-table-detail-edit-form .form-group select{border:1px solid var(--dashboard-border,#e5e7eb);box-sizing:border-box;background:var(--dashboard-card-bg,#fff);border-radius:.45rem;width:100%;padding:.4rem .55rem;font-family:inherit;font-size:.8125rem;transition:border-color .2s,box-shadow .2s}body.dark-mode .sessions-table-detail-edit-form .form-group input,body.dark-mode .sessions-table-detail-edit-form .form-group textarea,body.dark-mode .sessions-table-detail-edit-form .form-group select{background:var(--dashboard-card-bg,#1e293b);border-color:var(--dashboard-border,#334155);color:var(--dashboard-text-primary,#f1f5f9)}.sessions-table-detail-edit-form .form-group input:focus,.sessions-table-detail-edit-form .form-group textarea:focus,.sessions-table-detail-edit-form .form-group select:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 2px #6366f11f}.sessions-table-detail-edit-form .form-group textarea{resize:vertical;min-height:64px}.sessions-table-detail-edit-form .form-group small.form-hint{font-size:.72rem}.sessions-table-detail-edit-footer{border-top:1px solid #3b82f61a;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:.75rem;padding-top:.65rem;display:flex}body.dark-mode .sessions-table-detail-edit-footer{border-top-color:#94a3b82e}.sessions-table-detail-edit-footer .sessions-table-detail-edit-cancel,.sessions-table-detail-edit-footer .sessions-table-detail-edit-save{padding:.35rem .75rem;font-size:.8rem}@media (max-width:640px){.sessions-table-detail-edit-form .form-row{grid-template-columns:1fr}.sessions-table-detail-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sessions-table-detail-link-actions{flex-direction:column;align-items:stretch}.sessions-table-detail-join{text-align:center;align-self:stretch}}@media (max-width:420px){.sessions-table-detail-meta-grid{grid-template-columns:1fr}}.sessions-data-table-subject{max-width:12rem;font-weight:600}.sessions-table-subject-text{color:var(--theme-gray-900);font-weight:600}body.dark-mode .sessions-table-subject-text{color:var(--dashboard-text-primary,#f1f5f9)}.sessions-data-table-row--clickable:hover .sessions-table-subject-text{color:var(--theme-blue-deep)}body.dark-mode .sessions-data-table-row--clickable:hover .sessions-table-subject-text{color:#93c5fd}.sessions-table-badge-extra{vertical-align:middle;margin-left:.35rem}.sessions-data-table-actions-col{white-space:nowrap;vertical-align:middle;width:max-content;min-width:min-content;max-width:none}.sessions-data-table-actions{width:max-content;min-width:min-content}.sessions-table-actions-inner{flex-flow:column;align-items:stretch;gap:.4rem;width:100%;display:flex}.btn-table{cursor:pointer;white-space:nowrap;writing-mode:horizontal-tb;box-sizing:border-box;text-align:center;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:100%;padding:.4rem .75rem;font-size:.75rem;font-weight:600;line-height:1.25;text-decoration:none;display:inline-flex}.btn-table-accept{color:#15803d;background:#22c55e26;border-color:#22c55e66}.btn-table-reject,.btn-table-cancel{color:#b91c1c;background:#ef44441a;border-color:#ef444459}.btn-table-edit{color:#a16207;background:#fbbf2433;border-color:#d9770666}.btn-table-join{color:var(--theme-blue-deep);background:#3b82f633;border-color:#3b82f666}body.dark-mode .btn-table-accept{color:#86efac}body.dark-mode .btn-table-reject,body.dark-mode .btn-table-cancel{color:#fca5a5}body.dark-mode .btn-table-edit{color:#fcd34d}
.tutor-modal-body-row{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}.tutor-modal-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow-y:auto}.tutor-modal-profile-loading{color:var(--dashboard-text-secondary,#64748b);background:#3b82f614;border-bottom:1px solid #3b82f633;margin:0;padding:.5rem 1rem;font-size:.8125rem}.tutor-modal-profile-empty{color:var(--dashboard-text-secondary,#64748b);background:var(--dashboard-sidebar-bg,#f1f5f9);border-radius:.5rem;margin:0 0 1rem;padding:.75rem;font-size:.875rem;line-height:1.5}body.dark-mode .tutor-modal-profile-empty{color:#94a3b8;background:#1e293b99}.tutor-modal-header{border-bottom:1px solid var(--dashboard-border);align-items:flex-start;gap:1rem;padding:1.15rem 1.25rem;display:flex}.tutor-modal-avatar-wrapper{flex-shrink:0}.tutor-modal-avatar{object-fit:cover;border:2px solid #fff;border-radius:50%;width:64px;height:64px;box-shadow:0 2px 8px #3b82f633}.tutor-modal-avatar-placeholder{background:var(--gradient-brand);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex;box-shadow:0 2px 10px #2c7bff4d}.tutor-modal-avatar-placeholder span{color:#fff;font-size:1.5rem;font-weight:700}.tutor-modal-intro-section{padding:0 1.25rem 1rem}.tutor-modal-intro-video-wrap{border:1px solid var(--dashboard-border);background:#0f172a;border-radius:.5rem;overflow:hidden}.tutor-modal-intro-video{vertical-align:middle;width:100%;max-height:280px;display:block}body.dark-mode .tutor-modal-intro-video-wrap{background:#0f172ae6}.tutor-modal-header-info{flex-direction:column;flex:1;gap:.5rem;min-width:0;display:flex}.tutor-modal-header-top{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.tutor-modal-name{color:var(--dashboard-text-primary);margin:0;font-size:1.3rem;font-weight:700;line-height:1.2}.tutor-modal-email{color:var(--dashboard-text-secondary);margin:0;font-size:.875rem}.tutor-modal-rating-compact{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.tutor-rating-stars-compact{align-items:center;gap:.125rem;display:flex}.tutor-rating-stars-compact svg{width:14px;height:14px}.tutor-modal-rating-value-compact{color:var(--dashboard-text-primary);font-size:1rem;font-weight:700}.tutor-modal-rating-label-compact{color:var(--dashboard-text-secondary);font-size:.75rem;font-weight:500}.tutor-modal-body{padding:1.25rem 1.5rem}.tutor-modal-teaching-panel{padding:1rem}.tutor-modal-detail-dropdown{border:1px solid var(--dashboard-border);background:var(--dashboard-card-bg,#fff);border-radius:.5rem;margin-bottom:.5rem;overflow:hidden}.tutor-modal-detail-dropdown:last-child{margin-bottom:0}.tutor-modal-detail-summary{cursor:pointer;color:var(--dashboard-text-primary);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .85rem;font-size:.8125rem;font-weight:600;list-style:none;display:flex}.tutor-modal-detail-summary::-webkit-details-marker{display:none}.tutor-modal-detail-summary:after{content:"";border-right:2px solid var(--dashboard-text-secondary);border-bottom:2px solid var(--dashboard-text-secondary);opacity:.65;flex-shrink:0;width:.45rem;height:.45rem;transition:transform .2s;transform:rotate(45deg)}.tutor-modal-detail-dropdown[open]>.tutor-modal-detail-summary:after{margin-top:.15rem;transform:rotate(-135deg)}.tutor-modal-detail-summary-label{text-align:left;flex:1}.tutor-modal-detail-count{color:#047857;background:#10b98126;border-radius:999px;padding:.15rem .45rem;font-size:.6875rem;font-weight:700}.tutor-modal-detail-dropdown-body{border-top:1px solid var(--dashboard-border);padding:.65rem .85rem .85rem}.tutor-modal-quick-facts{flex-wrap:wrap;gap:.5rem;display:flex}.tutor-modal-quick-facts--stacked{flex-flow:column;gap:.65rem}.tutor-modal-quick-facts-row{flex-wrap:wrap;gap:.65rem 1rem;width:100%;display:flex}.tutor-modal-quick-facts-row--pair>.tutor-modal-quick-fact:not(.tutor-modal-quick-fact--placeholder){flex:calc(50% - .5rem);min-width:min(140px,100%)}.tutor-modal-quick-facts-row--pair>.tutor-modal-quick-fact--placeholder{visibility:hidden;pointer-events:none;background:0 0;border:1px solid #0000;flex:calc(50% - .5rem);min-width:min(140px,100%);padding:.5rem .65rem}.tutor-modal-quick-facts-row--full>.tutor-modal-quick-fact{flex:100%;width:100%}.tutor-modal-quick-facts-row--tail>.tutor-modal-quick-fact{flex:calc(50% - .5rem);min-width:min(140px,100%)}.tutor-modal-quick-facts-row--tail>.tutor-modal-quick-fact:only-child{flex:100%;max-width:100%}.tutor-modal-quick-fact{background:#3b82f60f;border:1px solid #3b82f61f;border-radius:.4rem;flex:calc(50% - .5rem);min-width:112px;padding:.5rem .65rem}.tutor-modal-quick-fact--highlight{background:#10b9811f;border-color:#10b98140}.tutor-modal-quick-fact-label{text-transform:uppercase;letter-spacing:.04em;color:var(--dashboard-text-secondary);margin-bottom:.2rem;font-size:.625rem;font-weight:600;display:block}.tutor-modal-quick-fact-value{color:var(--dashboard-text-primary);word-break:break-word;font-size:.8125rem;font-weight:600;line-height:1.3}.tutor-modal-chip-grid{flex-wrap:wrap;gap:.4rem;display:flex}.tutor-modal-chip{word-break:break-word;border-radius:.375rem;max-width:100%;padding:.35rem .6rem;font-size:.75rem;font-weight:500;line-height:1.25;display:inline-block}.tutor-modal-chip--subject{color:#047857;background:#10b98124;border:1px solid #05966947}.tutor-modal-chip--grade{color:var(--dashboard-primary,#2563eb);background:#3b82f61f;border:1px solid #2563eb38}.tutor-modal-chip--tag{color:#b45309;background:#fbbf2426;border:1px solid #d977064d}body.dark-mode .tutor-modal-teaching-panel{border-color:var(--dashboard-border);background:#1e293b80}body.dark-mode .tutor-modal-detail-dropdown{border-color:var(--dashboard-border);background:#0f172a99}body.dark-mode .tutor-modal-chip--subject{color:#6ee7b7;background:#10b9811f;border-color:#34d39940}body.dark-mode .tutor-modal-chip--grade{color:#93c5fd}body.dark-mode .tutor-modal-chip--tag{color:#fcd34d}body.dark-mode .tutor-modal-detail-count{color:#6ee7b7;background:#10b98133}.tutor-modal-section-title{color:var(--dashboard-text-primary);margin:0 0 .5rem;font-size:.875rem;font-weight:600}.tutor-modal-bio-section{border-bottom:1px solid var(--dashboard-border);margin-bottom:1.25rem;padding-bottom:1.25rem}.tutor-modal-bio-section--below-details{border-bottom:none;border-top:1px solid var(--dashboard-border);margin-top:1.5rem;margin-bottom:0;padding-top:1.35rem;padding-bottom:0}.tutor-modal-bio{color:var(--dashboard-text-secondary);white-space:pre-wrap;margin:.5rem 0 0;font-size:.875rem;line-height:1.6}.tutor-modal-stats-section{border-top:1px solid var(--dashboard-border);margin-top:1rem;padding-top:1rem}.tutor-modal-stat-item{align-items:center;gap:.75rem;display:flex}.tutor-modal-stat-label{color:var(--dashboard-text-secondary);min-width:120px;font-size:.75rem;font-weight:500}.tutor-modal-stat-bar{background:var(--dashboard-sidebar-bg);border-radius:4px;flex:1;height:8px;overflow:hidden}.tutor-modal-stat-bar-fill{background:linear-gradient(90deg,#10b981 0%,#059669 100%);border-radius:4px;height:100%;transition:width .3s}.tutor-modal-stat-value{color:var(--dashboard-text-primary);text-align:right;min-width:45px;font-size:.875rem;font-weight:600}.tutor-modal-footer{border-top:1px solid var(--dashboard-border);background:var(--dashboard-card-bg);flex-shrink:0;gap:.75rem;padding:1rem 1.5rem;display:flex}.tutor-modal-btn{cursor:pointer;border:none;border-radius:.625rem;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;transition:all .3s;display:flex}.tutor-modal-btn svg{width:16px;height:16px}.tutor-modal-btn.primary{background:var(--gradient-brand);color:#fff;box-shadow:0 4px 12px #2c7bff4d}.tutor-modal-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2563eb66}.tutor-modal-btn.secondary{color:var(--dashboard-text-secondary);border:1.5px solid var(--dashboard-border);background:0 0}.tutor-modal-btn.secondary:hover{background:var(--dashboard-sidebar-bg);border-color:var(--dashboard-primary);color:var(--dashboard-primary)}.tutor-modal-btn.connected{color:#fff;cursor:not-allowed;opacity:.8;background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.tutor-modal-btn.pending{color:#fff;cursor:not-allowed;opacity:.8;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.tutor-modal-availability{border-left:1px solid var(--dashboard-border);background:var(--dashboard-sidebar-bg,#f8fafc);flex-direction:column;flex-shrink:0;width:40%;min-width:280px;padding:1rem;display:flex;overflow-y:auto}.tutor-availability-title{color:var(--dashboard-text-primary);margin:0 0 .25rem;font-size:.9375rem;font-weight:700}.tutor-availability-hint{color:var(--dashboard-text-secondary);margin:0 0 .5rem;font-size:.75rem}.tutor-client-availability-legend.availability-legend{flex-wrap:wrap;margin-top:0;margin-bottom:.5rem;padding:.5rem .75rem}.tutor-client-availability-legend .legend-item{font-size:.8125rem;font-weight:600}.tutor-availability-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;width:100%;margin:0 0 .5rem;display:flex}.tutor-availability-tz-group{flex:auto;align-items:center;gap:.5rem;min-width:min(100%,12rem);display:flex}.tutor-availability-toolbar .tutor-availability-tz-select{flex:auto;min-width:10rem;max-width:min(100%,22rem)}.tutor-availability-toolbar .availability-view-controls{flex-shrink:0}.tutor-availability-tz-label{color:var(--dashboard-text-secondary);flex-shrink:0;font-size:.75rem;font-weight:600}.tutor-availability-tz-select{border:1px solid var(--dashboard-border);background:var(--dashboard-bg,#fff);min-width:min(100%,280px);max-width:100%;color:var(--dashboard-text-primary);border-radius:.375rem;flex:1;padding:.35rem .5rem;font-size:.8125rem}body.dark-mode .tutor-availability-tz-select{background:var(--dashboard-sidebar-bg,#1e293b);color:#e2e8f0;border-color:#94a3b859}.tutor-modal-guest-availability .tutor-detail-calendar-wrap{align-self:stretch;width:100%}.tutor-availability-blocked-hint{color:var(--dashboard-text-primary,#1e293b);background:#fbbf2426;border:1px solid #d9770659;border-radius:.5rem;margin:0 0 .5rem;padding:.5rem .65rem;font-size:.8125rem;line-height:1.4}body.dark-mode .tutor-availability-blocked-hint{color:#e2e8f0;background:#d977061f;border-color:#fbbf2440}.tutor-availability-my-tutors-note{color:var(--dashboard-text-secondary);margin:0;font-size:.8125rem;line-height:1.5}.tutor-modal-guest-availability{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}.tutor-availability-guest-copy{color:var(--dashboard-text-secondary);margin:0;font-size:.8125rem;line-height:1.5}.tutor-modal-guest-cta{justify-content:center;width:100%}.tutor-detail-calendar-wrap{min-height:280px;padding:.5rem 0}.tutor-detail-page-calendar-wrap.tutor-detail-calendar-wrap{min-height:0}.tutor-detail-calendar-wrap .fc{font-size:.75rem}.tutor-detail-calendar-wrap .fc-toolbar{margin-bottom:.5rem;padding:.5rem 0}.tutor-detail-calendar-wrap .fc-toolbar-title{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:clamp(.6rem,1.4vw,.75rem);font-weight:600;overflow:hidden}.tutor-detail-calendar-wrap .fc-button{padding:.35rem .5rem;font-size:.75rem}.tutor-detail-calendar-wrap .fc-col-header-cell-cushion,.tutor-detail-calendar-wrap .fc-timegrid-slot-label{padding:.25rem 2px;font-size:.75rem}.tutor-detail-calendar-wrap .fc-col-header-cell-cushion{white-space:normal;flex-direction:column;align-items:center;gap:.1rem;display:flex}.tutor-detail-calendar-wrap .fc-day-header-weekday{font-weight:600}.tutor-detail-calendar-wrap .fc-day-header-date{opacity:.9;font-size:.7rem}@media (min-width:769px){.tutor-detail-calendar-wrap .fc-toolbar-title{font-size:clamp(.95rem,1.35vw,1.125rem);font-weight:700}.tutor-detail-calendar-wrap .fc-col-header-cell-cushion{gap:.25rem;padding:.4rem .3rem}.tutor-detail-calendar-wrap .fc-day-header-weekday{font-size:1rem;font-weight:700}.tutor-detail-calendar-wrap .fc-day-header-date{opacity:1;font-size:.9375rem;font-weight:600}.tutor-detail-calendar-wrap .fc-timegrid-slot-label,.tutor-detail-calendar-wrap .fc-timegrid-slot-label-cushion{font-size:.8125rem}}.tutor-detail-calendar-wrap .fc-timegrid-slot{height:1.6rem;min-height:1.6rem}.tutor-detail-calendar-wrap .fc-timegrid-event{font-size:.7rem}.tutor-detail-calendar-wrap .fc-timegrid-event.fc-tutor-student-availability-slot{pointer-events:none;cursor:default}.tutor-detail-calendar-wrap .fc-tutor-student-availability-slot .fc-event-main{padding:1px 3px 2px}.tutor-detail-calendar-wrap .fc-tutor-student-availability-slot .fc-event-time{opacity:.95;font-size:.62rem;font-weight:700}.tutor-detail-calendar-wrap .fc-tutor-student-availability-slot .fc-event-title{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.65rem;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.tutor-detail-calendar-wrap .fc-select-mirror-content{white-space:normal;font-size:.7rem;line-height:1.25;display:block}.tutor-booking-popover{z-index:1030;background:var(--dashboard-card-bg);border:1px solid var(--dashboard-border);border-radius:.5rem;min-width:220px;padding:.75rem 1rem;position:fixed;transform:translate(8px,8px);box-shadow:0 8px 24px #00000026}@media (max-width:768px){.tutor-booking-popover{min-width:unset;width:auto;max-height:calc(100dvh - var(--mobile-bottom-nav-height,72px) - 1rem - max(env(safe-area-inset-top),2.75rem));-webkit-overflow-scrolling:touch;box-sizing:border-box;overflow-y:auto;top:auto!important;left:12px!important;right:12px!important;bottom:calc(var(--mobile-bottom-nav-height,72px) + 12px)!important;transform:none!important}}.tutor-booking-popover-title{color:var(--dashboard-text-primary);margin-bottom:.5rem;font-size:.875rem;font-weight:600}.tutor-booking-popover-date{color:var(--dashboard-text-secondary);margin-bottom:.75rem;font-size:.75rem}.tutor-booking-popover-times{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.tutor-booking-popover-times label{color:var(--dashboard-text-secondary);align-items:center;gap:.5rem;font-size:.75rem;display:flex}.tutor-booking-popover-times label span{min-width:2.5rem}.tutor-booking-popover-times input[type=time]{border:1px solid var(--dashboard-border);background:var(--dashboard-sidebar-bg);color:var(--dashboard-text-primary);border-radius:.375rem;flex:1;padding:.35rem .5rem;font-size:.8125rem}.tutor-booking-popover-actions{justify-content:flex-end;gap:.5rem;display:flex}.tutor-booking-popover-cancel,.tutor-booking-popover-confirm{cursor:pointer;border:1px solid var(--dashboard-border);background:var(--dashboard-sidebar-bg);color:var(--dashboard-text-secondary);border-radius:.375rem;padding:.4rem .75rem;font-size:.8125rem}.tutor-booking-popover-cancel:hover{background:var(--dashboard-border)}.tutor-booking-popover-confirm{background:var(--dashboard-primary);border-color:var(--dashboard-primary);color:#fff}.tutor-booking-popover-confirm:hover{opacity:.9}.tutor-detail-calendar-wrap .fc-scrollgrid{border:1px solid var(--dashboard-border);border-radius:.5rem;overflow:hidden}.tutor-detail-calendar-wrap .fc-theme-standard td,.tutor-detail-calendar-wrap .fc-theme-standard th{border-color:var(--dashboard-border)}.tutor-availability-week-nav{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.tutor-availability-nav-btn{border:1px solid var(--dashboard-border);background:var(--dashboard-card-bg);width:28px;height:28px;color:var(--dashboard-text-secondary);cursor:pointer;border-radius:.375rem;justify-content:center;align-items:center;padding:0;font-size:1.1rem;line-height:1;transition:all .2s;display:flex}.tutor-availability-nav-btn:hover{border-color:var(--dashboard-primary);color:var(--dashboard-primary);background:#3b82f614}.tutor-availability-week-label{color:var(--dashboard-text-primary);text-align:center;flex:1;font-size:.75rem;font-weight:600}.tutor-availability-loading{color:var(--dashboard-text-secondary);font-size:.875rem}.tutor-availability-calendar{flex-direction:column;gap:0;font-size:.75rem;display:flex}.tutor-availability-calendar-header{grid-template-columns:2.5rem repeat(7,1fr);gap:2px;margin-bottom:4px;display:grid}.tutor-availability-calendar-header .tutor-availability-day-header{text-align:center;color:var(--dashboard-text-secondary);flex-direction:column;gap:.1rem;padding:.2rem 0;font-weight:600;display:flex}.tutor-availability-day-name{text-transform:uppercase;letter-spacing:.02em;font-size:.65rem}.tutor-availability-day-num{color:var(--dashboard-text-primary);font-size:.7rem}.tutor-availability-time-grid{flex-direction:column;gap:2px;display:flex}.tutor-availability-row{grid-template-columns:2.5rem 1fr;align-items:stretch;gap:2px;display:grid}.tutor-availability-time-label{color:var(--dashboard-text-secondary);padding:.2rem 0;font-weight:500;line-height:1.2}.tutor-availability-slots{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.tutor-availability-slot{background:#0000000a;border:1px solid #0000000f;border-radius:3px;min-height:18px;position:relative;overflow:hidden}.tutor-availability-slot-fill{pointer-events:none;background:#0596698c;border-radius:2px;position:absolute;left:0;right:0}@media (max-width:768px){.tutor-modal-body-row{flex-direction:column}.tutor-modal-body-row .tutor-modal-availability{border-left:none;border-top:1px solid var(--dashboard-border);width:100%;max-height:280px}.tutor-modal-header{text-align:center;flex-direction:column;gap:1rem}.tutor-modal-footer{flex-direction:column}}
:root{--theme-blue:#3b82f6;--theme-blue-deep:#1d4ed8;--theme-yellow:#fbbf24;--theme-white:#fff;--theme-gray-500:#6b7280;--theme-gray-900:#111827}.my-students-container{background:radial-gradient(100% 60% at 0 0,#3b82f62e 0%,#0000 50%),radial-gradient(80% 50% at 100% 100%,#fbbf2426 0%,#0000 50%),linear-gradient(#fafbfff2 0%,#fffef9f2 100%);border-radius:16px;width:100%;min-height:100%;margin:0 auto;padding:1.25rem}body.dark-mode .my-students-container{background:radial-gradient(100% 60% at 0 0,#3b82f624 0%,#0000 50%),radial-gradient(80% 50% at 100% 100%,#fbbf240f 0%,#0000 50%),linear-gradient(#0f172a 0%,#1e293b 98%)}body.dark-mode .students-tabs{border-bottom-color:#334155cc}body.dark-mode .students-tab{color:var(--dashboard-text-secondary)}body.dark-mode .students-tab:hover{color:var(--dashboard-primary);background:#3b82f61f}body.dark-mode .students-tab.active{color:var(--dashboard-primary);border-bottom-color:var(--dashboard-primary)}body.dark-mode .request-card{-webkit-backdrop-filter:blur(14px);background:#1e293bd9;border:1px solid #334155cc;box-shadow:0 0 0 1px #33415580,0 4px 20px #00000040}body.dark-mode .request-card:hover{box-shadow:0 0 0 1px #3b82f640,0 8px 28px #00000059}body.dark-mode .request-name{color:var(--dashboard-text-primary)}body.dark-mode .request-email,body.dark-mode .request-time{color:var(--dashboard-text-secondary)}body.dark-mode .request-message{border-left-color:var(--dashboard-primary);color:var(--dashboard-text-secondary);background:#0f172a99}body.dark-mode .student-card{-webkit-backdrop-filter:blur(14px);background:#1e293bd9;border:1px solid #334155cc;box-shadow:0 0 0 1px #33415580,0 4px 20px #00000040}body.dark-mode .student-card:hover{box-shadow:0 0 0 1px #3b82f640,0 8px 28px #00000059}body.dark-mode .student-name{color:var(--dashboard-text-primary)}body.dark-mode .student-email{color:var(--dashboard-text-secondary)}body.dark-mode .student-rating{background:#3b82f61f;border-color:#3b82f633}body.dark-mode .student-rating .rating-value{color:var(--dashboard-text-primary)}body.dark-mode .student-rating .rating-count{color:var(--dashboard-text-secondary)}body.dark-mode .request-avatar,body.dark-mode .student-avatar{box-shadow:0 2px 12px #3b82f659}body.dark-mode .accept-btn{background:linear-gradient(135deg,#059669 0%,#047857 100%);box-shadow:0 2px 8px #05966966}body.dark-mode .accept-btn:hover:not(:disabled){box-shadow:0 4px 12px #05966980}body.dark-mode .reject-btn{color:#f87171;border-color:#f8717199}body.dark-mode .reject-btn:hover:not(:disabled){color:#fff;background:#dc2626;border-color:#dc2626}body.dark-mode .student-actions .rate-btn{box-shadow:0 2px 8px #3b82f666}body.dark-mode .student-actions .rate-btn:hover{box-shadow:0 4px 12px #3b82f680}body.dark-mode .student-actions .view-ratings-btn{color:var(--dashboard-primary);border-color:#3b82f680}body.dark-mode .student-actions .view-ratings-btn:hover{border-color:var(--dashboard-primary);background:#3b82f626}body.dark-mode .student-actions .btn-remove-from-list{color:#f87171;border-color:#f8717199}body.dark-mode .student-actions .btn-remove-from-list:hover:not(:disabled){color:#fff;background:#dc2626;border-color:#dc2626}body.dark-mode .empty-icon{color:var(--dashboard-text-secondary);opacity:.6}body.dark-mode .empty-title{color:var(--dashboard-text-primary)}body.dark-mode .empty-description{color:var(--dashboard-text-secondary)}body.dark-mode .loading-spinner{border-color:#33415599;border-top-color:var(--dashboard-primary)}body.dark-mode .student-rating-stars svg[fill=none]{stroke:#64748b}.students-tabs{border-bottom:2px solid #3b82f633;gap:.35rem;margin-bottom:1.25rem;display:flex}.students-tab{color:var(--theme-gray-500);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:.4rem;margin-bottom:-2px;padding:.6rem 1.1rem;font-size:.875rem;font-weight:600;transition:all .3s;display:flex;position:relative}.students-tab:hover{color:var(--theme-blue);background:#3b82f614}.students-tab.active{color:var(--theme-blue);border-bottom-color:var(--theme-blue);font-weight:700}.students-tab svg{flex-shrink:0}.students-content{min-height:400px;position:relative}.students-panel{display:none}.students-panel.active{animation:.3s fadeIn;display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.requests-list{flex-direction:column;gap:.85rem;display:flex}.request-card{-webkit-backdrop-filter:blur(14px);background:#ffffffb3;border:1px solid #fff9;border-radius:16px;align-items:flex-start;gap:1.25rem;padding:1.25rem 1.5rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 0 0 1px #3b82f61a,0 4px 16px #3b82f60f}.request-card:hover{transform:translateY(-1px);box-shadow:0 0 0 1px #3b82f626,0 8px 24px #3b82f61a}.request-avatar{background:linear-gradient(135deg,var(--dashboard-primary)0%,var(--dashboard-primary-hover)100%);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.1rem;font-weight:700;display:flex;box-shadow:0 2px 10px #3b82f64d}.request-info{flex:1;min-width:0}.request-name{color:var(--dashboard-text-primary);margin:0 0 .5rem;font-size:1.05rem;font-weight:700}.request-email{color:var(--dashboard-text-secondary);align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.875rem;display:flex}.request-email svg{opacity:.7;flex-shrink:0}.request-message{color:var(--dashboard-text-secondary);background:var(--dashboard-sidebar-bg);border-left:3px solid var(--dashboard-primary);border-radius:.5rem;margin:.75rem 0;padding:.75rem;font-size:.9375rem;font-style:italic;line-height:1.5}.request-time{color:var(--dashboard-text-secondary);align-items:center;gap:.5rem;margin:.5rem 0 0;font-size:.8125rem;display:flex}.request-time svg{opacity:.7;flex-shrink:0}.request-actions{flex-direction:column;flex-shrink:0;gap:.75rem;display:flex}.accept-btn,.reject-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;min-width:100px;padding:.6rem 1.1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.accept-btn{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);box-shadow:0 2px 6px #10b9814d}.accept-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 10px #10b98159}.accept-btn:disabled{opacity:.6;cursor:not-allowed}.reject-btn{color:var(--dashboard-danger,#ef4444);border:1.5px solid var(--dashboard-danger,#ef4444);background:0 0}.reject-btn:hover:not(:disabled){background:var(--dashboard-danger,#ef4444);color:#fff;transform:translateY(-1px)}.reject-btn:disabled{opacity:.6;cursor:not-allowed}.accept-btn .spinner{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.students-list{flex-direction:column;gap:1rem;display:flex}.student-card{-webkit-backdrop-filter:blur(14px);background:#ffffffb3;border:1px solid #fff9;border-radius:16px;flex-direction:row;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 0 0 1px #3b82f61a,0 4px 16px #3b82f60f}.student-card:hover{transform:translateY(-1px);box-shadow:0 0 0 1px #3b82f626,0 8px 24px #3b82f61a}.student-avatar{background:linear-gradient(135deg,var(--dashboard-primary)0%,var(--dashboard-primary-hover)100%);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.1rem;font-weight:700;display:flex;overflow:hidden;box-shadow:0 2px 10px #3b82f64d}.student-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.student-info{text-align:left;flex:1;min-width:0}.student-name{color:var(--dashboard-text-primary,#111827);margin:0 0 .25rem;font-size:1.125rem;font-weight:700;line-height:1.3}.student-email{color:var(--dashboard-text-secondary,#6b7280);align-items:center;gap:.4rem;margin:0;font-size:.875rem;display:inline-flex}.student-email svg{opacity:.8;flex-shrink:0;width:14px;height:14px}.student-rating{background:#3b82f60f;border:1px solid #3b82f61a;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem;width:fit-content;margin-top:.5rem;padding:.35rem .6rem;display:inline-flex}.student-rating-stars{align-items:center;gap:.15rem;display:flex}.student-rating .rating-value{color:var(--dashboard-text-primary,#111827);font-size:.875rem;font-weight:700}.student-rating .rating-count{color:var(--dashboard-text-secondary,#6b7280);font-size:.75rem}.student-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.5rem;display:flex}.student-actions .rate-btn,.student-actions .view-ratings-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.8125rem;font-weight:600;transition:all .2s;display:inline-flex}.student-actions .rate-btn{background:linear-gradient(135deg,var(--dashboard-primary)0%,var(--dashboard-primary-hover)100%);color:#fff;box-shadow:0 2px 6px #3b82f64d}.student-actions .rate-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px #3b82f659}.student-actions .view-ratings-btn{color:var(--dashboard-primary);background:0 0;border:1.5px solid #3b82f666}.student-actions .view-ratings-btn:hover{border-color:var(--dashboard-primary);background:#3b82f614}.student-actions .btn-remove-from-list{border:1.5px solid var(--dashboard-danger,#ef4444);cursor:pointer;color:var(--dashboard-danger,#ef4444);white-space:nowrap;background:0 0;border-radius:8px;padding:.5rem .75rem;font-size:.8125rem;font-weight:600;transition:all .2s}.student-actions .btn-remove-from-list:hover:not(:disabled){background:var(--dashboard-danger,#ef4444);color:#fff}.student-actions .btn-remove-from-list:disabled{opacity:.6;cursor:not-allowed}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.empty-icon{color:var(--dashboard-text-secondary);opacity:.5;margin-bottom:1.5rem}.empty-title{color:var(--dashboard-text-primary);margin:0 0 .75rem;font-size:1.5rem;font-weight:700}.empty-description{color:var(--dashboard-text-secondary);max-width:500px;margin:0;font-size:1rem}.loading-spinner{border:4px solid var(--dashboard-border);border-top-color:var(--dashboard-primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@media (max-width:768px){.my-students-container{padding:1rem}.students-tabs{border-bottom:2px solid #3b82f633;flex-flow:row;gap:.25rem}.students-tab{text-align:center;border-bottom:3px solid #0000;border-left:none;flex:1;justify-content:center;min-width:0;margin-bottom:-2px;padding:.55rem .35rem;font-size:.75rem;line-height:1.2}.students-tab.active{border-bottom-color:var(--theme-blue);border-left-color:#0000}body.dark-mode .students-tabs{border-bottom-color:#334155cc}body.dark-mode .students-tab.active{border-bottom-color:var(--dashboard-primary);border-left-color:#0000}.request-card{flex-direction:column;align-items:stretch}.request-actions{flex-direction:row;width:100%}.accept-btn,.reject-btn{flex:1;min-width:0}.student-card{text-align:center;flex-direction:column;align-items:stretch}.student-avatar{margin:0 auto}.student-info{text-align:center}.student-email{justify-content:center}.student-rating{margin-left:auto;margin-right:auto}.student-actions{justify-content:center}}
:root{--theme-blue:#3b82f6;--theme-blue-deep:#1d4ed8;--theme-yellow:#fbbf24;--theme-yellow-bg:#fef3c7;--theme-white:#fff;--theme-gray-100:#f3f4f6;--theme-gray-500:#6b7280;--theme-gray-900:#111827;--schedule-mobile-week-col-min:54px}.availability-container{background:radial-gradient(100% 60% at 0 0,#3b82f61f 0%,#0000 50%),radial-gradient(80% 50% at 100% 100%,#fbbf241a 0%,#0000 50%),linear-gradient(#fafbff 0%,#fffef9 100%);border-radius:16px;width:100%;min-height:100%;margin:0 auto;padding:1.25rem}body.dark-mode .availability-container{background:radial-gradient(100% 60% at 0 0,#3b82f61f 0%,#0000 50%),radial-gradient(80% 50% at 100% 100%,#fbbf240f 0%,#0000 50%),linear-gradient(#0f172afa 0%,#1e293bfa 100%)}body.dark-mode .availability-header{border-bottom-color:var(--dashboard-border)}body.dark-mode .availability-title{background:linear-gradient(135deg,#93c5fd 0%,#60a5fa 50%,#fcd34d 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}body.dark-mode .availability-description{color:var(--dashboard-text-secondary)}body.dark-mode .availability-description a{color:var(--dashboard-primary)}body.dark-mode .view-btn{border-color:var(--dashboard-border);color:var(--dashboard-text-secondary);background:#1e293bcc}body.dark-mode .view-btn:hover{border-color:var(--dashboard-primary);color:var(--dashboard-primary);background:#334155e6}body.dark-mode .view-btn.active{background:linear-gradient(135deg,var(--dashboard-primary)0%,#2563eb 50%,var(--dashboard-accent)100%);color:var(--dashboard-text-primary);border-color:#0000;box-shadow:0 4px 14px #3b82f666}body.dark-mode .view-btn.active:hover{box-shadow:0 6px 20px #3b82f680}body.dark-mode .availability-legend{border-color:var(--dashboard-border);background:#1e293b99}body.dark-mode .legend-item{color:var(--dashboard-text-primary)}body.dark-mode .legend-color{box-shadow:0 2px 6px #0000004d}body.dark-mode .calendar-wrapper{box-shadow:none;background:0 0;border:none;border-radius:0;overflow:visible}body.dark-mode .calendar-wrapper .fc-view-harness,body.dark-mode .calendar-wrapper .fc-scrollgrid{border-radius:16px;overflow:hidden}body.dark-mode .fc{color:var(--dashboard-text-primary)}body.dark-mode .fc-header-toolbar{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 50%,#b45309 100%);border-radius:14px}body.dark-mode .fc-toolbar-title{color:#fffffff2}body.dark-mode .fc-button,body.dark-mode .fc .fc-prev-button,body.dark-mode .fc .fc-next-button,body.dark-mode .fc .fc-today-button{color:#fffffff2;background:#ffffff26;border-radius:10px!important}body.dark-mode .fc-button-group .fc-button{border-radius:10px!important}body.dark-mode .fc-button-group .fc-button:first-child:not(:last-child){border-radius:10px 0 0 10px!important}body.dark-mode .fc-button-group .fc-button:last-child:not(:first-child){border-radius:0 10px 10px 0!important}body.dark-mode .fc-button:hover{color:var(--dashboard-accent);background:#fffffff2}body.dark-mode .fc-button-active{color:var(--dashboard-primary);background:#fffffff2}body.dark-mode .fc-daygrid-day-number,body.dark-mode .fc-col-header-cell-cushion,body.dark-mode .fc-timegrid-slot-label-cushion{color:var(--dashboard-text-primary)}body.dark-mode .fc-col-header-cell{border-color:var(--dashboard-border);background:#1e293bcc}body.dark-mode .fc-daygrid-day-frame{background:var(--dashboard-card-bg);border-color:var(--dashboard-border)}body.dark-mode .fc-day-today{background:linear-gradient(135deg,#3b82f638 0%,#fbbf241a 100%)!important}body.dark-mode .fc-col-header-cell.fc-day-today,body.dark-mode .fc-scrollgrid-section-header .fc-day-today.fc-col-header-cell{border-color:#3b82f666;background:#919398fa!important}body.dark-mode .fc-col-header-cell.fc-day-today .fc-col-header-cell-cushion,body.dark-mode .fc-scrollgrid-section-header .fc-day-today .fc-col-header-cell-cushion{color:#e0f2fe!important}body.dark-mode .fc-day-today .fc-daygrid-day-frame{border-color:#3b82f659;background:linear-gradient(135deg,#3b82f633 0%,#1e293bf2 50%,#fbbf2414 100%)!important}body.dark-mode .fc-day-today .fc-timegrid-col{background:linear-gradient(135deg,#3b82f633 0%,#1e293bf2 50%,#fbbf240f 100%)!important}body.dark-mode .fc-day-today .fc-daygrid-day-number{font-weight:700;color:#e0f2fe!important}body.dark-mode .fc-day-today .fc-col-header-cell-cushion,body.dark-mode .fc-day-today .fc-timegrid-slot-label{color:#e0f2fe!important}body.dark-mode .fc-avail-past{opacity:.7;background:#1e293b80!important}body.dark-mode .fc-avail-past .fc-daygrid-day-frame,body.dark-mode .fc-avail-past .fc-timegrid-col{background:#1e293b80!important}body.dark-mode .fc-avail-past .fc-daygrid-day-number,body.dark-mode .fc-avail-past .fc-col-header-cell-cushion,body.dark-mode .fc-avail-past .fc-timegrid-slot-label{color:var(--dashboard-text-secondary)!important}body.dark-mode .fc-event-past{opacity:.45!important;background-color:#1e293b99!important}body.dark-mode .fc-timegrid-slot-label{color:var(--dashboard-text-secondary)}body.dark-mode .fc-timegrid-slot,body.dark-mode .fc-timegrid-col,body.dark-mode .fc-scrollgrid,body.dark-mode .fc-scrollgrid-section-header{border-color:var(--dashboard-border)}body.dark-mode .event-modal-content{background:var(--dashboard-card-bg);border-color:var(--dashboard-border);box-shadow:0 0 0 1px #33415599,0 25px 50px -12px #00000080}body.dark-mode .event-modal-header{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 50%,#b45309 100%)}body.dark-mode .event-modal-header h2{color:#fffffff2}body.dark-mode .event-modal-close{color:#fffffff2;background:#ffffff26}body.dark-mode .event-modal-close:hover{color:var(--dashboard-accent);background:#fffffff2}body.dark-mode .event-modal-body{background:var(--dashboard-card-bg)}body.dark-mode .form-label{color:var(--dashboard-text-primary)}body.dark-mode .form-input,body.dark-mode .form-textarea{border-color:var(--dashboard-border);color:var(--dashboard-text-primary);background:#1e293bcc}body.dark-mode .form-input::placeholder,body.dark-mode .form-textarea::placeholder{color:var(--dashboard-text-secondary)}body.dark-mode .form-input:focus,body.dark-mode .form-textarea:focus{border-color:var(--dashboard-primary);box-shadow:0 0 0 3px #3b82f633}body.dark-mode .event-type-btn{border-color:var(--dashboard-border);color:var(--dashboard-text-secondary);background:#1e293b99}body.dark-mode .event-type-btn:hover{border-color:var(--dashboard-primary);color:var(--dashboard-primary);background:#3b82f626}body.dark-mode .event-type-btn.active{border-color:var(--dashboard-primary);color:#93c5fd;background:#3b82f633;box-shadow:0 4px 12px #3b82f640}body.dark-mode .event-modal-footer{border-top-color:var(--dashboard-border);background:var(--dashboard-card-bg);box-shadow:0 -8px 20px #00000059}body.dark-mode .btn-cancel{color:var(--dashboard-text-secondary);border-color:var(--dashboard-border);background:0 0}body.dark-mode .btn-cancel:hover{border-color:var(--dashboard-primary);color:var(--dashboard-primary);background:#334155e6}body.dark-mode .btn-save:hover{box-shadow:0 6px 20px #3b82f680}body.dark-mode .btn-delete:hover{background:var(--dashboard-danger);color:#fff}.availability-header{border-bottom:2px solid #3b82f633;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.availability-title-section{flex:1}.availability-title{background:linear-gradient(135deg,var(--theme-blue-deep)0%,var(--theme-blue)50%,var(--theme-yellow)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .35rem;font-size:1.5rem;font-weight:800}.availability-description{color:var(--theme-gray-500);margin:0;font-size:.9rem}.availability-description a{color:var(--theme-blue);text-underline-offset:2px;font-weight:600;text-decoration:underline}.availability-description a:hover{color:var(--theme-blue-deep,var(--theme-blue))}.availability-view-controls{flex-shrink:0;gap:.5rem;display:flex}.view-btn{background:var(--theme-white);color:var(--theme-gray-500);cursor:pointer;border:1.5px solid #3b82f640;border-radius:12px;padding:.5rem 1rem;font-size:.8rem;font-weight:600;transition:all .25s}.view-btn:hover{background:var(--theme-gray-100);border-color:var(--theme-blue);color:var(--theme-blue)}.view-btn.active{background:linear-gradient(135deg,var(--theme-blue)0%,var(--theme-blue-deep)50%,var(--theme-yellow)100%);color:var(--theme-white);text-shadow:0 1px 2px #0000001a;border-color:#0000;box-shadow:0 4px 14px #3b82f659}.view-btn.active:hover{transform:translateY(-1px);box-shadow:0 6px 20px #3b82f666}.schedule-legend-guide-block{margin-bottom:1.5rem}.schedule-legend-guide-row{align-items:center;gap:1rem;display:flex}.schedule-legend-guide-row-legend{flex:75%;align-items:center;min-width:0;display:flex}.schedule-legend-guide-row-guide{flex-direction:column;flex:0 0 25%;justify-content:center;align-items:stretch;min-width:0;max-width:25%;display:flex}.schedule-legend-guide-row-legend .availability-legend{min-width:0;min-height:unset;border-radius:14px;flex-wrap:wrap;flex:1;align-items:center;gap:.65rem 1rem;margin-bottom:0;padding:.6rem .85rem}.schedule-legend-guide-row-legend .availability-legend .legend-color{border-radius:6px;width:16px;height:16px}.schedule-legend-guide-row-legend .availability-legend button.legend-item.legend-item--filter{padding:.2rem .45rem;font-size:.8125rem}.schedule-usage-guide-trigger{text-align:center;width:100%;min-height:0;font:inherit;color:var(--theme-gray-900);cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;background:linear-gradient(135deg,#ffffffeb 0%,#f8fafffa 100%);border:1px solid #3b82f638;border-radius:14px;justify-content:center;align-items:center;margin:0;padding:.6rem .85rem;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.schedule-usage-guide-trigger:hover{border-color:#3b82f66b;box-shadow:0 2px 10px #3b82f614}.schedule-usage-guide-trigger.is-open{background:linear-gradient(135deg,#eff6fff2 0%,#fffffffa 100%);border-color:#3b82f661}.schedule-usage-guide-trigger-label{flex-direction:column;align-items:center;gap:.15rem;min-width:0;display:flex}.schedule-usage-guide-trigger-title{letter-spacing:-.02em;font-size:.8125rem;font-weight:600;line-height:1.25}.schedule-usage-guide-trigger-sub{letter-spacing:.02em;text-transform:uppercase;color:var(--theme-gray-500);font-size:.6875rem;font-weight:500;line-height:1.2}body.dark-mode .schedule-usage-guide-trigger{color:var(--dashboard-text-primary);border-color:var(--dashboard-border);background:#1e293b8c}body.dark-mode .schedule-usage-guide-trigger:hover{border-color:var(--dashboard-primary)}body.dark-mode .schedule-usage-guide-trigger.is-open{background:#1e3a5f73}body.dark-mode .schedule-usage-guide-trigger-sub{color:var(--dashboard-text-secondary)}.schedule-usage-guide-below-row{margin-top:1.1rem;margin-bottom:0}.schedule-usage-guide-body-below-row{border-top:none;padding-top:1rem}.availability-legend{background:linear-gradient(135deg,#3b82f614 0%,#fbbf240f 100%);border:1px solid #3b82f633;border-radius:16px;gap:1.5rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.legend-item{color:var(--theme-gray-900);align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.availability-legend button.legend-item.legend-item--filter{font:inherit;text-align:left;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:12px;margin:0;padding:.35rem .65rem;transition:border-color .15s,background .15s,box-shadow .15s}.availability-legend button.legend-item.legend-item--filter:hover{background:#ffffff80}.availability-legend button.legend-item.legend-item--filter:focus-visible{outline-offset:2px;outline:2px solid #3b82f6a6}.availability-legend button.legend-item.legend-item--filter.is-active{background:#ffffffd1;border-color:#3b82f680;box-shadow:0 1px 8px #3b82f61f}body.dark-mode .availability-legend button.legend-item.legend-item--filter:hover{background:#ffffff0f}body.dark-mode .availability-legend button.legend-item.legend-item--filter.is-active{border-color:var(--dashboard-primary,#3b82f6);background:#3b82f62e;box-shadow:0 1px 10px #00000040}.legend-color{border-radius:8px;width:20px;height:20px;box-shadow:0 2px 6px #0000001a}.schedule-usage-guide{background:linear-gradient(135deg,#ffffffd9 0%,#fafbfff2 100%);border:1px solid #3b82f638;border-radius:14px;margin-top:1.1rem;overflow:hidden}.schedule-usage-guide-body{border-top:1px solid #3b82f61f;padding:0 1.1rem 1rem}.schedule-usage-guide-section:first-of-type{margin-top:1.1rem}.schedule-usage-guide-heading{text-transform:uppercase;letter-spacing:.04em;color:var(--theme-gray-500);margin:0 0 .35rem;font-size:.8rem;font-weight:700}.schedule-usage-guide-list{color:var(--theme-gray-900);margin:0;padding-left:1.15rem;font-size:.875rem;line-height:1.55}.schedule-usage-guide-list li{margin-bottom:.35rem}.schedule-usage-guide-footnote{color:var(--theme-gray-500);margin:.85rem 0 0;font-size:.8125rem;line-height:1.5}body.dark-mode .schedule-usage-guide{border-color:var(--dashboard-border);background:#1e293b8c}body.dark-mode .schedule-usage-guide-body{border-top-color:var(--dashboard-border)}body.dark-mode .schedule-usage-guide-heading{color:var(--dashboard-text-secondary)}body.dark-mode .schedule-usage-guide-list{color:var(--dashboard-text-primary)}body.dark-mode .schedule-usage-guide-footnote{color:var(--dashboard-text-secondary)}.calendar-wrapper{box-shadow:none;background:0 0;border:none;border-radius:0;margin-top:1rem;padding:0;overflow:visible}.calendar-wrapper .fc,.calendar-wrapper .fc-view-harness,.calendar-wrapper .fc-scrollgrid{border-radius:16px;overflow:hidden}.calendar-wrapper .fc{touch-action:manipulation}.calendar-wrapper .fc-scrollgrid-section-header>th:first-child{border-top-left-radius:16px}.calendar-wrapper .fc-scrollgrid-section-header>th:last-child{border-top-right-radius:16px}.calendar-wrapper .fc-scrollgrid-section-body table tbody tr:last-child td:first-child{border-bottom-left-radius:16px}.calendar-wrapper .fc-scrollgrid-section-body table tbody tr:last-child td:last-child{border-bottom-right-radius:16px}.calendar-wrapper .fc-timegrid .fc-scrollgrid-section:last-child td:first-child{border-bottom-left-radius:16px}.calendar-wrapper .fc-timegrid .fc-scrollgrid-section:last-child td:last-child{border-bottom-right-radius:16px}.schedule-pending-panel-backdrop{z-index:900;cursor:pointer;background:#00000059;position:fixed;inset:0}.schedule-pending-panel{background:var(--theme-white);z-index:900;flex-direction:column;width:100%;max-width:380px;height:calc(100vh - 4.5rem);transition:transform .25s ease-out;display:flex;position:fixed;top:4.5rem;right:0;overflow:hidden;transform:translate(100%);box-shadow:-4px 0 24px #00000026}.schedule-pending-panel-open{transform:translate(0)}.schedule-pending-panel-inner{flex-direction:column;height:100%;display:flex;overflow:hidden}.schedule-pending-panel-header{border-bottom:1px solid var(--theme-gray-100);flex-shrink:0;padding:1.25rem 1.25rem .75rem;position:relative}.schedule-pending-panel-title{color:var(--theme-gray-900);margin:0 2rem 0 0;font-size:1.25rem;font-weight:600}.schedule-pending-panel-slot{color:var(--theme-gray-500);margin:.35rem 0 0;font-size:.875rem}.schedule-pending-panel-close{background:var(--theme-gray-100);width:36px;height:36px;color:var(--theme-gray-500);cursor:pointer;border:none;border-radius:50%;font-size:1.5rem;line-height:1;transition:background .2s,color .2s;position:absolute;top:1rem;right:1rem}.schedule-pending-panel-close:hover{background:var(--theme-gray-200,#e5e7eb);color:var(--theme-gray-900)}.schedule-pending-panel-count{color:var(--theme-gray-500);text-transform:uppercase;letter-spacing:.02em;flex-shrink:0;margin:.75rem 1.25rem 0;font-size:.8125rem;font-weight:600}.schedule-pending-panel-list{flex-direction:column;flex:1;gap:1rem;margin:.75rem 0 1.25rem;padding:0 1.25rem 1.25rem;list-style:none;display:flex;overflow-y:auto}.schedule-pending-panel-card{background:var(--theme-gray-100);border:1px solid #d9770633;border-radius:12px;padding:1rem}.schedule-pending-panel-card-from{color:var(--theme-gray-900);margin-bottom:.35rem;font-size:.9375rem}.schedule-pending-panel-card-time{color:var(--theme-gray-500);margin-bottom:.35rem;font-size:.8125rem}.schedule-pending-panel-card-message{color:var(--theme-gray-600,#4b5563);white-space:pre-wrap;border-top:1px solid #0000000f;margin:.5rem 0 .75rem;padding:.5rem 0;font-size:.875rem}.schedule-pending-panel-card-actions{justify-content:flex-end;gap:.5rem;margin-top:.75rem;display:flex}.schedule-pending-panel-card-actions .btn-pending-reject,.schedule-pending-panel-card-actions .btn-pending-accept{padding:.4rem .9rem;font-size:.8125rem}body.dark-mode .schedule-pending-panel-backdrop{background:#00000080}body.dark-mode .schedule-pending-panel{background:var(--dashboard-card-bg);box-shadow:-4px 0 24px #0006}body.dark-mode .schedule-pending-panel-header{border-bottom-color:var(--dashboard-border)}body.dark-mode .schedule-pending-panel-title{color:var(--dashboard-text-primary)}body.dark-mode .schedule-pending-panel-slot{color:var(--dashboard-text-secondary)}body.dark-mode .schedule-pending-panel-close{background:var(--dashboard-sidebar-bg);color:var(--dashboard-text-secondary)}body.dark-mode .schedule-pending-panel-close:hover{background:var(--dashboard-border);color:var(--dashboard-text-primary)}body.dark-mode .schedule-pending-panel-count{color:var(--dashboard-text-secondary)}body.dark-mode .schedule-pending-panel-card{background:var(--dashboard-sidebar-bg);border-color:#d977064d}body.dark-mode .schedule-pending-panel-card-from,body.dark-mode .schedule-pending-panel-card-message{color:var(--dashboard-text-primary)}body.dark-mode .schedule-pending-panel-card-time{color:var(--dashboard-text-secondary)}body.dark-mode .schedule-pending-panel-card-message{border-top-color:var(--dashboard-border)}.schedule-session-edit-modal .schedule-session-edit-readonly{color:var(--theme-gray-700);margin:0;font-size:.9375rem}body.dark-mode .schedule-session-edit-modal .schedule-session-edit-readonly{color:var(--dashboard-text-secondary)}.schedule-session-edit-loading{text-align:center;color:var(--theme-gray-500);padding:2rem}.schedule-session-edit-modal .schedule-session-edit-footer{flex-wrap:nowrap;justify-content:space-between;align-items:stretch;gap:.5rem;min-width:0;display:flex}.schedule-session-edit-modal .schedule-session-edit-footer-actions{flex-wrap:nowrap;gap:.5rem;min-width:0;margin-left:auto;display:flex}.fc-pending-slot-label{color:#000000d9;white-space:nowrap;text-overflow:ellipsis;padding:2px 6px;font-size:.75rem;font-weight:600;line-height:1.3;overflow:hidden}.fc-pending-slot-count{opacity:.95;font-size:.7rem}.fc .fc-timegrid-event.fc-event-mirror .fc-pending-slot-label,.fc .fc-timegrid-event:not(.fc-event-start):not(.fc-event-end) .fc-pending-slot-label{display:block}body.dark-mode .fc-pending-slot-label{color:#fffffff2}.fc .fc-daygrid-event.fc-availability-month-slot{pointer-events:none;margin-top:1px;margin-bottom:1px;font-size:.65rem;line-height:1.15}.fc .fc-availability-month-slot .fc-event-main{padding:0 3px}.fc .fc-availability-month-slot .fc-event-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}body.dark-mode .fc .fc-availability-month-slot .fc-event-title{color:#111827f2}.calendar-view-toggle-row-end{justify-content:flex-end;margin-bottom:.5rem;display:flex}.fc{color:var(--theme-gray-900);font-family:inherit}.fc-header-toolbar.fc-toolbar{background:linear-gradient(135deg,var(--theme-blue)0%,var(--theme-blue-deep)50%,var(--theme-yellow)100%);color:var(--theme-white);-webkit-overflow-scrolling:touch;border:none;border-radius:14px;flex-wrap:nowrap;align-items:center;gap:.5rem .65rem;margin-bottom:1rem;padding:.5rem .85rem;display:flex;overflow-x:auto}.fc-header-toolbar .fc-toolbar-chunk{flex-wrap:nowrap;align-items:center;gap:.35rem;display:flex}.fc-header-toolbar .fc-toolbar-chunk:first-child{flex-shrink:0}.fc-header-toolbar .fc-toolbar-chunk:nth-child(2){flex:auto;justify-content:center;min-width:0}.fc-header-toolbar .fc-toolbar-chunk:empty{display:none}.fc-toolbar-title{color:var(--theme-white);text-shadow:0 1px 2px #0000001a;white-space:nowrap;text-overflow:ellipsis;text-align:center;max-width:100%;margin:0;font-size:clamp(.65rem,1.5vw,.8rem);font-weight:600;line-height:1.2;overflow:hidden}.fc-button,.fc .fc-button,.fc .fc-prev-button,.fc .fc-next-button,.fc .fc-today-button{color:var(--theme-white);background:#fff3;border:none;padding:.5rem 1rem;font-weight:600;transition:all .2s;border-radius:10px!important}.fc-header-toolbar .fc-prev-button,.fc-header-toolbar .fc-next-button{min-width:2.2rem;font-size:.95rem;padding:.32rem .45rem!important}.fc-header-toolbar .fc-today-button{text-transform:capitalize;font-size:.8125rem;padding:.32rem .6rem!important}.fc-button-group .fc-button{border-radius:10px!important}.fc-button-group .fc-button:first-child:not(:last-child){border-radius:10px 0 0 10px!important}.fc-button-group .fc-button:last-child:not(:first-child){border-radius:0 10px 10px 0!important}.fc-button-group .fc-button:only-child,.fc-header-toolbar .fc-button-group .fc-button:first-child:not(:last-child),.fc-header-toolbar .fc-button-group .fc-button:last-child:not(:first-child){border-radius:10px!important}.fc-button:hover{background:var(--theme-white);color:var(--theme-yellow)}.fc-button-active{background:var(--theme-white);color:var(--theme-blue-deep)}.fc-daygrid-day-number,.fc-col-header-cell-cushion,.fc-timegrid-slot-label-cushion{color:var(--theme-gray-900)}.fc-col-header-cell-cushion{white-space:normal;flex-direction:column;align-items:center;gap:.15rem;display:flex}.fc-day-header-weekday{font-size:.875rem;font-weight:600}.availability-fc-root .fc-dayGridMonth-view .fc-col-header-cell .fc-day-header-weekday--month{letter-spacing:.02em;font-size:.8125rem;font-weight:700}.availability-fc-root .fc-dayGridMonth-view .fc-col-header-cell{background:var(--theme-gray-100);border-color:#3b82f626;padding-top:.35rem;padding-bottom:.35rem}body.dark-mode .availability-fc-root .fc-dayGridMonth-view .fc-col-header-cell{border-color:var(--dashboard-border);background:#1e293bd9}body.dark-mode .availability-fc-root .fc-dayGridMonth-view .fc-col-header-cell .fc-day-header-weekday--month{color:var(--dashboard-text-primary)}body.dark-mode .availability-fc-root .fc-dayGridMonth-view .fc-col-header-cell.fc-day-today{border-color:#3b82f666;background:#919398fa!important}body.dark-mode .availability-fc-root .fc-dayGridMonth-view .fc-col-header-cell.fc-day-today .fc-day-header-weekday--month{color:#e0f2fe!important}body.dark-mode .availability-fc-root .fc-avail-past .fc-dayGridMonth-view .fc-col-header-cell .fc-day-header-weekday--month{color:var(--dashboard-text-secondary)!important}.fc-day-header-date{opacity:.9;font-size:.8rem}.fc-col-header-cell{background:var(--theme-gray-100);border-color:#3b82f626}.fc-daygrid-day-frame{background:var(--theme-white);border-color:#3b82f61f}.fc-day-today{background:linear-gradient(135deg,#3b82f614 0%,#fbbf240f 100%)!important}.fc-day-today .fc-daygrid-day-number{color:var(--theme-blue-deep);font-weight:700}.fc-avail-past{opacity:.6;background:var(--theme-gray-100)!important}.fc-avail-past .fc-daygrid-day-frame,.fc-avail-past .fc-timegrid-col{background:var(--theme-gray-100)!important}.fc-avail-past .fc-daygrid-day-number,.fc-avail-past .fc-col-header-cell-cushion,.fc-avail-past .fc-timegrid-slot-label{color:var(--theme-gray-500)!important}.fc-avail-past .fc-event{opacity:.5;pointer-events:none}.fc-event-past{opacity:.5!important;pointer-events:none!important;background-color:#10b98166!important}.fc-event{cursor:pointer;border-radius:.5rem;padding:.25rem .5rem;font-size:.8125rem;font-weight:500;transition:all .2s;border:none!important}.fc-event:hover{opacity:.9;transform:scale(1.02);box-shadow:0 2px 8px #00000026}.fc-event-title{font-weight:600}.fc-timegrid-slot,.fc-timegrid-col,.fc-scrollgrid,.fc-scrollgrid-section-header{border-color:var(--dashboard-border)}.fc-timegrid-slot{height:2.5rem}.fc-timegrid-slot-label{color:var(--theme-gray-500);font-size:.75rem}.event-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1045;padding:1rem;padding-top:max(calc(var(--dashboard-navbar-height,4.5rem) + .85rem),calc(env(safe-area-inset-top,0px) + var(--dashboard-navbar-height,4.5rem) + .5rem));padding-bottom:max(1rem,env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;background:#0009;justify-content:center;align-items:flex-start;animation:.2s fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.event-modal-content{background:var(--theme-white);border:1px solid #3b82f633;border-radius:16px;flex-direction:column;width:100%;max-width:480px;max-height:min(82vh,100dvh - 6.25rem);margin-top:.65rem;animation:.3s slideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #3b82f633,0 25px 50px -12px #00000040}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.event-modal-header{background:linear-gradient(135deg,var(--theme-blue)0%,var(--theme-blue-deep)50%,var(--theme-yellow)100%);color:var(--theme-white);border-bottom:none;border-radius:16px 16px 0 0;flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.event-modal-header h2{color:var(--theme-white);text-shadow:0 1px 2px #0000001a;margin:0;font-size:1.1rem;font-weight:700}.event-modal-close{cursor:pointer;width:36px;height:36px;color:var(--theme-white);background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.event-modal-close:hover{background:var(--theme-white);color:var(--theme-yellow);transform:rotate(90deg)}.event-modal-body{flex:1;min-height:0;padding:.75rem 1rem;overflow:hidden auto}.event-modal-body .form-group{margin-bottom:.65rem}.event-modal-body .form-group:last-child{margin-bottom:0}.form-group{margin-bottom:1rem}.form-label{color:var(--theme-gray-900);margin-bottom:.35rem;font-size:.8125rem;font-weight:600;display:block}.form-input,.form-textarea{background:var(--theme-white);width:100%;color:var(--theme-gray-900);border:1px solid #3b82f640;border-radius:12px;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:all .2s}.form-input:focus,.form-textarea:focus{border-color:var(--theme-blue);outline:none;box-shadow:0 0 0 3px #3b82f626}.form-textarea{resize:vertical;min-height:72px}.event-modal-body .form-textarea{min-height:56px}.schedule-availability-label-select{cursor:pointer;min-height:2.75rem;padding-right:2rem}.schedule-availability-label-hint{color:var(--theme-gray-500);margin:.4rem 0 0;font-size:.75rem;line-height:1.45}.schedule-availability-label-hint strong{color:var(--theme-gray-700);font-weight:700}body.dark-mode .schedule-availability-label-hint{color:var(--dashboard-text-secondary,#94a3b8)}body.dark-mode .schedule-availability-label-hint strong{color:#e2e8f0}.schedule-meeting-students-hint{color:var(--theme-gray-500);margin:.4rem 0 0;font-size:.75rem;line-height:1.45}.schedule-meeting-students-hint strong{color:var(--theme-gray-700);font-weight:700}body.dark-mode .schedule-meeting-students-hint{color:var(--dashboard-text-secondary,#94a3b8)}body.dark-mode .schedule-meeting-students-hint strong{color:#e2e8f0}.form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:.65rem;display:grid}.event-type-buttons{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.event-type-btn{background:var(--theme-gray-100);color:var(--theme-gray-500);cursor:pointer;border:2px solid #3b82f633;border-radius:12px;flex-direction:column;align-items:center;gap:.25rem;padding:.45rem .4rem;font-size:.8125rem;font-weight:600;transition:all .3s;display:flex}.event-type-btn:hover{border-color:var(--theme-blue);color:var(--theme-blue);background:#3b82f614}.event-type-btn.active{border-color:var(--theme-blue);color:var(--theme-blue-deep);background:linear-gradient(135deg,#3b82f61f 0%,#fbbf241a 100%);box-shadow:0 4px 12px #3b82f633}.event-type-btn svg{flex-shrink:0}.event-modal-footer{background:var(--theme-white);border-top:1px solid #3b82f61f;flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex;box-shadow:0 -6px 16px #0f172a0f}.modal-footer-actions{gap:.75rem;margin-left:auto;display:flex}.btn-cancel,.btn-save,.btn-delete{cursor:pointer;border:none;border-radius:.5rem;align-items:center;gap:.4rem;padding:.5rem 1.15rem;font-size:.875rem;font-weight:600;transition:all .3s;display:flex}.btn-cancel{color:var(--theme-gray-500);background:0 0;border:1.5px solid #3b82f64d}.btn-cancel:hover{background:var(--theme-gray-100);border-color:var(--theme-blue);color:var(--theme-blue)}.btn-save{background:linear-gradient(135deg,var(--theme-blue)0%,var(--theme-blue-deep)50%,var(--theme-yellow)100%);color:var(--theme-white);box-shadow:0 4px 14px #3b82f659}.btn-save:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f673}.btn-delete{color:var(--dashboard-danger);border:1.5px solid var(--dashboard-danger);background:0 0}.btn-delete:hover{background:var(--dashboard-danger);color:#fff}.btn-pending-reject{cursor:pointer;color:#b45309;background:0 0;border:1.5px solid #d97706;border-radius:.5rem;padding:.5rem 1.15rem;font-size:.875rem;font-weight:600;transition:all .2s}.btn-pending-reject:hover:not(:disabled){color:#fff;background:#d97706}.btn-pending-reject:disabled{opacity:.6;cursor:not-allowed}.btn-pending-accept{cursor:pointer;color:#fff;background:linear-gradient(135deg,#059669 0%,#047857 100%);border:none;border-radius:.5rem;padding:.5rem 1.15rem;font-size:.875rem;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #05966959}.btn-pending-accept:hover:not(:disabled){background:linear-gradient(135deg,#047857 0%,#065f46 100%);transform:translateY(-1px);box-shadow:0 4px 12px #05966973}.btn-pending-accept:disabled{opacity:.6;cursor:not-allowed;transform:none}body.dark-mode .btn-pending-reject{color:#fbbf24;border-color:#d97706}body.dark-mode .btn-pending-reject:hover:not(:disabled){color:var(--theme-gray-900);background:#b45309}@media (max-width:768px){.availability-container{padding:1rem}.availability-header{flex-direction:column;gap:1rem}.availability-view-controls{justify-content:stretch;width:100%}.view-btn{flex:1}.availability-legend{flex-wrap:wrap;gap:1rem}.schedule-legend-guide-row{flex-direction:column;gap:.85rem}.schedule-legend-guide-row-legend,.schedule-legend-guide-row-guide{flex:auto;max-width:100%}.schedule-legend-guide-row-legend .availability-legend{margin-bottom:0;padding:.75rem 1rem}.schedule-usage-guide-trigger{min-height:unset;padding:.75rem 1rem}.schedule-usage-guide-trigger-title{font-size:.875rem}.schedule-usage-guide-trigger-sub{font-size:.7rem}.event-modal-overlay{padding-top:max(calc(var(--dashboard-navbar-height,4.5rem) + .5rem),calc(env(safe-area-inset-top,0px) + var(--dashboard-navbar-height,4.5rem) + .35rem));padding-bottom:max(.65rem,env(safe-area-inset-bottom,0px));align-items:center;overflow:hidden}.event-modal-content{width:100%;max-width:100%;max-height:min(calc(100dvh - var(--dashboard-navbar-height,4.5rem) - 1.25rem),calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 1.5rem));min-height:0;margin-top:0;margin-left:0;margin-right:0}.event-modal-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.event-modal-footer{padding-bottom:max(.75rem,env(safe-area-inset-bottom,0px));flex-flow:wrap;gap:.65rem}.modal-footer-actions{flex:auto;justify-content:flex-end;min-width:min(100%,200px)}.btn-cancel,.btn-save{flex:0 auto;min-width:5rem}.schedule-session-edit-modal .event-modal-footer.schedule-session-edit-footer{align-items:center;gap:.35rem;flex-wrap:nowrap!important}.schedule-session-edit-modal .schedule-session-edit-footer-actions{flex-wrap:nowrap;flex:auto;gap:.35rem;min-width:0;margin-left:0}.schedule-session-edit-modal .schedule-session-edit-footer .btn-delete{white-space:nowrap;flex:1 1 0;min-width:0;padding-left:.4rem;padding-right:.4rem;font-size:clamp(.7rem,2.9vw,.8125rem)}.schedule-session-edit-modal .schedule-session-edit-footer-actions .btn-cancel,.schedule-session-edit-modal .schedule-session-edit-footer-actions .btn-save{white-space:nowrap;flex:1 1 0;min-width:0;padding-left:.45rem;padding-right:.45rem;font-size:clamp(.7rem,2.9vw,.8125rem)}.calendar-wrapper{-webkit-overflow-scrolling:touch;max-width:100%;padding:.5rem .25rem;overflow-x:auto}.calendar-wrapper .fc-timegrid .fc-col-header-cell,.calendar-wrapper .fc-timegrid .fc-timegrid-col:not(.fc-timegrid-axis){min-width:var(--schedule-mobile-week-col-min)}.calendar-wrapper .fc,.calendar-wrapper .fc-view-harness,.calendar-wrapper .fc-scrollgrid{overflow:auto visible}:is(.availability-fc-root:has(.fc-dayGridMonth-view) .fc-view-harness,.availability-fc-root:has(.fc-dayGridMonth-view) .fc-scrollgrid){overflow-x:hidden!important}.availability-fc-root .fc-header-toolbar.fc-toolbar{background:linear-gradient(118deg,#3b82f6f0 0%,#1d4ed8e6 48%,#fbbf24c7 100%);border-radius:16px;margin-bottom:.85rem;padding:.55rem .7rem;box-shadow:0 6px 24px #3b82f62e}.availability-fc-root .fc-toolbar-title{letter-spacing:-.02em;font-size:clamp(.9rem,3.8vw,1.05rem);font-weight:700}.availability-fc-root .fc-dayGridMonth-view .fc-daygrid-day,.availability-fc-root .fc-dayGridMonth-view .fc-daygrid-day-frame{min-height:5.25rem}.availability-fc-root .fc-dayGridMonth-view .fc-daygrid-day-number{border-radius:6px;padding:2px 4px;font-size:.8125rem;font-weight:600}.availability-fc-root .fc-dayGridMonth-view .fc-daygrid-day-events{margin-left:3px;margin-right:3px}.availability-fc-root .fc-dayGridMonth-view .fc-daygrid-event-harness{margin-left:0!important;margin-right:0!important}.availability-fc-root .fc-dayGridMonth-view .fc-daygrid-event{box-sizing:border-box;border-radius:7px;padding:.22rem .4rem;font-size:.6875rem;font-weight:600;line-height:1.28;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}.availability-fc-root .fc-dayGridMonth-view .fc-daygrid-event .fc-event-main{min-width:0;overflow:hidden}.availability-fc-root .fc-dayGridMonth-view .fc-event:hover{box-shadow:none;transform:none}.availability-fc-root .fc-dayGridMonth-view .fc-daygrid-more-link{box-sizing:border-box;text-align:center;letter-spacing:.02em;color:#1d4ed8;background:#3b82f61f;border-radius:8px;width:100%;margin-top:4px;padding:4px 6px;font-size:.65rem;font-weight:700;line-height:1.2;text-decoration:none;display:block}.availability-fc-root .fc-dayGridMonth-view .fc-availability-month-slot .fc-event-main{align-items:baseline;gap:3px;min-width:0;padding:0;display:flex}.availability-fc-root .fc-dayGridMonth-view .fc-event-time{font-variant-numeric:tabular-nums;letter-spacing:-.045em;opacity:.9;white-space:nowrap;flex-shrink:0;font-size:.5625rem;font-weight:700;line-height:1.15}.availability-fc-root .fc-dayGridMonth-view .fc-availability-month-slot .fc-event-title{flex:1;min-width:0;font-size:.65rem;font-weight:600}.availability-fc-root .fc-dayGridMonth-view .fc-scrollgrid,.availability-fc-root .fc-dayGridMonth-view .fc-scrollgrid-section-body>td{border-color:#3b82f61f}body.dark-mode .availability-fc-root .fc-dayGridMonth-view .fc-daygrid-more-link{color:#93c5fd;background:#3b82f633}body.dark-mode .availability-fc-root .fc-dayGridMonth-view .fc-daygrid-day-frame{background:#0f172a73}html.page-tutor-dashboard .schedule-pending-panel{height:calc(100dvh - 4.5rem - var(--mobile-bottom-nav-height,72px));max-height:calc(100dvh - 4.5rem - var(--mobile-bottom-nav-height,72px))}}.schedule-repeat-block{border-top:1px solid #3b82f626;margin-top:.5rem;padding-top:.75rem}.schedule-repeat-series-hint{color:var(--theme-gray-500,#6b7280);margin:0 0 .5rem;font-size:.8125rem;line-height:1.35}body.dark-mode .schedule-repeat-series-hint{color:var(--dashboard-text-secondary,#94a3b8)}.schedule-repeat-weekday-row{flex-wrap:wrap;gap:.35rem;margin-top:.35rem;display:flex}.schedule-repeat-weekday-btn{min-width:2.5rem;color:var(--theme-gray-900,#111827);cursor:pointer;background:#ffffffd9;border:1px solid #3b82f659;border-radius:8px;padding:.35rem .45rem;font-size:.75rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.schedule-repeat-weekday-btn:hover{border-color:var(--theme-blue,#3b82f6);color:var(--theme-blue-deep,#1d4ed8)}.schedule-repeat-weekday-btn.is-on{border-color:var(--theme-blue,#3b82f6);color:var(--theme-blue-deep,#1d4ed8);background:linear-gradient(135deg,#3b82f633 0%,#fbbf2426 100%)}body.dark-mode .schedule-repeat-weekday-btn{color:#e2e8f0;background:#1e293bbf;border-color:#3b82f659}body.dark-mode .schedule-repeat-weekday-btn.is-on{color:#93c5fd;background:#3b82f640;border-color:#60a5fa}.schedule-delete-repeating-row{flex:1;align-items:center;min-width:0;margin-right:.5rem;display:flex}.schedule-delete-repeating-remove-btn{flex-shrink:0}.schedule-repeating-scope-block{margin-top:.25rem}@media (max-width:520px){.schedule-delete-repeating-row{width:100%;margin-bottom:.35rem;margin-right:0}}
