:root{--canvas: #f8f9fa;--surface-1: #ffffff;--surface-2: #f4f5f7;--surface-3: #eaecef;--surface-4: #e2e5e9;--hairline: #e5e7eb;--hairline-strong: #d1d5db;--hairline-tertiary: #f0f1f3;--primary: #5e6ad2;--primary-hover: #4f5ac4;--primary-focus: #5e69d1;--on-primary: #ffffff;--ink: #111827;--ink-muted: #4b5563;--ink-subtle: #6b7280;--ink-tertiary: #9ca3af;--semantic-success: #16a34a;--semantic-warning: #d97706;--semantic-danger: #dc2626;--font-display: Inter, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, sans-serif}body{background-color:var(--canvas)!important;color:var(--ink)!important;font-family:var(--font-display)!important;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--canvas)}::-webkit-scrollbar-thumb{background:var(--hairline-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--ink-tertiary)}.linear-display-md{font-size:26px;font-weight:700;line-height:1.2;letter-spacing:-.6px;color:var(--ink)}.linear-card-title{font-size:17px;font-weight:600;line-height:1.3;letter-spacing:-.3px;color:var(--ink)}.linear-subhead{font-size:14px;color:var(--ink-muted);line-height:1.5}.linear-caption{font-size:12px;color:var(--ink-subtle);line-height:1.4}.linear-card{background:var(--surface-1);border:1px solid var(--hairline);border-radius:12px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;transition:border-color .15s ease,box-shadow .15s ease}.linear-card:hover{border-color:var(--hairline-strong);box-shadow:0 4px 12px #0000000d}.linear-card-lifted{background:var(--surface-1);border:1px solid var(--hairline-strong);border-radius:12px;box-shadow:0 4px 14px #0000000f}.linear-card-hero{background:var(--surface-1);border:1px solid var(--hairline);border-top:3px solid var(--primary);border-radius:12px;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000000a,0 1px 3px #00000005}.linear-btn-primary{background:var(--primary);color:var(--on-primary);border:1px solid transparent;border-radius:8px;font-weight:500;font-size:14px;padding:8px 16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .15s ease;min-height:38px;user-select:none;box-shadow:0 1px 3px #5e6ad240}.linear-btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 2px 6px #5e6ad259}.linear-btn-primary:active:not(:disabled){background:var(--primary-focus)}.linear-btn-primary:disabled{opacity:.5;cursor:not-allowed}.linear-btn-secondary{background:var(--surface-1);color:var(--ink);border:1px solid var(--hairline);border-radius:8px;font-weight:500;font-size:14px;padding:8px 14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .15s ease;min-height:38px;user-select:none;box-shadow:0 1px 2px #00000005}.linear-btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--hairline-strong);color:var(--ink)}.linear-btn-secondary:active:not(:disabled){background:var(--surface-3)}.linear-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.linear-btn-ghost{background:transparent;color:var(--ink-muted);border:1px solid transparent;border-radius:8px;font-weight:500;font-size:13px;padding:6px 12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .15s ease;min-height:34px}.linear-btn-ghost:hover{background:var(--surface-2);color:var(--ink)}.linear-pill{border-radius:9999px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--hairline);background:var(--surface-2);color:var(--ink-muted)}.linear-pill-success{background:#16a34a14;border-color:#16a34a40;color:#15803d}.linear-pill-duty{background:#5e6ad214;border-color:#5e6ad240;color:#4f5ac4}.linear-pill-warning{background:#d9770614;border-color:#d9770640;color:#b45309}.linear-pulse-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.linear-pulse-dot.green{background-color:#16a34a;box-shadow:0 0 6px #16a34a80;animation:linear-pulse 2s infinite ease-in-out}.linear-pulse-dot.blue{background-color:#5e6ad2;box-shadow:0 0 6px #5e6ad280;animation:linear-pulse 2s infinite ease-in-out}.linear-pulse-dot.gray{background-color:#9ca3af}@keyframes linear-pulse{0%{transform:scale(.9);opacity:.6}50%{transform:scale(1.15);opacity:1}to{transform:scale(.9);opacity:.6}}.timeline-slot-card{background:var(--surface-1);border:1px solid var(--hairline);border-radius:12px;padding:16px 20px;margin-bottom:12px;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;position:relative;box-shadow:0 1px 2px #00000005}.timeline-slot-card:hover{border-color:var(--hairline-strong);background:#fbfbfc}.timeline-slot-card.duty{background:#f8f9ff;border-color:#c7cdfa;box-shadow:inset 0 0 0 1px #5e6ad233,0 2px 8px #5e6ad20f}.timeline-slot-card.duty:hover{border-color:var(--primary)}.timeline-slot-card.in-class{background:#fcfcfd;border-color:var(--hairline)}.timeline-slot-card.free{background:#fbfbfc;border-color:#edeef2}.linear-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--hairline);display:flex;align-items:center;justify-content:space-around;z-index:1000;padding-left:8px;padding-right:8px;box-shadow:0 -2px 12px #0000000a}.linear-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;height:48px;min-width:44px;color:var(--ink-subtle);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:color .15s ease,transform .1s ease;font-size:11px;font-weight:500;gap:2px;padding:0;-webkit-tap-highlight-color:transparent}.linear-nav-item:active{transform:scale(.92)}.linear-nav-item:hover{color:var(--ink-muted)}.linear-nav-item.active{color:var(--primary);font-weight:600}.user-shell-header{height:56px;background:var(--surface-1);border-bottom:1px solid var(--hairline);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:90;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.user-shell-header-title-desktop{display:flex;align-items:center;gap:10px}.user-shell-header-title-mobile{display:none;align-items:center;gap:8px}.btn-upload-label-desktop{display:inline}.dashboard-topbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:4px 0 16px;border-bottom:1px solid var(--hairline);margin-bottom:20px}.dashboard-monthly-hours-card{display:flex;align-items:center;gap:14px;padding:8px 18px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #00000005;cursor:pointer;min-width:250px;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s cubic-bezier(.4,0,.2,1)}.dashboard-monthly-hours-card:hover{border-color:#93c5fd;box-shadow:0 3px 12px #2563eb14;transform:translateY(-1px)}.dashboard-monthly-hours-pill{display:none}.hero-greeting-container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:0 4px;margin-bottom:16px;min-height:64px}.hero-greeting-left{display:flex;flex-direction:column;gap:4px}.hero-greeting-right{display:flex;align-items:center;flex-shrink:0}.hero-greeting-time-full{display:inline}.hero-greeting-time-compact{display:none}.hero-greeting-sun-slot{display:flex;align-items:center;justify-content:center;margin-right:12px}.hero-greeting-title{font-size:24px;font-weight:700;color:var(--ink);letter-spacing:-.5px;line-height:1.25}.hero-greeting-caption{margin-top:4px;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-subtle)}.hero-monthly-hours-card{display:flex;align-items:center;gap:14px;padding:10px 18px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #00000005;cursor:pointer;min-width:260px;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.hero-monthly-hours-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000a}.hero-focus-card-wrapper{position:relative;margin-bottom:16px;z-index:1}.hero-focus-card{padding:24px 30px;background:linear-gradient(135deg,#fff,#f8faff);border:1px solid rgba(94,106,210,.25);border-radius:12px;box-shadow:0 4px 20px #5e6ad214;margin-bottom:0;position:relative;z-index:2}.hero-card-embedded-sun{position:absolute;top:-78px;right:-86px;width:138px;height:138px;z-index:1;pointer-events:auto;filter:drop-shadow(0 4px 14px rgba(44,30,26,.12))}.hero-card-embedded-sun .celestial-switch-container,.hero-card-embedded-sun .celestial-body-wrapper,.hero-card-embedded-sun .animated-sun-wrapper,.hero-card-embedded-sun .animated-moon-wrapper{width:100%!important;height:100%!important}.hero-header-stats-text{padding-right:90px}.hero-stats-text-desktop{display:inline}.hero-stats-text-mobile{display:none}.hero-focus-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:10px}.hero-focus-card-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-top:4px}.hero-focus-main-info{flex:1 1 500px;display:flex;flex-direction:column;gap:12px;min-width:0}.hero-target-title-wrap{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.hero-target-title{font-size:24px;font-weight:800;color:#0f172a;letter-spacing:-.5px;display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;line-height:1.3}.hero-meta-badges{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hero-meta-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;font-size:13px;box-shadow:0 1px 2px #00000005}.hero-countdown-box{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:12px 22px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 2px 10px #00000008;min-width:260px;flex-shrink:0;position:relative}.hero-embedded-sun{position:absolute;top:-24px;right:-18px;z-index:2;pointer-events:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.08))}.hero-countdown-digits{font-size:34px;font-weight:800;letter-spacing:-1px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.1}.hero-quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-bottom:20px}.action-card-desktop-content{display:flex;align-items:center;justify-content:space-between;width:100%}.action-card-mobile-box{display:none}.hero-action-card{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;background:#fff;border-radius:10px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #00000005;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.hero-action-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.timeline-container-card{padding:24px 28px;margin-bottom:20px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #00000005}.timeline-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px}.timeline-weekday-selector{display:flex;align-items:center;gap:2px;background:#f1f5f9;padding:3px;border-radius:8px;border:1px solid #e2e8f0}.timeline-weekday-btn{border:none;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease;white-space:nowrap}.timeline-conflict-banner{border-radius:8px;padding:10px 16px;margin-bottom:16px;display:flex;align-items:center;gap:10px;font-size:13px}.timeline-slot-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;box-shadow:0 1px 2px #00000005;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s cubic-bezier(.16,1,.3,1)}.timeline-slot-left{min-width:160px;display:flex;align-items:center;gap:12px;flex-shrink:0}.timeline-slot-middle{flex:1;min-width:240px}.timeline-slot-right{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end}.timeline-slot-badge-mobile{display:none}.timeline-slot-badge-desktop{display:inline-flex}.schedule-view-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.schedule-view-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.schedule-view-title{margin:0;font-size:26px;font-weight:700;color:var(--ink);letter-spacing:-.6px;line-height:1.2}.schedule-view-caption{margin-top:4px;font-size:12px;color:var(--ink-subtle)}.schedule-view-export-btn{height:36px;padding:0 14px;font-size:13px;display:inline-flex;align-items:center;gap:6px}.schedule-view-heading{min-width:0}.schedule-view-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.schedule-export-label-full{display:inline}.schedule-export-label-compact{display:none}.schedule-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.schedule-overview-card{padding:18px 22px;background:#fff;border-radius:10px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #00000005;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.schedule-overview-card-header{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b;margin-bottom:8px}.schedule-overview-card-num{font-size:28px;font-weight:800;color:#0f172a;letter-spacing:-.5px}.schedule-detail-hero-card{padding:26px 30px;background:linear-gradient(135deg,#fff,#f8faff);border:1px solid rgba(94,106,210,.25);border-left:5px solid #1677ff;border-radius:12px;box-shadow:0 4px 20px #5e6ad214}.schedule-detail-top-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.schedule-detail-title{margin:0 0 14px;font-size:28px;font-weight:800;color:#0f172a;letter-spacing:-.6px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.schedule-detail-meta-group{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:14px}.schedule-detail-meta-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;font-size:13px;box-shadow:0 1px 2px #00000005}.schedule-detail-notice-box{background:#f8fafc;padding:14px 18px;border-radius:8px;border:1px solid #e2e8f0;font-size:14px;color:#475569;line-height:1.6}.schedule-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.schedule-shift-item{padding:16px 22px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;border-radius:10px;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s cubic-bezier(.16,1,.3,1)}.schedule-shift-date-block{padding:8px 16px;border-radius:8px;text-align:center;min-width:84px;flex-shrink:0}.schedule-shift-middle-info{flex:1;min-width:0}.schedule-shift-action{flex-shrink:0}.desktop-timetable-only{display:block}.mobile-timetable-only{display:none}.classes-view-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.classes-view-title-group{display:flex;flex-direction:column}.classes-view-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.classes-view-actions-top{display:flex;align-items:center;gap:8px;min-width:0}.classes-view-actions-bottom{display:flex;align-items:center;gap:8px}.classes-view-summary-banner{padding:12px 18px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;background:#fff;border-radius:8px}.mobile-timetable-grid-wrapper{width:100%;background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #00000005}.mobile-tt-header-row{display:flex;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:6px 0;align-items:center}.mobile-tt-month-cell{width:34px;min-width:34px;text-align:center;font-size:11px;font-weight:700;color:#64748b;border-right:1px solid #f1f5f9;display:flex;flex-direction:column;align-items:center;justify-content:center}.mobile-tt-day-header{flex:1;min-width:0;text-align:center;padding:3px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-radius:6px;margin:0 1px}.mobile-tt-day-name{font-size:11px;font-weight:600;color:#64748b}.mobile-tt-day-date{font-size:11px;color:#94a3b8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.mobile-tt-day-header.active-today{background:#eff6ff;border:1px solid #bfdbfe}.mobile-tt-day-header.active-today .mobile-tt-day-name,.mobile-tt-day-header.active-today .mobile-tt-day-date{color:#1677ff;font-weight:700}.mobile-tt-body{display:flex;flex-direction:column}.mobile-tt-slot-row{display:flex;min-height:98px;border-bottom:1px dashed #f1f5f9}.mobile-tt-slot-row:last-child{border-bottom:none}.mobile-tt-slot-time-cell{width:34px;min-width:34px;background:#fafbfc;border-right:1px solid #f1f5f9;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 1px;gap:3px;user-select:none}.mobile-tt-slot-num{font-size:13px;font-weight:800;color:#475569;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.mobile-tt-slot-time-text{font-size:8.5px;color:#94a3b8;line-height:1.1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;text-align:center}.mobile-tt-cell{flex:1;min-width:0;padding:2px 1px;border-right:1px solid #f8fafc;display:flex;flex-direction:column;gap:2px;position:relative}.mobile-tt-cell:last-child{border-right:none}.mobile-tt-cell.today-col-bg{background:#1677ff04}.mobile-tt-course-card{padding:4px 3px;border-radius:6px;display:flex;flex-direction:column;gap:1px;cursor:pointer;box-shadow:0 1px 2px #00000008;transition:transform .1s ease,box-shadow .1s ease;overflow:hidden;height:calc(100% - 2px);min-height:90px;box-sizing:border-box}.mobile-tt-course-card:active{transform:scale(.96);opacity:.9}.mobile-tt-course-title{font-size:10.5px;font-weight:700;line-height:1.22;word-break:break-all;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:-.2px}.mobile-tt-course-meta{font-size:9px;line-height:1.15;opacity:.88;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:1px}.mobile-tt-noncurrent-tag{font-size:8px;color:#94a3b8;font-weight:600;margin-bottom:1px}.mobile-tt-shift-card{padding:4px 3px;border-radius:6px;display:flex;flex-direction:column;gap:1px;cursor:pointer;box-shadow:0 1px 3px #0000000a;overflow:hidden;height:calc(100% - 2px);min-height:90px;box-sizing:border-box}.mobile-tt-shift-card:active{transform:scale(.96)}.market-view-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.market-view-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}.market-view-title{margin:0;font-size:24px;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:10px}.market-view-caption{margin-top:4px;font-size:13px;color:#64748b;display:flex;align-items:center;gap:8px}.market-view-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:20px}.market-column-card{padding:24px 26px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #00000005}.market-column-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.market-column-title{margin:0;display:flex;align-items:center;gap:8px;font-size:17px;font-weight:700;color:#0f172a}.market-column-subtext{font-size:12px;color:#64748b;margin-top:4px}.market-shift-item{padding:14px 18px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:16px;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.market-shift-top-row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.market-shift-bottom-row{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:12px;color:#64748b;border-top:1px dashed #f1f5f9;padding-top:6px;flex-wrap:wrap;gap:6px}.semester-view-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.semester-view-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}.semester-view-title{margin:0;font-size:24px;font-weight:700;color:#0f172a}.semester-view-caption{margin-top:4px;font-size:13px;color:#64748b;display:flex;align-items:center;gap:8px}.semester-delivery-card{padding:22px 26px;background:linear-gradient(135deg,#fff,#f8faff);border:1px solid rgba(94,106,210,.22);border-radius:12px;box-shadow:0 1px 3px #0000000a,0 4px 16px #5e6ad20f}.semester-weeks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.semester-week-card{border-radius:10px;padding:14px;text-align:left;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:6px;position:relative}.profile-view-container{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.profile-shortcuts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.profile-shortcut-card{padding:14px 16px;border-radius:10px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease;box-shadow:0 1px 2px #00000005}.profile-shortcut-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.profile-shortcut-card:active{transform:scale(.97)}.salary-view-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.salary-view-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.salary-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.salary-overview-card{padding:20px 24px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #00000005;display:flex;flex-direction:column;justify-content:space-between}.desktop-salary-table-only{display:block}.mobile-salary-list-only{display:none}.mobile-salary-ledger-item{padding:12px 14px;border-radius:10px;background:#fff;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:8px;box-shadow:0 1px 2px #00000005}.mobile-salary-ledger-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.mobile-salary-ledger-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;border-top:1px dashed #f1f5f9;padding-top:6px}.history-view-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.history-view-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.history-capsule-bar{padding:14px 20px;background:#fff;border-radius:10px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #00000005;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.history-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.history-metric-card{padding:20px 24px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #00000005;display:flex;flex-direction:column;justify-content:space-between}.history-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:20px}.history-chart-canvas{width:100%;min-width:0;overflow:hidden}.desktop-history-table-only{display:block}.mobile-history-list-only{display:none}.mobile-history-item{padding:12px 14px;border-radius:10px;background:#fff;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:8px;box-shadow:0 1px 2px #00000005}.mobile-history-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.mobile-history-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px dashed #f1f5f9;padding-top:6px}.ant-layout{background:var(--canvas)!important}.ant-layout-sider{background:var(--surface-1)!important;border-right:1px solid var(--hairline)!important}.ant-modal .ant-modal-content{background:var(--surface-1)!important;border:1px solid var(--hairline)!important;border-radius:12px!important;box-shadow:0 16px 40px #0000001f!important}.ant-drawer .ant-drawer-content{background:var(--surface-1)!important}.ant-tabs-nav:before{border-bottom:1px solid var(--hairline)!important}.ant-input-affix-wrapper{background:var(--surface-1)!important;border:1px solid var(--hairline)!important;color:var(--ink)!important}.ant-input-affix-wrapper .ant-input{border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important}.ant-input:not(.ant-input-affix-wrapper .ant-input){background:var(--surface-1)!important;border:1px solid var(--hairline)!important;color:var(--ink)!important}.ant-input:focus,.ant-input-affix-wrapper-focused{border-color:var(--primary)!important;box-shadow:0 0 0 2px #5e6ad226!important}.mobile-only-inline{display:none}.desktop-only-inline{display:inline}@media (min-width: 769px){.linear-bottom-nav{display:none!important}}@media (max-width: 768px){.mobile-only-inline{display:inline!important}.desktop-only-inline{display:none!important}.app-header{padding-top:max(38px,calc(env(safe-area-inset-top,0px) + 12px))!important;height:calc(54px + max(38px,calc(env(safe-area-inset-top,0px) + 12px)))!important;box-sizing:border-box!important}.linear-desktop-sider{display:none!important}.user-shell-header{height:48px!important;padding:0 12px!important}.user-shell-header-title-desktop{display:none!important}.user-shell-header-title-mobile{display:flex!important}.btn-upload-label-desktop{display:none!important}.linear-main-content{padding:12px 12px calc(76px + env(safe-area-inset-bottom,0px)) 12px!important}.linear-btn-primary,.linear-btn-secondary{min-height:38px}.dashboard-topbar{padding:2px 0 10px!important;margin-bottom:12px!important;gap:8px!important}.dashboard-monthly-hours-card{display:none!important}.dashboard-monthly-hours-pill{display:inline-flex!important;align-items:center;gap:5px;padding:4px 10px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;cursor:pointer;box-shadow:0 1px 2px #2563eb0f;flex-shrink:0}.dashboard-monthly-hours-pill:active{transform:scale(.96);background:#dbeafe}.hero-greeting-container{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;margin-bottom:10px!important;padding:2px 2px 0!important;min-height:auto!important}.hero-greeting-left{flex:1!important;min-width:0!important;display:flex!important;flex-direction:column!important;gap:2px!important}.hero-greeting-title{font-size:18px!important;font-weight:700!important;letter-spacing:-.3px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.hero-greeting-caption{font-size:11px!important;line-height:1.3!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:flex!important;align-items:center!important;gap:4px!important;margin-top:1px!important}.hero-greeting-time-full{display:none!important}.hero-greeting-time-compact{display:inline!important}.hero-greeting-right{flex-shrink:0!important}.dashboard-monthly-hours-pill{padding:3px 8px!important;font-size:11px!important;border-radius:16px!important}.hero-monthly-hours-card{display:none!important}.hero-focus-card-wrapper{margin-bottom:10px!important}.hero-card-embedded-sun{top:-50px!important;right:-17px!important;width:78px!important;height:78px!important;z-index:1!important}.hero-card-embedded-sun .celestial-switch-container,.hero-card-embedded-sun .celestial-body-wrapper,.hero-card-embedded-sun .animated-sun-wrapper,.hero-card-embedded-sun .animated-moon-wrapper{width:100%!important;height:100%!important}.hero-header-stats-text{padding-right:0!important;width:100%!important;line-height:1.4!important}.hero-stats-text-desktop{display:none!important}.hero-stats-text-mobile{display:inline!important}.hero-focus-card{padding:14px!important;margin-bottom:10px!important;border-radius:10px!important}.hero-focus-card-header{margin-bottom:10px!important;gap:6px!important}.hero-focus-card-content{flex-direction:column!important;align-items:stretch!important;gap:12px!important}.hero-focus-main-info{flex:1 1 auto!important;gap:10px!important}.hero-target-title{font-size:17px!important;gap:6px!important}.hero-meta-badges{display:flex!important;flex-wrap:wrap!important;gap:6px 8px!important;align-items:center!important}.hero-meta-badge{display:inline-flex!important;align-items:center!important;white-space:nowrap!important;padding:5px 10px!important;font-size:12px!important;border-radius:8px!important;flex:0 0 auto!important;gap:5px!important}.hero-meta-badge span,.hero-meta-badge strong{white-space:nowrap!important}.hero-meta-badge strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important}.hero-countdown-box{width:100%!important;min-width:0!important;padding:10px 14px!important;align-items:center!important;flex-direction:row!important;justify-content:space-between!important;border-radius:8px!important;background:#f8fafc!important;box-shadow:0 1px 3px #00000005!important}.hero-countdown-digits{font-size:20px!important}.hero-quick-actions-grid{grid-template-columns:repeat(3,1fr)!important;gap:8px!important;margin-bottom:10px!important}.action-card-desktop-content{display:none!important}.action-card-mobile-box{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:4px!important;width:100%!important}.hero-action-card{padding:10px 4px!important;border-radius:8px!important;border:1px solid #e2e8f0!important;border-top-width:3px!important;min-height:72px!important;display:flex!important;align-items:center!important;justify-content:center!important}.hero-action-card-blue{border-top-color:#1677ff!important;border-left:1px solid #e2e8f0!important}.hero-action-card-orange{border-top-color:#b45309!important;border-left:1px solid #e2e8f0!important}.hero-action-card-green{border-top-color:#16a34a!important;border-left:1px solid #e2e8f0!important}.hero-action-card:active{transform:scale(.96)!important}.timeline-container-card{padding:14px 12px!important;margin-bottom:12px!important;border-radius:10px!important}.timeline-header{flex-direction:column!important;align-items:stretch!important;gap:10px!important;margin-bottom:12px!important}.timeline-weekday-selector{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;justify-content:space-between!important;padding:2px!important;scrollbar-width:none!important}.timeline-weekday-selector::-webkit-scrollbar{display:none!important}.timeline-weekday-btn{padding:5px 6px!important;font-size:12px!important;flex:1 0 auto!important;text-align:center!important;min-width:38px!important}.timeline-conflict-banner{padding:8px 12px!important;font-size:12px!important;margin-bottom:10px!important}.timeline-slot-row{flex-direction:column!important;align-items:stretch!important;gap:8px!important;padding:10px 12px!important;border-radius:8px!important}.timeline-slot-left{min-width:0!important;width:100%!important;justify-content:space-between!important}.timeline-slot-middle{min-width:0!important;width:100%!important}.timeline-slot-right{display:none!important}.timeline-slot-badge-mobile{display:inline-flex!important}.timeline-slot-badge-desktop{display:none!important}.schedule-view-container{gap:12px!important}.schedule-view-header{margin-bottom:4px!important;gap:8px!important}.schedule-view-title{font-size:19px!important}.schedule-view-caption{font-size:11px!important;margin-top:2px!important}.schedule-view-export-btn{height:30px!important;padding:0 8px!important;font-size:11px!important;border-radius:6px!important}.schedule-overview-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.schedule-overview-card{padding:10px 12px!important;border-radius:8px!important}.schedule-overview-card-header{font-size:11px!important;margin-bottom:4px!important;gap:4px!important}.schedule-overview-card-num{font-size:20px!important}.schedule-detail-hero-card{padding:14px!important;border-radius:10px!important}.schedule-detail-top-row{margin-bottom:8px!important;font-size:11px!important}.schedule-detail-title{font-size:18px!important;gap:8px!important;margin-bottom:10px!important}.schedule-detail-meta-group{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;gap:6px!important;margin-bottom:10px!important}.schedule-detail-meta-badge{padding:5px 10px!important;font-size:12px!important;border-radius:6px!important}.schedule-detail-notice-box{padding:10px 12px!important;font-size:12px!important;line-height:1.5!important;border-radius:6px!important}.schedule-list-header{margin-bottom:8px!important;font-size:11px!important}.schedule-shift-item{padding:10px 12px!important;border-radius:8px!important;gap:10px!important}.schedule-shift-date-block{min-width:58px!important;padding:6px 8px!important;border-radius:6px!important}.schedule-shift-date-title{font-size:12px!important}.schedule-shift-date-time{font-size:10px!important}.schedule-shift-title-row{font-size:14px!important;gap:6px!important;margin-bottom:2px!important}.schedule-shift-details-text{font-size:11px!important;gap:6px!important}.classes-view-header,.desktop-timetable-only{display:none!important}.mobile-timetable-only{display:block!important}.classes-view-summary-banner{padding:8px 12px!important;gap:8px!important;font-size:12px!important}.market-view-container{gap:12px!important}.market-view-header{margin-bottom:4px!important;gap:8px!important}.market-view-title{font-size:19px!important;gap:6px!important}.market-view-caption{font-size:11px!important;margin-top:2px!important}.market-view-grid{grid-template-columns:1fr!important;gap:12px!important}.market-column-card{padding:14px 12px!important;border-radius:10px!important}.market-column-header{margin-bottom:12px!important}.market-column-title{font-size:15px!important}.market-column-subtext{font-size:11px!important;margin-top:2px!important}.market-shift-item{flex-direction:column!important;align-items:stretch!important;gap:8px!important;padding:12px!important;border-radius:8px!important}.market-shift-top-row{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;gap:8px!important}.market-shift-bottom-row{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;font-size:11px!important;color:#64748b!important;border-top:1px dashed #f1f5f9!important;padding-top:6px!important;flex-wrap:wrap!important;gap:4px!important}.semester-view-container{gap:12px!important}.semester-view-header{margin-bottom:4px!important;gap:8px!important}.semester-view-title{font-size:19px!important}.semester-view-caption{font-size:11px!important;margin-top:2px!important}.semester-delivery-card{padding:14px 12px!important;border-radius:10px!important}.semester-weeks-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.semester-week-card{padding:10px!important;border-radius:8px!important;gap:4px!important;min-height:70px!important}.semester-week-title{font-size:13px!important}.semester-week-status{font-size:11px!important}.semester-week-course-tag{font-size:10px!important}.profile-view-container{gap:12px!important}.profile-shortcuts-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.profile-shortcut-card{padding:12px 10px!important;border-radius:8px!important;gap:8px!important}.salary-view-container{gap:12px!important}.salary-view-header{margin-bottom:4px!important;gap:8px!important}.salary-overview-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.salary-overview-card{padding:12px!important;border-radius:10px!important;min-height:100px!important}.salary-overview-num{font-size:20px!important}.salary-overview-subtext{font-size:11px!important;margin-top:6px!important;padding-top:6px!important}.desktop-salary-table-only{display:none!important}.mobile-salary-list-only{display:flex!important;flex-direction:column!important;gap:8px!important}.salary-filter-bar{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;padding:2px!important;justify-content:flex-start!important}.salary-filter-bar::-webkit-scrollbar{display:none!important}.salary-filter-btn{white-space:nowrap!important;padding:4px 8px!important;font-size:11px!important;flex-shrink:0!important}.history-view-container{gap:12px!important}.history-view-header{margin-bottom:4px!important;gap:8px!important}.history-capsule-bar{padding:10px 12px!important;border-radius:8px!important;gap:8px!important}.history-capsule-scroll{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;padding:2px!important}.history-capsule-scroll::-webkit-scrollbar{display:none!important}.history-metrics-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.history-metric-card{padding:12px!important;border-radius:10px!important;min-height:100px!important}.history-metric-num{font-size:22px!important}.history-metric-subtext{font-size:11px!important;margin-top:6px!important;padding-top:6px!important}.history-charts-grid{grid-template-columns:1fr!important;gap:12px!important}.desktop-history-table-only{display:none!important}.mobile-history-list-only{display:flex!important;flex-direction:column!important;gap:8px!important}.ant-modal{max-width:calc(100vw - 20px)!important;margin:12px auto!important;top:12px!important}.ant-modal-content{padding:16px 14px!important;border-radius:12px!important}.ant-modal-header{margin-bottom:10px!important}.ant-tabs-nav-wrap{overflow-x:auto!important}.ant-tabs-nav-list{white-space:nowrap!important}.ant-tabs-tab{padding:6px 10px!important;font-size:13px!important}}[data-theme=dark],.theme-dark{--canvas: #0b0f19;--surface-1: #111827;--surface-2: #1f2937;--surface-3: #374151;--surface-4: #4b5563;--hairline: #1f2937;--hairline-strong: #374151;--hairline-tertiary: #1e293b;--ink: #f8fafc;--ink-muted: #cbd5e1;--ink-subtle: #94a3b8;--ink-tertiary: #64748b;background-color:#0b0f19!important;color:#f8fafc!important;color-scheme:dark}[data-theme=dark] .linear-app-container,.theme-dark .linear-app-container,[data-theme=dark] .linear-shell-content,.theme-dark .linear-shell-content{background-color:#0b0f19!important;color:#f8fafc!important}[data-theme=dark] .linear-desktop-sider,.theme-dark .linear-desktop-sider{background:#0f172a!important;border-right-color:#1e293b!important}[data-theme=dark] .linear-card,.theme-dark .linear-card{background:#111827!important;border-color:#1f2937!important;color:#f8fafc!important;box-shadow:0 4px 20px #0006!important}[data-theme=dark] .hero-focus-card,.theme-dark .hero-focus-card{background:linear-gradient(135deg,#111827,#1e1b4b)!important;border-color:#6366f159!important;box-shadow:0 4px 24px #00000080!important}[data-theme=dark] .hero-countdown-box,.theme-dark .hero-countdown-box{background:#1e293b!important;border-color:#334155!important}[data-theme=dark] .hero-countdown-digits,.theme-dark .hero-countdown-digits{color:#f8fafc!important}[data-theme=dark] .hero-meta-badge,.theme-dark .hero-meta-badge{background:#1e293b!important;border-color:#334155!important;color:#cbd5e1!important}[data-theme=dark] .hero-action-card,.theme-dark .hero-action-card{background:#1e293b!important;border-color:#334155!important}[data-theme=dark] .dashboard-monthly-hours-card,.theme-dark .dashboard-monthly-hours-card{background:#111827!important;border-color:#1f2937!important}[data-theme=dark] .dashboard-monthly-hours-pill,.theme-dark .dashboard-monthly-hours-pill{background:#1e293b!important;border-color:#334155!important}[data-theme=dark] .hero-greeting-title,.theme-dark .hero-greeting-title,[data-theme=dark] .hero-target-title,.theme-dark .hero-target-title{color:#f8fafc!important}[data-theme=dark] .linear-pill,.theme-dark .linear-pill{background:#1e293b!important;border-color:#334155!important;color:#cbd5e1!important}[data-theme=dark] .linear-mobile-nav-bar,.theme-dark .linear-mobile-nav-bar{background:#0f172aeb!important;border-top-color:#1e293b!important}[data-theme=dark] .timeline-container-card,.theme-dark .timeline-container-card{background:#111827!important;border-color:#1f2937!important}[data-theme=dark] .timeline-slot-row,.theme-dark .timeline-slot-row{background:#1f2937!important;border-color:#374151!important}[data-theme=dark] .timeline-slot-row:hover,.theme-dark .timeline-slot-row:hover{background:#283548!important;border-color:#4b5563!important}[data-theme=dark] .schedule-overview-card,.theme-dark .schedule-overview-card,[data-theme=dark] .schedule-detail-hero-card,.theme-dark .schedule-detail-hero-card,[data-theme=dark] .schedule-shift-item,.theme-dark .schedule-shift-item,[data-theme=dark] .market-column-card,.theme-dark .market-column-card,[data-theme=dark] .market-shift-item,.theme-dark .market-shift-item,[data-theme=dark] .semester-delivery-card,.theme-dark .semester-delivery-card,[data-theme=dark] .semester-week-card,.theme-dark .semester-week-card,[data-theme=dark] .salary-overview-card,.theme-dark .salary-overview-card,[data-theme=dark] .history-metric-card,.theme-dark .history-metric-card,[data-theme=dark] .profile-shortcut-card,.theme-dark .profile-shortcut-card{background:#111827!important;border-color:#1f2937!important;color:#f8fafc!important}[data-theme=dark] .schedule-overview-card-num,.theme-dark .schedule-overview-card-num,[data-theme=dark] .schedule-detail-title,.theme-dark .schedule-detail-title,[data-theme=dark] .schedule-detail-hero-title,.theme-dark .schedule-detail-hero-title,[data-theme=dark] .market-view-title,.theme-dark .market-view-title,[data-theme=dark] .market-column-title,.theme-dark .market-column-title,[data-theme=dark] .semester-view-title,.theme-dark .semester-view-title,[data-theme=dark] .semester-week-title,.theme-dark .semester-week-title,[data-theme=dark] .salary-overview-num,.theme-dark .salary-overview-num,[data-theme=dark] .history-metric-num,.theme-dark .history-metric-num,[data-theme=dark] .linear-display-md,.theme-dark .linear-display-md,[data-theme=dark] .linear-card-title,.theme-dark .linear-card-title{color:#f8fafc!important}[data-theme=dark] .linear-subhead,.theme-dark .linear-subhead{color:#cbd5e1!important}[data-theme=dark] .linear-caption,.theme-dark .linear-caption{color:#94a3b8!important}[data-theme=dark] .modern-timetable-card,.theme-dark .modern-timetable-card{background:#111827!important;border-color:#1f2937!important}[data-theme=dark] .university-timetable-container,.theme-dark .university-timetable-container{background:#111827!important;border-color:#1f2937!important;box-shadow:0 4px 20px #0006!important}[data-theme=dark] .university-timetable-table,.theme-dark .university-timetable-table{background:#111827!important}[data-theme=dark] .university-th,.theme-dark .university-th{background:#1e293b!important;color:#f8fafc!important;border-bottom:1px solid #334155!important;border-right:1px solid #334155!important}[data-theme=dark] .university-th.today-header,.theme-dark .university-th.today-header{background:#fa8c1629!important;color:#fb923c!important;border-bottom:2px solid #fa8c16!important}[data-theme=dark] .university-slot-label-col,.theme-dark .university-slot-label-col{background:#1e293b!important;border-bottom:1px solid #334155!important;border-right:1px solid #334155!important}[data-theme=dark] .university-slot-title,.theme-dark .university-slot-title{color:#f8fafc!important}[data-theme=dark] .university-slot-time,.theme-dark .university-slot-time{color:#94a3b8!important}[data-theme=dark] .university-slot-cell,.theme-dark .university-slot-cell{background:#111827!important;border-bottom:1px solid #1e293b!important;border-right:1px solid #1e293b!important}[data-theme=dark] .university-slot-cell:hover,.theme-dark .university-slot-cell:hover{background:#1a2234!important}[data-theme=dark] .university-slot-cell.today-col,.theme-dark .university-slot-cell.today-col{background:#fa8c160a!important}[data-theme=dark] .university-course-card,.theme-dark .university-course-card{box-shadow:0 4px 14px #00000059!important}[data-theme=dark] .university-course-name,.theme-dark .university-course-name{color:#f8fafc!important;font-weight:700!important}[data-theme=dark] .university-course-teacher,.theme-dark .university-course-teacher,[data-theme=dark] .university-course-location,.theme-dark .university-course-location{color:#cbd5e1!important}[data-theme=dark] .mobile-timetable-only,.theme-dark .mobile-timetable-only{background:#111827!important}[data-theme=dark] .mobile-tt-header-row,.theme-dark .mobile-tt-header-row{background:#1e293b!important;border-bottom:1px solid #334155!important}[data-theme=dark] .mobile-tt-month-cell,.theme-dark .mobile-tt-month-cell{color:#cbd5e1!important;border-right:1px solid #334155!important}[data-theme=dark] .mobile-tt-day-name,.theme-dark .mobile-tt-day-name{color:#cbd5e1!important}[data-theme=dark] .mobile-tt-day-date,.theme-dark .mobile-tt-day-date{color:#94a3b8!important}[data-theme=dark] .mobile-tt-day-header.active-today,.theme-dark .mobile-tt-day-header.active-today{background:#1677ff33!important;border:1px solid rgba(22,119,255,.45)!important}[data-theme=dark] .mobile-tt-day-header.active-today .mobile-tt-day-name,.theme-dark .mobile-tt-day-header.active-today .mobile-tt-day-name,[data-theme=dark] .mobile-tt-day-header.active-today .mobile-tt-day-date,.theme-dark .mobile-tt-day-header.active-today .mobile-tt-day-date{color:#60a5fa!important}[data-theme=dark] .mobile-tt-slot-row,.theme-dark .mobile-tt-slot-row{border-bottom-color:#1e293b!important}[data-theme=dark] .mobile-tt-slot-time-cell,.theme-dark .mobile-tt-slot-time-cell{background:#1a2234!important;border-right:1px solid #334155!important}[data-theme=dark] .mobile-tt-slot-num,.theme-dark .mobile-tt-slot-num{color:#f8fafc!important}[data-theme=dark] .mobile-tt-slot-time-text,.theme-dark .mobile-tt-slot-time-text{color:#94a3b8!important}[data-theme=dark] .mobile-tt-cell,.theme-dark .mobile-tt-cell{border-right-color:#1e293b!important}[data-theme=dark] .mobile-tt-cell.today-col-bg,.theme-dark .mobile-tt-cell.today-col-bg{background:#fa8c160a!important}[data-theme=dark] .mobile-tt-course-card,.theme-dark .mobile-tt-course-card{box-shadow:0 2px 8px #0006!important}[data-theme=dark] .schedule-detail-notice-box,.theme-dark .schedule-detail-notice-box{background:#1e293b!important;border-color:#334155!important;color:#cbd5e1!important}[data-theme=dark] .schedule-detail-notice-box strong,.theme-dark .schedule-detail-notice-box strong{color:#f8fafc!important}[data-theme=dark] .ant-select-selector,.theme-dark .ant-select-selector{background:#1f2937!important;border-color:#374151!important;color:#f8fafc!important}[data-theme=dark] .ant-select-arrow,.theme-dark .ant-select-arrow{color:#94a3b8!important}[data-theme=dark] .ant-select-dropdown,.theme-dark .ant-select-dropdown{background:#1f2937!important;border:1px solid #374151!important}[data-theme=dark] .ant-select-item,.theme-dark .ant-select-item{color:#cbd5e1!important}[data-theme=dark] .ant-select-item-option-selected,.theme-dark .ant-select-item-option-selected{background:#374151!important;color:#f8fafc!important}[data-theme=dark] .ant-select-item-option-active,.theme-dark .ant-select-item-option-active{background:#283548!important}[data-theme=dark] .ant-empty-description,.theme-dark .ant-empty-description{color:#94a3b8!important}[data-theme=dark] .ant-pagination-item,.theme-dark .ant-pagination-item{background:#1f2937!important;border-color:#374151!important}[data-theme=dark] .ant-pagination-item a,.theme-dark .ant-pagination-item a{color:#cbd5e1!important}[data-theme=dark] .ant-pagination-item-active,.theme-dark .ant-pagination-item-active{background:#1677ff!important;border-color:#1677ff!important}[data-theme=dark] .ant-pagination-item-active a,.theme-dark .ant-pagination-item-active a{color:#fff!important}[data-theme=dark] .ant-pagination-prev button,[data-theme=dark] .ant-pagination-next button,.theme-dark .ant-pagination-prev button,.theme-dark .ant-pagination-next button,[data-theme=dark] .ant-table-wrapper .ant-table-pagination.ant-pagination,.theme-dark .ant-table-wrapper .ant-table-pagination.ant-pagination{color:#cbd5e1!important}[data-theme=dark] .ant-popover-inner,.theme-dark .ant-popover-inner{background:#1f2937!important;color:#f8fafc!important}[data-theme=dark] .ant-table,.theme-dark .ant-table,[data-theme=dark] .ant-table-thead>tr>th,.theme-dark .ant-table-thead>tr>th{background:#1f2937!important;color:#f8fafc!important;border-color:#374151!important}[data-theme=dark] .ant-table-tbody>tr>td,.theme-dark .ant-table-tbody>tr>td{background:#111827!important;color:#cbd5e1!important;border-color:#1f2937!important}@keyframes linear-shimmer-sweep{0%{transform:translate(-140%) rotate(25deg)}to{transform:translate(320%) rotate(25deg)}}@keyframes linear-border-glow-pulse{0%,to{box-shadow:0 0 0 1px #5e6ad247,0 4px 20px #5e6ad214}50%{box-shadow:0 0 0 2px #5e6ad2a6,0 8px 30px #5e6ad238}}@keyframes linear-active-duty-glow{0%,to{box-shadow:0 0 0 1px #10b981,0 4px 16px #10b9812e}50%{box-shadow:0 0 0 2px #059669,0 8px 26px #10b98159}}@keyframes linear-urgent-glow{0%,to{box-shadow:0 0 0 1px #f59e0b4d,0 4px 14px #f59e0b14}50%{box-shadow:0 0 0 2px #f59e0bb3,0 6px 22px #f59e0b40}}@keyframes linear-radar-wave{0%{transform:scale(.9);opacity:.9}70%{transform:scale(2.4);opacity:0}to{transform:scale(2.8);opacity:0}}@keyframes linear-fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes linear-tab-fade-blur{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes linear-stripe-flow{0%{background-position:0 0}to{background-position:36px 0}}@keyframes linear-crown-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(2.5deg)}}@keyframes linear-gold-sheen{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes linear-shield-ping{0%{box-shadow:0 0 #5e6ad28c}70%{box-shadow:0 0 0 12px #5e6ad200}to{box-shadow:0 0 #5e6ad200}}@keyframes linear-float-empty{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes linear-icon-pop{0%{transform:scale(1)}35%{transform:scale(1.24)}70%{transform:scale(.94)}to{transform:scale(1)}}@keyframes linear-spin-once{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes linear-dash-march{0%{stroke-dashoffset:0}to{stroke-dashoffset:-32}}@keyframes linear-progress-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.linear-card-shimmer{position:relative;overflow:hidden}.linear-card-shimmer:after{content:"";position:absolute;top:-60%;left:-70%;width:45%;height:220%;background:linear-gradient(90deg,#fff0,#ffffff73,#fff0);transform:rotate(25deg);pointer-events:none;opacity:0;z-index:3}@media (hover: hover) and (pointer: fine){.linear-card-shimmer:hover:after{opacity:1;animation:linear-shimmer-sweep .85s cubic-bezier(.2,.9,.3,1)}}.linear-stagger-item{animation:linear-fade-in-up .38s cubic-bezier(.16,1,.3,1) both}.linear-stagger-item:nth-child(1){animation-delay:.03s}.linear-stagger-item:nth-child(2){animation-delay:.06s}.linear-stagger-item:nth-child(3){animation-delay:.09s}.linear-stagger-item:nth-child(4){animation-delay:.12s}.linear-stagger-item:nth-child(5){animation-delay:.15s}.linear-stagger-item:nth-child(6){animation-delay:.18s}.linear-stagger-item:nth-child(7){animation-delay:.21s}.linear-stagger-item:nth-child(8){animation-delay:.24s}.linear-stagger-item:nth-child(9){animation-delay:.27s}.linear-stagger-item:nth-child(10){animation-delay:.3s}.linear-stagger-item:nth-child(n+11){animation-delay:.33s}.linear-tab-fade-enter{animation:linear-tab-fade-blur .28s cubic-bezier(.16,1,.3,1) both}.linear-radar-beacon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:8px;height:8px;border-radius:50%;flex-shrink:0}.linear-radar-beacon:before{content:"";position:absolute;inset:0;border-radius:50%;background-color:currentColor;animation:linear-radar-wave 2s cubic-bezier(.2,.8,.4,1) infinite}.linear-radar-beacon:after{content:"";position:relative;width:6px;height:6px;border-radius:50%;background-color:currentColor;z-index:1}.linear-radar-beacon.green{color:#10b981}.linear-radar-beacon.blue{color:#5e6ad2}.linear-radar-beacon.amber{color:#f59e0b}.spin-icon-animated{animation:linear-spin-once .6s cubic-bezier(.4,0,.2,1)}.linear-desktop-sider{transition:width .24s cubic-bezier(.16,1,.3,1),padding .24s ease,background .3s ease,border-color .3s ease!important}.linear-desktop-sider.collapsed{width:68px!important;padding:18px 10px!important}.linear-desktop-sider.collapsed nav{align-items:center}.linear-desktop-sider.collapsed nav button{justify-content:center!important;padding:0!important;width:44px!important;height:44px!important;border-left:none!important;border-radius:10px!important}@media (hover: hover) and (pointer: fine){.linear-desktop-sider.collapsed nav button:hover{transform:scale(1.08)!important}}.linear-desktop-sider:not(.collapsed) nav button{position:relative;overflow:hidden;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s cubic-bezier(.16,1,.3,1),opacity .2s ease!important}@media (hover: hover) and (pointer: fine){.linear-desktop-sider:not(.collapsed) nav button:hover{background:var(--surface-2)!important;transform:translate(3px)}.linear-desktop-sider:not(.collapsed) nav button:hover svg{transform:scale(1.1);transition:transform .2s ease}}.linear-desktop-sider nav button:active{transform:scale(.98)}.linear-bottom-nav{background:#ffffffeb!important;backdrop-filter:blur(20px) saturate(180%)!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;border-top:1px solid rgba(229,231,235,.85)!important;box-shadow:0 -4px 20px #0000000d!important;transition:background .3s ease,border-color .3s ease}.linear-nav-item{position:relative;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s cubic-bezier(.16,1,.3,1),opacity .2s ease!important;border-radius:10px!important}.linear-nav-item.active{color:var(--primary)!important}.linear-nav-item.active:before{content:"";position:absolute;top:4px;width:20px;height:3px;border-radius:3px;background:var(--primary);box-shadow:0 2px 6px #5e6ad266;animation:linear-fade-in-up .25s ease-out}.linear-nav-item.active svg{animation:linear-icon-pop .35s cubic-bezier(.175,.885,.32,1.275)}.linear-nav-item:active{transform:scale(.92)!important}.hero-focus-card{transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1)!important;box-shadow:0 4px 20px #5e6ad214!important}@media (hover: hover) and (pointer: fine){.hero-focus-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #5e6ad224!important}}.hero-countdown-digits{transition:color .3s ease,text-shadow .3s ease;letter-spacing:-.5px}.hero-action-card{position:relative;overflow:hidden;transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s cubic-bezier(.16,1,.3,1),opacity .22s ease!important}.hero-action-card:after{content:"";position:absolute;top:-60%;left:-70%;width:45%;height:220%;background:linear-gradient(90deg,#fff0,#ffffff80,#fff0);transform:rotate(25deg);pointer-events:none;opacity:0}@media (hover: hover) and (pointer: fine){.hero-action-card:hover{transform:translateY(-3px)!important;box-shadow:0 8px 22px #00000014!important}.hero-action-card:hover:after{opacity:1;animation:linear-shimmer-sweep .75s cubic-bezier(.2,.9,.3,1)}.hero-action-card:hover .action-card-title svg{transform:translate(4px);transition:transform .2s ease}}.hero-action-card:active{transform:scale(.97)!important}.timeline-slot-card{transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,border-color .2s ease!important}@media (hover: hover) and (pointer: fine){.timeline-slot-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000000f!important;border-color:#5e6ad259!important}}.timeline-slot-card.duty.ongoing,.timeline-slot-card.active-duty{animation:linear-active-duty-glow 3s ease-in-out infinite;background:linear-gradient(135deg,#f0fdf4,#fff)!important}.schedule-overview-card{position:relative;overflow:hidden;transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s cubic-bezier(.16,1,.3,1),opacity .22s ease!important}.schedule-overview-card:after{content:"";position:absolute;top:-60%;left:-70%;width:45%;height:220%;background:linear-gradient(90deg,#fff0,#fff6,#fff0);transform:rotate(25deg);pointer-events:none;opacity:0}@media (hover: hover) and (pointer: fine){.schedule-overview-card:hover{transform:translateY(-3px)!important;box-shadow:0 8px 24px #00000012!important}.schedule-overview-card:hover:after{opacity:1;animation:linear-shimmer-sweep .8s cubic-bezier(.2,.9,.3,1)}.schedule-overview-card:hover .schedule-overview-card-header div{transform:scale(1.12);transition:transform .2s ease}}.schedule-overview-card:active{transform:scale(.98)!important}.schedule-shift-item{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s cubic-bezier(.16,1,.3,1),opacity .2s ease!important;animation:linear-fade-in-up .35s cubic-bezier(.16,1,.3,1) both}@media (hover: hover) and (pointer: fine){.schedule-shift-item:hover{transform:translate(4px);box-shadow:0 6px 20px #0000000f!important}}.schedule-shift-item:active{transform:scale(.98)!important}.university-timetable-table td{transition:background .2s ease,transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s ease}@media (hover: hover) and (pointer: fine){.university-timetable-table td:has(.university-course-name):hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000014;z-index:4;position:relative}}.university-timetable-cell.busy,.timetable-cell-conflict,.university-timetable-table td.busy-slot{background-image:repeating-linear-gradient(45deg,#dc26260f,#dc26260f 10px,#dc262624 10px 20px)!important;background-size:36px 36px!important;animation:linear-stripe-flow 12s linear infinite!important}.mobile-tt-slot-row{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.mobile-tt-slot-row:active{transform:scale(.98)}.market-shift-item{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s cubic-bezier(.16,1,.3,1),opacity .2s ease!important}.market-shift-item:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98126!important}.market-shift-item:active{transform:scale(.98)}.market-shift-action button{position:relative;overflow:hidden;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease,opacity .2s ease!important}.market-shift-action button:after{content:"";position:absolute;top:-50%;left:-60%;width:35%;height:200%;background:#fff6;transform:rotate(25deg);opacity:0}@media (hover: hover) and (pointer: fine){.market-shift-action button:hover:after{opacity:1;animation:linear-shimmer-sweep .7s cubic-bezier(.2,.9,.3,1)}}.market-shift-action button:active{transform:scale(.95)}.market-column-card div:has(>div:contains("🏖️")),.linear-float-anim{animation:linear-float-empty 3.5s ease-in-out infinite}.semester-week-card{transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s cubic-bezier(.16,1,.3,1),opacity .22s ease!important;animation:linear-fade-in-up .4s cubic-bezier(.16,1,.3,1) both}@media (hover: hover) and (pointer: fine){.semester-week-card:hover{transform:translateY(-3px)!important;box-shadow:0 8px 24px #00000014!important;border-color:#5e6ad266!important}}.semester-week-card:active{transform:scale(.96)!important}.salary-overview-card{position:relative;overflow:hidden;transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s cubic-bezier(.16,1,.3,1),opacity .22s ease!important}.salary-overview-card:after{content:"";position:absolute;top:-60%;left:-70%;width:45%;height:220%;background:linear-gradient(90deg,#fff0,#fff6,#fff0);transform:rotate(25deg);pointer-events:none;opacity:0}@media (hover: hover) and (pointer: fine){.salary-overview-card:hover{transform:translateY(-3px)!important;box-shadow:0 10px 26px #00000014!important}.salary-overview-card:hover:after{opacity:1;animation:linear-shimmer-sweep .85s cubic-bezier(.2,.9,.3,1)}.salary-overview-card:hover svg{transform:scale(1.12);transition:transform .2s ease}}.salary-overview-card:active{transform:scale(.98)!important}.mobile-salary-ledger-item{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease,opacity .2s ease!important}.mobile-salary-ledger-item:active{transform:scale(.98);background:#f8fafc!important}.history-capsule-bar button{transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s cubic-bezier(.16,1,.3,1),opacity .2s ease!important}.history-capsule-bar button:active{transform:scale(.96)}.history-metric-card{position:relative;overflow:hidden;transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s cubic-bezier(.16,1,.3,1),opacity .22s ease!important}.history-metric-card:after{content:"";position:absolute;top:-60%;left:-70%;width:45%;height:220%;background:linear-gradient(90deg,#fff0,#fff6,#fff0);transform:rotate(25deg);pointer-events:none;opacity:0}@media (hover: hover) and (pointer: fine){.history-metric-card:hover{transform:translateY(-3px)!important;box-shadow:0 10px 26px #00000014!important}.history-metric-card:hover:after{opacity:1;animation:linear-shimmer-sweep .85s cubic-bezier(.2,.9,.3,1)}}.history-metric-card:active{transform:scale(.98)!important}.mobile-history-item{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease,opacity .2s ease!important}.mobile-history-item:active{transform:scale(.98)}.leaderboard-crown-float,.rank-winner-card svg,.rank-winner-badge{display:inline-block;animation:linear-crown-float 3.2s ease-in-out infinite}.gold-medal-glow{animation:linear-gold-sheen 2.5s ease-in-out infinite}.profile-avatar-wrapper{position:relative;transition:transform .25s var(--apple-spring-snappy),box-shadow .25s ease,opacity .25s ease}.profile-avatar-wrapper:hover{transform:scale(1.05);box-shadow:0 0 0 4px #5e6ad240}.profile-shield-scan{animation:linear-shield-ping 2.8s cubic-bezier(.2,.8,.4,1) infinite;border-radius:50%}.profile-shortcut-card{position:relative;overflow:hidden;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s cubic-bezier(.16,1,.3,1),opacity .2s ease!important}.profile-shortcut-card:after{content:"";position:absolute;top:-60%;left:-70%;width:45%;height:220%;background:linear-gradient(90deg,#fff0,#ffffff73,#fff0);transform:rotate(25deg);pointer-events:none;opacity:0}@media (hover: hover) and (pointer: fine){.profile-shortcut-card:hover{transform:translateY(-2px)!important;box-shadow:0 6px 18px #0000000f!important}.profile-shortcut-card:hover:after{opacity:1;animation:linear-shimmer-sweep .75s cubic-bezier(.2,.9,.3,1)}.profile-shortcut-card:hover svg{transform:scale(1.12);transition:transform .2s ease}}.profile-shortcut-card:active{transform:scale(.96)!important}.ant-modal .ant-modal-content{animation:linear-tab-fade-blur .25s cubic-bezier(.16,1,.3,1) both}.ant-upload.ant-upload-drag{transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease,opacity .25s ease!important}.ant-upload.ant-upload-drag:hover{border-color:var(--primary)!important;box-shadow:0 0 0 2px #5e6ad226!important}[data-theme=dark] .linear-card-shimmer:after,.theme-dark .linear-card-shimmer:after,[data-theme=dark] .hero-action-card:after,.theme-dark .hero-action-card:after,[data-theme=dark] .schedule-overview-card:after,.theme-dark .schedule-overview-card:after,[data-theme=dark] .salary-overview-card:after,.theme-dark .salary-overview-card:after,[data-theme=dark] .history-metric-card:after,.theme-dark .history-metric-card:after,[data-theme=dark] .profile-shortcut-card:after,.theme-dark .profile-shortcut-card:after{background:linear-gradient(90deg,#fff0,#ffffff1f,#fff0)!important}[data-theme=dark] .hero-focus-card,.theme-dark .hero-focus-card{box-shadow:0 4px 20px #00000059!important}[data-theme=dark] .linear-bottom-nav,.theme-dark .linear-bottom-nav{background:#111827eb!important;border-top-color:#1f2937e6!important;box-shadow:0 -4px 20px #0000004d!important}[data-theme=dark] .university-timetable-cell.busy,.theme-dark .university-timetable-cell.busy,[data-theme=dark] .university-timetable-table td.busy-slot,.theme-dark .university-timetable-table td.busy-slot{background-image:repeating-linear-gradient(45deg,#ef44441f,#ef44441f 10px,#ef444438 10px 20px)!important}@keyframes doodleFlamesRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes doodleFaceGentleFloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.015)}}@keyframes doodleEyeBlink{0%,93%,to{transform:scaleY(1)}96.5%{transform:scaleY(.12)}}@keyframes moonGentleFloat{0%,to{transform:translateY(0) rotate(0) scale(1)}50%{transform:translateY(-3.5px) rotate(2.5deg) scale(1.02)}}@keyframes moonEyeBlink{0%,93%,to{transform:scaleY(1)}96.5%{transform:scaleY(.12)}}.sun-doodle-flames-rotator{transform-box:fill-box!important;transform-origin:50% 50%!important;animation-name:doodleFlamesRotate!important;animation-duration:14s!important;animation-timing-function:linear!important;animation-iteration-count:infinite!important;animation-play-state:running!important;will-change:transform!important}.sun-doodle-face-group{transform-box:fill-box!important;transform-origin:50% 50%!important;animation-name:doodleFaceGentleFloat!important;animation-duration:3.6s!important;animation-timing-function:ease-in-out!important;animation-iteration-count:infinite!important;animation-play-state:running!important;will-change:transform!important}.sun-doodle-eye{transform-box:fill-box!important;transform-origin:50% 50%!important;animation-name:doodleEyeBlink!important;animation-duration:4.2s!important;animation-timing-function:ease-in-out!important;animation-iteration-count:infinite!important;animation-play-state:running!important}.moon-doodle-container{transform-box:fill-box!important;transform-origin:50% 50%!important;animation-name:moonGentleFloat!important;animation-duration:4.2s!important;animation-timing-function:ease-in-out!important;animation-iteration-count:infinite!important;animation-play-state:running!important;will-change:transform!important}.moon-doodle-eye{transform-box:fill-box!important;transform-origin:50% 50%!important;animation-name:moonEyeBlink!important;animation-duration:4.5s!important;animation-timing-function:ease-in-out!important;animation-iteration-count:infinite!important;animation-play-state:running!important}.classes-list-view-container{border-radius:12px;transition:background-color .2s ease}.classes-list-item-card{transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s ease,border-color .18s ease,background-color .18s ease}@media (hover: hover) and (pointer: fine){.classes-list-item-card:hover{transform:translate(4px);box-shadow:0 4px 14px #0000000d}}@media (max-width: 768px){.linear-main-content>*{min-width:0}.classes-view-mode-switch button,.classes-view-actions-bottom .classes-action-btn,.schedule-view-export-btn,.history-capsule-bar button,.salary-filter-btn,.market-shift-action button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.schedule-view-header{flex-wrap:nowrap!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important}.schedule-view-heading{flex:1 1 auto!important;min-width:0!important}.schedule-view-header-actions{flex:0 0 auto!important;align-self:flex-start!important}.schedule-view-export-btn{height:32px!important;min-height:32px!important;padding:0 10px!important;font-size:11.5px!important;font-weight:600!important;border-radius:10px!important;white-space:nowrap!important;flex-shrink:0!important;box-shadow:none!important}.schedule-view-export-btn:active{transform:scale(.97)!important}.schedule-export-label-full{display:none!important}.schedule-export-label-compact{display:inline!important}.classes-view-header{flex-direction:column!important;align-items:stretch!important;gap:10px!important}.classes-view-actions{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;width:100%!important;gap:10px!important}.classes-view-actions-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;width:100%!important}.classes-view-actions-top .classes-week-select{flex:0 0 auto!important;width:104px!important}.classes-view-actions-top .classes-week-select .ant-select-selector{height:36px!important;border-radius:10px!important;align-items:center!important}.classes-view-mode-switch{flex:0 0 auto!important;margin-left:auto!important;border-radius:10px!important}.classes-view-mode-switch button{min-height:30px!important;padding:0 9px!important;font-size:11.5px!important;border-radius:8px!important;white-space:nowrap!important}.classes-view-actions-bottom{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(0,1fr))!important;gap:8px!important;width:100%!important}.classes-view-actions-bottom .classes-action-btn{width:100%!important;min-height:42px!important;padding:0 8px!important;font-size:12.5px!important;font-weight:600!important;border-radius:11px!important;gap:5px!important;white-space:nowrap!important}.classes-view-actions-bottom .classes-action-btn:active{transform:scale(.97)!important}.classes-view-summary-banner{flex-direction:column!important;align-items:stretch!important;gap:8px!important;padding:10px 12px!important}.classes-view-summary-banner>div:first-child{min-width:0!important}.classes-view-summary-banner>div:last-child{justify-content:space-between!important;flex-wrap:wrap!important;gap:6px!important}.history-metric-card{min-width:0!important}.history-metric-card>div:first-child{min-width:0!important}.history-metric-card>div:first-child>div:first-child{flex-wrap:wrap!important;gap:4px!important}.history-metric-card>div:first-child>div:first-child>span:first-child{min-width:0!important}.history-metric-card>div:first-child>div:first-child>span:first-child>span{font-size:11px!important;letter-spacing:-.2px!important}.history-charts-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}.history-charts-grid>.linear-card{padding:14px 12px!important;border-radius:12px!important;min-width:0!important}.history-charts-grid>.linear-card>div:first-child{flex-wrap:wrap!important;gap:4px!important}.history-chart-canvas{width:100%!important;min-width:0!important;overflow:hidden!important}.user-shell-header-actions{gap:4px!important}.user-shell-header-actions .ant-btn{height:30px!important;min-height:30px!important;padding:0 9px!important;font-size:12px!important;border-radius:9px!important;gap:4px!important;white-space:nowrap!important}.user-shell-header-actions .ant-btn .anticon{font-size:12px!important}.classes-list-view-container{padding:10px 4px!important;gap:12px!important;background:transparent!important}.classes-list-day-section{gap:6px!important}.classes-list-day-header{padding:0 4px 2px!important}.classes-list-day-header>div:first-child>span:first-child{font-size:13.5px!important;font-weight:700!important}.classes-list-day-header>span:last-child{font-size:11px!important;color:var(--ink-subtle)!important}.classes-list-item-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"time  badge" "title title"!important;gap:6px 10px!important;padding:10px 12px!important;border-radius:12px!important;box-shadow:0 1px 3px #00000005!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.classes-list-item-card:active{transform:scale(.98)!important}.classes-list-card-time{grid-area:time!important;min-width:0!important;width:auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important}.classes-list-card-time>span:first-child{font-size:12.5px!important;font-weight:700!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;letter-spacing:-.2px!important}.classes-list-card-time>span:last-child{font-size:10px!important;padding:1px 6px!important;border-radius:4px!important;font-weight:600!important}.classes-list-card-badge{grid-area:badge!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:4px!important;flex-shrink:0!important}.classes-list-card-badge>span{padding:2px 7px!important;font-size:10.5px!important;border-radius:6px!important;white-space:nowrap!important;font-weight:600!important}.classes-list-card-badge>svg{width:14px!important;height:14px!important}.classes-list-card-content{grid-area:title!important;width:100%!important;min-width:0!important;display:flex!important;flex-direction:column!important;gap:4px!important}.classes-list-card-title{font-size:14.5px!important;font-weight:700!important;line-height:1.35!important;margin-bottom:2px!important;display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;word-break:break-word!important}.classes-list-card-title>span:first-child{color:var(--ink)!important}.classes-list-card-meta{display:flex!important;align-items:center!important;gap:10px!important;font-size:11.5px!important;color:var(--ink-subtle)!important;flex-wrap:wrap!important;line-height:1.3!important}}@media (max-width: 380px){.classes-view-mode-switch button{padding:0 7px!important;font-size:11px!important}.classes-view-actions-top .classes-week-select{width:96px!important}.classes-list-item-card{padding:8px 10px!important;gap:4px 6px!important}.classes-list-card-title{font-size:13.5px!important}.classes-list-card-meta{gap:6px!important;font-size:11px!important}}:root{--apple-spring-settle: cubic-bezier(.32, .72, 0, 1);--apple-spring-bouncy: cubic-bezier(.34, 1.56, .64, 1);--apple-spring-snappy: cubic-bezier(.16, 1, .3, 1);--apple-ease-out: cubic-bezier(.23, 1, .32, 1);--apple-glass-bg: rgba(255, 255, 255, .82);--apple-glass-border: rgba(255, 255, 255, .85);--apple-glass-shadow: 0 16px 40px rgba(0, 0, 0, .06), 0 1px 3px rgba(0, 0, 0, .04);--apple-glass-inner: inset 0 1px 1px 0 rgba(255, 255, 255, .9), inset 0 -1px 1px 0 rgba(0, 0, 0, .02);--apple-accent-blue: #0071e3;--apple-accent-purple: #af52de;--apple-accent-cyan: #30b0c7;--apple-accent-green: #34c759}[data-theme=dark],.theme-dark{--apple-glass-bg: rgba(17, 24, 39, .82);--apple-glass-border: rgba(255, 255, 255, .08);--apple-glass-shadow: 0 16px 40px rgba(0, 0, 0, .35), 0 1px 3px rgba(0, 0, 0, .2);--apple-glass-inner: inset 0 1px 1px 0 rgba(255, 255, 255, .12), inset 0 -1px 1px 0 rgba(0, 0, 0, .4)}.apple-splash-overlay{position:fixed;inset:0;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--apple-glass-bg);backdrop-filter:blur(28px) saturate(190%);-webkit-backdrop-filter:blur(28px) saturate(190%);opacity:1;transform:scale(1);transition:opacity .65s var(--apple-spring-settle),transform .65s var(--apple-spring-settle),filter .65s ease;pointer-events:auto;user-select:none;-webkit-user-select:none}.apple-splash-overlay.exiting{opacity:0;transform:scale(1.05) translateY(-8px);filter:blur(6px);pointer-events:none}.apple-splash-container{display:flex;flex-direction:column;align-items:center;text-align:center;padding:36px 32px;max-width:440px;width:90%;position:relative}.apple-splash-orb{width:76px;height:76px;border-radius:22px;background:linear-gradient(135deg,#0071e3,#7928ca,#af52de);display:grid;place-items:center;color:#fff;font-size:26px;font-weight:800;letter-spacing:-.04em;box-shadow:0 16px 36px #0071e359,inset 0 1px 1px #ffffffd9,inset 0 -1px 2px #0003;animation:appleLogoBreathe 1.2s var(--apple-spring-bouncy) forwards;position:relative;overflow:hidden;will-change:transform,opacity}.apple-splash-orb:before{content:"";position:absolute;top:-60%;left:-60%;width:220%;height:220%;background:linear-gradient(45deg,transparent 35%,rgba(255,255,255,.5) 50%,transparent 65%);transform:translate(-100%);animation:appleOrbSpecular 2.6s .6s infinite ease-in-out;pointer-events:none}@keyframes appleLogoBreathe{0%{transform:scale(.6) rotate(-8deg);opacity:0}70%{transform:scale(1.08) rotate(0);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes appleOrbSpecular{0%{transform:translate(-100%) rotate(45deg)}50%,to{transform:translate(100%) rotate(45deg)}}.apple-splash-title{margin-top:20px;font-size:21px;font-weight:700;letter-spacing:-.03em;color:var(--ink, #1d1d1f);opacity:0;transform:translateY(10px);animation:appleTextGlideIn .75s .22s var(--apple-spring-settle) forwards}.apple-splash-subtitle{margin-top:6px;font-size:13px;color:var(--ink-subtle, #86868b);opacity:0;transform:translateY(8px);animation:appleTextGlideIn .75s .34s var(--apple-spring-settle) forwards;letter-spacing:-.01em}@keyframes appleTextGlideIn{to{opacity:1;transform:translateY(0)}}.apple-splash-track{width:180px;height:4px;border-radius:9999px;background:#00000014;margin-top:24px;overflow:hidden;position:relative;opacity:0;animation:appleTextGlideIn .6s .4s var(--apple-spring-settle) forwards}[data-theme=dark] .apple-splash-track,.theme-dark .apple-splash-track{background:#ffffff1f}.apple-splash-progress{height:100%;border-radius:9999px;background:linear-gradient(90deg,#0071e3,#af52de);width:0%;transition:width .3s ease;position:relative}.apple-splash-progress:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);animation:appleProgressFlow 1.2s infinite ease-in-out}@keyframes appleProgressFlow{0%{transform:translate(-100%)}to{transform:translate(100%)}}.apple-splash-status{margin-top:10px;font-size:12px;font-weight:500;color:var(--ink-tertiary, #9ca3af);letter-spacing:.01em;min-height:18px;opacity:0;animation:appleTextGlideIn .6s .46s var(--apple-spring-settle) forwards;display:flex;align-items:center;gap:6px}.apple-splash-live-dot{width:6px;height:6px;border-radius:50%;background:var(--apple-accent-green);box-shadow:0 0 6px var(--apple-accent-green);animation:appleDotPulse 1.6s infinite ease-in-out}@keyframes appleDotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.apple-splash-skip{margin-top:24px;font-size:11px;color:var(--ink-tertiary, #9ca3af);background:#0000000a;border:1px solid rgba(0,0,0,.06);padding:4px 10px;border-radius:9999px;cursor:pointer;opacity:0;animation:appleTextGlideIn .5s .6s var(--apple-spring-settle) forwards;transition:transform .12s ease,background .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.apple-splash-skip:active{transform:scale(.95)}[data-theme=dark] .apple-splash-skip,.theme-dark .apple-splash-skip{background:#ffffff0f;border-color:#ffffff1a}.apple-shimmer-box{position:relative;overflow:hidden;background:var(--surface-2, #f4f5f7);border-radius:12px}[data-theme=dark] .apple-shimmer-box,.theme-dark .apple-shimmer-box{background:var(--surface-2, #1f2937)}.apple-shimmer-box:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.65) 50%,transparent 80%);transform:translate(-100%);animation:appleLiquidShimmer 1.8s infinite cubic-bezier(.4,0,.2,1);pointer-events:none}[data-theme=dark] .apple-shimmer-box:after,.theme-dark .apple-shimmer-box:after{background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.08) 50%,transparent 80%)}@keyframes appleLiquidShimmer{to{transform:translate(100%)}}.apple-skeleton-card{background:var(--surface-1, #ffffff);border:1px solid var(--hairline, #e5e7eb);border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 2px 8px #00000005}[data-theme=dark] .apple-skeleton-card,.theme-dark .apple-skeleton-card{background:var(--surface-1, #111827);border-color:var(--hairline, #1f2937)}.apple-stagger-container .apple-stagger-item{opacity:0;transform:translateY(18px) scale(.985);transition:opacity .55s var(--apple-spring-settle),transform .55s var(--apple-spring-settle);will-change:opacity,transform}.apple-stagger-container.revealed .apple-stagger-item{opacity:1;transform:translateY(0) scale(1)}.apple-stagger-container.revealed .apple-stagger-item:nth-child(1){transition-delay:.04s}.apple-stagger-container.revealed .apple-stagger-item:nth-child(2){transition-delay:.1s}.apple-stagger-container.revealed .apple-stagger-item:nth-child(3){transition-delay:.16s}.apple-stagger-container.revealed .apple-stagger-item:nth-child(4){transition-delay:.22s}.apple-stagger-container.revealed .apple-stagger-item:nth-child(5){transition-delay:.28s}.apple-stagger-container.revealed .apple-stagger-item:nth-child(n+6){transition-delay:.32s}.apple-tab-fluid-enter{animation:appleTabEnter .34s var(--apple-spring-settle) both;will-change:opacity,transform}@keyframes appleTabEnter{0%{opacity:0;transform:translateY(10px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}.apple-pressable{touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;transition:transform .12s ease-out,opacity .12s ease-out}.apple-pressable:active{transform:scale(.96);opacity:.92}@media (hover: hover) and (pointer: fine){.apple-pressable:hover{filter:brightness(1.03)}}.apple-replay-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:9999px;font-size:12px;font-weight:600;border:1px solid rgba(0,113,227,.2);background:#0071e314;color:#0071e3;cursor:pointer;transition:transform .12s ease,background .18s var(--apple-spring-settle);touch-action:manipulation;-webkit-tap-highlight-color:transparent}[data-theme=dark] .apple-replay-btn,.theme-dark .apple-replay-btn{background:#6366f124;border-color:#6366f147;color:#818cf8}.apple-replay-btn:active{transform:scale(.94)}@media (hover: hover) and (pointer: fine){.apple-replay-btn:hover{background:#0071e324}}.apple-login-container{transition:opacity .5s var(--apple-spring-settle),transform .5s var(--apple-spring-settle),filter .5s ease;will-change:opacity,transform,filter}.apple-login-container.entering{opacity:0;transform:scale(.96) translateY(-14px);filter:blur(5px);pointer-events:none}@media (prefers-reduced-motion: reduce){.apple-splash-overlay,.apple-stagger-container .apple-stagger-item,.apple-tab-fluid-enter,.apple-shimmer-box:after,.apple-splash-orb,.apple-splash-orb:before,.apple-splash-progress:after{animation:none!important;transition:opacity .2s ease!important;transform:none!important}.apple-stagger-container .apple-stagger-item{opacity:1!important;transform:none!important}.apple-splash-overlay.exiting{opacity:0!important;transform:none!important}}html{min-height:100%;background:#f8f9fa}body{min-height:100dvh;overscroll-behavior-x:none}.linear-app-container{min-height:100dvh;isolation:isolate}.linear-user-main{min-height:100dvh;min-width:0}.linear-main-content{min-height:calc(100dvh - 56px);overscroll-behavior-x:none;scrollbar-gutter:stable}.user-shell-header{background:#ffffffc7!important;border-bottom-color:#e5e7ebc7!important;box-shadow:0 1px #ffffffd9,0 8px 22px #0f172a09;-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.linear-desktop-sider{height:100dvh!important;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;transition:width .24s var(--apple-spring-settle),padding .24s var(--apple-spring-settle),background-color .22s ease,border-color .22s ease!important}.linear-btn-primary,.linear-btn-secondary,.linear-btn-ghost,.linear-desktop-sider nav button,.linear-nav-item{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s var(--apple-spring-snappy),opacity .16s ease!important}.hero-focus-card,.hero-action-card,.timeline-slot-card,.schedule-overview-card,.schedule-shift-item,.market-shift-item,.semester-week-card,.salary-overview-card,.history-metric-card,.profile-shortcut-card,.profile-avatar-wrapper,.mobile-salary-ledger-item,.mobile-history-item{transition:transform .22s var(--apple-spring-snappy),border-color .18s ease,box-shadow .22s ease,background-color .18s ease,opacity .18s ease!important}.linear-main-content .classes-view-actions button,.linear-main-content .timeline-weekday-btn,.linear-main-content .history-capsule-bar button,.linear-main-content .salary-filter-btn,.linear-main-content .ant-upload.ant-upload-drag,.linear-main-content .market-shift-action button{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s var(--apple-spring-snappy),opacity .16s ease!important}.linear-app-container button:focus-visible,.linear-app-container [role=button]:focus-visible{outline:2px solid rgba(0,113,227,.62);outline-offset:3px}.linear-bottom-nav{height:calc(64px + env(safe-area-inset-bottom,0px));padding:6px 10px env(safe-area-inset-bottom,0px);gap:4px}.linear-nav-item{height:52px;min-height:48px;border-radius:14px!important}.apple-skeleton-wrapper{min-height:360px}@media (hover: none),(pointer: coarse){.linear-card:hover{border-color:var(--hairline);box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005}.timeline-slot-card:hover,.market-shift-item:hover,.profile-avatar-wrapper:hover{transform:none!important;box-shadow:none!important}.linear-nav-item:hover{color:var(--ink-subtle)}.linear-card-shimmer:hover:after,.hero-action-card:hover:after,.schedule-overview-card:hover:after,.salary-overview-card:hover:after,.history-metric-card:hover:after,.profile-shortcut-card:hover:after{opacity:0;animation:none}}@media (max-width: 768px){.linear-main-content{min-height:calc(100dvh - 48px - env(safe-area-inset-top,0px));padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))!important}.user-shell-header{height:calc(48px + env(safe-area-inset-top,0px))!important;padding-top:env(safe-area-inset-top,0px)!important;box-sizing:border-box;background:#ffffffd6!important;box-shadow:0 1px #e5e7ebd1,0 5px 16px #0f172a09}.user-shell-header-title-mobile{min-width:0;flex:1}.user-shell-header-title-mobile>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-shell-header-actions{flex-shrink:0;gap:4px!important}.user-shell-header-actions .linear-btn-secondary{min-width:40px;padding-inline:9px!important}.linear-nav-item.active:before{top:3px;width:18px}.apple-skeleton-wrapper{min-height:0}.apple-skeleton-topbar{margin-bottom:12px!important;gap:8px!important}.apple-skeleton-topbar .apple-shimmer-box:last-child{width:132px!important;height:40px!important}.apple-skeleton-card{padding:14px!important;margin-bottom:12px;border-radius:14px}.apple-skeleton-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:10px!important;margin-bottom:14px!important}}@media (max-width: 380px){.linear-main-content{padding-inline:10px!important}.linear-bottom-nav{padding-inline:6px}.linear-nav-item{gap:1px;font-size:10px}.linear-nav-item span{font-size:10px!important}}[data-theme=dark] .user-shell-header,.theme-dark .user-shell-header{background:#111827c7!important;border-bottom-color:#1f2937e0!important;box-shadow:0 1px #ffffff08,0 8px 22px #0000002e}[data-theme=dark] .linear-bottom-nav,.theme-dark .linear-bottom-nav{background:#111827db!important}.wakeup-container{width:100%;min-height:100%;box-sizing:border-box;background:linear-gradient(180deg,#edf2fa,#e8eef8 40%,#d8e4f5);color:#111827;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif;display:flex;flex-direction:column;position:relative;overflow-x:hidden;user-select:none}@media (min-width: 769px){.wakeup-container{display:none!important}}.wakeup-container.dark-mode{background:linear-gradient(180deg,#0f172a,#1e293b);color:#f8fafc}.wakeup-holiday-view{flex:1;min-height:calc(100dvh - 185px);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px 16px 40px;box-sizing:border-box;background:transparent}.wakeup-holiday-card{width:100%;max-width:360px;background:#ffffffd1;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.9);border-radius:28px;padding:36px 22px 30px;box-shadow:0 16px 40px -10px #4755691f,0 0 1px #0000000d;text-align:center;box-sizing:border-box;animation:wakeupFloatIn .35s cubic-bezier(.16,1,.3,1)}.wakeup-container.dark-mode .wakeup-holiday-card{background:#1e293bd1;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 48px -12px #00000080}@keyframes wakeupFloatIn{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.wakeup-holiday-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;border-radius:20px;background:#fff7e6;border:1px solid #ffd591;color:#d46b08;font-size:12px;font-weight:700;letter-spacing:.2px;margin-bottom:20px}.wakeup-container.dark-mode .wakeup-holiday-pill{background:#f59e0b26;border-color:#f59e0b59;color:#fbbf24}.wakeup-holiday-icons{font-size:48px;line-height:1;margin-bottom:16px;filter:drop-shadow(0 6px 14px rgba(245,158,11,.25));display:flex;justify-content:center;gap:12px}.wakeup-holiday-title{font-size:21px;font-weight:800;color:#1e293b;margin-bottom:8px;letter-spacing:-.3px}.wakeup-container.dark-mode .wakeup-holiday-title{color:#f8fafc}.wakeup-holiday-desc{font-size:13px;color:#64748b;line-height:1.65;margin-bottom:28px;padding:0 6px}.wakeup-container.dark-mode .wakeup-holiday-desc{color:#94a3b8}.wakeup-holiday-actions{display:flex;flex-direction:column;gap:10px;width:100%}.wakeup-holiday-btn-primary{width:100%;height:44px;border-radius:22px;background:linear-gradient(135deg,#1677ff,#0958d9);color:#fff;font-size:14px;font-weight:600;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 6px 18px #1677ff59;transition:transform .1s ease,box-shadow .1s ease;-webkit-tap-highlight-color:transparent}.wakeup-holiday-btn-primary:active{transform:scale(.98)}.wakeup-holiday-btn-secondary{width:100%;height:42px;border-radius:21px;background:#fffffff2;color:#475569;font-size:13px;font-weight:600;border:1px solid #cbd5e1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .1s ease;-webkit-tap-highlight-color:transparent}.wakeup-container.dark-mode .wakeup-holiday-btn-secondary{background:#334155cc;border-color:#ffffff1f;color:#e2e8f0}.wakeup-holiday-btn-secondary:active{transform:scale(.98)}.wakeup-topbar{padding:max(40px,calc(env(safe-area-inset-top,0px) + 14px)) 16px 8px 16px!important;display:flex;justify-content:space-between;align-items:flex-start;z-index:10;flex-shrink:0}.wakeup-date-group{display:flex;flex-direction:column;cursor:pointer;border-radius:8px;padding:2px 6px 2px 2px;transition:background-color .15s ease}.wakeup-date-group:active{background-color:#0000000d}.wakeup-date-title{font-size:26px;font-weight:700;color:#111827;line-height:1.1;letter-spacing:-.5px}.wakeup-container.dark-mode .wakeup-date-title{color:#f8fafc}.wakeup-date-subtitle{font-size:13.5px;font-weight:500;color:#4b5563;margin-top:3px;display:flex;align-items:center;gap:4px}.wakeup-container.dark-mode .wakeup-date-subtitle{color:#94a3b8}.wakeup-actions{display:flex;align-items:center;gap:2px;margin-top:2px;flex-shrink:0}.wakeup-icon-btn{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#111827;cursor:pointer;transition:background-color .15s ease,transform .1s ease}.wakeup-container.dark-mode .wakeup-icon-btn{color:#f8fafc}.wakeup-icon-btn:active{background-color:#00000014;transform:scale(.92)}.wakeup-weekday-header{position:sticky;top:0;z-index:9;display:grid;align-items:center;padding:4px 0 6px;background:#edf2faf2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,.04);flex-shrink:0}.wakeup-container.dark-mode .wakeup-weekday-header{background:#0f172af2;border-bottom:1px solid rgba(255,255,255,.06)}.wakeup-month-cell{width:34px;min-width:34px;max-width:34px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;user-select:none;box-sizing:border-box}.wakeup-month-num{font-size:13px;font-weight:700;color:#1f2937;line-height:1.1}.wakeup-month-label{font-size:11px;font-weight:500;color:#6b7280;line-height:1.1}.wakeup-container.dark-mode .wakeup-month-num{color:#f1f5f9}.wakeup-container.dark-mode .wakeup-month-label{color:#94a3b8}.wakeup-day-header-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px 0;border-radius:6px;margin:0 1px;transition:background-color .15s ease;min-width:0}.wakeup-day-header-name{font-size:12.5px;font-weight:500;color:#6b7280;line-height:1.2}.wakeup-day-header-date{font-size:12px;font-weight:500;color:#9ca3af;line-height:1.2;margin-top:1px}.wakeup-container.dark-mode .wakeup-day-header-name{color:#94a3b8}.wakeup-container.dark-mode .wakeup-day-header-date{color:#64748b}.wakeup-day-header-cell.is-today .wakeup-day-header-name,.wakeup-day-header-cell.is-today .wakeup-day-header-date{color:#111827;font-weight:700}.wakeup-container.dark-mode .wakeup-day-header-cell.is-today .wakeup-day-header-name,.wakeup-container.dark-mode .wakeup-day-header-cell.is-today .wakeup-day-header-date{color:#f8fafc}.wakeup-timetable-body{flex:1;display:flex;position:relative;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:36px;min-width:0;-ms-overflow-style:none;scrollbar-width:none}.wakeup-timetable-body::-webkit-scrollbar{display:none}.wakeup-time-axis{width:34px;min-width:34px;max-width:34px;display:flex;flex-direction:column;flex-shrink:0;z-index:2;box-sizing:border-box}.wakeup-time-slot{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-sizing:border-box}.wakeup-period-num{font-size:13px;font-weight:700;color:#111827;line-height:1.1}.wakeup-container.dark-mode .wakeup-period-num{color:#f8fafc}.wakeup-period-start{font-size:9px;color:#6b7280;line-height:1.15;margin-top:2px}.wakeup-period-end{font-size:9px;color:#9ca3af;line-height:1.15}.wakeup-container.dark-mode .wakeup-period-start{color:#94a3b8}.wakeup-container.dark-mode .wakeup-period-end{color:#64748b}.wakeup-grid-container{flex:1;display:grid;position:relative;min-width:0}.wakeup-day-column{position:relative;border-right:.5px solid rgba(0,0,0,.03);min-width:0}.wakeup-container.dark-mode .wakeup-day-column{border-right:.5px solid rgba(255,255,255,.04)}.wakeup-day-column:last-child{border-right:none}.wakeup-day-column.is-today-column{background-color:#ffffff26}.wakeup-container.dark-mode .wakeup-day-column.is-today-column{background-color:#ffffff05}.wakeup-empty-slot{width:100%;box-sizing:border-box;border-bottom:.5px solid rgba(0,0,0,.02);cursor:pointer}.wakeup-container.dark-mode .wakeup-empty-slot{border-bottom:.5px solid rgba(255,255,255,.03)}.wakeup-empty-slot:active{background-color:#00000008}.wakeup-course-card{position:absolute;border-radius:8px;box-sizing:border-box;padding:4px 2px;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;color:#fff;cursor:pointer;overflow:hidden;word-break:break-all;box-shadow:0 1px 3px #0000000a;transition:transform .12s cubic-bezier(.34,1.56,.64,1),box-shadow .12s ease;z-index:3}.wakeup-course-card:active{transform:scale(.96);box-shadow:0 2px 6px #0000001f;z-index:5}.wakeup-card-noncurrent-tag{font-size:10px;line-height:1.1;opacity:.95;font-weight:500;margin-bottom:1px}.wakeup-card-title{font-size:11px;font-weight:600;line-height:1.25;margin-top:1px;width:100%}.wakeup-card-location{font-size:10px;opacity:.95;line-height:1.2;margin-top:2px;width:100%}.wakeup-card-teacher{font-size:10px;opacity:.95;line-height:1.2;margin-top:1px;width:100%}.wakeup-shift-card{position:absolute;border-radius:8px;box-sizing:border-box;padding:4px 2px;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;color:#fff;cursor:pointer;overflow:hidden;word-break:break-all;box-shadow:0 1px 3px #0000000f;transition:transform .12s ease;z-index:4}.wakeup-shift-card:active{transform:scale(.96);z-index:5}.wakeup-shift-tag{font-size:9.5px;font-weight:700;line-height:1.1;padding:1px 4px;border-radius:4px;background:#ffffff40;margin-bottom:2px}.wakeup-week-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px 0}.wakeup-week-btn{height:42px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#334155;font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.wakeup-week-btn.is-active{background:#111827;color:#fff;border-color:#111827;font-weight:700}.wakeup-week-btn.is-current-sem{border-color:#3b82f6;color:#2563eb;font-weight:600}.wakeup-week-btn.is-active.is-current-sem{background:#2563eb;color:#fff;border-color:#2563eb}@media (max-width: 768px){.user-shell-header.mobile-hidden-on-classes{display:none!important}.linear-main-content.classes-tab-fluid{padding:0!important}.wakeup-container{border-radius:0!important;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}.modern-timetable-card{border:none!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;margin:0!important;padding:0!important}.classes-tab-fluid>div{gap:0!important}.classes-list-view-container{padding-top:max(42px,calc(env(safe-area-inset-top,0px) + 16px))!important;padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))!important;min-height:100dvh!important;box-sizing:border-box!important}.ant-drawer .ant-drawer-header{padding-top:max(46px,calc(env(safe-area-inset-top,0px) + 18px))!important;padding-bottom:14px!important}.ant-drawer .ant-drawer-header .ant-drawer-header-title{align-items:center!important}.ant-drawer .ant-drawer-close{padding:0!important;margin-top:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.ant-modal-centered .ant-modal{margin:auto!important;max-width:calc(100vw - 28px)!important}}:root{--page-bg: #f4f6f8;--paper: #ffffff;--text: #1f2430;--muted: #6b7280;--accent: #e44343;--accent-soft: #fff1f0;--line: #e6e8ec;--shadow: 0 10px 28px rgba(31, 36, 48, .08)}*{box-sizing:border-box}.ant-input-affix-wrapper input.ant-input,.ant-input-affix-wrapper .ant-input{border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important}html,body{height:100%;width:100%;margin:0;padding:0;background:#f6efe6}#root{min-height:100%;width:100%;display:flex;flex-direction:column}body{color:var(--text)}.login-page{flex:1;width:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 20px;background:#f6efe6;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;box-sizing:border-box;position:relative;overflow-x:hidden;overflow-y:auto}.login-ambient-canvas{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.ambient-orb{position:absolute;border-radius:50%;will-change:transform;transform:translateZ(0)}.orb-1{width:580px;height:580px;top:-140px;left:-100px;background:radial-gradient(circle,rgba(228,138,114,.32) 0%,rgba(246,215,195,.12) 65%,transparent 100%);animation:ambientOrbDrift1 22s ease-in-out infinite alternate}.orb-2{width:620px;height:620px;bottom:-160px;right:-110px;background:radial-gradient(circle,rgba(135,175,160,.36) 0%,rgba(185,215,205,.12) 65%,transparent 100%);animation:ambientOrbDrift2 26s ease-in-out infinite alternate}.orb-3{width:460px;height:460px;top:25%;right:10%;background:radial-gradient(circle,rgba(255,238,200,.42) 0%,rgba(245,225,195,.1) 65%,transparent 100%);animation:ambientOrbDrift3 20s ease-in-out infinite alternate}.orb-4{width:440px;height:440px;bottom:8%;left:15%;background:radial-gradient(circle,rgba(175,205,195,.28) 0%,rgba(210,230,222,.08) 65%,transparent 100%);animation:ambientOrbDrift4 24s ease-in-out infinite alternate}@keyframes ambientOrbDrift1{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(60px,45px,0) scale(1.08)}to{transform:translate3d(25px,80px,0) scale(.95)}}@keyframes ambientOrbDrift2{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(-70px,-50px,0) scale(1.12)}to{transform:translate3d(-35px,-85px,0) scale(.92)}}@keyframes ambientOrbDrift3{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(-45px,60px,0) scale(1.06)}to{transform:translate3d(40px,-30px,0) scale(.96)}}@keyframes ambientOrbDrift4{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(50px,-40px,0) scale(1.1)}to{transform:translate3d(-35px,55px,0) scale(.93)}}.ambient-wave-mesh{position:absolute;inset:0;background:linear-gradient(130deg,rgba(255,255,255,.45) 0%,transparent 45%,rgba(255,248,238,.3) 100%);opacity:.7}@keyframes loginAppearSlideUp{0%{opacity:0;transform:translate3d(0,44px,0) scale(.96)}to{opacity:1;transform:translateZ(0) scale(1)}}.login-appear-anim{animation:loginAppearSlideUp .75s cubic-bezier(.16,1,.3,1) forwards;will-change:transform,opacity;position:relative;z-index:1}.login-sliding-card{position:relative;width:min(920px,100%);min-height:580px;background:#fff;border-radius:28px;overflow:hidden;border:1px solid rgba(226,218,206,.85);box-shadow:0 24px 60px -16px #4e5c5629,0 6px 20px #4e5c560d;transition:min-height .4s cubic-bezier(.16,1,.3,1)}.login-sliding-card.s--signup{min-height:640px}.form-container{position:absolute;top:0;height:100%;width:50%;padding:34px 40px 24px;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;background:#fff;transition:transform .6s cubic-bezier(.65,0,.35,1),opacity .5s ease;will-change:transform,opacity}.sign-in-container{right:0;left:auto;z-index:2;opacity:1;pointer-events:auto;transform:translateZ(0)}.sign-up-container{left:0;right:auto;z-index:1;opacity:0;pointer-events:none;transform:translate3d(-15%,0,0);padding:24px 38px 20px!important;overflow-y:auto;scrollbar-width:none}.sign-up-container::-webkit-scrollbar{display:none}.sign-up-container .login-8d-header{margin-bottom:8px!important}.sign-up-container .login-heading{margin-bottom:10px!important}.sign-up-container .login-dual-inputs{margin-bottom:6px!important}.sign-up-container .login-form .ant-input-affix-wrapper,.sign-up-container .login-form .ant-input-password{padding:8px 14px!important}.sign-up-container .login-form .ant-form-item{margin-bottom:8px!important}.sign-up-container .login-btn-primary{height:44px!important;font-size:15px!important;margin-top:2px!important}.sign-up-container .login-switch-hint{min-height:32px!important;margin:6px 0 2px!important}.sign-up-container .login-actions{margin-top:4px!important;margin-bottom:2px!important}.sign-up-container .login-action-btn{width:32px!important;height:32px!important;font-size:13px!important}.sign-up-container .login-filing-footer{margin-top:4px!important;padding-top:4px!important;gap:1px!important}.login-reg-alert{padding:8px 12px!important;margin-bottom:10px!important;border-radius:10px!important;border:1px solid #FFE58F!important;background:#fffbe6!important}.login-reg-alert .ant-alert-message{font-size:13px!important;font-weight:700!important;color:#d46b08!important}.login-reg-alert .ant-alert-description{font-size:11.5px!important;color:#873800!important;line-height:1.4!important;margin-top:2px!important}.login-sliding-card.s--signup .sign-in-container{transform:translate3d(15%,0,0);opacity:0;pointer-events:none;z-index:1}.login-sliding-card.s--signup .sign-up-container{transform:translateZ(0);opacity:1;pointer-events:auto;z-index:2}.overlay-container{position:absolute;top:0;left:0;width:50%;height:100%;overflow:hidden;z-index:100;transition:transform .6s cubic-bezier(.65,0,.35,1);will-change:transform;transform:translateZ(0);box-shadow:0 0 32px #00000014}.login-sliding-card.s--signup .overlay-container{transform:translate3d(100%,0,0)}.overlay-viewport{position:relative;width:100%;height:100%;background:#f4ece1}.overlay-text-cover{position:absolute;bottom:0;left:0;right:0;padding:28px 24px 24px;background:linear-gradient(to top,rgba(235,226,214,.98) 0%,rgba(235,226,214,.82) 65%,transparent 100%);display:flex;flex-direction:column;align-items:center;text-align:center;z-index:5}.overlay-desc-block{display:flex;flex-direction:column;align-items:center;width:100%}.login-art-pill{display:inline-block;padding:2px 10px;background:#c25e4a;color:#fff;font-size:11px;font-weight:800;letter-spacing:1px;border-radius:999px;margin-bottom:6px}.login-art-title{margin:0;font-size:17px;font-weight:800;color:#2c3e38;letter-spacing:-.3px}.login-art-desc{margin:4px 0 0;font-size:12px;color:#63776f;line-height:1.5}.login-overlay-switch-btn{margin-top:14px;display:inline-flex;align-items:center;gap:6px;padding:8px 22px;background:#fffffff0;border:1.5px solid #C25E4A;color:#c25e4a;font-size:13px;font-weight:700;border-radius:999px;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 12px #c25e4a26;outline:none}.login-overlay-switch-btn:hover{background:#c25e4a;color:#fff;transform:translateY(-1px);box-shadow:0 6px 16px #c25e4a40}.login-overlay-switch-btn .switch-arrow{font-size:14px;transition:transform .2s ease}.login-overlay-switch-btn:hover .switch-arrow{transform:translate(2px)}@keyframes lhCloudDrift1{0%{transform:translateZ(0)}50%{transform:translate3d(16px,0,0)}to{transform:translateZ(0)}}@keyframes lhCloudDrift2{0%{transform:translateZ(0)}50%{transform:translate3d(-12px,0,0)}to{transform:translateZ(0)}}@keyframes lhSailboatSway{0%{transform:translateZ(0) rotate(0)}50%{transform:translate3d(0,-3px,0) rotate(1.2deg)}to{transform:translateZ(0) rotate(0)}}@keyframes lhBeamSweep{0%{opacity:.45;transform:rotate(0);transform-origin:40px 54px}50%{opacity:.85;transform:rotate(4deg);transform-origin:40px 54px}to{opacity:.45;transform:rotate(0);transform-origin:40px 54px}}@keyframes lhGlowPulse{0%{opacity:.6;transform:scale(.95);transform-origin:40px 54px}50%{opacity:1;transform:scale(1.15);transform-origin:40px 54px}to{opacity:.6;transform:scale(.95);transform-origin:40px 54px}}.lh-cloud-1{animation:lhCloudDrift1 18s ease-in-out infinite}.lh-cloud-2{animation:lhCloudDrift2 24s ease-in-out infinite}.lh-sailboat{animation:lhSailboatSway 6s ease-in-out infinite}.lh-light-beam{animation:lhBeamSweep 8s ease-in-out infinite}.lh-light-glow{animation:lhGlowPulse 4s ease-in-out infinite}.login-8d-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.login-8d-logo-badge{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#d66c57,#b84d3a);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px #c25e4a47,inset 0 1px #fff6;flex-shrink:0}.login-8d-num{color:#fff;font-size:20px;font-weight:900;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,ui-sans-serif,sans-serif;letter-spacing:-.5px;text-shadow:0 1px 2px rgba(0,0,0,.15)}.login-8d-meta{display:flex;flex-direction:column}.login-8d-org{font-size:13px;font-weight:700;color:#2c3e38;letter-spacing:.2px}.login-8d-sys{font-size:11px;color:#83978f}.login-heading{margin-bottom:16px}.login-main-title{margin:0!important;font-size:21px!important;font-weight:800!important;color:#2c3e38!important;letter-spacing:-.4px}.login-sub-text{font-size:12px;color:#7e9189!important;margin-top:2px;display:block}.login-form .ant-input-affix-wrapper,.login-form .ant-input-password{border:1.5px solid #E5DFD4!important;border-radius:999px!important;padding:10px 16px!important;background:#faf8f5!important;box-shadow:inset 0 2px 4px #00000005!important;transition:border-color .25s ease,background .25s ease,box-shadow .25s ease!important}.login-form .ant-input-affix-wrapper:hover,.login-form .ant-input-password:hover{border-color:#c25e4a!important;background:#fff!important}.login-form .ant-input-affix-wrapper-focused,.login-form .ant-input-password-focused{border-color:#c25e4a!important;background:#fff!important;box-shadow:0 0 0 3.5px #c25e4a1f,inset 0 1px 2px #00000005!important}.login-form .ant-input{background:transparent!important;color:#2c3e38!important;font-size:14px!important}.login-input-icon{color:#8a9e96!important;font-size:16px!important}.login-dual-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.login-btn-primary{width:100%!important;height:46px!important;border-radius:999px!important;font-weight:700!important;font-size:15px!important;background:linear-gradient(135deg,#d46955,#b84d3a)!important;border:none!important;color:#fff!important;box-shadow:0 8px 20px -4px #c25e4a59!important;transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important;margin-top:4px}.login-btn-primary:hover{transform:translate3d(0,-1px,0)!important;box-shadow:0 10px 24px -4px #c25e4a73!important;background:linear-gradient(135deg,#df7460,#c45542)!important}.login-btn-primary:active{transform:translate3d(0,.5px,0)!important;box-shadow:0 4px 10px -2px #c25e4a4d!important}.login-switch-hint{margin-top:12px;text-align:center;font-size:12px;color:#7e9189;display:flex;align-items:center;justify-content:center;gap:4px}.login-link-btn{background:none;border:none;padding:0;color:#c25e4a;font-weight:700;font-size:12px;cursor:pointer;transition:color .15s ease;outline:none;text-decoration:none}.login-link-btn:hover{color:#b34d3a;text-decoration:underline}.login-alert{margin-bottom:12px;border-radius:12px}.login-actions{display:flex;justify-content:center;gap:14px;padding:14px 0 10px}.login-action-btn{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#faf7f2;border:1px solid #E7E0D5;box-shadow:0 2px 8px #5a69630f;font-size:15px;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;padding:0;outline:none}.login-action-btn:hover{transform:translate3d(0,-2px,0);background:#fff;border-color:#c25e4a;box-shadow:0 6px 14px #c25e4a26}.login-action-btn:active{transform:translateZ(0)}.login-filing-footer{text-align:center;padding-top:8px;border-top:1px dashed #EAE3D8;display:flex;flex-direction:column;gap:2px}.filing-item{color:#8c9f98;font-size:11px;line-height:1.4}.filing-badge{letter-spacing:.3px}.filing-contact{font-size:10.5px;color:#8c9f98;margin-top:1px}.filing-mail-link{color:#c25e4a;text-decoration:none;font-weight:600;margin-left:4px;transition:color .15s ease}.filing-mail-link:hover{color:#b34d3a;text-decoration:underline}@media (max-width: 768px){.login-page{flex:1;width:100%!important;min-height:100vh!important;min-height:100dvh!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:center!important;padding:max(12px,env(safe-area-inset-top)) 14px max(16px,env(safe-area-inset-bottom))!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;background:#f6efe6!important;box-sizing:border-box!important}.ambient-orb{opacity:.45!important}.login-sliding-card{display:flex!important;flex-direction:column!important;border-radius:24px!important;width:100%!important;max-width:400px!important;min-height:auto!important;margin:auto!important;background:#fff!important;border:1px solid rgba(226,218,206,.9)!important;box-shadow:0 16px 44px -8px #4e5c5629,0 4px 12px #4e5c560d!important;overflow:hidden!important;align-self:center!important;flex-shrink:0!important}.overlay-container{order:-1!important;position:relative!important;inset:auto!important;width:100%!important;height:160px!important;flex-shrink:0!important;border-radius:24px 24px 0 0!important;overflow:hidden!important;transform:none!important;box-shadow:none!important;z-index:10!important}.login-sliding-card.s--signup .overlay-container{transform:none!important}.overlay-viewport{height:100%!important;position:relative!important}.overlay-viewport svg{width:100%!important;height:100%!important;transform:none!important}.overlay-text-cover{position:absolute!important;inset:auto 0 0!important;padding:8px 16px 10px!important;background:linear-gradient(to top,rgba(244,236,225,.96) 0%,rgba(244,236,225,.65) 60%,transparent 100%)!important;display:flex!important;flex-direction:row!important;align-items:flex-end!important;justify-content:space-between!important;z-index:5!important}.overlay-desc-block{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;width:100%!important}.login-art-pill{font-size:10px!important;padding:2.5px 8px!important;border-radius:6px!important;margin-bottom:0!important;letter-spacing:.5px!important;box-shadow:0 2px 6px #c25e4a33!important}.login-art-title{font-size:13px!important;font-weight:700!important;color:#2f3b36!important;margin:0!important}.login-art-desc,.login-overlay-switch-btn{display:none!important}.form-container{position:relative!important;width:100%!important;height:auto!important;padding:20px 20px 16px!important;transform:none!important;left:auto!important;right:auto!important;background:#fff!important;box-sizing:border-box!important}.sign-in-container{display:flex!important;opacity:1!important;pointer-events:auto!important;transform:none!important}.sign-up-container,.login-sliding-card.s--signup .sign-in-container{display:none!important}.login-sliding-card.s--signup .sign-up-container{display:flex!important;opacity:1!important;pointer-events:auto!important;transform:none!important}.login-sliding-card.s--signup .overlay-container{height:110px!important}.login-sliding-card.s--signup .overlay-text-cover{padding:4px 14px 6px!important}.login-sliding-card.s--signup .form-container{padding:12px 18px!important}.login-sliding-card.s--signup .login-8d-header{margin-bottom:6px!important}.login-sliding-card.s--signup .login-8d-logo-badge{width:30px!important;height:30px!important;border-radius:9px!important}.login-sliding-card.s--signup .login-8d-num{font-size:14px!important}.login-sliding-card.s--signup .login-8d-org{font-size:12px!important}.login-sliding-card.s--signup .login-8d-sys{font-size:10px!important}.login-sliding-card.s--signup .login-heading{margin-bottom:8px!important}.login-sliding-card.s--signup .login-main-title{font-size:16.5px!important;margin-bottom:1px!important}.login-sliding-card.s--signup .login-sub-text{font-size:11.5px!important}.login-sliding-card.s--signup .login-form .ant-input-affix-wrapper,.login-sliding-card.s--signup .login-form .ant-input-password{height:40px!important;border-radius:10px!important;padding:0 12px!important}.login-sliding-card.s--signup .login-dual-inputs{margin-bottom:6px!important;gap:8px!important}.login-sliding-card.s--signup .login-form .ant-form-item{margin-bottom:8px!important;margin-top:0!important}.login-sliding-card.s--signup .login-reg-alert{padding:6px 10px!important;margin-bottom:8px!important;border-radius:8px!important}.login-sliding-card.s--signup .login-reg-alert .ant-alert-message{font-size:12px!important}.login-sliding-card.s--signup .login-reg-alert .ant-alert-description{font-size:10.5px!important;line-height:1.3!important;margin-top:1px!important}.login-sliding-card.s--signup .login-btn-primary{height:42px!important;font-size:15px!important;border-radius:10px!important;margin-top:2px!important}.login-sliding-card.s--signup .login-switch-hint{min-height:30px!important;margin:4px 0 2px!important;font-size:12px!important}.login-sliding-card.s--signup .login-actions{margin-top:2px!important;margin-bottom:2px!important;gap:10px!important}.login-sliding-card.s--signup .login-action-btn{width:32px!important;height:32px!important;font-size:13.5px!important}.login-sliding-card.s--signup .login-filing-footer{margin-top:4px!important;padding-top:4px!important;padding-bottom:4px!important;gap:1px!important}.login-sliding-card.s--signup .filing-item{font-size:9.5px!important;line-height:1.3!important}.login-sliding-card.s--signup .filing-contact{font-size:9px!important}@media (max-width: 380px){.login-sliding-card.s--signup .overlay-container{height:96px!important}.login-sliding-card.s--signup .form-container{padding:10px 14px 8px!important}.login-sliding-card.s--signup .login-main-title{font-size:15px!important}.login-sliding-card.s--signup .login-actions{display:none!important}}.login-8d-header{margin-bottom:10px!important;gap:10px!important}.login-8d-logo-badge{width:38px!important;height:38px!important;border-radius:12px!important}.login-8d-num{font-size:18px!important}.login-8d-org{font-size:13px!important}.login-8d-sys{font-size:11px!important}.login-heading{margin-bottom:14px!important}.login-main-title{font-size:19px!important;font-weight:800!important;letter-spacing:-.3px!important}.login-sub-text{font-size:12.5px!important;margin-top:3px!important}.login-form .ant-input-affix-wrapper,.login-form .ant-input-password{height:48px!important;padding:0 14px!important;border-radius:12px!important;background:#faf8f5!important;border:1.5px solid #E5DFD4!important;box-sizing:border-box!important;transition:all .2s cubic-bezier(.16,1,.3,1)!important}.login-form .ant-input-affix-wrapper-focused,.login-form .ant-input-password-focused{border-color:#b34d3a!important;box-shadow:0 0 0 3.5px #b34d3a1f!important;background:#fff!important}.login-form .ant-input{font-size:16px!important;background:transparent!important}.login-input-icon{font-size:16px!important}.login-dual-inputs{grid-template-columns:1fr 1fr!important;gap:8px!important;margin-bottom:8px!important}.login-btn-primary{height:48px!important;font-size:16px!important;font-weight:700!important;border-radius:12px!important;background:linear-gradient(135deg,#d46955,#b84d3a)!important;box-shadow:0 6px 18px -2px #b84d3a59!important;margin-top:6px!important;-webkit-tap-highlight-color:transparent!important;user-select:none!important;touch-action:manipulation!important}.login-btn-primary:active{transform:scale(.98)!important;box-shadow:0 2px 8px #b84d3a40!important}.login-switch-hint{min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:8px 0 4px!important;user-select:none!important;-webkit-tap-highlight-color:transparent!important}.login-link-btn{padding:8px 6px!important;font-size:13px!important;font-weight:700!important;color:#b34d3a!important;-webkit-tap-highlight-color:transparent!important}.login-link-btn:active{opacity:.7!important;transform:scale(.97)!important}.login-actions{display:flex!important;justify-content:center!important;gap:16px!important;padding:10px 0 8px!important}.login-action-btn{width:44px!important;height:44px!important;border-radius:50%!important;font-size:17px!important;background:#faf7f2!important;border:1px solid #E7E0D5!important;display:grid!important;place-items:center!important;-webkit-tap-highlight-color:transparent!important;user-select:none!important;touch-action:manipulation!important;transition:transform .15s ease,background .15s ease!important}.login-action-btn:active{transform:scale(.92)!important;background:#ede5d8!important}.login-filing-footer{border-top:1px dashed #EAE3D8!important;margin-top:8px!important;padding-top:10px!important;padding-bottom:max(8px,env(safe-area-inset-bottom))!important}.filing-item{font-size:11px!important;line-height:1.5!important}.filing-contact{font-size:10.5px!important;margin-top:2px!important}.filing-mail-link{color:#b34d3a!important;font-weight:600!important}}.app-shell{min-height:100vh;background:var(--page-bg)}.app-sider{padding:20px 16px;background:#fff!important;border-right:1px solid #f0f0f0;transition:width .2s cubic-bezier(.4,0,.2,1),padding .2s cubic-bezier(.4,0,.2,1)!important}.app-sider::-webkit-scrollbar{width:4px}.app-sider::-webkit-scrollbar-thumb{background:#0000001f;border-radius:4px}.sider-category-header{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:6px;cursor:pointer;user-select:none;transition:background .15s ease;margin-bottom:4px}.sider-category-header:hover{background:#0000000a}.sider-category-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#000000a6;letter-spacing:.3px}.sider-category-badge{font-size:11px;color:#00000073;background:#0000000d;padding:1px 6px;border-radius:10px;font-weight:600}.sider-category-arrow{font-size:11px;color:#00000059;transition:transform .2s ease}.admin-sider-collapsed-item{width:44px;height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;margin:4px auto;transition:all .15s ease}.admin-sider-collapsed-item:hover{background:#f5f5f5}.admin-sider-collapsed-item.active{background:#e6f4ff;color:#1677ff}.admin-sider-nav-item{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:8px;font-size:13px;font-weight:500;color:#000000a6;cursor:pointer;transition:all .15s ease;user-select:none}.admin-sider-nav-item:hover{background:#f5f5f5;color:#000000e0}.admin-sider-nav-item.active{background:#e6f4ff;color:#1677ff;font-weight:600}.sider-profile{display:flex;gap:12px;align-items:center;margin-bottom:14px}.sider-profile>div{min-width:0;display:flex;flex-direction:column}.sider-meta{margin:8px 0 24px}.app-header{height:72px;min-height:72px;line-height:normal;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border-bottom:1px solid #f0f0f0;position:sticky;top:0;z-index:90}.app-header h1{margin:0;font-size:24px;line-height:1.2;font-weight:800}.app-content{padding:20px 24px 60px}.nav-band{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.nav-label{color:var(--muted)}.top-segmented{width:fit-content;max-width:100%;overflow-x:auto;padding-bottom:2px}.top-segmented .ant-segmented-group{flex-wrap:wrap;gap:6px}.page-stack{width:100%}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title h3{margin:0}.metric-card{min-height:132px;border-color:var(--line);box-shadow:var(--shadow)}.page-spin{min-height:220px;display:grid;place-items:center}.description-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.description-grid>div{display:flex;flex-direction:column;gap:6px}.log-list{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:0 16px}.trajectory-panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:16px 20px 4px}.trajectory-day+.trajectory-day{margin-top:6px}.trajectory-day-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:8px;margin-bottom:12px;border-bottom:1px dashed var(--line)}.trajectory-time{font-size:13px;font-variant-numeric:tabular-nums}@media (max-width: 768px){.trajectory-panel{padding:12px 12px 0}}.table-toolbar{width:100%;justify-content:flex-end;margin-bottom:12px}.ant-card,.ant-table-wrapper .ant-table{border-radius:8px}@media (max-width: 768px){.app-header{height:58px!important;padding:0 12px!important}.app-header h1{font-size:20px}.app-content{padding:12px 10px 32px!important}.top-segmented{width:100%}.top-segmented .ant-segmented-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.top-segmented .ant-segmented-item{min-width:0}.description-grid{grid-template-columns:1fr}.semester-card{padding:14px 16px!important}.semester-card-value-green,.semester-card-value-orange{font-size:24px!important;margin:6px 0 2px!important}.semester-card-label{font-size:13px!important}.semester-card-sub{font-size:12px!important;line-height:1.5!important}.ant-card .ant-card-head{padding:0 12px!important;min-height:46px!important}.ant-card .ant-card-body{padding:14px 12px!important}.ant-card .ant-card-head-title{padding:10px 0!important;font-size:15px!important}.metric-card .ant-card-body,.classroom-stat-card{padding:12px 10px!important}.classroom-stat-label{font-size:11px!important;margin-bottom:4px!important}.classroom-stat-value{font-size:18px!important;font-weight:700!important}.classroom-export-btn{height:42px!important;font-size:13px!important}.roster-kpi-container{padding:12px 14px!important}.roster-kpi-label{font-size:11px!important}.roster-kpi-value{font-size:20px!important;margin:3px 0!important}.roster-kpi-sub{font-size:11px!important}.fun-card{padding:10px 8px!important}.fun-card-icon{font-size:22px!important;margin-bottom:2px!important}.fun-card-title,.fun-card-names{font-size:12px!important}.account-user-card{padding:10px 12px!important;margin-bottom:8px!important}.perm-pill{font-size:11px!important;padding:1px 6px!important}.batch-item-card{padding:8px 10px!important;gap:6px!important}.batch-btn-on,.batch-btn-off{padding:4px 8px!important;font-size:12px!important}}.semester-card{padding:24px;border-radius:12px;background:#fff;border:1px solid #e8e8e8;box-shadow:0 2px 8px #0000000a;transition:all .3s}.semester-card:hover{box-shadow:0 4px 16px #00000014}.semester-card-label{font-size:15px;color:#595959;font-weight:500}.semester-card-value-green{font-size:38px;font-weight:800;color:#2ca02c;margin:10px 0;letter-spacing:-.5px}.semester-card-value-orange{font-size:38px;font-weight:800;color:#ff7f0e;margin:10px 0;letter-spacing:-.5px}.semester-card-sub{font-size:13px;color:#8c8c8c}.timejump-box{padding:20px;border-radius:10px;background:#fff;border:1px solid #e8e8e8}.timejump-info{display:flex;align-items:flex-start;gap:12px;background:#e6f7ff;border:1px solid #91d5ff;border-radius:8px;padding:14px 18px;line-height:1.6;color:#003a8c}.timejump-confirm-box{background:#fffbe6;border:1px solid #ffe58f;padding:12px;border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:8px}.debug-collapse{background:#fff!important;border:1px solid #e8e8e8!important;border-radius:8px!important}.sider-nav-status-box{background:#e6f7ff;border:1px solid #91d5ff;border-radius:8px;padding:12px 14px;margin:14px 0 10px}.sider-nav-semester{font-weight:700;color:#096dd9;font-size:13px;margin-bottom:6px}.sider-nav-week{font-size:13px;color:#595959}.schedule-col-card{border-radius:12px;border:1px solid #e8e8e8;background:#fff;padding:20px;box-shadow:0 1px 3px #0000000a}.schedule-header-title{font-size:18px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:8px}.red-tag-select .ant-select-selector{border-radius:8px!important;min-height:42px!important;padding:4px 8px!important}.red-tag-select .ant-select-selection-item{background:#ff4d4f!important;color:#fff!important;border:none!important;border-radius:6px!important;font-weight:600!important;font-size:13px!important;padding:2px 10px!important;height:28px!important;line-height:24px!important}.red-tag-select .ant-select-selection-item-remove{color:#fff!important}.red-tag-select .ant-select-selection-item-remove:hover{color:#ffd666!important}.file-dragger-box{background:#fafafa!important;border:1px dashed #d9d9d9!important;border-radius:8px!important;padding:16px 12px!important;text-align:center;height:140px!important;min-height:140px!important;max-height:140px!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .3s}.file-dragger-box .ant-upload-drag-container{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important}.file-dragger-box .ant-upload-btn{padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important}.file-dragger-box:hover{border-color:#1890ff!important}.sub-collapse{background:#fafafa!important;border:1px solid #e8e8e8!important;border-radius:8px!important;margin-bottom:16px}.empty-gray-box{background:#f5f5f5;border-radius:8px;padding:20px;text-align:center;color:#8c8c8c;font-size:14px}.progress-header-box{background:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:16px 20px}.big-red-btn{height:50px!important;font-size:16px!important;font-weight:700!important;border-radius:8px!important}.roster-kpi-container{background:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:20px 24px}.roster-kpi-label{font-size:14px;color:#595959;font-weight:500;display:flex;align-items:center;gap:4px}.roster-kpi-value{font-size:34px;font-weight:800;color:#1f2430;margin:6px 0;letter-spacing:-.5px}.roster-kpi-sub{font-size:12px;color:#8c8c8c}.fun-card{padding:18px 14px;border-radius:10px;text-align:center;box-shadow:0 2px 6px #0000000a;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .3s}.fun-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.fun-card-icon{font-size:28px;margin-bottom:6px}.fun-card-title{font-weight:700;font-size:15px;color:#262626;margin-bottom:6px}.fun-card-names{font-size:13px;color:#595959;line-height:1.5;min-height:20px}.history-green-pill{background:#f6ffed;border:1px solid #b7eb8f;color:#389e0d;font-weight:600;padding:8px 14px;border-radius:6px;margin:12px 0;display:flex;align-items:center;gap:8px;font-size:13px}.history-step-title{font-size:14px;font-weight:700;color:#262626;margin:14px 0 10px}.history-sub-card{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:16px 14px;height:100%}.history-matrix-table .ant-table-cell{padding:10px 8px!important;font-size:13px!important}.mobile-day-capsule-container{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:14px;-webkit-overflow-scrolling:touch}.mobile-day-capsule{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 14px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#4b5563;cursor:pointer;transition:all .2s;min-width:64px}.mobile-day-capsule:hover{border-color:#5e6ad2;color:#5e6ad2}.mobile-day-capsule-active{background:#5e6ad2!important;border-color:#5e6ad2!important;color:#fff!important;box-shadow:0 2px 6px #5e6ad240}.mobile-day-capsule-title{font-size:13px;font-weight:700}.mobile-day-capsule-sub{font-size:11px;opacity:.85;margin-top:1px}.mobile-slot-card{background:#fff;border:1px solid #f0f0f0;border-radius:10px;padding:12px 14px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;gap:10px;transition:all .15s ease}.mobile-slot-card:hover{border-color:#d1d5db;box-shadow:0 2px 6px #00000008}.mobile-slot-card-maint{background:linear-gradient(135deg,#fffdfa,#fffbf0);border:1px solid #fde68a}.trajectory-card{border:1px solid #e8e8e8;border-radius:8px;padding:12px 16px;background:#fff;margin-bottom:10px;transition:all .2s}.trajectory-card:hover{border-color:#1890ff;box-shadow:0 2px 8px #1890ff14}.trajectory-badge-plus{background:#f6ffed;border:1px solid #b7eb8f;color:#52c41a;font-weight:700;padding:2px 8px;border-radius:4px;font-size:12px}.trajectory-badge-minus{background:#fff1f0;border:1px solid #ffa39e;color:#f5222d;font-weight:700;padding:2px 8px;border-radius:4px;font-size:12px}.hours-ledger-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #f0f0f0}.hours-ledger-row:last-child{border-bottom:none}.classroom-pill-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;border:1px solid #d9d9d9;background:#fff;color:#595959;transition:all .2s ease}.classroom-pill-btn:hover{border-color:#ff4d4f;color:#ff4d4f}.classroom-pill-btn-active{border-color:#ff4d4f!important;color:#ff4d4f!important;background:#fff1f0!important;font-weight:600}.classroom-stat-card{background:#fff;border:1px solid #e8e8e8;border-radius:12px;padding:20px 24px;box-shadow:0 1px 3px #0000000a}.classroom-stat-label{font-size:13px;color:#8c8c8c;margin-bottom:8px}.classroom-stat-value{font-size:32px;font-weight:800;line-height:1.2}.classroom-export-btn{height:48px;font-size:15px;font-weight:600;border-radius:8px;border:1px solid #d9d9d9;background:#fff;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.classroom-export-btn:hover{border-color:#1890ff;color:#1890ff}.salary-hero-card{background:linear-gradient(135deg,#1890ff,#096dd9);border-radius:12px;padding:24px;color:#fff;box-shadow:0 4px 12px #1890ff40}.account-user-card{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:14px 18px;margin-bottom:12px;cursor:pointer;transition:all .2s ease}.account-user-card:hover{border-color:#ff4d4f;box-shadow:0 2px 8px #0000000f}.account-user-card-active{border-color:#ff4d4f!important;background:#fffdfd!important;box-shadow:0 2px 8px #ff4d4f26!important}.role-badge-user{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:4px}.role-badge-room-admin{background:#e6f7ff;color:#0050b3;border:1px solid #91d5ff;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:4px}.role-badge-admin{background:#fff3e0;color:#e65100;border:1px solid #ffe0b2;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:4px}.role-badge-super{background:#fce4ec;color:#c2185b;border:1px solid #f8bbd0;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:4px}.perm-pill{display:inline-flex;align-items:center;padding:2px 8px;margin:2px 4px 2px 0;border-radius:12px;background:#f0f4f8;color:#486581;font-size:12px;border:1px solid #bcccdc;line-height:1.4}.batch-item-card{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:10px 14px;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}.batch-btn-on{border:1px solid #b7eb8f;background:#f6ffed;color:#389e0d;font-weight:600;padding:4px 14px;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.batch-btn-on:hover{background:#389e0d;color:#fff}.batch-btn-off{border:1px solid #d9d9d9;background:#fafafa;color:#595959;font-weight:600;padding:4px 14px;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.batch-btn-off:hover{border-color:#ff4d4f;color:#ff4d4f;background:#fff1f0}.schedule-matrix-cell{border-radius:8px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);user-select:none}.schedule-matrix-cell:hover{transform:translateY(-2px);box-shadow:0 4px 12px #722ed129}.hover-cell-empty{border:1px dashed #d9d9d9;background:#fafafa}.hover-cell-empty:hover{border-color:#722ed1!important;background:#f9f0ff!important}.hover-cell-unscheduled{border:1px dashed #f0f0f0;background:#fff}.hover-cell-unscheduled:hover{border-color:#9254de!important;background:#fdfaff!important}.hover-cell-unscheduled:hover>span:first-child{display:none!important}.hover-cell-unscheduled:hover .unscheduled-hover-tip{display:inline-block!important}.hover-cell-normal{border:1px solid #adc6ff;background:#f0f5ff}.hover-cell-normal:hover{border-color:#2f54eb!important;background:#e6f7ff!important}.hover-cell-maint{border:1px solid #ffa39e;background:#fff1f0}.hover-cell-maint:hover{border-color:#f5222d!important;background:#ffebe9!important}.comparison-staff-card{border:1px solid #f0f0f0;border-radius:8px;padding:10px 12px;cursor:pointer;transition:all .2s ease;margin-bottom:8px;background:#fff}.comparison-staff-card:hover{border-color:#9254de;background:#fdfaff}.comparison-staff-card.active{border:2px solid #722ed1;background:#f9f0ff;box-shadow:0 2px 8px #722ed11f}.comparison-course-cell{border-radius:6px;padding:8px;min-height:80px;transition:all .2s;display:flex;flex-direction:column;justify-content:flex-start;font-size:12px;line-height:1.4}.modern-timetable-card{background:#fff;border-radius:16px;border:1px solid #e8e8e8;box-shadow:0 4px 20px #0000000a;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.modern-timetable-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fff;border-bottom:1px solid #f0f0f0}.modern-timetable-title-group{display:flex;flex-direction:column;gap:2px;cursor:pointer}.modern-timetable-date-text{font-size:20px;font-weight:700;color:#1f1f1f;line-height:1.2}.modern-timetable-sub-text{font-size:13px;font-weight:500;color:#8c8c8c;display:flex;align-items:center;gap:6px}.modern-timetable-actions{display:flex;align-items:center;gap:8px}.modern-timetable-action-btn{width:38px;height:38px;border-radius:50%;border:1px solid #e8e8e8;background:#f9f9f9;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:all .2s ease;color:#434343}.modern-timetable-action-btn:hover{background:#fff;border-color:#1677ff;color:#1677ff;transform:translateY(-1px);box-shadow:0 2px 8px #1677ff26}.modern-weekdays-row{display:grid;grid-template-columns:52px repeat(7,minmax(0,1fr));background:#fafafa;border-bottom:1px solid #f0f0f0;text-align:center;align-items:center}.modern-month-col{padding:10px 4px;font-size:13px;font-weight:700;color:#1f1f1f;border-right:1px solid #f0f0f0;display:flex;flex-direction:column;align-items:center;justify-content:center}.modern-day-col{padding:8px 4px;border-right:1px solid #f0f0f0;display:flex;flex-direction:column;align-items:center;gap:2px;transition:background .2s}.modern-day-col:last-child{border-right:none}.modern-day-name{font-size:12px;color:#8c8c8c}.modern-day-badge{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#262626;transition:all .2s}.modern-day-badge.today{background:#1677ff;color:#fff;box-shadow:0 2px 6px #1677ff59}.modern-day-badge.selected{border:2px solid #1677ff;color:#1677ff}.modern-grid-body{display:grid;grid-template-columns:52px repeat(7,minmax(0,1fr));position:relative;background:#fff}.modern-period-col{border-right:1px solid #f0f0f0;background:#fafafa}.modern-period-cell{height:64px;border-bottom:1px solid #f0f0f0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px 4px}.modern-period-num{font-size:13px;font-weight:700;color:#262626;line-height:1}.modern-period-time{font-size:10px;color:#8c8c8c;line-height:1.1;margin-top:3px;text-align:center;transform:scale(.9)}.modern-day-track{border-right:1px solid #f0f0f0;position:relative;display:flex;flex-direction:column}.modern-day-track:last-child{border-right:none}.modern-slot-cell{height:64px;border-bottom:1px solid #f0f0f0;position:relative}.modern-course-card{position:absolute;left:3px;right:3px;border-radius:8px;padding:6px 8px;cursor:pointer;z-index:2;box-shadow:0 2px 6px #0000000a;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border:1px solid transparent}.modern-course-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000014;z-index:5}.modern-course-title{font-size:12px;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.modern-course-meta{font-size:11px;line-height:1.3;margin-top:4px;opacity:.9;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.modern-course-card.not-this-week{opacity:.6;filter:grayscale(15%);border:1px dashed #d9d9d9!important;background:#fbfbfb!important;box-shadow:none}.modern-course-card.not-this-week .modern-course-title{color:#595959!important}.modern-course-card.not-this-week .modern-course-meta{color:#8c8c8c!important}@keyframes pulse-glow{0%{box-shadow:0 0 #1677ff99}70%{box-shadow:0 0 0 8px #1677ff00}to{box-shadow:0 0 #1677ff00}}.modern-course-card.current-active-class{border:2px solid #1677ff!important;box-shadow:0 4px 16px #1677ff59!important;animation:pulse-glow 2s infinite ease-in-out;z-index:10!important}.modern-course-card.next-upcoming-class{border:2px dashed #fa8c16!important;box-shadow:0 2px 10px #fa8c1640!important;z-index:8!important}.active-course-badge{display:inline-flex;align-items:center;gap:4px;background:#1677ff;color:#fff;padding:1px 6px;border-radius:10px;font-size:10px;font-weight:700;margin-bottom:4px;width:fit-content}.upcoming-course-badge{display:inline-flex;align-items:center;gap:4px;background:#fa8c16;color:#fff;padding:1px 6px;border-radius:10px;font-size:10px;font-weight:700;margin-bottom:4px;width:fit-content}.today-live-tracker-bar{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,#e6f4ff,#f0f5ff);border:1px solid #91caff;border-radius:8px;padding:8px 16px;margin:10px 16px 0;font-size:13px;color:#0958d9}.course-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.course-detail-title{font-size:20px;font-weight:700;color:#1f1f1f;margin:0;flex:1;padding-right:16px}.course-detail-actions{display:flex;align-items:center;gap:12px}.course-detail-action-icon{font-size:18px;cursor:pointer;padding:6px;border-radius:6px;transition:all .2s}.course-detail-action-icon:hover{background:#f0f0f0}.course-detail-item{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fafafa;border-radius:10px;margin-bottom:12px}.course-detail-icon-wrap{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px}.course-detail-text{font-size:15px;font-weight:500;color:#262626}.timetable-tools-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 8px;margin-top:16px}.timetable-tool-item{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;padding:8px 4px;border-radius:8px;transition:all .2s}.timetable-tool-item:hover{background:#f5f5f5;transform:translateY(-2px)}.timetable-tool-icon-circle{width:44px;height:44px;border-radius:50%;background:#f0f2f5;display:flex;align-items:center;justify-content:center;font-size:20px;color:#434343;transition:all .2s}.timetable-tool-item:hover .timetable-tool-icon-circle{background:#e6f4ff;color:#1677ff}.timetable-tool-label{font-size:12px;color:#595959;text-align:center}.week-pill-slider{display:flex;gap:8px;overflow-x:auto;padding:8px 2px;scrollbar-width:thin}.week-pill-slider::-webkit-scrollbar{height:4px}.week-pill-slider::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:4px}.week-pill-item{flex-shrink:0;padding:6px 14px;border-radius:16px;font-size:13px;font-weight:500;background:#f5f5f5;color:#595959;cursor:pointer;transition:all .2s;border:1px solid transparent}.week-pill-item:hover{background:#e6f4ff;color:#1677ff}.week-pill-item.active{background:#1677ff;color:#fff;box-shadow:0 2px 8px #1677ff4d}.slice-matrix-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.slice-matrix-card{padding:10px 12px;border-radius:8px;border:1px solid #e8e8e8;background:#fff;display:flex;flex-direction:column;gap:4px;transition:all .2s}.slice-matrix-card.has-data{border-color:#b7eb8f;background:#f6ffed}.slice-matrix-card.empty{border-color:#ffd591;background:#fffbe6}.university-timetable-container{background:#fff;border-radius:12px;border:1px solid #f0f0f0;box-shadow:0 2px 12px #00000008;overflow:hidden}.university-timetable-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.university-th{padding:14px 8px;text-align:center;font-size:14px;font-weight:600;color:#262626;background:#fafafa;border-bottom:1px solid #f0f0f0;border-right:1px solid #f0f0f0}.university-th:last-child{border-right:none}.university-th.today-header{color:#fa8c16!important;font-weight:700;background:#fffbe6!important}.university-slot-label-col{width:120px;padding:16px 8px;text-align:center;background:#fafafa;border-bottom:1px solid #f0f0f0;border-right:1px solid #f0f0f0}.university-slot-title{font-size:14px;font-weight:700;color:#262626;margin-bottom:4px}.university-slot-time{font-size:11px;color:#8c8c8c;font-family:monospace}.university-slot-cell{padding:6px;min-height:90px;height:90px;vertical-align:top;border-bottom:1px solid #f0f0f0;border-right:1px solid #f0f0f0;position:relative;transition:background .2s}.university-slot-cell:last-child{border-right:none}.university-slot-cell.today-col{background:#fffdfa}.university-course-card{border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 4px #0000000a;border:1px solid #d9d9d9;height:100%;box-sizing:border-box}.university-course-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.university-course-card.today-highlight{border:2px solid #fa8c16!important;box-shadow:0 2px 10px #fa8c1647!important}.university-course-name{font-size:13px;font-weight:700;color:#1f1f1f;line-height:1.35;margin-bottom:2px}.university-course-teacher,.university-course-location{font-size:12px;color:#595959;display:flex;align-items:center;gap:4px}.linear-shift-duty-card{border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:5px;cursor:pointer;background:linear-gradient(135deg,#5e6ad214,#5e6ad205);border:1px solid rgba(94,106,210,.28);box-shadow:0 1px 3px #00000008,0 2px 6px #5e6ad20f;transition:all .2s cubic-bezier(.16,1,.3,1);box-sizing:border-box;text-align:left;position:relative;overflow:hidden}.linear-shift-duty-card:hover{transform:translateY(-2px);border-color:#5e6ad2;box-shadow:0 4px 14px #5e6ad229}.linear-shift-duty-card.maint-shift{background:linear-gradient(135deg,#10b98114,#10b98105);border-color:#10b9814d}.linear-shift-duty-card.maint-shift:hover{border-color:#10b981;box-shadow:0 4px 14px #10b98129}.linear-shift-duty-card.night-shift{background:linear-gradient(135deg,#5e6ad217,#5e6ad208);border-color:#5e6ad252}.linear-shift-duty-card.morning-shift{background:linear-gradient(135deg,#ea580c14,#ea580c05);border-color:#ea580c52}.linear-list-item-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;transition:transform .2s cubic-bezier(.16,1,.3,1),border-color .15s ease,box-shadow .2s ease,background-color .15s ease;box-shadow:0 1px 3px #00000005}.linear-list-item-card:hover{transform:translate(3px);border-color:#cbd5e1;box-shadow:0 4px 12px #0000000f}.calendar-mini-select.ant-select-sm .ant-select-selector{padding:0 4px!important}.calendar-mini-select .ant-select-selection-item{padding-inline-end:0!important;padding-right:0!important;text-align:center!important;font-size:11px!important;font-weight:700!important;line-height:22px!important;overflow:visible!important}.calendar-mini-select .ant-select-arrow{display:none!important}
