.past-calendar-layout{--pc-surface:#fff;--pc-soft:#f8fafc;--pc-border:#dbe3ee;--pc-text:#172033;--pc-muted:#64748b;--pc-accent:#0245ae;--pc-selected:#eef5ff;color:var(--pc-text);grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;display:grid}.schedule-page .past-calendar{background:0 0;min-width:0}.past-calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.past-calendar-layout h2{color:var(--pc-text);margin:0;font-size:18px;font-weight:700}.past-calendar-layout p{color:var(--pc-muted);margin:0;font-size:13px;line-height:1.6}.past-calendar-toolbar p{margin-top:3px}.past-calendar-controls{align-items:center;gap:6px;display:flex}.past-calendar-controls button{border:1px solid var(--pc-border);width:34px;height:34px;color:var(--pc-text);background:var(--pc-surface);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.past-calendar-controls input,.past-calendar-agenda select{border:1px solid var(--pc-border);background:var(--pc-surface);min-width:0;height:34px;color:var(--pc-text);font:inherit;border-radius:4px;padding:5px 8px;font-size:12px}.past-calendar-controls input{width:142px}.past-calendar-weekdays{color:var(--pc-muted);text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));padding:10px 0;font-size:12px;font-weight:600;display:grid}.past-calendar-grid{border-top:1px solid var(--pc-border);border-left:1px solid var(--pc-border);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.past-calendar-grid .past-calendar-day{border:0;border-right:1px solid var(--pc-border);border-bottom:1px solid var(--pc-border);background:var(--pc-surface);min-width:0;height:104px;color:var(--pc-text);font:inherit;text-align:left;cursor:pointer;border-radius:0;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:8px;padding:10px;font-size:13px;text-decoration:none;display:flex}.past-calendar-grid .past-calendar-day:disabled{cursor:default}.past-calendar-grid .past-calendar-day.outside{background:var(--pc-soft);color:var(--pc-muted)}.past-calendar-layout .past-calendar-day-number{width:24px;height:24px;color:var(--pc-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.past-calendar-layout .outside .past-calendar-day-number{color:var(--pc-muted)}.past-calendar-day.today .past-calendar-day-number{color:#fff;background:var(--pc-accent)}.past-calendar-grid .past-calendar-day.selected{background:var(--pc-selected);box-shadow:inset 0 0 0 2px var(--pc-accent)}.past-calendar-grid .past-calendar-day.has-lessons:hover{background:var(--pc-selected)}.past-calendar-layout .past-calendar-day-count{color:var(--pc-accent);white-space:nowrap;align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.past-calendar-layout .past-calendar-day-count span{color:inherit}.past-calendar-count-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.past-calendar-layout .past-calendar-day-time{color:var(--pc-muted);font-size:11px}.past-calendar-agenda{border-left:1px solid var(--pc-border);min-width:0;padding-left:24px;scroll-margin-top:120px}.past-calendar-agenda>header{margin-bottom:16px}.past-calendar-agenda h2{align-items:center;gap:8px;font-size:15px;display:flex}.past-calendar-agenda select{width:100%;margin-top:12px;display:block}.past-calendar-day-lessons{gap:12px;display:grid}.past-calendar-lesson{border:1px solid var(--pc-border);background:var(--pc-surface);border-radius:6px;min-width:0;padding:14px}.past-calendar-lesson-time{color:var(--pc-text);flex-wrap:wrap;align-items:center;gap:7px;font-size:12px;display:flex}.past-calendar-lesson-time span{color:var(--pc-muted);margin-left:auto}.past-calendar-layout .past-calendar-tutor{color:var(--pc-text);overflow-wrap:anywhere;align-items:flex-start;gap:8px;margin-top:12px;font-weight:600;display:flex}.past-calendar-layout svg{flex-shrink:0}.past-calendar-layout .past-calendar-attendance{margin-top:6px;font-size:12px}.past-calendar-layout .past-calendar-attendance.present{color:#167346}.past-calendar-layout .past-calendar-attendance.absent{color:#be123c}.past-calendar-layout .past-calendar-open-lesson{border-top:1px solid var(--pc-border);color:var(--pc-accent);justify-content:space-between;align-items:center;gap:8px;margin-top:12px;padding:8px 0;font-size:13px;font-weight:600;display:flex}.past-calendar-lesson-actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.past-calendar-lesson-actions .action-btn{border-radius:4px;padding:7px 9px;font-size:11px}.past-calendar-lesson-actions :is(.lesson-proof-error,.lesson-proof-pending){overflow-wrap:anywhere;width:100%;font-size:11px}.past-calendar-empty{padding:20px 0}.past-calendar-layout :is(button,a,input,select):focus-visible,.past-calendar-agenda:focus-visible{outline:2px solid var(--pc-accent);outline-offset:2px}[data-theme=dark] .past-calendar-layout{--pc-surface:#242424;--pc-soft:#202020;--pc-border:#454545;--pc-text:#f1f1f1;--pc-muted:#aaa;--pc-accent:#79b5ff;--pc-selected:#293846;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dark] .past-calendar-layout .past-calendar-attendance.present{color:#86efac}[data-theme=dark] .past-calendar-layout .past-calendar-attendance.absent{color:#fda4af}@media (width<=1100px){.past-calendar-layout{grid-template-columns:minmax(0,1fr)}.past-calendar-agenda{border-left:0;border-top:1px solid var(--pc-border);padding:20px 0 0}.past-calendar-day-lessons{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.past-calendar-toolbar{align-items:flex-start}.past-calendar-controls{gap:4px}.past-calendar-controls input{width:130px}.past-calendar-grid .past-calendar-day{gap:4px;height:82px;padding:6px 3px;font-size:12px}.past-calendar-count-label{display:none}.past-calendar-layout .past-calendar-day-time{font-size:10px}.past-calendar-day-lessons{grid-template-columns:minmax(0,1fr)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pageLoad{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.schedule-page{background:linear-gradient(#f8fafc 0%,#e2e8f0 100%);min-height:100vh;padding:120px 20px 60px;animation:.5s ease-out pageLoad}.schedule-page .container{max-width:1400px;padding:28px 120px 48px 28px}@media (width<=600px){.schedule-page .container{padding-left:0;padding-right:0}.schedule-page .schedule-tab{min-width:0;padding:10px 12px}}.schedule-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.schedule-header-left{align-items:center;gap:14px;display:flex}.schedule-icon{background:linear-gradient(135deg,#0245ae 0%,#4a9eff 100%);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 4px 12px #0245ae4d}.schedule-icon i{color:#fff;font-size:22px}.schedule-title{background:linear-gradient(135deg,#0245ae 0%,#4a9eff 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:28px;font-weight:800}.schedule-subtitle{color:#64748b;margin:4px 0 0;font-size:14px;font-weight:500}.schedule-book-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:12px;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:700;text-decoration:none;transition:all .2s;display:flex;box-shadow:0 4px 12px #10b9814d}.schedule-book-btn:hover{color:#fff;transform:translateY(-2px);box-shadow:0 6px 16px #10b98166}.schedule-tabs{background:#fffc;border-radius:14px;gap:8px;width:fit-content;margin-bottom:16px;padding:6px;display:flex;box-shadow:0 2px 8px #0000000f}.schedule-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.schedule-tab:hover{color:#0245ae;background:#0245ae0d}.schedule-tab.active{color:#fff;background:linear-gradient(135deg,#0245ae 0%,#4a9eff 100%);box-shadow:0 4px 12px #0245ae4d}.tab-count{background:#ffffff4d;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:700}.schedule-tab:not(.active) .tab-count{color:#0245ae;background:#0245ae1a}.tab-count.past{color:#64748b;background:#64748b33}.schedule-timezone{color:#0245ae;background:#0245ae14;border-radius:10px;align-items:center;gap:8px;width:fit-content;margin-bottom:20px;padding:10px 16px;font-size:13px;font-weight:600;display:flex}.schedule-loading{text-align:center;padding:60px 20px}.schedule-spinner{border:4px solid #0245ae1a;border-top-color:#0245ae;border-radius:50%;width:50px;height:50px;margin:0 auto 20px;animation:1s linear infinite spin}.schedule-loading p{color:#64748b;font-size:15px}.schedule-skeleton{flex-direction:column;gap:16px;display:flex}.skeleton-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;align-items:center;gap:20px;padding:20px 24px;display:flex}.skeleton-date{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:12px;width:60px;height:70px;animation:1.5s infinite shimmer}.skeleton-avatar{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:50%;width:56px;height:56px;animation:1.5s infinite shimmer}.skeleton-info{flex-direction:column;flex:1;gap:10px;display:flex}.skeleton-title{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:4px;width:140px;height:20px;animation:1.5s infinite shimmer}.skeleton-detail{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:4px;width:200px;height:14px;animation:1.5s infinite shimmer}.skeleton-actions{gap:10px;display:flex}.skeleton-btn{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:8px;width:100px;height:36px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.schedule-error{text-align:center;background:#dc262614;border:2px solid #dc262626;border-radius:16px;padding:40px}.schedule-error i{color:#dc2626;margin-bottom:16px;font-size:48px}.schedule-error h3{color:#dc2626;margin:0 0 8px;font-size:18px;font-weight:700}.schedule-error p{color:#64748b;margin:0 0 20px;font-size:14px}.retry-btn{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 24px;font-size:14px;font-weight:700;transition:all .2s;display:inline-flex}.retry-btn:hover{background:#b91c1c}.schedule-list{flex-direction:column;gap:16px;display:flex}.schedule-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #0245ae0f;border-radius:16px;align-items:center;gap:16px;padding:20px;transition:all .2s;display:flex;box-shadow:0 4px 16px #0245ae14}.schedule-card:hover{transform:translateY(-2px);box-shadow:0 6px 24px #0245ae1f}.schedule-card.past{opacity:.85}.schedule-card.past:hover{opacity:1}.schedule-card-date{background:linear-gradient(135deg,#0245ae 0%,#4a9eff 100%);border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:64px;display:flex;box-shadow:0 4px 12px #0245ae40}.schedule-card.past .schedule-card-date{background:linear-gradient(135deg,#64748b 0%,#94a3b8 100%);box-shadow:0 4px 12px #64748b40}.date-day{color:#fff;text-shadow:0 1px 2px #0f172a59;font-size:22px;font-weight:800;line-height:1}.date-month{color:#fffffffa;text-transform:uppercase;letter-spacing:.08em;text-shadow:0 1px 2px #0f172a59;margin-top:2px;font-size:11px;font-weight:700}.schedule-card.past .date-day,.schedule-card.past .date-month{color:#f8fafc}.schedule-card-avatar{border-radius:50%;flex-shrink:0;width:56px;height:56px;overflow:hidden;box-shadow:0 4px 12px #0245ae26}.schedule-card-avatar img{object-fit:cover;width:100%;height:100%}.avatar-placeholder{background:linear-gradient(135deg,#0245ae 0%,#4a9eff 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.avatar-placeholder i{color:#fff;font-size:22px}.schedule-card-info{flex:1;min-width:180px}.schedule-card-tutor-name{color:#0f172a;overflow-wrap:anywhere;margin:0 0 8px;font-size:17px;font-weight:800;line-height:1.2}.lesson-details{flex-wrap:wrap;gap:12px;display:flex}.lesson-detail{color:#64748b;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.lesson-detail i{color:#0245ae;font-size:12px}.lesson-detail.countdown,.lesson-detail.countdown i{color:#10b981}.lesson-detail.countdown.ongoing{color:#f59e0b;font-weight:600;animation:2s ease-in-out infinite pulse-ongoing}.lesson-detail.countdown.ongoing i{color:#f59e0b}@keyframes pulse-ongoing{0%,to{opacity:1}50%{opacity:.7}}.lesson-detail.past-time,.lesson-detail.past-time i{color:#64748b}.schedule-card-actions{flex-wrap:wrap;flex-shrink:0;gap:10px;display:flex}.lesson-proof-pending,.lesson-proof-error{align-self:center;max-width:220px;font-size:12px;line-height:1.3}.lesson-proof-pending{color:#606772}.lesson-proof-error{color:#b42318}.schedule-card-actions .action-btn:disabled{opacity:.65;cursor:wait}.action-btn{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:12px 20px;font-size:13px;font-weight:700;text-decoration:none;transition:all .2s;display:flex}.action-btn.primary{color:#fff;background:linear-gradient(135deg,#0f6bff 0%,#4fb4ff 52%,#54efe4 100%);border:1px solid #54efe459;justify-content:center;min-width:138px;box-shadow:0 10px 24px #0f6bff4d,0 0 0 1px #4fb4ff1f}.action-btn.primary:hover{color:#fff;transform:translateY(-1px)scale(1.02);box-shadow:0 14px 30px #0f6bff6b,0 0 0 1px #54efe438,0 0 24px #54efe43d}.action-btn.secondary{color:#0245ae;background:#0245ae14}.action-btn.secondary:hover{color:#0245ae;background:#0245ae26}.schedule-empty{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:#fffffff2;border:1px solid #0245ae0f;border-radius:20px;padding:60px 40px;box-shadow:0 8px 32px #0245ae14}.empty-icon{background:#0245ae1a;border-radius:20px;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 24px;display:flex}.empty-icon i{color:#0245ae;font-size:36px}.schedule-empty h3{color:#0f172a;margin:0 0 12px;font-size:22px;font-weight:800}.schedule-empty p{color:#64748b;max-width:380px;margin:0 auto 28px;font-size:15px;line-height:1.6}.empty-cta{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0245ae 0%,#4a9eff 100%);border:none;border-radius:12px;align-items:center;gap:10px;padding:14px 28px;font-size:14px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 4px 16px #0245ae4d}.empty-cta:hover{color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #0245ae66}@media (width<=768px){.schedule-header{flex-direction:column;align-items:flex-start}.schedule-card{flex-direction:column;align-items:flex-start;gap:16px}.schedule-card-date{flex-direction:row;gap:8px;width:100%;height:auto;padding:12px 16px}.date-day{font-size:18px}.date-month{margin-top:0;font-size:12px}.schedule-card-actions{flex-direction:column;width:100%}.action-btn{justify-content:center;width:100%}.schedule-tabs{width:100%}.schedule-tab{flex:1;justify-content:center}}.action-btn.cancel{color:#dc2626;background:#ef44441a}.action-btn.cancel:hover{color:#dc2626;background:#ef444433}.cancel-notification{z-index:1000;background:#fff;border-left:4px solid #64748b;border-radius:12px;align-items:center;gap:12px;padding:16px 20px;animation:.3s slideIn;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 32px #00000026}.cancel-notification.refunded{border-left-color:#10b981}.cancel-notification i{color:#64748b;font-size:20px}.cancel-notification.refunded i{color:#10b981}.refund-badge{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700}.notification-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;margin-left:8px;padding:4px}.notification-close:hover{color:#64748b}[data-theme=dark] .cancel-notification,.dark-mode .cancel-notification{color:#f3f4f6;background:#202020;border:1px solid #ffffff17;border-left:4px solid #94a3b8;box-shadow:0 18px 42px #0006}[data-theme=dark] .cancel-notification.refunded,.dark-mode .cancel-notification.refunded{border-left-color:#34d399}[data-theme=dark] .cancel-notification span:not(.refund-badge),.dark-mode .cancel-notification span:not(.refund-badge){color:#e5e7eb}[data-theme=dark] .cancel-notification i,.dark-mode .cancel-notification i{color:#cbd5e1}[data-theme=dark] .cancel-notification.refunded i,.dark-mode .cancel-notification.refunded i{color:#34d399}[data-theme=dark] .cancel-notification .refund-badge,.dark-mode .cancel-notification .refund-badge{color:#062c20;background:linear-gradient(135deg,#34d399 0%,#10b981 100%);border:1px solid #6ee7b773;box-shadow:0 0 0 1px #10b9812e,0 6px 16px #10b9812e}[data-theme=dark] .notification-close,.dark-mode .notification-close{color:#34d399}[data-theme=dark] .notification-close:hover,.dark-mode .notification-close:hover{color:#6ee7b7}@keyframes slideIn{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.cancel-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1001;background:#0009;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cancel-modal{background:#fff;border-radius:20px;width:90%;max-width:480px;animation:.3s modalSlideIn;box-shadow:0 20px 60px #0000004d}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.cancel-modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.cancel-modal-header h3{color:#0f172a;margin:0;font-size:18px;font-weight:800}.modal-close-btn{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.modal-close-btn:hover{color:#0f172a;background:#f1f5f9}.modal-close-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-modal-body{padding:24px}.cancel-lesson-info{background:#f8fafc;border-radius:12px;align-items:center;gap:16px;margin-bottom:20px;padding:16px;display:flex}.cancel-tutor-avatar{border-radius:50%;flex-shrink:0;width:56px;height:56px;overflow:hidden;box-shadow:0 4px 12px #0245ae26}.cancel-tutor-avatar img{object-fit:cover;width:100%;height:100%}.cancel-tutor-avatar .avatar-placeholder{background:linear-gradient(135deg,#0245ae 0%,#4a9eff 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.cancel-tutor-avatar .avatar-placeholder i{color:#fff;font-size:20px}.cancel-lesson-details h4{color:#0f172a;margin:0 0 8px;font-size:16px;font-weight:700}.cancel-lesson-details p{color:#64748b;align-items:center;gap:8px;margin:0 0 4px;font-size:13px;display:flex}.cancel-lesson-details p i{color:#0245ae;width:14px}.refund-notice{border-radius:12px;gap:12px;margin-bottom:20px;padding:16px;display:flex}.refund-notice.eligible{background:#10b9811a;border:1px solid #10b9814d}.refund-notice.eligible i{color:#10b981;flex-shrink:0;font-size:20px}.refund-notice.not-eligible{background:#f59e0b1a;border:1px solid #f59e0b4d}.refund-notice.not-eligible i{color:#f59e0b;flex-shrink:0;font-size:20px}.refund-notice strong{color:#0f172a;margin-bottom:4px;font-size:14px;display:block}.refund-notice p{color:#64748b;margin:0;font-size:13px;line-height:1.5}.cancel-warning{text-align:center;color:#64748b;margin:0;font-size:14px}.cancel-modal-footer{border-top:1px solid #e2e8f0;gap:12px;padding:20px 24px;display:flex}.cancel-modal-btn{cursor:pointer;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:14px;font-weight:700;transition:all .2s;display:flex}.cancel-modal-btn.secondary{color:#64748b;background:#f1f5f9}.cancel-modal-btn.secondary:hover{color:#0f172a;background:#e2e8f0}.cancel-modal-btn.danger{color:#fff;background:linear-gradient(135deg,#dc2626 0%,#ef4444 100%);box-shadow:0 4px 12px #dc26264d}.cancel-modal-btn.danger:hover{box-shadow:0 6px 16px #dc262666}.cancel-modal-btn:disabled{opacity:.7;cursor:not-allowed}.btn-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@media (width<=480px){.cancel-modal{width:calc(100% - 32px);margin:16px}.cancel-modal-footer{flex-direction:column}.cancel-notification{bottom:16px;left:16px;right:16px}}[data-theme=dark] .schedule-page,.dark-mode .schedule-page{background:var(--fxv-bg)}[data-theme=dark] .schedule-tabs,[data-theme=dark] .schedule-card,[data-theme=dark] .skeleton-card,[data-theme=dark] .cancel-modal,[data-theme=dark] .schedule-empty,.dark-mode .schedule-tabs,.dark-mode .schedule-card,.dark-mode .skeleton-card,.dark-mode .cancel-modal,.dark-mode .schedule-empty{background:var(--fxv-surface);border-color:var(--fxv-border);box-shadow:var(--fxv-shadow-sm)}[data-theme=dark] .schedule-tab,[data-theme=dark] .schedule-timezone,[data-theme=dark] .action-btn,[data-theme=dark] .cancel-modal-btn.cancel-btn,.dark-mode .schedule-tab,.dark-mode .schedule-timezone,.dark-mode .action-btn,.dark-mode .cancel-modal-btn.cancel-btn{color:var(--fxv-text);background:#ffffff0a;border-color:#ffffff14}[data-theme=dark] .schedule-tab:hover,[data-theme=dark] .action-btn:hover,.dark-mode .schedule-tab:hover,.dark-mode .action-btn:hover{background:#ffffff14;border-color:#7cb8ff3d}[data-theme=dark] .action-btn.primary,.dark-mode .action-btn.primary{color:#fff;background:linear-gradient(135deg,#0f6bff 0%,#4fb4ff 52%,#54efe4 100%);border-color:#54efe46b;box-shadow:0 12px 28px #0f6bff5c,0 0 0 1px #54efe429,0 0 22px #4fb4ff2e}[data-theme=dark] .action-btn.primary:hover,.dark-mode .action-btn.primary:hover{color:#fff;background:linear-gradient(135deg,#1f7cff 0%,#5fc0ff 48%,#64fff0 100%);border-color:#64fff094;box-shadow:0 16px 36px #0f6bff80,0 0 0 1px #64fff033,0 0 30px #54efe44d}[data-theme=dark] .schedule-title,[data-theme=dark] .schedule-card-date,[data-theme=dark] .schedule-card-tutor-name,[data-theme=dark] .schedule-empty h3,.dark-mode .schedule-title,.dark-mode .schedule-card-date,.dark-mode .schedule-card-tutor-name,.dark-mode .schedule-empty h3{color:var(--fxv-text);-webkit-text-fill-color:currentColor}[data-theme=dark] .schedule-card-date .date-day,[data-theme=dark] .schedule-card-date .date-month,.dark-mode .schedule-card-date .date-day,.dark-mode .schedule-card-date .date-month{color:#fff;-webkit-text-fill-color:#fff}[data-theme=dark] .schedule-subtitle,[data-theme=dark] .lesson-detail,[data-theme=dark] .schedule-loading p,[data-theme=dark] .schedule-empty,[data-theme=dark] .schedule-empty p,[data-theme=dark] .cancel-info-row,[data-theme=dark] .cancel-modal-body p,.dark-mode .schedule-subtitle,.dark-mode .lesson-detail,.dark-mode .schedule-loading p,.dark-mode .schedule-empty,.dark-mode .schedule-empty p,.dark-mode .cancel-info-row,.dark-mode .cancel-modal-body p{color:var(--fxv-text-muted)}[data-theme=dark] .empty-icon,.dark-mode .empty-icon{background:#7cb8ff1a;border:1px solid #7cb8ff1f}[data-theme=dark] .empty-icon i,.dark-mode .empty-icon i{color:var(--fxv-accent-strong)}[data-theme=dark] .empty-cta,.dark-mode .empty-cta{color:#f8fbff}[data-theme=dark] .schedule-error,.dark-mode .schedule-error{background:#ef44441a;border-color:#ef444433}[data-theme=dark] .cancel-modal-overlay,.dark-mode .cancel-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000c7}[data-theme=dark] .cancel-modal,.dark-mode .cancel-modal{background:linear-gradient(#242424 0%,#202020 100%);border:1px solid #ffffff1a;overflow:hidden;box-shadow:0 24px 70px #0000007a}[data-theme=dark] .cancel-modal-header,[data-theme=dark] .cancel-modal-footer,.dark-mode .cancel-modal-header,.dark-mode .cancel-modal-footer{border-color:#ffffff14}[data-theme=dark] .cancel-modal-header,.dark-mode .cancel-modal-header{background:#ffffff05}[data-theme=dark] .cancel-modal-footer,.dark-mode .cancel-modal-footer{background:#00000024}[data-theme=dark] .cancel-modal-header h3,[data-theme=dark] .cancel-lesson-details h4,[data-theme=dark] .refund-notice strong,.dark-mode .cancel-modal-header h3,.dark-mode .cancel-lesson-details h4,.dark-mode .refund-notice strong{color:var(--fxv-text,#f3f4f6);-webkit-text-fill-color:currentColor}[data-theme=dark] .modal-close-btn,.dark-mode .modal-close-btn{color:var(--fxv-text-muted,#a3a3a3)}[data-theme=dark] .modal-close-btn:hover,.dark-mode .modal-close-btn:hover{color:var(--fxv-text,#f3f4f6);background:#ffffff14}[data-theme=dark] .cancel-lesson-info,.dark-mode .cancel-lesson-info{background:#252525;border:1px solid #ffffff14;box-shadow:inset 0 1px #ffffff08}[data-theme=dark] .cancel-lesson-details p,[data-theme=dark] .refund-notice p,[data-theme=dark] .cancel-warning,.dark-mode .cancel-lesson-details p,.dark-mode .refund-notice p,.dark-mode .cancel-warning{color:#d1d5db}[data-theme=dark] .cancel-lesson-details p i,.dark-mode .cancel-lesson-details p i{color:var(--fxv-accent-strong,#60a5fa)}[data-theme=dark] .refund-notice.eligible,.dark-mode .refund-notice.eligible{background:#10b98129;border-color:#34d39957}[data-theme=dark] .refund-notice.not-eligible,.dark-mode .refund-notice.not-eligible{background:#f59e0b26;border-color:#fbbf2452}[data-theme=dark] .cancel-modal-btn.secondary,.dark-mode .cancel-modal-btn.secondary{color:var(--fxv-text,#f3f4f6);background:#2a2a2a;border:1px solid #ffffff1a}[data-theme=dark] .cancel-modal-btn.secondary:hover,.dark-mode .cancel-modal-btn.secondary:hover{color:#fff;background:#323232}[data-theme=dark] .cancel-modal-btn.danger,.dark-mode .cancel-modal-btn.danger{background:linear-gradient(135deg,#dc2626 0%,#ff4d4d 100%);box-shadow:0 10px 24px #ef444438}.fxv-spinner-wrapper{justify-content:center;align-items:center;padding:2rem;display:flex}.fxv-spinner{border:4px solid #0245ae26;border-top-color:#0245ae;border-radius:50%;width:42px;height:42px;animation:.9s linear infinite fxv-spin;box-shadow:0 0 0 1px #0245ae0d}@keyframes fxv-spin{to{transform:rotate(360deg)}}.dark-mode .fxv-spinner{border:4px solid #4a9eff40;border-top-color:#4a9eff}.browse-page{--browse-bg:#f5f7fa;--browse-surface:#fff;--browse-text:#202636;--browse-muted:#647184;--browse-border:#dfe5ed;--browse-accent:#0245ae;--browse-tint:#edf4ff;background:var(--browse-bg);color:var(--browse-text);min-height:100vh}[data-theme=dark] .browse-page{--browse-bg:var(--fxv-bg,#202020);--browse-surface:var(--fxv-surface,#262626);--browse-text:var(--fxv-text,#f1f3f6);--browse-muted:var(--fxv-text-muted,#aab2bd);--browse-border:var(--fxv-border,#3c3c3c);--browse-accent:#79b5ff;--browse-tint:#293646}.browse-page--with-sidebar{margin-left:80px}.browse-auth-check{place-items:center;min-height:100vh;display:grid}.browse-main{padding:128px 32px 64px}.browse-container{min-width:0;max-width:1200px;margin:0 auto}.browse-page-heading{align-items:center;gap:16px;margin-bottom:24px;display:flex}.browse-page-heading>img{object-fit:contain;flex:0 0 64px;width:64px;height:64px}.browse-page-heading h1{color:var(--browse-text);letter-spacing:0;margin:0 0 6px;font-size:30px;font-weight:800;line-height:1.3}.browse-page-heading p{color:var(--browse-muted);margin:0;font-size:15px;line-height:1.6}.browse-page-heading>div{min-width:0}.browse-ticket-link{color:var(--browse-accent);white-space:nowrap;align-items:center;gap:8px;margin-left:auto;font-size:14px;font-weight:600;display:inline-flex}.browse-ticket-summary{border-bottom:1px solid var(--browse-border);flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:24px;padding:0 0 20px;display:flex}.browse-ticket-summary>span,.browse-ticket-summary>a{color:var(--browse-muted);align-items:center;gap:8px;font-size:14px;display:inline-flex}.browse-ticket-summary strong{color:var(--browse-text)}.browse-ticket-summary img{object-fit:contain;width:32px;height:32px}.browse-search-toolbar{align-items:center;gap:12px;margin-bottom:20px;display:flex}.browse-search{background:var(--browse-surface);border:1px solid var(--browse-border);border-radius:8px;flex:1;align-items:center;gap:10px;min-width:0;padding:6px 6px 6px 16px;display:flex}.browse-search>svg{color:var(--browse-muted);flex-shrink:0}.browse-search input{width:100%;min-width:0;color:var(--browse-text);background:0 0;border:0;outline:none;height:36px;font-size:15px}.browse-search:focus-within{border-color:var(--browse-accent)}.browse-page .browse-button{color:#fff;cursor:pointer;background:#0245ae;border:1px solid #0245ae;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-size:14px;font-weight:700;line-height:1.5;text-decoration:none;display:inline-flex}.browse-page .browse-button:hover{color:#fff;background:#003b96}.browse-page .browse-button--secondary{background:var(--browse-surface);border-color:var(--browse-border);color:var(--browse-accent)}.browse-page .browse-button--secondary:hover{background:var(--browse-tint);color:var(--browse-accent)}.browse-page .browse-button:disabled{opacity:.6;cursor:wait}.browse-page button:focus-visible,.browse-page a:focus-visible,.browse-page select:focus-visible{outline:2px solid var(--browse-accent);outline-offset:3px}.browse-icon-button{width:36px;height:36px;color:var(--browse-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:0 0 36px;justify-content:center;align-items:center;display:inline-flex}.browse-icon-button:hover{background:var(--browse-tint);color:var(--browse-accent)}.browse-time-controls{min-width:0;color:var(--browse-muted);align-items:center;gap:8px;display:flex}.browse-time-label{font-size:12px;font-weight:700}.browse-time-controls select,.browse-filter-dialog>select{background:var(--browse-surface);min-width:0;color:var(--browse-text);border:1px solid var(--browse-border);cursor:pointer;border-radius:8px;min-height:44px;padding:8px 12px;font-size:14px}.browse-toolbar-time{flex-shrink:0}.browse-page .browse-filter-button{display:none}.browse-day-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:20px;display:grid}.browse-day-strip button{background:var(--browse-surface);min-height:64px;color:var(--browse-muted);border:1px solid var(--browse-border);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px 6px;font-size:12px;display:flex}.browse-day-strip strong{color:var(--browse-text);font-size:14px;font-weight:600}.browse-day-strip button[aria-pressed=true]{background:var(--browse-tint);border-color:var(--browse-accent)}.browse-day-strip button[aria-pressed=true] strong{color:var(--browse-accent)}.browse-results-header{justify-content:space-between;align-items:center;gap:16px;min-height:40px;margin-bottom:12px;display:flex}.browse-results-header p{color:var(--browse-muted);margin:0;font-size:14px}.browse-reset{color:var(--browse-accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:8px 0;font-size:13px;font-weight:600;display:inline-flex}.browse-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.browse-tutor-card{background:var(--browse-surface);border:1px solid var(--browse-border);border-radius:8px;flex-direction:column;gap:16px;min-width:0;padding:24px;display:flex}.browse-tutor-card:hover{border-color:var(--browse-accent)}.browse-tutor-profile{align-items:center;gap:16px;display:flex}.browse-tutor-avatar-link{flex:0 0 80px}.browse-tutor-avatar{object-fit:cover;border-radius:8px;width:80px;height:80px;display:block}.browse-tutor-avatar--fallback{background:var(--browse-tint);color:var(--browse-accent);place-items:center;font-size:26px;font-weight:700;display:grid}.browse-tutor-info{min-width:0}.browse-tutor-info h2{letter-spacing:0;overflow-wrap:anywhere;margin:6px 0;font-size:18px;font-weight:700;line-height:1.4}.browse-tutor-info h2 a{color:var(--browse-text);text-decoration:none}.browse-tutor-info h2 a:hover{color:var(--browse-accent)}.browse-available{color:#198569;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}[data-theme=dark] .browse-available{color:#65d9ba}.browse-available>span{background:currentColor;border-radius:50%;width:6px;height:6px}.browse-tutor-rating{color:var(--browse-muted);flex-wrap:wrap;align-items:center;gap:5px;font-size:12px;display:flex}.browse-tutor-rating svg{color:#c99822}.browse-tutor-rating strong{color:var(--browse-text)}.browse-tutor-credentials{flex-wrap:wrap;gap:8px;display:flex}.browse-tutor-credentials>*{color:var(--browse-accent);align-items:center;gap:4px;font-size:12px;display:inline-flex}.browse-tutor-bio{color:var(--browse-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.7;display:-webkit-box;overflow:hidden}.browse-tutor-details{color:var(--browse-muted);flex-wrap:wrap;gap:8px 14px;font-size:12px;display:flex}.browse-tutor-details:empty{display:none}.browse-tutor-details>span{overflow-wrap:anywhere;align-items:center;gap:5px;display:inline-flex}.browse-tutor-details svg{flex-shrink:0}.browse-tutor-tags{flex-wrap:wrap;gap:6px;display:flex}.browse-tutor-tags>span{background:var(--browse-tint);color:var(--browse-accent);overflow-wrap:anywhere;border-radius:4px;padding:4px 8px;font-size:11px}.browse-tutor-actions{border-top:1px solid var(--browse-border);grid-template-columns:1fr 1.3fr;gap:8px;margin-top:auto;padding-top:16px;display:grid}.browse-tutor-actions .browse-button{white-space:nowrap;padding:10px 8px;font-size:13px}.browse-tutor-skeleton{background:var(--browse-surface);border:1px solid var(--browse-border);border-radius:8px;height:260px;padding:24px}.browse-tutor-skeleton span,.browse-tutor-skeleton div{background:var(--browse-border);border-radius:6px;animation:1.5s ease-in-out infinite browse-skeleton-pulse;display:block}.browse-tutor-skeleton span{width:80px;height:80px;margin-bottom:24px}.browse-tutor-skeleton div{height:16px;margin-bottom:12px}.browse-tutor-skeleton div:last-child{width:60%}.browse-error{border:1px solid #db7986;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:16px;display:flex}.browse-error p{color:var(--browse-text);margin:0;font-size:14px}.browse-empty{text-align:center;border-top:1px solid var(--browse-border);padding:64px 24px}.browse-empty>svg{color:var(--browse-muted);margin-bottom:16px}.browse-empty h2{color:var(--browse-text);margin:0 0 12px;font-size:22px}.browse-empty p{color:var(--browse-muted);margin:0 0 24px;font-size:15px}.browse-load-more{justify-content:center;padding-top:28px;display:flex}.browse-filter-dialog{background:var(--browse-surface);width:min(440px,100vw - 32px);max-height:calc(100dvh - 40px);color:var(--browse-text);border:1px solid var(--browse-border);border-radius:8px;margin:auto;padding:24px}.browse-filter-dialog::backdrop{background:#00000073}.browse-filter-dialog-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.browse-filter-dialog h2{color:var(--browse-text);margin:0;font-size:20px}.browse-filter-dialog>label{color:var(--browse-muted);margin:20px 0 10px;font-size:13px;font-weight:600;display:block}.browse-filter-dialog>select{width:100%}.browse-filter-dialog .browse-time-controls select{flex:1;width:0;padding:8px;font-size:13px}.browse-filter-dialog-footer{border-top:1px solid var(--browse-border);justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:24px;display:flex}.browse-page .public-browse-header-shell:before{display:none}.browse-page .public-browse-header-shell .public-browse-header-bar,.browse-page .public-browse-header-shell .public-browse-header-bar.sticky-menu{-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:#dfe5ed;box-shadow:none!important;background:#fff!important}.browse-page .brand-lockup--public-browse .brand-text,.browse-page .brand-lockup--public-browse .brand-x{color:#0245ae;text-shadow:none;letter-spacing:0}.browse-page .public-browse-navigation>li>a{letter-spacing:0;text-transform:none;font-family:inherit;font-weight:600;color:#394b5e!important}.browse-page .public-browse-navigation>li>a:hover{color:#0245ae!important}.browse-page .public-browse-header-shell .mobile-nav-toggler,.browse-page .public-browse-header-shell .mobile-nav-toggler i{color:#0245ae}@keyframes browse-skeleton-pulse{50%{opacity:.45}}@media (width<=1200px){.browse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.browse-search-toolbar{flex-wrap:wrap}.browse-search{flex-basis:50%}}@media (width<=768px){.browse-page--with-sidebar{margin-left:0}.browse-main{padding:112px 20px 40px}.browse-page-heading{flex-wrap:wrap;gap:12px}.browse-page-heading h1{font-size:26px}.browse-page-heading>img{flex-basis:48px;width:48px;height:48px}.browse-page-heading p{font-size:13px}.browse-page .browse-filter-button{display:inline-flex}.browse-toolbar-time{display:none}.browse-search{flex-basis:0}.browse-day-strip{padding-bottom:6px;display:flex;overflow-x:auto}.browse-day-strip button{flex:0 0 82px}.browse-grid{gap:16px}.browse-tutor-card{padding:20px}.browse-ticket-summary{gap:12px}.browse-ticket-summary>span{font-size:12px}.browse-ticket-summary img{width:26px;height:26px}}@media (width<=600px){.browse-main{padding-inline:16px}.browse-grid{grid-template-columns:minmax(0,1fr)}.browse-search-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.browse-search{grid-column:1/-1}.browse-page .browse-filter-button{grid-column:2;justify-self:end}.browse-search-toolbar:has(.browse-filter-button){margin-bottom:12px}.browse-tutor-actions{grid-template-columns:1fr 1.3fr}.browse-ticket-link{margin-left:0}.browse-page-heading{margin-bottom:20px}.browse-tutor-info h2{font-size:18px}.browse-ticket-summary>span{gap:5px}.browse-search input{font-size:14px}.browse-search{padding-left:10px}}@media (width>=601px) and (width<=991px){.browse-main{padding-top:144px}}@media (width<=991px){.browse-page--public .browse-main{padding-top:144px}}@media (prefers-reduced-motion:reduce){.browse-tutor-skeleton span,.browse-tutor-skeleton div{animation:none}}
