@import"https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700&display=swap";:root{--background: #f6f7f9;--surface: #ffffff;--surface-hover: #f8f9fc;--border: #e3e6ec;--text-primary: #1d2433;--text-secondary: #687083;--accent: #4f5fc7;--accent-subtle: #eef0ff;--danger: #c24150;--danger-subtle: #fff0f1;--warning: #9a6700;--header-background: rgb(255 255 255 / .9);--field-placeholder: #8e95a3;--border-strong: #bdc3d1;--scrollbar: #cbd0da;--track: #e9ebf0;--grid-line: #eef0f3;--muted-icon: #a3a9b6;--skeleton-start: #f1f2f5;--skeleton-middle: #fafafa;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--shadow-sm: 0 1px 2px rgb(16 24 40 / .04);--shadow-lg: 0 18px 50px rgb(20 27 45 / .14)}:root[data-theme=dark]{color-scheme:dark;--background: #11141b;--surface: #191d27;--surface-hover: #222735;--border: #303747;--text-primary: #edf0f7;--text-secondary: #a6aec0;--accent: #8d9bff;--accent-subtle: #292f51;--danger: #ff8b99;--danger-subtle: #43252d;--warning: #f1c76b;--header-background: rgb(25 29 39 / .9);--field-placeholder: #858ea2;--border-strong: #4b556b;--scrollbar: #465066;--track: #303747;--grid-line: #262c39;--muted-icon: #727d93;--skeleton-start: #222735;--skeleton-middle: #2b3140;--shadow-sm: 0 1px 2px rgb(0 0 0 / .2);--shadow-lg: 0 18px 50px rgb(0 0 0 / .45)}:root[data-theme=dark] .calendar-lesson.ghost{color:#d9deff;background:#292f51eb}:root[data-theme=dark] .calendar-lesson.ghost span{color:#abb4ee}:root[data-theme=dark] .calendar-lesson.conflict-preview{color:#ffd7dc;background:#43252df0}:root[data-theme=dark] .calendar-lesson.conflict-preview span{color:#f2a7b0}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:var(--background);color:var(--text-primary);font-family:Vazirmatn,sans-serif;-webkit-font-smoothing:antialiased;transition:background-color .2s,color .2s}button,input{font:inherit}button{color:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid rgb(79 95 199 / .25);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{min-height:100vh;display:flex;flex-direction:column}.header{height:64px;flex:0 0 64px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,3vw);background:var(--header-background);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:30}.theme-toggle{flex:0 0 auto}.logo,.header-actions,.plan-summary{display:flex;align-items:center}.logo{gap:var(--space-3)}.logo img{width:36px;height:36px;object-fit:contain}.logo div{display:flex;align-items:baseline;gap:var(--space-2)}.logo strong{font-size:1.05rem}.logo span{color:var(--text-secondary);font-size:.8rem}.header-actions{gap:var(--space-3)}.plan-summary{gap:var(--space-3);padding:.45rem .75rem;color:var(--text-secondary);background:var(--background);border:1px solid var(--border);border-radius:999px;font-size:.78rem}.plan-summary strong{color:var(--text-primary)}.summary-divider{width:1px;height:16px;background:var(--border)}.browser-trigger{display:none;align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.main{--day-row-height: clamp(76px, 9.5vh, 92px);--workspace-height: calc(113px + var(--day-row-height) * 6);width:100%;flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 330px;grid-template-rows:var(--workspace-height);align-content:start;gap:var(--space-4);padding:var(--space-4) max(16px,2vw);direction:ltr}.sidebar,.plan{height:var(--workspace-height);direction:rtl;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.sidebar{grid-column:2;grid-row:1;display:flex;min-height:0;flex-direction:column;position:relative}.plan{grid-column:1;grid-row:1;min-width:0}.sidebar-header,.plan-header,.dialog-header{display:flex;align-items:center;justify-content:space-between}.sidebar-header{padding:var(--space-5) var(--space-5) var(--space-3)}.eyebrow{display:block;margin-bottom:2px;color:var(--accent);font-size:.7rem;font-weight:700;letter-spacing:.02em}h1,h2{margin:0;font-size:1.08rem;line-height:1.5}.icon-button{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:1.25rem}.icon-button:hover{background:var(--surface-hover)}.sidebar-close{display:none}.sidebar-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 var(--space-5) var(--space-3);padding:4px;border-radius:var(--radius-sm);background:var(--background)}.sidebar-tabs button{min-width:0;min-height:38px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 var(--space-2);border:0;border-radius:6px;color:var(--text-secondary);background:transparent;font-size:.74rem;transition:color .15s,background-color .15s,box-shadow .15s}.sidebar-tabs button[aria-selected=true]{color:var(--accent);background:var(--surface);box-shadow:var(--shadow-sm);font-weight:700}.sidebar-tabs button svg{flex:0 0 auto;font-size:1rem}.tab-count{min-width:20px;padding:1px 5px;border-radius:999px;color:var(--text-secondary);background:var(--border);font-size:.62rem;line-height:1.5}.sidebar-tabs button[aria-selected=true] .tab-count{color:var(--accent);background:var(--accent-subtle)}.sidebar-panel{min-height:0;flex:1;display:flex;flex-direction:column}.sidebar-panel[hidden]{display:none}.plan-lessons-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.plan-lessons-toolbar>div{min-width:0;display:flex;flex-direction:column}.plan-lessons-toolbar strong{font-size:.74rem}.plan-lessons-toolbar span{overflow:hidden;margin-top:2px;color:var(--text-secondary);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.refresh-lessons{flex:0 0 auto;min-height:34px;display:flex;align-items:center;gap:5px;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--accent);background:var(--surface);font-size:.68rem;font-weight:600}.refresh-lessons:hover:not(:disabled){border-color:var(--accent);background:var(--accent-subtle)}.refresh-lessons:disabled{cursor:not-allowed;opacity:.55}.refresh-lessons svg{font-size:1rem}.refresh-lessons .spinning{animation:spin .8s linear infinite}.plan-lesson-item{flex:0 0 auto}.lesson-card.has-update{border-color:#d69e2e;background:#fff9e8}.lesson-card.has-conflicting-update{border-color:var(--danger);background:var(--danger-subtle)}:root[data-theme=dark] .lesson-card.has-update{background:#382f1f}.lesson-update-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:6px var(--space-2) 0;color:var(--warning);font-size:.62rem}.has-conflicting-update+.lesson-update-actions{color:var(--danger)}.lesson-update-actions span{line-height:1.6}.lesson-update-actions button{flex:0 0 auto;min-height:30px;display:flex;align-items:center;gap:3px;padding:0 var(--space-2);border:0;border-radius:6px;color:#fff;background:var(--accent);font-size:.62rem}@keyframes spin{to{transform:rotate(-360deg)}}.browser-controls{display:grid;gap:var(--space-2);padding:0 var(--space-5) var(--space-4);border-bottom:1px solid var(--border)}.browser-controls>.control-label{color:var(--text-secondary);font-size:.74rem;font-weight:600}.search-field{width:100%;min-height:42px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .15s,box-shadow .15s}.search-field{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);color:var(--text-secondary)}.search-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.search-field input{width:100%;height:40px;padding:0;border:0;outline:0;background:transparent;color:var(--text-primary);font-size:.82rem}.search-field input::placeholder{color:var(--field-placeholder)}.custom-select{width:100%;position:relative;color:var(--text-primary)}.custom-select-trigger{width:100%;height:42px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);text-align:right;transition:border-color .15s,box-shadow .15s,background-color .15s}.custom-select-trigger:hover{border-color:var(--border-strong);background:var(--surface-hover)}.custom-select.open .custom-select-trigger{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.custom-select-trigger>span{min-width:0;overflow:hidden;font-size:.8rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.custom-select-trigger .placeholder{color:var(--field-placeholder);font-weight:400}.custom-select-trigger svg{flex:0 0 auto;color:var(--text-secondary);font-size:1.2rem;transition:transform .15s}.custom-select.open .custom-select-trigger svg{transform:rotate(180deg)}.custom-select-menu{width:100%;max-height:260px;position:absolute;top:calc(100% + 6px);right:0;z-index:40;overflow-y:auto;padding:5px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:select-menu-in .12s ease-out;scrollbar-width:thin}.custom-select-option{width:100%;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:6px var(--space-2);border:0;border-radius:7px;background:transparent;color:var(--text-primary);text-align:right;font-size:.76rem}.custom-select-option:hover,.custom-select-option.highlighted{background:var(--surface-hover)}.custom-select-option[aria-selected=true]{color:var(--accent);background:var(--accent-subtle);font-weight:600}.custom-select-option svg{flex:0 0 auto}@keyframes select-menu-in{0%{opacity:0;transform:translateY(-4px)}}.lesson-list-heading{display:flex;justify-content:space-between;padding:var(--space-3) var(--space-5) var(--space-2);color:var(--text-secondary);font-size:.72rem;font-weight:600}.sidebar .lessons{flex:1;display:flex;flex-direction:column;gap:var(--space-2);overflow-y:auto;overscroll-behavior:contain;padding:var(--space-1) var(--space-3) var(--space-5);scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent}.lesson-card{flex:0 0 auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);transition:border-color .16s,background-color .16s,box-shadow .16s,opacity .16s}.lesson-card:hover,.lesson-card:focus-within{border-color:var(--border-strong);background:var(--surface-hover);box-shadow:0 4px 14px #141b2d0f}.lesson-card.selected{border-color:var(--accent);background:var(--accent-subtle)}.lesson-card.conflicting{border-color:#f0c9cd;background:var(--danger-subtle);opacity:.72}.lesson-card.conflicting:hover,.lesson-card.conflicting:focus-within{opacity:1;border-color:#dda1a8}.lesson-card-button{width:100%;display:grid;grid-template-columns:1fr auto;gap:var(--space-2);padding:var(--space-3);text-align:right;border:0;background:transparent}.lesson-card-button[aria-disabled=true]{cursor:not-allowed}.copy-lesson-code{min-height:28px;display:flex;align-items:center;gap:4px;margin:0 var(--space-3) var(--space-2);padding:0 6px;border:0;border-radius:6px;color:var(--text-secondary);background:transparent;font-size:.62rem}.copy-lesson-code:hover{color:var(--accent);background:var(--accent-subtle)}.copy-lesson-code svg{font-size:.82rem}.lesson-card-main{min-width:0;display:flex;flex-direction:column}.lesson-card-main strong{overflow:hidden;color:var(--text-primary);font-size:.86rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.lesson-card-main>span{overflow:hidden;margin-top:2px;color:var(--text-secondary);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.lesson-state-icon{width:27px;height:27px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--text-secondary);background:var(--surface)}.selected .lesson-state-icon{border-color:var(--accent);color:#fff;background:var(--accent)}.conflicting .lesson-state-icon{border-color:#efb8bf;color:var(--danger);background:var(--danger-subtle)}.lesson-card-meta{grid-column:1 / -1;display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:.66rem}.lesson-card-meta>span{padding-inline-end:var(--space-2);border-inline-end:1px solid var(--border)}.lesson-card-meta>span:last-child{padding-inline-end:0;border:0}.lesson-card-meta .state-label{margin-inline-start:auto;color:var(--accent);font-weight:600}.conflicting .state-label{color:var(--danger)}.lesson-details{padding:var(--space-4);overflow-y:auto}.mobile-details-slot{height:148px;flex:0 0 148px;display:block;overflow-y:auto;background:var(--surface-hover);border-bottom:1px solid var(--border)}.mobile-details-slot .lesson-details{padding:var(--space-3)}.mobile-details-slot .browser-message{min-height:146px;padding:var(--space-3)}.mobile-details-slot .browser-message svg{display:none}.mobile-details-slot .browser-message span{margin-top:2px;line-height:1.6}.mobile-details-slot .details-grid{margin-block:var(--space-2)}.capacity-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-2);font-size:.7rem}.capacity-row>span:first-child{color:var(--text-secondary)}.capacity-track{grid-column:1/-1;height:5px;overflow:hidden;background:var(--track);border-radius:999px}.capacity-track span{display:block;height:100%;background:var(--accent);border-radius:inherit}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin:var(--space-4) 0}.details-grid div{min-width:0}.details-grid dt{display:flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:.64rem}.details-grid dd{overflow-wrap:anywhere;margin:3px 0 0;color:var(--text-primary);font-size:.7rem}.details-note{padding:var(--space-2);border-radius:var(--radius-sm);background:var(--background)}.details-note+.details-note{margin-top:var(--space-2)}.details-note strong{display:flex;align-items:center;gap:4px;font-size:.67rem}.details-note p{margin:4px 0 0;color:var(--text-secondary);font-size:.67rem;line-height:1.8}.browser-message{flex:1;min-height:220px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:var(--space-6);color:var(--text-secondary);text-align:center}.browser-message svg{margin-bottom:var(--space-3);color:var(--muted-icon);font-size:2rem}.browser-message strong{color:var(--text-primary);font-size:.85rem}.browser-message span{max-width:230px;margin-top:var(--space-2);font-size:.72rem;line-height:1.8}.lesson-skeleton{height:84px;flex:0 0 auto;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--skeleton-start) 25%,var(--skeleton-middle) 50%,var(--skeleton-start) 75%);background-size:200% 100%;animation:shimmer 1.3s infinite}@keyframes shimmer{to{background-position:-200% 0}}.plan-header{min-height:73px;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.plan-header{gap:var(--space-4)}.plan-header>div:first-child{flex:0 0 auto}.plan-view-switch{flex:0 0 auto;display:flex;gap:3px;padding:3px;border:1px solid var(--border);border-radius:10px;background:var(--background)}.plan-view-switch button{height:32px;display:flex;align-items:center;gap:5px;padding:0 9px;border:0;border-radius:7px;color:var(--text-secondary);background:transparent;font-size:.68rem;transition:color .15s,background-color .15s,box-shadow .15s}.plan-view-switch button[aria-selected=true]{color:var(--accent);background:var(--surface);box-shadow:0 1px 4px #141b2d17;font-weight:700}.plan-view-switch svg{font-size:.95rem}.plan-tabs{min-width:0;flex:1;display:flex;align-items:center;gap:5px;overflow-x:auto;padding:3px;direction:rtl;scrollbar-width:thin}.plan-tab{flex:0 0 auto;display:flex;align-items:center;height:34px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-hover);transition:border-color .15s,background-color .15s}.plan-tab.active{border-color:#bdc4f4;background:var(--accent-subtle)}.plan-tab>button{height:28px;padding:0 var(--space-2);border:0;background:transparent;color:var(--text-secondary);font-size:.7rem;white-space:nowrap}.plan-tab.active>button:first-child{color:var(--accent);font-weight:700}.plan-tab .remove-plan{width:26px;display:grid;place-items:center;padding:0;border-radius:6px}.plan-tab .remove-plan:hover{color:var(--danger);background:var(--danger-subtle)}.add-plan{height:34px;flex:0 0 auto;display:flex;align-items:center;gap:4px;padding:0 var(--space-2);border:1px dashed #b8bfd0;border-radius:var(--radius-sm);color:var(--text-secondary);background:transparent;font-size:.68rem;white-space:nowrap}.add-plan:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.legend{display:flex;align-items:center;gap:var(--space-4);color:var(--text-secondary);font-size:.68rem}.legend span{display:flex;align-items:center;gap:5px;white-space:nowrap}.legend i{width:9px;height:9px;border-radius:3px}.selected-dot{background:var(--accent)}.preview-dot{border:1px dashed var(--accent);background:var(--accent-subtle)}.conflict-dot{border:1px dashed var(--danger);background:var(--danger-subtle)}.calendar-scroll{max-width:100%;overflow-x:auto;scrollbar-width:thin}.calendar{min-width:850px;display:grid;grid-template-columns:92px minmax(756px,1fr);grid-template-rows:40px calc(var(--day-row-height) * 6);direction:rtl}.calendar-corner{grid-column:1;grid-row:1;display:grid;place-items:center;position:sticky;right:0;z-index:4;color:var(--text-secondary);background:var(--surface-hover);border-bottom:1px solid var(--border);border-left:1px solid var(--border);font-size:.66rem}.hours-bar{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(24,1fr);direction:ltr;background:var(--surface-hover);border-bottom:1px solid var(--border)}.hours-bar span{display:flex;align-items:center;justify-content:flex-start;padding-left:5px;color:var(--text-secondary);border-left:1px solid var(--border);font-size:.66rem}.day-bar{grid-column:1;grid-row:2;display:grid;grid-template-rows:repeat(6,var(--day-row-height));position:sticky;right:0;z-index:3;background:var(--surface);border-left:1px solid var(--border)}.day-bar span{display:grid;place-items:center;color:var(--text-secondary);border-bottom:1px solid var(--border);font-size:.72rem;font-weight:600}.calendar-grid{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(24,minmax(30px,1fr));grid-template-rows:repeat(6,var(--day-row-height));direction:ltr;position:relative;background-color:var(--surface);background-image:linear-gradient(to bottom,transparent calc(var(--day-row-height) - 1px),var(--border) calc(var(--day-row-height) - 1px)),linear-gradient(to right,transparent calc(100% - 1px),var(--grid-line) calc(100% - 1px)),linear-gradient(to right,transparent calc(100% - 1px),var(--border) calc(100% - 1px));background-size:100% var(--day-row-height),calc(100% / 24) 100%,calc(100% / 12) 100%}.calendar-lesson{min-width:0;margin:6px 3px;z-index:2;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;overflow:hidden;padding:7px 9px;direction:rtl;text-align:right;border:1px solid #414fae;border-radius:var(--radius-sm);color:#fff;background:var(--accent);box-shadow:0 2px 5px #3b47a02e;transition:transform .14s,box-shadow .14s,opacity .14s}.calendar-lesson:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 10px #3b47a040}.calendar-lesson strong{width:100%;overflow:hidden;font-size:.72rem;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.calendar-lesson span{width:100%;overflow:hidden;margin-top:2px;color:#ffffffbf;font-size:.6rem;text-overflow:ellipsis;white-space:nowrap}.calendar-lesson.ghost{border:2px dashed var(--accent);color:#35439f;background:#eef0ffd9;box-shadow:none;animation:preview-in .14s ease-out}.calendar-lesson.ghost span{color:#6670ae}.calendar-lesson.conflict-preview{border-color:var(--danger);color:#9f303e;background:#fff0f1e6;background-image:repeating-linear-gradient(135deg,transparent,transparent 7px,rgb(194 65 80 / .07) 7px,rgb(194 65 80 / .07) 14px)}.calendar-lesson.conflict-preview span{color:#a65a64}.calendar-lesson em{font-size:.58rem;font-style:normal;font-weight:700}@keyframes preview-in{0%{opacity:0;transform:scale(.98)}}.calendar-empty{grid-column:1/-1;grid-row:1/-1;align-self:center;justify-self:center;display:flex;align-items:center;flex-direction:column;direction:rtl;color:var(--text-secondary);pointer-events:none}.calendar-empty svg{margin-bottom:var(--space-3);color:#b2b7c3;font-size:2rem}.calendar-empty strong{color:var(--text-primary);font-size:.86rem}.calendar-empty span{margin-top:4px;font-size:.7rem}.exam-view{height:calc(var(--workspace-height) - 73px);overflow-y:auto;background:linear-gradient(180deg,var(--surface-hover),var(--surface) 220px);scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent}.exam-board{width:min(880px,100%);margin:0 auto;padding:var(--space-5)}.exam-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-bottom:var(--space-6)}.exam-summary>div{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm)}.exam-summary span{color:var(--text-secondary);font-size:.68rem}.exam-summary strong{color:var(--accent);font-size:1.15rem}.exam-summary .summary-conflict{border-color:#e6b1b7;background:var(--danger-subtle)}.exam-summary .summary-conflict strong{color:var(--danger)}.exam-timeline{position:relative}.exam-timeline:before{content:"";width:2px;position:absolute;top:28px;bottom:28px;right:27px;background:linear-gradient(var(--accent),var(--border))}.exam-day{display:grid;grid-template-columns:56px 1fr;gap:var(--space-4);position:relative;padding-bottom:var(--space-5)}.exam-date-badge{width:56px;height:56px;z-index:1;display:flex;align-items:center;justify-content:center;flex-direction:column;border:2px solid var(--accent);border-radius:18px;color:#fff;background:var(--accent);box-shadow:0 5px 14px #4f5fc733}.exam-date-badge strong{font-size:1.05rem;line-height:1.15}.exam-date-badge span{font-size:.6rem}.exam-day-content{min-width:0}.exam-day-content h3{margin:3px 0 var(--space-2);color:var(--text-secondary);font-size:.72rem;font-weight:600}.exam-cards{display:grid;gap:var(--space-2)}.exam-card{min-height:66px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm)}.exam-card.conflict{border-color:#e6b1b7;background:var(--danger-subtle)}.exam-time{display:flex;align-items:center;gap:5px;color:var(--accent);direction:ltr}.exam-time svg{flex:0 0 auto}.exam-time strong{font-size:.78rem}.exam-course{min-width:0;display:flex;flex-direction:column}.exam-course>strong{overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.exam-course>span{overflow:hidden;margin-top:3px;color:var(--text-secondary);font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.exam-conflict{display:flex;align-items:center;gap:3px;padding:4px 7px;border-radius:999px;color:var(--danger);background:var(--surface);font-size:.62rem;font-weight:700}.undated-exams{margin-right:72px;padding:var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-hover)}.undated-heading{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.undated-heading>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:var(--text-secondary);background:var(--surface);font-size:1.15rem}.undated-heading div{display:flex;flex-direction:column}.undated-heading strong{font-size:.76rem}.undated-heading small{margin-top:2px;color:var(--text-secondary);font-size:.62rem}.undated-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.undated-list>div{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:8px var(--space-3);border-radius:var(--radius-sm);background:var(--surface)}.undated-list strong{overflow:hidden;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.undated-list span{flex:0 0 auto;color:var(--text-secondary);font-size:.6rem}.exam-empty{min-height:420px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--text-secondary);text-align:center}.exam-empty.compact{min-height:180px}.exam-empty svg{margin-bottom:var(--space-3);color:var(--muted-icon);font-size:2.3rem}.exam-empty strong{color:var(--text-primary);font-size:.86rem}.exam-empty span{max-width:280px;margin-top:4px;font-size:.7rem;line-height:1.8}.dialog{width:min(560px,calc(100vw - 32px));max-height:min(700px,calc(100vh - 32px));padding:0;overflow:hidden;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.dialog[open]{animation:dialog-in .16s ease-out}.dialog::backdrop{background:#1d243352;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.99)}}.dialog-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.dialog-body{display:grid;gap:var(--space-3);max-height:540px;overflow-y:auto;padding:var(--space-4)}.schedule{padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.schedule.new-schedule{border-style:dashed;background:var(--surface-hover)}.schedule-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3);font-size:.78rem}.del{width:32px;height:32px;display:grid;place-items:center;padding:0;border:0;border-radius:var(--radius-sm);color:var(--danger);background:var(--danger-subtle)}.times{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--space-2)}.times label{display:grid;gap:4px;color:var(--text-secondary);font-size:.68rem}.times input{min-width:0;width:100%;height:42px;padding:0 var(--space-2);color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.schedule-action{min-height:38px;display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;margin-top:var(--space-3);border:0;border-radius:var(--radius-sm);color:#fff;background:var(--accent)}.footer{padding:0 24px 12px;color:#9aa0ad;text-align:center;font-size:.65rem;direction:ltr}.footer del{text-decoration-thickness:2px;text-decoration-color:var(--danger)}.sidebar-backdrop{display:none}@media (min-width: 1600px){.main{grid-template-columns:minmax(0,1fr) 390px}.mobile-details-slot{height:205px;flex-basis:205px}.mobile-details-slot .browser-message{min-height:203px}}@media (max-width: 1100px){.main{display:block}.plan{width:100%}.browser-trigger,.sidebar-close{display:flex}.sidebar{width:min(340px,calc(100vw - 32px));height:calc(100dvh - 32px);min-height:0;max-height:none;position:fixed;top:16px;right:16px;z-index:60;transform:translate(calc(100% + 32px));box-shadow:var(--shadow-lg);transition:transform .22s ease}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:50;visibility:hidden;opacity:0;border:0;background:#1d24334d;cursor:default;transition:opacity .2s,visibility 0s .2s}.sidebar-backdrop.visible{visibility:visible;opacity:1;transition-delay:0s}.mobile-details-slot{height:148px;flex-basis:148px}.plan-header .legend{display:none}}@media (max-width: 800px){.plan-view-switch button span{display:none}.plan-view-switch button{width:32px;justify-content:center;padding:0}.exam-board{padding:var(--space-3)}.exam-summary{gap:var(--space-2)}.exam-summary>div{align-items:flex-start;flex-direction:column;padding:var(--space-2) var(--space-3)}}@media (max-width: 640px){.header{height:58px;flex-basis:58px;padding-inline:14px}.logo img{width:32px;height:32px}.logo div{display:block}.logo strong{display:block;font-size:.9rem}.logo span{display:block;font-size:.62rem}.plan-summary,.browser-trigger span{display:none}.browser-trigger{width:40px;justify-content:center;padding:0}.main{padding:var(--space-2)}.plan-header{min-height:68px;padding:var(--space-3)}.plan-header>div:first-child{display:none}.add-plan span{display:none}.legend{gap:var(--space-2)}.legend span{font-size:.58rem}.calendar{grid-template-columns:76px minmax(756px,1fr)}.footer{padding-bottom:8px}.dialog-body{padding:var(--space-3)}.times{grid-template-columns:1fr 1fr}.times label:first-child{grid-column:1/-1}.exam-view{height:calc(var(--workspace-height) - 68px)}.exam-summary span{font-size:.58rem}.exam-summary strong{font-size:.95rem}.exam-day{grid-template-columns:46px 1fr;gap:var(--space-2)}.exam-date-badge{width:46px;height:46px;border-radius:14px}.exam-timeline:before{right:22px}.exam-card{grid-template-columns:60px minmax(0,1fr);gap:var(--space-2);padding:var(--space-3)}.exam-conflict{grid-column:1 / -1;width:max-content}.undated-exams{margin-right:54px}.undated-list{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
