[x-cloak]{display:none!important}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.lesson-content p{margin:0;line-height:1.4}.lesson-content h1,.lesson-content h2,.lesson-content h3{margin:0;font-weight:600;line-height:1.25}.lesson-content h1{font-size:2em}.lesson-content h2{font-size:1.5em}.lesson-content h3{font-size:1.17em}.lesson-content ul,.lesson-content ol{margin:0;padding-left:1.25rem;line-height:1.4}.lesson-content li{margin:0}.lesson-content strong,.lesson-content b,.lesson-content strong{font-weight:600}.lesson-content em{font-style:italic}.lesson-content blockquote{border-left:3px solid #94a3b873;margin:0;padding-left:.75rem}.lesson-content pre,.lesson-content code{white-space:pre-wrap}.event-card .lesson-content,.event-card .text-xs{line-height:1.45;font-size:.8rem!important}.lesson-content a{color:#2563eb;cursor:pointer;text-decoration:underline}.lesson-content a:hover{color:#1d4ed8}.event-card .lesson-content a{pointer-events:none;cursor:default;color:inherit;-webkit-text-decoration:underline #00000040;text-decoration:underline #00000040}.event-card{transition:transform .15s,box-shadow .15s}.event-card:hover{transform:translateY(-2px)}.planner-accent-header{background-color:var(--accent-color,transparent)}.dark .planner-accent-header{background-color:var(--accent-color-dark,var(--accent-color,transparent))}.planner-accent-border-left{border-left-color:var(--accent-color,currentColor)!important}.dark .planner-accent-border-left{border-left-color:var(--accent-color-dark,var(--accent-color,currentColor))!important}.week-drag-preview{transform-origin:0 0;border-radius:.75rem;overflow:hidden;transition:none!important;animation:none!important;box-shadow:0 18px 40px #0f172a38!important}.week-drag-preview:hover{transform:none!important}.week-drag-preview .btn,.week-drag-preview button{visibility:hidden}.week-drag-handle{touch-action:none;-webkit-user-select:none;user-select:none}@media (hover:none),(pointer:coarse){.schedule-sidebar-cog{opacity:1!important}.schedule-block-delete{display:flex!important}}.week-board{align-items:stretch}.schedule-header{z-index:30;background-color:#fff;align-items:center;transition:padding .18s,gap .18s,margin-bottom .18s;position:sticky;top:0}.dark .schedule-header{background-color:#0f172a}.schedule-header__title{flex-direction:column;flex:18rem;justify-content:center;min-height:4.5rem;transition:min-height .18s,flex-basis .18s;display:flex}.schedule-header__controls{justify-content:flex-end}.planner-is-scrolled .schedule-header{gap:.5rem;margin-bottom:.5rem;padding:.5rem .75rem}.planner-is-scrolled .schedule-header__title{flex-direction:row;flex-basis:14rem;justify-content:flex-start;align-items:baseline;gap:.5rem;min-height:0}.planner-is-scrolled .schedule-header__eyebrow{display:none}.planner-is-scrolled .schedule-header__semester{font-size:1rem;line-height:1.25rem}.planner-is-scrolled .schedule-header__range{white-space:nowrap;font-size:.75rem;line-height:1rem}.planner-is-scrolled .schedule-header__controls{gap:.375rem}.schedule-view-toggle{background:#fff;border:1px solid #94a3b873;border-radius:.9rem;padding:.2rem;box-shadow:0 1px 2px #0f172a0f}.dark .schedule-view-toggle{background:#0f172aeb;border-color:#475569d9;box-shadow:0 8px 24px #0206173d}.schedule-view-toggle .btn{border-radius:.7rem}.dark .schedule-view-toggle .btn.btn-ghost{color:#cbd5e1}.dark .schedule-view-toggle .btn.btn-ghost:hover{background:#334155e6}.planner-day-header-row-backdrop{top:var(--planner-sticky-toolbar-height,6.5rem);z-index:5;height:var(--planner-sticky-date-header-band-height,10rem);margin-bottom:calc(-1 * var(--planner-sticky-date-header-band-height,10rem));pointer-events:none;background:#fff;position:sticky}.planner-day-header-wrap{top:var(--planner-sticky-toolbar-offset,7.5rem);background:0 0;transition:padding-bottom .18s}.planner-day-header{transition:padding .18s}.planner-day-header__weekday,.planner-day-header__number,.planner-day-header__month{transition:font-size .18s,line-height .18s}.planner-is-scrolled .planner-day-header-wrap{padding-bottom:1rem}.planner-is-scrolled .planner-day-header{padding:.375rem .75rem}.planner-is-scrolled .planner-day-header__weekday,.planner-is-scrolled .planner-day-header__month{font-size:.6875rem;line-height:.875rem}.planner-is-scrolled .planner-day-header__number{font-size:1.375rem;line-height:1.5rem}.planner-is-scrolled .planner-day-header__badge{display:none}.dark .planner-day-header-row-backdrop{background:#020617}.dark .planner-day-header{border:1px solid #334155f2}.planner-day-header--today{color:#f8fafc;background:linear-gradient(#0f766e 0%,#155e75 100%)}.planner-day-header__badge{color:#115e59;background:#f0fdfaf5}.dark .planner-day-header--today{background:linear-gradient(#0891b2e6 0%,#155e75f2 100%);border-color:#22d3ee2e;box-shadow:0 12px 28px #082f4952}.dark .planner-day-header__badge{color:#a5f3fc;background:#082f49eb}.dark .week-event-card .lesson-content,.dark .week-event-card-body,.dark .week-event-card-empty,.dark .event-card .lesson-content,.dark .event-card .text-xs,.dark .event-card .text-sm{color:#e2e8f0}.lesson-content.rich-text-content{height:auto;padding:0;overflow:visible}.lesson-content.rich-text-content>*{cursor:inherit}.lesson-content .ql-align-center{text-align:center}.lesson-content .ql-align-right{text-align:right}.lesson-content .ql-align-justify{text-align:justify}.dark .lesson-content{color:inherit}.dark .lesson-content :where(blockquote,pre,code){background-color:#0000!important}.dark .lesson-content [style*=background-color]{color:#111827}.dark .lesson-content blockquote{border-left-color:#94a3b852}.dark .lesson-content a{color:#93c5fd}.dark .event-card .lesson-content a{color:inherit;text-decoration-color:#94a3b866}.planner-picker-panel{max-width:min(21rem,100vw - 2rem);max-height:min(24rem,100vh - 10rem)}.dark .planner-picker-panel{background:#0f172afa;border-color:#334155f2;box-shadow:0 24px 48px #02061780}.dark .lesson-export-modal .btn.btn-outline{color:#e2e8f0;background:#0f172a8c;border-color:#475569e6}.dark .lesson-export-modal .btn.btn-outline:hover{background:#1e293bf2}.planner-picker-row-active{background:linear-gradient(#2563eb1f,#2563eb12);box-shadow:inset 0 0 0 1px #2563eb2e}.dark .planner-picker-row-active{background:linear-gradient(#3b82f638,#1e40af2e);box-shadow:inset 0 0 0 1px #60a5fa52}.week-event-card--non-teaching{background:linear-gradient(#fff,#f8fafc)}.week-event-card-header--non-teaching{background:linear-gradient(#f8fafcfa,#f1f5f9fa);border-bottom:1px solid #e2e8f0e6}.week-event-card-body--non-teaching{background:linear-gradient(#fffffff5,#f8fafcf5)}.dark .week-event-card--non-teaching{background:linear-gradient(#0f172afa,#1e293bf2);border-color:#475569f2}.dark .week-event-card-header--non-teaching{background:linear-gradient(#334155f2,#1e293beb);border-bottom:1px solid #64748b8c}.dark .week-event-card-body--non-teaching{background:linear-gradient(#0f172ac7,#0f172a8c)}.lesson-assignment-modal .label-text,.lesson-assignment-modal .label-text-alt{color:inherit}.dark .lesson-assignment-modal .select,.dark .lesson-assignment-modal .input,.dark .lesson-assignment-modal .textarea,.dark .lesson-assignment-modal .btn.btn-outline,.dark .lesson-assignment-modal .btn.btn-ghost,.dark .lesson-assignment-modal .dropdown-content{border-color:#475569e6}.dark .lesson-assignment-modal .select,.dark .lesson-assignment-modal .input,.dark .lesson-assignment-modal .textarea,.dark .lesson-assignment-modal .dropdown-content{color:#e2e8f0;background:#0f172aeb}.dark .lesson-assignment-modal .btn.btn-ghost:hover,.dark .lesson-assignment-modal .btn.btn-outline:hover{background:#1e293beb}.dark .lesson-assignment-modal .btn.btn-ghost.text-error:hover{background:#7f1d1d4d}.dark .lesson-assignment-modal .dropdown-content{box-shadow:0 16px 40px #02061773}.dark .lesson-assignment-modal .lesson-content a{color:#7dd3fc}.praxi-editor{background:#fff;border:1px solid #cbd5e1;border-radius:.55rem;position:relative;overflow:visible;box-shadow:0 0 0 1px #94a3b814;min-height:0!important}.praxi-editor__toolbar{background:#f6f8fb;border-bottom:1px solid #dbe2ea;border-radius:.5rem .5rem 0 0;flex-wrap:wrap;align-items:center;gap:.15rem;min-height:4.5rem;padding:.45rem .6rem;display:flex}.praxi-editor__toolbar-group{border-right:1px solid #d5dbe3;align-items:center;gap:.05rem;margin-right:.2rem;padding-right:.35rem;display:inline-flex}.praxi-editor__toolbar-group:last-child{border-right:0;flex-basis:100%;padding-top:.15rem}.praxi-editor__button{color:#52606d;cursor:pointer;border:1px solid #0000;border-radius:.25rem;justify-content:center;align-items:center;gap:.25rem;min-width:1.8rem;height:1.8rem;padding:0 .35rem;font-size:.82rem;line-height:1;list-style:none;display:inline-flex}.praxi-editor__button::-webkit-details-marker{display:none}.praxi-editor__button:hover,.praxi-editor__button.is-active,.praxi-editor__button[aria-pressed=true]{color:#244f8f;background:#e7edf8;border-color:#b9c8df}.praxi-editor__menu{position:relative}.praxi-editor__menu-panel{z-index:90;background:#fff;border:1px solid #cbd5e1;border-radius:.35rem;min-width:9rem;padding:.35rem;position:absolute;top:calc(100% + .25rem);left:0;box-shadow:0 12px 28px #0f172a33}.praxi-editor__menu-item{color:#334155;text-align:left;white-space:nowrap;border-radius:.25rem;width:100%;padding:.45rem .55rem;display:block}.praxi-editor__menu-item:hover{background:#edf2f7}.praxi-editor__swatches{grid-template-columns:repeat(6,1.45rem);gap:.25rem;min-width:auto;display:grid}.praxi-editor__swatch{border:1px solid #94a3b8;width:1.45rem;height:1.45rem}.praxi-editor__swatch:hover{outline-offset:1px;outline:2px solid #3b82f6}.praxi-editor__swatch.is-automatic{background:linear-gradient(135deg,#fff 48%,#dc2626 49% 53%,#fff 54%);grid-column:1/-1;width:100%;position:relative}.praxi-editor__wide-menu>summary{justify-content:space-between;min-width:4.5rem}.praxi-editor__wide-menu>summary:after{content:"▾";font-size:.65rem}.praxi-editor__source-button{min-width:4.5rem}.praxi-editor__content,.praxi-editor__source{color:#111827;background:#fff;border:0;border-radius:0 0 .5rem .5rem;width:100%;min-height:11.25rem}.praxi-editor__source{resize:vertical;outline:none;padding:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;display:block}.praxi-editor__source[hidden],.praxi-editor__content[hidden]{display:none}.praxi-editor__prosemirror{outline:none;min-height:11.25rem;padding:1rem 1.15rem;font-size:.95rem;line-height:1.55}.praxi-editor__prosemirror p{min-height:1.45em;margin:0 0 .4rem}.praxi-editor__prosemirror p:last-child{margin-bottom:0}.praxi-editor__prosemirror h1,.praxi-editor__prosemirror h2,.praxi-editor__prosemirror h3{margin:.55rem 0 .35rem;font-weight:700;line-height:1.25}.praxi-editor__prosemirror h1{font-size:1.5rem}.praxi-editor__prosemirror h2{font-size:1.25rem}.praxi-editor__prosemirror h3{font-size:1.1rem}.praxi-editor__prosemirror ul,.praxi-editor__prosemirror ol{margin:.35rem 0;padding-left:1.5rem}.praxi-editor__prosemirror ul{list-style:outside}.praxi-editor__prosemirror ol{list-style:decimal}.praxi-editor__prosemirror ul[data-type=taskList]{padding-left:0;list-style:none}.praxi-editor__prosemirror li[data-type=taskItem]{align-items:flex-start;gap:.45rem;display:flex}.praxi-editor__prosemirror blockquote{color:#475569;border-left:3px solid #94a3b8;margin:.5rem 0;padding-left:.9rem}.praxi-editor__prosemirror table{border-collapse:collapse;width:100%;margin:.65rem 0}.praxi-editor__prosemirror th,.praxi-editor__prosemirror td{vertical-align:top;border:1px solid #94a3b8;min-width:2rem;padding:.4rem}.praxi-editor__prosemirror th{background:#f1f5f9;font-weight:600}.praxi-editor__prosemirror hr{border:0;border-top:1px solid #94a3b8;margin:.8rem 0}.dark .praxi-editor,.dark .praxi-editor__content,.dark .praxi-editor__source,.dark .praxi-editor__prosemirror{color:#e2e8f0;background:#020617;border-color:#475569}.dark .praxi-editor__toolbar{background:#111827;border-color:#475569}.dark .praxi-editor__toolbar-group{border-color:#475569}.dark .praxi-editor__button{color:#cbd5e1}.dark .praxi-editor__button:hover,.dark .praxi-editor__button.is-active,.dark .praxi-editor__button[aria-pressed=true]{color:#fff;background:#334155;border-color:#64748b}.dark .praxi-editor__menu-panel{background:#0f172a;border-color:#475569}.dark .praxi-editor__menu-item{color:#e2e8f0}.dark .praxi-editor__menu-item:hover,.dark .praxi-editor__prosemirror th{background:#1e293b}.dark .praxi-editor__prosemirror blockquote{color:#cbd5e1}.planner-picker-row-active button:not(:disabled){color:#1d4ed8}.planner-loading-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:linear-gradient(#ffffffdb 0%,#ffffffb8 28%,#ffffff94 58%,#ffffff6b 100%);align-items:flex-start;padding-bottom:3.75rem}.dark .planner-loading-overlay{background:linear-gradient(#020617d1 0%,#020617ad 28%,#0206178f 58%,#02061757 100%)}.month-overflow-popup--below{top:calc(100% - 1px)}.month-overflow-popup--above{bottom:calc(100% - 1px)}.month-overflow-popup{max-width:min(16rem,100vw - 2rem)}.lesson-assignment-dialog{max-height:calc(100dvh - 2rem)}.lesson-assignment-body{overscroll-behavior:contain;overflow-wrap:anywhere}.lesson-assignment-footer{padding-bottom:max(.75rem, env(safe-area-inset-bottom))}.lesson-assignment-action-menu .btn{white-space:normal;text-align:left;justify-content:flex-start;height:auto;min-height:2.75rem}@media (width<=1535px){.planner-day-header-row-backdrop{display:none}.planner-day-header-wrap{padding-bottom:.5rem;position:static}.planner-day-header{text-align:left;border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 2.75rem .75rem .75rem;display:flex}.planner-day-header__number{font-size:1.25rem;line-height:1.5rem}.planner-day-header__month{font-size:.75rem}.planner-day-header .invisible{display:none}.lesson-assignment-footer .btn,.lesson-assignment-move-controls .btn{min-height:2.75rem}}@media (width>=1024px) and (width<=1535px){.week-board{gap:.5rem}.week-board .planner-day-header{gap:.25rem .375rem;padding:.5rem 2rem .5rem .5rem}.week-board .planner-day-header__weekday{font-size:.75rem}.week-board .planner-day-header__month{font-size:.6875rem}.week-board .week-event-card-header{flex-wrap:wrap;gap:.25rem;padding:.5rem}.week-board .week-event-card-header>:first-child{flex-basis:100%}.week-board .week-event-card-header .btn{width:1.5rem;min-width:1.5rem;height:1.5rem;min-height:1.5rem;padding:0;font-size:.6875rem}.week-board .week-event-card-body,.week-board .week-event-card-empty{padding:.5rem}.week-board .event-card .text-sm{font-size:.75rem;line-height:1.35}.week-board .event-card .text-xs,.week-board .event-card .lesson-content{overflow-wrap:anywhere;line-height:1.35;font-size:.6875rem!important}.week-board .week-event-card-body>div{padding-block:.25rem}}@media (width<=639px){.schedule-header,.planner-is-scrolled .schedule-header{align-items:stretch;gap:.75rem;padding:.75rem}.schedule-header__title,.planner-is-scrolled .schedule-header__title{flex-direction:column;align-items:stretch;gap:0;min-height:0}.schedule-header__range,.planner-is-scrolled .schedule-header__range{white-space:normal}.schedule-header__controls{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.schedule-header__controls>.btn{width:100%}.schedule-view-toggle,.schedule-period-navigation{grid-column:1/-1;width:100%;display:flex}.schedule-header__controls .btn{min-height:2.75rem}.schedule-view-toggle .btn,.schedule-period-navigation .btn{flex:1 1 0;width:auto;min-width:0}.lesson-assignment-dialog{border:0;border-radius:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0}.lesson-assignment-move-controls{width:100%;display:flex}.lesson-assignment-move-controls .btn{flex:1 1 0;min-width:0;padding-inline:.5rem}.lesson-assignment-modal .input,.lesson-assignment-modal .textarea,.lesson-assignment-modal .select{min-width:0;max-width:100%;font-size:1rem}}.hide-scrollbar::-webkit-scrollbar{width:4px}.hide-scrollbar::-webkit-scrollbar-thumb{background-color:#0003;border-radius:2px}.hide-scrollbar::-webkit-scrollbar-track{background:0 0}
