:root{--color-primary: #315f95;--color-primary-hover: #4678b1;--color-primary-soft: #e3eef9;--color-background: radial-gradient(circle at top left, rgba(232, 240, 248, .94) 0%, rgba(244, 247, 250, .98) 40%, rgba(252, 249, 243, .96) 100%);--color-panel: rgba(255, 255, 255, .92);--color-panel-strong: #ffffff;--color-surface-muted: #f7f9fc;--color-text: #18324f;--color-text-soft: #6b7c8f;--color-border-soft: rgba(24, 50, 79, .08);--color-border-light: rgba(24, 50, 79, .045);--color-shadow-soft: 0 8px 22px rgba(24, 50, 79, .07);--color-shadow-strong: 0 14px 34px rgba(24, 50, 79, .1);--color-now-line: #d84b38;--color-availability: rgba(226, 251, 137, .055)}.app-container{display:flex;flex-direction:column;gap:14px;height:100vh;padding:14px 24px 20px;background:var(--color-background);font-family:Segoe UI,Arial,sans-serif}h1{margin:0;font-size:24px;color:var(--color-text);font-weight:600}button svg{stroke-width:2}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;background:#ffffffd1;border:1px solid var(--color-border-light);border-radius:18px;box-shadow:0 6px 18px #18324f0f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.button-group{padding:4px;background:#18324f0b;border-radius:16px}.button-group button,.calendar-nav button{min-width:40px;height:38px}.topbar button{background:#315f95;color:#fff;transition:transform .12s ease,box-shadow .16s ease,background .16s ease,filter .16s ease}.topbar button:hover{transform:translateY(-1px);box-shadow:0 8px 16px #315f9529;background:#4678b1}.topbar button:active{transform:translateY(0);box-shadow:0 3px 8px #315f9529}.active-slot,.active-view{background:linear-gradient(135deg,#6fcf97,#57b97f)!important;color:#fff;box-shadow:inset 0 0 0 1px #ffffff42,0 6px 14px #57b97f2e}.calendar-container{position:relative;display:flex;gap:18px;flex:1;min-height:0;align-items:stretch}.sidebar-shell{position:relative;z-index:12;display:flex}.calendar-panel{flex:1;display:flex;flex-direction:column;min-height:0;padding:14px 18px 18px;background:linear-gradient(180deg,#fffffff5,#f9fbfdf0);border:1px solid var(--color-border-light);border-radius:24px;box-shadow:0 10px 28px #18324f14}.calendar-scroll{flex:1;min-height:0;overflow-y:auto}.calendar-swipe-surface{height:100%;position:relative}.calendar-scroll::-webkit-scrollbar,#student-list::-webkit-scrollbar{display:none}.calendar-scroll,#student-list{-ms-overflow-style:none;scrollbar-width:none}.calendar-date-display{margin-bottom:10px;padding:6px 6px 12px;color:var(--color-text);background:#ffffff70;border:1px solid var(--color-border-light);border-radius:16px;box-shadow:0 4px 12px #18324f0d}.calendar-date-display__row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.calendar-date-display__label--desktop{margin-bottom:12px;font-size:20px;font-weight:350;letter-spacing:-.02em;text-align:center}.calendar-date-display__nav,.calendar-date-display__controls{display:flex;align-items:center;gap:8px}.calendar-date-display__nav button{width:80px;height:48px;padding:0}.calendar-date-display__label{min-width:0;text-align:center}.calendar-date-display__center{min-width:0;display:none}.calendar-date-display__center .calendar-date-display__label{display:none}.calendar-date-display__controls{justify-content:flex-end}.calendar-date-display__variants{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;width:100%;flex-wrap:wrap}.calendar-date-display__variant-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-date-display__solver-panel{display:flex;justify-content:center;margin-top:10px}.calendar-date-display__solver-panel--mobile{margin-top:8px}.mobile-planning-toolbar{position:relative;flex:0 0 auto;transition:margin .18s ease,opacity .18s ease}.mobile-planning-toolbar__handle,.mobile-planning-toolbar__reopen{display:none}.calendar-date-display__solver-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;width:100%}.calendar-date-display__week-plan-row{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;flex-wrap:wrap}.calendar-variants--mobile{justify-content:center;margin-top:8px;padding-right:2px;flex-wrap:wrap}.calendar-date-display__controls button{min-width:48px;height:48px;padding:0 14px}.calendar-date-display__controls .active-slot{min-width:48px;background:#2ecc71}.calendar-number-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:linear-gradient(180deg,#fff,#e9f1fa);border:1px solid rgba(26,67,112,.18);box-shadow:inset 0 -1px #1a437014;overflow:hidden}.calendar-number-icon__top{position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(180deg,#4f88c8,#2d5f96)}.calendar-number-icon__value{position:relative;top:1px;font-size:9px;font-weight:800;line-height:1;color:#163250}.clock-number-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;color:#fff}.clock-number-icon svg{width:30px;height:30px}.clock-number-icon__value{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;line-height:1;color:#0f172a;transform:translateY(.75px)}@media(min-width:769px){.clock-number-icon{width:32px;height:32px}.clock-number-icon svg{width:32px;height:32px}.clock-number-icon__value{font-size:11px;color:#fff;-webkit-text-stroke:.35px rgba(15,23,42,.9);text-shadow:0 0 0 rgba(15,23,42,.9),.3px 0 rgba(15,23,42,.9),-.3px 0 rgba(15,23,42,.9),0 .3px rgba(15,23,42,.9),0 -.3px rgba(15,23,42,.9)}}.student-sidebar{width:260px;display:flex;flex-direction:column;min-height:0;padding:14px;background:linear-gradient(180deg,#fffffff5,#f7fafdf0);border:1px solid var(--color-border-light);border-radius:22px;box-shadow:0 6px 18px #18324f14;transition:transform .18s ease,opacity .18s ease,width .18s ease,padding .18s ease}.student-sidebar.is-closed{width:0;padding:0;opacity:0;overflow:hidden;border-width:0}.sidebar-header{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.sidebar-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar-title{display:flex;flex-direction:column;gap:3px}.sidebar-title h3{margin:0;color:var(--color-text);font-size:18px}.sidebar-kicker{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-soft)}.sidebar-count{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:30px;padding:0 10px;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-size:13px;font-weight:700}.sidebar-close{display:none;width:36px;height:36px;padding:0;border:1px solid var(--color-border-soft);border-radius:12px;background:#10233f0d;color:var(--color-text);font-size:22px;line-height:1}.sidebar-helper{margin:0;color:var(--color-text-soft);font-size:12px;line-height:1.45}.sidebar-tools{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.sidebar-filter-btn,.sidebar-filter-select{width:100%;min-height:40px;border-radius:14px}.sidebar-filter-select{padding:0 12px;border:1px solid var(--color-border-soft);background:#ffffffe6;color:var(--color-text)}.sidebar-list{display:flex;flex-direction:column;gap:4px;min-height:0;overflow-y:auto;padding-right:2px}.sidebar-empty{padding:18px 14px;border:1px dashed var(--color-border-soft);border-radius:16px;background:#10233f08;color:var(--color-text-soft);font-size:13px;line-height:1.5}.sidebar-list{scrollbar-width:thin;scrollbar-color:rgba(120,140,160,.35) transparent}.sidebar-list::-webkit-scrollbar{width:8px}.sidebar-list::-webkit-scrollbar-thumb{background:#788ca059;border-radius:999px}.sidebar-list::-webkit-scrollbar-thumb:hover{background:#788ca080}.student-item{margin-bottom:2px}.student-item-content{display:flex;align-items:center;justify-content:space-between;gap:10px}.student-item-name{overflow:hidden}.student-item-name strong{display:block;font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-item-meta{display:block;margin-top:3px;font-size:11px;color:#ffffffc7}.student-item-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;padding:0 10px;border-radius:999px;background:#ffffff29;border:1px solid rgba(255,255,255,.18);font-size:12px;font-weight:700}.student-item-badge.student-item-badge--green{background:#2e7d32;border-color:#ffffff38;color:#fff}.student-item-badge.student-item-badge--brown{background:#8d5a2b;border-color:#ffffff38;color:#fff}.student-item-badge.student-item-badge--orange{background:#ef6c00;border-color:#ffffff38;color:#fff}.student-item-badge.student-item-badge--red{background:#c62828;border-color:#ffffff38;color:#fff}.sidebar-handle{position:absolute;top:50%;left:272px;transform:translateY(-50%);width:34px;height:84px;padding:0;border-radius:18px;background:linear-gradient(180deg,#17395fe6,#285f96e0);border:1px solid rgba(255,255,255,.2);box-shadow:0 12px 28px #17395f38;color:#fff;opacity:.88;z-index:15;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease,left .18s ease}.sidebar-handle:hover{transform:translateY(-50%) scale(1.03);box-shadow:0 16px 32px #17395f47;opacity:1}.sidebar-handle:active{transform:translateY(-50%)}.sidebar-shell:not(.sidebar-shell--open)+.sidebar-handle{left:0}.mobile-backdrop,.modern-mobile-toolbar{display:none}@media(max-width:768px){.app-container{height:100dvh;padding:8px;gap:10px}.topbar{display:none}.button-group,.calendar-nav{flex-wrap:nowrap;justify-content:space-between;gap:6px}.button-group button,.calendar-nav button{flex:1 1 0;min-width:0;height:34px;padding:0 8px}.topbar-btn--month{display:none}.calendar-container--mobile{gap:0;padding-bottom:34px}.mobile-planning-toolbar{margin-bottom:8px}.mobile-planning-toolbar--collapsed{margin-bottom:0}.mobile-planning-toolbar__handle{display:flex;align-items:center;justify-content:center;height:18px;margin:0 auto;width:100%;pointer-events:none}.mobile-planning-toolbar__reopen{position:fixed;top:10px;left:50%;z-index:16;display:inline-flex;align-items:center;justify-content:center;width:68px;height:22px;padding:0;border:1px solid rgba(49,95,149,.22);border-radius:999px;background:#e3eef9f5;box-shadow:0 8px 18px #315f952e;transform:translate(-50%)}.mobile-planning-toolbar__handle-bar{display:block;width:48px;height:4px;border-radius:999px;background:linear-gradient(135deg,#315f95,#4678b1);box-shadow:0 1px 2px #315f9538}.mobile-backdrop{display:block;position:fixed;inset:0;border:0;background:#09142547;z-index:10}.sidebar-shell{position:fixed;top:112px;left:10px;bottom:88px;width:min(84vw,320px);transform:translate(calc(-100% - 18px));transition:transform .18s ease;z-index:20}.sidebar-shell--open{transform:translate(0)}.student-sidebar,.student-sidebar.is-closed{width:100%;height:100%;padding:14px;opacity:1;overflow:hidden;border-width:1px;border-radius:24px}.sidebar-close{display:inline-flex;align-items:center;justify-content:center}.sidebar-helper{font-size:13px}.sidebar-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.student-item-name strong{font-size:15px}.student-item-meta{font-size:12px}.sidebar-handle{display:none}.calendar-panel{width:100%;padding:12px;border-radius:22px}.calendar-swipe-surface{touch-action:pan-y}.calendar-date-display{margin-bottom:8px;padding:4px 4px 8px;font-size:14px}.calendar-date-display__row{grid-template-columns:auto 1fr;grid-template-areas:"label label" "nav controls";gap:6px}.calendar-date-display__label{grid-area:label;text-align:center;font-size:13px;line-height:1.2;padding-bottom:2px}.calendar-date-display__nav{grid-area:nav;display:none}.calendar-date-display__center{display:block}.calendar-date-display__controls{grid-area:controls;justify-content:flex-end}.calendar-date-display__variants{display:none}.calendar-date-display__nav,.calendar-date-display__controls{gap:4px}.calendar-date-display__nav button,.calendar-date-display__controls button{min-width:0;height:38px;padding:0 4px;font-size:12px}.calendar-date-display__nav button{width:38px;padding:0}.calendar-date-display__controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) 14px repeat(4,minmax(0,1fr));align-items:center;column-gap:6px;width:100%;overflow:hidden}.calendar-date-display__controls>:nth-child(1){grid-column:1}.calendar-date-display__controls>:nth-child(2){grid-column:2}.calendar-date-display__controls>:nth-child(3){grid-column:4}.calendar-date-display__controls>:nth-child(4){grid-column:5}.calendar-date-display__controls>:nth-child(5){grid-column:6}.calendar-date-display__controls>:nth-child(6){grid-column:7}.calendar-date-display__month-btn{display:inline-flex}.calendar-date-display__controls button{min-width:0;width:100%;justify-content:center;gap:0}.calendar-date-display__controls .active-slot{min-width:0;width:100%;height:38px;padding:0}.calendar-date-display__today-btn svg{width:16px;height:16px}.calendar-number-icon{width:15px;height:15px}.calendar-number-icon__top{height:4px}.calendar-number-icon__value{font-size:8px}.clock-number-icon{width:26px;height:26px}.clock-number-icon svg{width:26px;height:26px}.clock-number-icon__value{font-size:9px}.calendar-variants{justify-content:center;margin-top:8px;gap:6px;flex-wrap:wrap}.calendar-variant-btn{min-width:46px;height:34px;padding:0 12px;font-size:12px}.calendar-variant-btn--active{transform:translateY(-1px) scale(1.06);box-shadow:0 14px 28px #2a955b4d;outline:2px solid rgba(255,255,255,.95);outline-offset:1px}.calendar-variant-banner{display:flex;width:100%;margin-top:10px;font-size:12px;padding:9px 12px}.mobile-toolbar-drawer{position:fixed;left:10px;right:10px;bottom:10px;z-index:40;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.mobile-toolbar-drawer__toggle{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;width:72px;min-width:72px;height:22px;min-height:22px;padding:0 8px;border-radius:999px;background:#477bb8e0;border:1px solid rgba(255,255,255,.28);box-shadow:0 6px 14px #18324f24;color:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-toolbar-drawer__toggle-bar{width:22px;height:3px;border-radius:999px;background:#ffffffb8;flex:0 0 auto}.mobile-toolbar-drawer__toggle-label{display:none}.mobile-toolbar-drawer__panel{pointer-events:auto;overflow:hidden;max-height:0;opacity:0;transform:translateY(6px);transition:max-height .18s ease,opacity .18s ease,transform .18s ease;width:100%}.mobile-toolbar-drawer--open .mobile-toolbar-drawer__panel{max-height:210px;opacity:1;transform:translateY(0)}.modern-mobile-toolbar{position:static;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px;border-radius:20px;background:#fffffff0;border:1px solid var(--color-border-light);box-shadow:0 8px 18px #18324f1a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.modern-mobile-toolbar button{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;min-width:0;height:46px;padding:4px 3px;border-radius:14px;font-size:10px;font-weight:700;line-height:1.05;box-shadow:0 5px 12px #18324f1a}.modern-mobile-toolbar .mobile-toolbar__solver{background:linear-gradient(135deg,#e29a58,#cc6f32)}.modern-mobile-toolbar .mobile-toolbar__solver:disabled,.modern-mobile-toolbar .mobile-toolbar__solver--running{cursor:wait;opacity:.96;background:linear-gradient(135deg,#edb37a,#d78447);box-shadow:0 8px 18px #cc6f3238}.modern-mobile-toolbar .mobile-toolbar__admin{background:linear-gradient(135deg,#6fa7d8,#538fc7);box-shadow:0 8px 18px #538fc72e}.modern-mobile-toolbar .mobile-toolbar__send{background:linear-gradient(135deg,#6fcf97,#57b97f);box-shadow:0 8px 18px #57b97f2e}.modern-mobile-toolbar .mobile-toolbar__send:disabled,.modern-mobile-toolbar .mobile-toolbar__send--running{cursor:wait;opacity:.96;box-shadow:0 8px 18px #57b97f38}.modern-mobile-toolbar .mobile-toolbar__debug,.modern-mobile-toolbar .mobile-toolbar__rules{background:linear-gradient(135deg,#6fa7d8,#538fc7);box-shadow:0 8px 18px #538fc72e}.modern-mobile-toolbar .mobile-toolbar__logout{background:linear-gradient(135deg,#c97979,#b85f5f);box-shadow:0 8px 18px #b85f5f2e}.calendar-date-display__solver-panel--mobile{margin-top:6px}.calendar-date-display__week-plan-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;align-items:stretch}.calendar-date-display__week-plan-row .calendar-variant-action,.calendar-date-display__week-plan-row .calendar-saved-variant-btn{min-width:0;width:100%;height:36px;padding:0 4px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-date-display__solver-actions{margin-top:6px;gap:6px}.calendar-date-display__solver-actions .calendar-variant-action{height:34px;padding:0 10px;font-size:11px}}.fc{height:100%}.fc-timegrid-slot-label{width:78px;color:#333!important}.fc .fc-timegrid-axis-cushion{text-align:left;padding-left:10px;padding-right:0}.fc .fc-timegrid-axis-frame{justify-content:flex-start}.fc-timegrid-slot-label-cushion:after{content:""}.calendar-slot-major{display:inline-block;font-weight:600;color:#18395e}.calendar-slot-minor{display:inline-block;font-size:12px;color:#7b8a98}.fc-theme-standard td,.fc-theme-standard th{border:1px solid rgba(24,50,79,.12)}.fc-event{cursor:grab;z-index:5;border-width:1px!important;border-style:solid!important;border-radius:10px!important;box-shadow:0 3px 10px #18324f1f}.fc-timegrid-event .fc-event-main,.fc-timegrid-event .fc-event-main-frame{height:100%}.fc-event:hover{box-shadow:0 6px 14px #18324f29}.fc-event:active{cursor:grabbing}.fc .fc-event-resizer{min-height:12px;opacity:.9;left:0;right:0;z-index:12;pointer-events:auto;touch-action:none}.fc .fc-event-resizer-end{bottom:0}.fc .fc-event-resizer-start{top:0}.fc-event.fixed{border:2px solid rgba(26,32,44,.82)!important}.fc-event.fixed:after{content:"🔒";position:absolute;top:2px;right:4px;font-size:12px}.fc-event.event-theory{background:#f5ef9f!important;border-color:#d7ca74!important;color:#4a4008!important}.fc-event.event-theory .fc-event-main,.fc-event.event-theory .fc-event-main-frame,.fc-event.event-theory .fc-time,.fc-event.event-theory .fc-name,.fc-event.event-theory .fc-meta,.fc-event.event-theory .fc-license,.fc-event.event-theory .fc-type,.fc-event.event-theory .fc-event-mobile,.fc-event.event-theory .fc-event-mobile__time,.fc-event.event-theory .fc-event-mobile__minutes,.fc-event.event-theory .fc-event-mobile__name,.fc-event.event-theory .fc-event-mobile__license,.fc-event.event-theory .fc-event-mobile__right,.fc-event.event-theory .fc-event-mobile__day-name{color:#4a4008!important}.fc-event.event-other-work{background:#b8c3f6!important;border-color:#93a4e0!important;color:#23345e!important}.fc-event.event-other-work .fc-event-main,.fc-event.event-other-work .fc-event-main-frame,.fc-event.event-other-work .fc-time,.fc-event.event-other-work .fc-name,.fc-event.event-other-work .fc-meta,.fc-event.event-other-work .fc-license,.fc-event.event-other-work .fc-type,.fc-event.event-other-work .fc-event-mobile,.fc-event.event-other-work .fc-event-mobile__time,.fc-event.event-other-work .fc-event-mobile__minutes,.fc-event.event-other-work .fc-event-mobile__name,.fc-event.event-other-work .fc-event-mobile__license,.fc-event.event-other-work .fc-event-mobile__right,.fc-event.event-other-work .fc-event-mobile__day-name{color:#23345e!important}.fc-event.event-exam{background:#f6b3b3!important;border-color:#dd8d8d!important;color:#5c2323!important}.fc-event.event-exam .fc-event-main,.fc-event.event-exam .fc-event-main-frame,.fc-event.event-exam .fc-time,.fc-event.event-exam .fc-name,.fc-event.event-exam .fc-meta,.fc-event.event-exam .fc-license,.fc-event.event-exam .fc-type,.fc-event.event-exam .fc-event-mobile,.fc-event.event-exam .fc-event-mobile__time,.fc-event.event-exam .fc-event-mobile__minutes,.fc-event.event-exam .fc-event-mobile__name,.fc-event.event-exam .fc-event-mobile__license,.fc-event.event-exam .fc-event-mobile__right,.fc-event.event-exam .fc-event-mobile__day-name{color:#5c2323!important}.fc-event.event-exam-lesson{border-color:#18324f2e!important}.fc-event.event-private{background:#d8dde3!important;border-color:#bcc5cf!important;color:#334155!important}.fc-event.event-private .fc-event-main,.fc-event.event-private .fc-event-main-frame,.fc-event.event-private .fc-time,.fc-event.event-private .fc-name,.fc-event.event-private .fc-meta,.fc-event.event-private .fc-license,.fc-event.event-private .fc-type,.fc-event.event-private .fc-event-mobile,.fc-event.event-private .fc-event-mobile__time,.fc-event.event-private .fc-event-mobile__minutes,.fc-event.event-private .fc-event-mobile__name,.fc-event.event-private .fc-event-mobile__license,.fc-event.event-private .fc-event-mobile__right,.fc-event.event-private .fc-event-mobile__day-name{color:#334155!important}.fc-event.event-google-blocker{background:repeating-linear-gradient(135deg,#d8dde3 0px 10px,#c9d2dc 10px 20px)!important;border-color:#a9b7c6!important}.fc-event.event-google-blocker .fc-event-main:after{content:"Google blockiert";display:block;margin-top:2px;font-size:10px;font-weight:600;opacity:.8}.fc-event.fixed,.fc-event.fixed:hover,.fc-event.fixed:active{cursor:not-allowed;transform:none}.fc-event-compact{display:flex;flex-direction:column;gap:2px;width:100%;min-width:0;max-width:100%;overflow:hidden;font-size:12px;line-height:1.2}.fc-event-compact,.fc-event-compact *,.fc-event-exam-mini,.fc-event-exam-mini *,.fc-event-exam-day,.fc-event-exam-day *{-webkit-user-select:none;user-select:none}.fc .fc-timegrid-event .fc-event-main .fc-event-compact,.fc .fc-timegrid-event .fc-event-main .fc-event-compact *,.fc .fc-timegrid-event .fc-event-main .fc-event-exam-mini,.fc .fc-timegrid-event .fc-event-main .fc-event-exam-mini *,.fc .fc-timegrid-event .fc-event-main .fc-event-exam-day,.fc .fc-timegrid-event .fc-event-main .fc-event-exam-day *{pointer-events:none}.fc-event-compact--desktop{height:100%;padding:6px 10px 8px;box-sizing:border-box;color:#111}.fc-event-compact--desktop-day{display:grid;grid-template-columns:minmax(82px,108px) 1fr minmax(108px,140px);align-items:stretch;gap:10px}.fc-event-compact__day-left,.fc-event-compact__day-center,.fc-event-compact__day-right{display:flex;flex-direction:column;min-width:0}.fc-event-compact__day-left{align-items:flex-start;justify-content:space-between}.fc-event-compact__day-left .fc-event-compact__license--other{align-self:stretch;margin:auto 0}.fc-event-compact__day-center{align-items:center;justify-content:space-between;text-align:center}.fc-event-compact__day-right{align-items:flex-end;justify-content:space-between;text-align:right}.fc-event-compact--desktop-week{display:grid;grid-template-rows:auto auto auto;align-content:start;gap:6px}.fc-event-compact--week-slot-short{gap:3px;padding:4px 6px 5px}.fc-event-compact--week-slot-short .fc-event-compact__week-top{gap:6px}.fc-event-compact--week-slot-short .fc-event-compact__week-bottom{gap:6px;align-items:center}.fc-event-compact--week-slot-short .fc-event-compact__icon{font-size:18px}.fc-event-compact--week-slot-short .fc-event-compact__license{font-size:13px;font-weight:700}.fc-event-compact--week-slot-short .fc-event-compact__name{font-size:12px;line-height:1;text-align:left}.fc-event-compact--week-slot-short .fc-event-compact__time,.fc-event-compact--week-slot-short .fc-event-compact__minutes,.fc-event-compact--week-slot-short .fc-event-compact__type{font-size:11px;line-height:1}.fc-event-exam-mini{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:100%;padding:4px 6px;overflow:hidden}.fc-event-exam-mini--support{justify-content:center}.fc-event-exam-mini__title{font-size:12px;font-weight:800;line-height:1.05;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc-event-exam-mini__name{font-size:11px;font-weight:600;line-height:1.05;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc-event-exam-mini--exam .fc-event-exam-mini__title{text-transform:uppercase;letter-spacing:.02em}.fc-event-exam-mini--preparation .fc-event-exam-mini__title,.fc-event-exam-mini--followup .fc-event-exam-mini__title{font-size:11px}.fc-event-exam-mini--lesson .fc-event-exam-mini__title{font-size:12px}.fc-event-exam-mini--week-slot-30{padding-top:3px;padding-bottom:3px}.fc-event-exam-mini--week-slot-60{gap:4px;padding-top:6px;padding-bottom:6px}.fc-event-exam-mini--mobile{padding:2px 4px;gap:1px}.fc-event-exam-mini--mobile .fc-event-exam-mini__title{font-size:11px}.fc-event-exam-mini--mobile .fc-event-exam-mini__name{font-size:10px}.fc-event-exam-day{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:100%;padding:6px 10px;overflow:hidden}.fc-event-exam-day__top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.fc-event-exam-day__title{font-size:clamp(16px,1.5vw,24px);font-weight:800;line-height:1.05;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc-event-exam-day__time,.fc-event-exam-day__meta{font-size:clamp(12px,1vw,16px);font-weight:700;line-height:1.05;color:#1f2937;white-space:nowrap}.fc-event-exam-day__name{font-size:clamp(18px,1.8vw,28px);font-weight:700;line-height:1.05;color:#111;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-event-exam-day--preparation,.fc-event-exam-day--followup{gap:2px}.fc-event-exam-day--preparation .fc-event-exam-day__title,.fc-event-exam-day--followup .fc-event-exam-day__title{font-size:clamp(15px,1.3vw,21px)}.fc-event-compact__week-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.fc-event-compact__week-bottom{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.fc-event-compact__week-top--other{justify-content:flex-start}.fc-event-compact__icon{font-size:clamp(24px,1.9vw,34px);line-height:1}.fc-event-compact__license{font-size:clamp(18px,1.7vw,28px);font-weight:650;line-height:1.02;color:#111}.fc-event-compact__name{font-size:clamp(18px,2vw,30px);font-weight:650;line-height:1.05;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;color:#111}.fc-event-compact__day-center .fc-event-compact__name,.fc-event-compact--desktop-week .fc-event-compact__name{text-align:center}.fc-event-compact--desktop-week .fc-event-compact__name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-clamp:unset;-webkit-line-clamp:unset}.fc-event-compact__type{font-size:clamp(16px,1.4vw,24px);font-weight:600;line-height:1.05;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#111}.fc-event-compact__time{font-size:clamp(17px,1.55vw,26px);font-weight:600;line-height:1.05;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#111}.fc-event-compact__minutes{font-size:clamp(16px,1.5vw,24px);font-weight:600;line-height:1;color:#111;white-space:nowrap}.fc .fc-timegrid-event .fc-event-main,.fc .fc-timegrid-event .fc-event-main-frame,.fc .fc-timegrid-event .fc-event-title-container{min-width:0;max-width:100%;overflow:hidden}.fc .fc-timegrid-event .fc-event-title{min-width:0;max-width:100%}.fc-event-warning{border:2px solid #de6a5e;box-shadow:inset 0 0 0 1px #de6a5e2e;border-radius:10px}.fc-name{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-meta{display:flex;gap:6px;min-width:0;overflow:hidden;font-size:11px;opacity:.78}.fc-license{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-type{opacity:.74;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:4px}.fc-parts{min-width:0;font-size:30px;line-height:1.15;font-weight:600;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.availability-slot{background-color:var(--color-availability)!important;box-shadow:none!important;border:0!important;outline:0!important}.fc-bg-event.availability-slot{opacity:1!important}.outside-availability{border:3px solid #e74c3c!important;box-shadow:0 0 6px #e74c3c99}.fc-bg-event{opacity:.16;z-index:1}.calendar-hover-time-guide{position:absolute;z-index:6;height:0;border-top:2px solid rgba(47,107,166,.6);box-shadow:0 0 0 1px #ffffff59;pointer-events:none}.calendar-hover-time-guide__label{position:absolute;top:-12px;right:8px;display:inline-flex;align-items:center;justify-content:center;min-width:50px;height:22px;padding:0 8px;border-radius:6px;background:#18395eeb;color:#fff;font-size:11px;font-weight:700;line-height:1;letter-spacing:0;box-shadow:0 8px 16px #18395e2e}.holiday-overlay{background:#d630312e!important;opacity:.9!important}.fc-holiday-event-label{padding:2px 6px;font-size:11px;font-weight:800;line-height:1.15;color:#b42318;white-space:normal;word-break:break-word}.night-overlay{background:#4e4c4c!important}.fc .fc-timegrid-col.fc-day-today{background:#315f9509!important}.fc .fc-day-today{background:transparent!important}.fc .fc-timegrid-slot.fc-slot-today{background:#d84b380b}.fc-timegrid-now-indicator-line{border-color:var(--color-now-line);border-width:3px}.fc .fc-timegrid-now-indicator-arrow{border-top-color:var(--color-now-line)}.fc-col-header-cell{cursor:pointer;transition:background .15s ease}.fc-col-header-cell:hover{background:#f3f8fc}.fc-col-header-cell:active{background:#e8f1f8}.fc-col-header-cell.selected-day{background:#edf4fa!important;border-bottom:3px solid #6d89a6;font-weight:600}.fc-col-header-cell.today-header{border-bottom:3px solid #d84b38}.fc-col-header-cell.holiday-header{background:#fdeeee!important;border-bottom:3px solid #d63031}.calendar-date-display{font-size:16px;font-weight:600;padding:6px 10px 10px;color:#18395e}.calendar-date-display__week-plan-actions{display:flex;justify-content:flex-end;margin-top:8px}.calendar-week-clear-btn{border:1px solid rgba(160,40,40,.28);background:#fff5f5;color:#9f1f1f;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer}.calendar-week-clear-btn:hover{background:#ffeaea}.fc-day-header-main{display:flex;flex-direction:column;gap:2px;padding:6px 4px;min-width:0;overflow:hidden}.fc-day-header-title{font-weight:700}.fc-day-header-stats{display:flex;justify-content:center;gap:8px;font-size:12px;color:#4d627a}.fc-day-header-stat{display:inline-flex;align-items:baseline;gap:2px}.fc-day-header-stat--danger .fc-day-header-stat__label,.fc-day-header-stat--danger .fc-day-header-stat__value{color:#c0392b}.fc-day-header-stat__label{font-size:12px;font-weight:600}.fc-day-header-stat__value{font-size:14px;font-weight:700;color:#34495e}.fc-day-header-warning{font-size:11px;font-weight:700;color:#c0392b}.fc-day-header-holiday{font-size:11px;font-weight:800;color:#b42318;line-height:1.15;text-align:center;white-space:normal;overflow-wrap:normal;word-break:keep-all;text-wrap:balance;max-width:100%}.fc .fc-toolbar-title,.fc-theme-standard .fc-scrollgrid{color:#18395e}.fc-theme-standard .fc-scrollgrid{border-radius:18px;overflow:visible}.fc .fc-timegrid-slot{min-height:38px}.calendar-swipe-surface--slot-15 .fc .fc-timegrid-slot,.calendar-swipe-surface--slot-15 .fc .fc-timegrid-slot-lane{min-height:18px!important;height:18px!important}.calendar-swipe-surface--slot-30 .fc .fc-timegrid-slot,.calendar-swipe-surface--slot-30 .fc .fc-timegrid-slot-lane{min-height:28px!important;height:28px!important}.calendar-swipe-surface--slot-30 .fc-direction-ltr .fc-timegrid-col-events,.calendar-swipe-surface--slot-60 .fc-direction-ltr .fc-timegrid-col-events,.calendar-swipe-surface--slot-30 .fc-direction-rtl .fc-timegrid-col-events,.calendar-swipe-surface--slot-60 .fc-direction-rtl .fc-timegrid-col-events{margin:0!important}.calendar-swipe-surface--slot-30 .fc .fc-timegrid-event-harness,.calendar-swipe-surface--slot-60 .fc .fc-timegrid-event-harness{left:0!important;right:0!important}.calendar-swipe-surface--slot-60 .fc .fc-timegrid-slot,.calendar-swipe-surface--slot-60 .fc .fc-timegrid-slot-lane{min-height:46px!important;height:46px!important}.fc-event-mobile{width:100%;height:100%;overflow:hidden;box-sizing:border-box}.fc-event-mobile--week{display:grid;grid-template-columns:1fr;grid-template-areas:"time" "timeend" "minutes" "name" "weekicon" "license" "parts";align-content:center;align-items:center;gap:1px;font-size:10px;line-height:1.05;padding:2px 4px}.fc-event-mobile--day{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"time name license";align-items:center;gap:8px;font-size:12px;line-height:1.1;padding:6px 10px}.fc-event-mobile--two-days{grid-template-columns:1fr auto;grid-template-areas:"time license" "name name";align-items:center}.fc-event-mobile--two-days .fc-event-mobile__day-name{text-align:left;justify-self:stretch;width:100%}.fc-event-mobile--two-days .fc-event-mobile__day-time{min-width:0}.fc-event-mobile--two-days .fc-event-mobile__right{min-width:0;white-space:nowrap}.fc-event-mobile--day-compact{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;height:100%;padding:4px 8px;font-size:11px;line-height:1.05}.fc-event-mobile__left,.fc-event-mobile__day-time{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.fc-event-mobile__day-top{display:contents}.fc-event-mobile__time,.fc-event-mobile__time-end,.fc-event-mobile__minutes,.fc-event-mobile__name,.fc-event-mobile__license,.fc-event-mobile__center,.fc-event-mobile__right{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.fc-event-mobile__time{font-weight:600}.fc-event-mobile__minutes{opacity:.88;font-size:10px}.fc-event-mobile__name,.fc-event-mobile__center{font-weight:600}.fc-event-mobile__center{text-align:center}.fc-event-mobile--week .fc-event-mobile__time{grid-area:time;text-align:center;font-size:9px;font-weight:600;justify-self:center}.fc-event-mobile--week .fc-event-mobile__time-end{grid-area:timeend;text-align:center;font-size:9px;font-weight:600;justify-self:center}.fc-event-mobile--week .fc-event-mobile__minutes{grid-area:minutes;text-align:center;font-size:9px;justify-self:center}.fc-event-mobile--week .fc-event-mobile__name{grid-area:name;text-align:center;font-size:10px;line-height:1.05;font-weight:600}.fc-event-mobile--week-other{display:flex;align-items:center;justify-content:center}.fc-event-mobile--week-other .fc-event-mobile__name--other{display:block;width:100%;text-align:center;font-size:10px;line-height:1.05;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc-event-mobile--week .fc-event-mobile__week-icon{grid-area:weekicon;justify-self:center;display:inline-flex;align-items:center;justify-content:center;line-height:1}.fc-event-mobile--week .fc-event-mobile__license{grid-area:license;text-align:center;font-size:9px;font-weight:600;justify-self:center;display:inline-flex;align-items:center;gap:3px}.fc-event-mobile--week .fc-event-mobile__parts{grid-area:parts;text-align:center;justify-self:center}.fc-event-mobile--day .fc-event-mobile__day-time{grid-area:time;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-width:0}.fc-event-mobile__day-name{grid-area:name;width:100%;text-align:center;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.05;padding-inline:4px;align-self:center}.fc-event-mobile--day-other{grid-template-columns:1fr;grid-template-areas:"time" "name";justify-items:start;gap:2px}.fc-event-mobile--day-other .fc-event-mobile__day-time{align-items:flex-start;justify-content:flex-start;gap:0}.fc-event-mobile__day-name--other{text-align:left;align-self:start;justify-self:stretch;font-size:14px;line-height:1.05}.fc-event-mobile--day-other-compact{grid-template-columns:1fr;justify-items:start;gap:1px}.fc-event-mobile--day-other-compact .fc-event-mobile__name--other{display:block;width:100%;font-size:11px;line-height:1.05;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc-event-mobile__license,.fc-event-mobile__right{text-align:right;font-weight:600;padding-right:6px}.fc-event-mobile--day .fc-event-mobile__right{grid-area:license;justify-self:end;align-self:center;display:inline-flex;flex-direction:column;align-items:center;gap:3px;text-align:center;padding-right:2px}.fc-event-mobile__icon{display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1}@media(max-width:768px){.fc .fc-event-resizer{min-height:18px;z-index:16}.fc-timegrid-slot-label{width:58px;font-size:11px}.calendar-swipe-surface--slot-15 .fc-timegrid-slot-label{width:58px}.fc .fc-timegrid-axis-cushion{padding-left:6px;padding-right:0;font-size:11px}.calendar-swipe-surface--slot-15 .fc .fc-timegrid-axis-frame{justify-content:flex-start}.calendar-swipe-surface--slot-15 .fc .fc-timegrid-axis-cushion,.calendar-swipe-surface--slot-15 .fc-timegrid-slot-label-cushion{padding-left:6px;padding-right:0;text-align:left}.calendar-slot-major{font-size:12px}.calendar-slot-minor{font-size:10px}.fc-event{font-size:14px;padding:2px}.fc-event-mobile--day{gap:8px;padding:8px 10px;font-size:13px}.fc-event-mobile--day-compact{gap:6px;padding:4px 8px;font-size:11px}.fc-event-mobile--week{gap:0;padding:2px 3px;font-size:9px}.fc-event-mobile__minutes{font-size:10px}.fc-event-mobile__time,.fc-event-mobile__license,.fc-event-mobile__right{padding-inline:2px}.fc-event-mobile__day-time{gap:1px}.fc-event-mobile__day-name{font-size:14px;padding-inline:2px}.fc-event-mobile__day-name--other{font-size:12px;padding-inline:2px}.fc-event-mobile--day .fc-event-mobile__time{font-size:14px;line-height:1.05}.fc-event-mobile--day .fc-event-mobile__minutes{font-size:9px}.fc-event-mobile--day .fc-event-mobile__right{padding-right:2px}.fc-event-mobile__icon{font-size:18px}.fc-event-mobile--week .fc-event-mobile__name,.fc-event-mobile--week-other .fc-event-mobile__name--other{font-size:9px}.fc-event-mobile--week .fc-event-mobile__time,.fc-event-mobile--week .fc-event-mobile__time-end,.fc-event-mobile--week .fc-event-mobile__minutes{font-size:8px}.fc-event-mobile--week .fc-event-mobile__license{font-size:9px}.fc-event-mobile__parts{font-size:8px;line-height:1.05;font-weight:700;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc-timegrid-axis{font-size:12px}.calendar-date-display{font-size:15px}.fc-day-header-main{gap:1px;padding:4px 2px}.fc-day-header-title{font-size:11px;line-height:1.1}.fc-day-header-holiday{font-size:7px;font-weight:700;line-height:1;letter-spacing:-.02em;max-width:100%;padding-inline:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal;overflow-wrap:normal}.fc-day-header-stats{font-size:9px;gap:4px;flex-wrap:wrap}}@media(max-width:700px){.fc{font-size:12px}.fc-timegrid-slot{height:40px}.calendar-swipe-surface--slot-15 .fc .fc-timegrid-slot,.calendar-swipe-surface--slot-15 .fc .fc-timegrid-slot-lane{min-height:16px!important;height:16px!important}.calendar-swipe-surface--slot-30 .fc .fc-timegrid-slot,.calendar-swipe-surface--slot-30 .fc .fc-timegrid-slot-lane{min-height:25px!important;height:25px!important}.calendar-swipe-surface--slot-60 .fc .fc-timegrid-slot,.calendar-swipe-surface--slot-60 .fc .fc-timegrid-slot-lane{min-height:54px!important;height:54px!important}}.fc-event-compact--desktop-week .fc-event-compact__license{font-size:clamp(14px,1.15vw,18px);font-weight:620}.fc-event-compact--desktop-week .fc-event-compact__name{font-size:clamp(15px,1.4vw,22px);font-weight:620}.fc-event-compact--desktop-week .fc-event-compact__time{font-size:clamp(14px,1.2vw,19px);font-weight:600}.fc-event-compact--desktop-week .fc-event-compact__minutes{font-size:clamp(14px,1.15vw,18px);font-weight:600}.fc-event-compact--week-slot-60{display:flex;flex-direction:column;justify-content:flex-start;gap:4px;padding:4px 6px 5px}.fc-event-compact--week-slot-60 .fc-event-compact__week-top{gap:6px}.fc-event-compact--week-slot-60 .fc-event-compact__icon{font-size:clamp(14px,1vw,18px)}.fc-event-compact--week-slot-60 .fc-event-compact__name{font-size:clamp(13px,1.08vw,16px);line-height:1.05}.fc-event-compact--week-slot-60 .fc-event-compact__time{font-size:clamp(11px,.92vw,13px);line-height:1;flex:1 1 auto;min-width:0}.fc-event-compact--week-slot-60 .fc-event-compact__minutes{font-size:clamp(12px,1vw,15px);flex:0 0 auto}.fc-event-compact--week-slot-30{display:flex;flex-direction:column;justify-content:flex-start;gap:3px;padding:4px 6px 5px}.fc-event-compact--week-slot-30 .fc-event-compact__week-top{gap:5px}.fc-event-compact--week-slot-30 .fc-event-compact__license{font-size:clamp(12px,1.05vw,15px)}.fc-event-compact--week-slot-30 .fc-event-compact__name{font-size:clamp(12px,1vw,14px);line-height:1.05}.fc-event-compact--week-slot-30 .fc-event-compact__time{font-size:clamp(10px,.9vw,12px);line-height:1;flex:1 1 auto;min-width:0}.fc-event-compact--week-slot-30 .fc-event-compact__minutes{font-size:clamp(11px,.94vw,13px);flex:0 0 auto}.fc-event-compact--week-slot-15{display:flex;flex-direction:column;justify-content:flex-start;gap:2px;padding:3px 5px 4px}.fc-event-compact--week-slot-15 .fc-event-compact__week-top{gap:4px}.fc-event-compact--week-slot-15 .fc-event-compact__license{font-size:clamp(11px,.95vw,14px)}.fc-event-compact--week-slot-15 .fc-event-compact__name{font-size:clamp(12px,1vw,14px);line-height:1.05}.fc-event-compact--week-slot-15 .fc-event-compact__time,.fc-event-compact--week-slot-15 .fc-event-compact__minutes{font-size:clamp(10px,.88vw,12px)}@media(min-width:769px){.calendar-swipe-surface--slot-15 .fc-timegrid-slot-label{width:78px}.calendar-swipe-surface--slot-15 .fc .fc-timegrid-axis-frame{justify-content:flex-start}.calendar-swipe-surface--slot-15 .fc .fc-timegrid-axis-cushion,.calendar-swipe-surface--slot-15 .fc-timegrid-slot-label-cushion{width:auto;padding-left:10px;padding-right:0;text-align:left}}.fc-bg-event.availability-slot{opacity:1!important;border:2px solid rgba(39,174,96,.95);box-sizing:border-box;background-image:repeating-linear-gradient(-45deg,#27ae602e 0px 8px,#ffffff14 8px 16px)}.fc-bg-event.availability-slot:hover{filter:brightness(.96)}.fc-bg-event.availability-slot{opacity:1!important;border:2px solid rgba(39,174,96,.95);box-sizing:border-box;background-color:#2ecc714d!important;background-image:repeating-linear-gradient(-45deg,#27ae6038 0px 8px,#ffffff24 8px 16px)}.calendar-swipe-surface--availability-focus .fc-timegrid-event,.calendar-swipe-surface--availability-focus .fc-daygrid-event,.calendar-swipe-surface--availability-focus .fc-event{opacity:.32;filter:saturate(.58) brightness(1.08);transition:opacity .18s ease,filter .18s ease}.calendar-swipe-surface--availability-focus .fc-event.availability-slot--foreground,.calendar-swipe-surface--availability-focus .fc-timegrid-event.availability-slot--foreground,.calendar-swipe-surface--availability-focus .fc-daygrid-event.availability-slot--foreground{opacity:1!important;filter:none!important}.fc-event.availability-slot--foreground,.fc-timegrid-event.availability-slot--foreground{opacity:1!important;border:2px solid rgba(39,174,96,.95)!important;box-sizing:border-box;background-color:#2ecc7157!important;background-image:repeating-linear-gradient(-45deg,#27ae603d 0px 8px,#ffffff29 8px 16px)!important;z-index:8!important;pointer-events:auto!important;box-shadow:none!important}.fc-event.availability-slot--foreground .fc-event-main,.fc-timegrid-event.availability-slot--foreground .fc-event-main{color:transparent!important}.fc-event.availability-slot--foreground .fc-event-time,.fc-event.availability-slot--foreground .fc-event-title,.fc-timegrid-event.availability-slot--foreground .fc-event-time,.fc-timegrid-event.availability-slot--foreground .fc-event-title{display:none!important}.calendar-swipe-surface--availability-focus .fc-timegrid-event,.calendar-swipe-surface--availability-focus .fc-daygrid-event,.calendar-swipe-surface--availability-focus .fc-event{opacity:.32!important;filter:saturate(.58) brightness(1.08);transition:opacity .18s ease,filter .18s ease}.calendar-swipe-surface--availability-focus .fc-bg-event.availability-slot{opacity:1!important;filter:none!important}@media(max-width:768px){.calendar-swipe-surface{position:relative}.fc .fc-scrollgrid-section-header,.fc .fc-scrollgrid-section-header>th,.fc .fc-col-header,.fc .fc-col-header thead,.fc .fc-col-header tr,.fc .fc-col-header-cell{position:sticky;top:0;z-index:30;background:#f8fafc}.fc .fc-scrollgrid-section-header{z-index:31}.fc .fc-col-header-cell{vertical-align:top}}button{border:none;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);color:#fff;border-radius:14px;cursor:pointer;height:34px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;transition:background .15s ease,transform .12s ease,box-shadow .12s ease,filter .12s ease,opacity .12s ease;box-shadow:0 6px 14px #18324f1f}.startup-screen{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top,#f5f9fdf5,#e8f0f7f5 42%,#dbe5effa);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.startup-screen__card{width:min(440px,100%);padding:28px 26px;border-radius:28px;background:linear-gradient(180deg,#fffffffa,#f6fafdf5);border:1px solid rgba(19,41,67,.08);box-shadow:0 24px 48px #13294324;text-align:center}.startup-screen__eyebrow{margin-bottom:10px;color:#617487;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.startup-screen__title{margin:0;color:#132943;font-size:clamp(28px,5vw,36px);line-height:1.05}.startup-screen__text{margin:12px 0 0;color:#5d7187;font-size:15px;line-height:1.45}.startup-screen__loader{width:56px;height:56px;margin:22px auto 0;border-radius:50%;border:4px solid rgba(23,57,95,.12);border-top-color:#d96b1f;animation:startup-spin .9s linear infinite}@keyframes startup-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}button:hover{background:linear-gradient(135deg,var(--color-primary-hover) 0%,#5a8ec3 100%);transform:translateY(-1px);filter:saturate(1.02)}button:active{transform:translateY(1px) scale(.985)}.app-loading,.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top,#f5f9fdf5,#e8f0f7f5 42%,#dbe5effa)}.app-loading{color:#17395f;font-size:18px;font-weight:700}.ui-error-fallback{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top,#f5f9fdf5,#e8f0f7f5 42%,#dbe5effa)}.ui-error-fallback--inline{min-height:min(60vh,520px);border-radius:24px}.ui-error-fallback__card{width:min(560px,100%);padding:28px 26px;border-radius:28px;background:#fffffff5;border:1px solid rgba(19,41,67,.08);box-shadow:0 26px 50px #13294329}.ui-error-fallback__eyebrow{margin-bottom:10px;color:#a54b24;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.ui-error-fallback__card h2{margin:0 0 10px;color:#132943;font-size:clamp(24px,4vw,34px);line-height:1.08}.ui-error-fallback__card p{margin:0;color:#5d7187;line-height:1.5;word-break:break-word}.auth-card{width:min(460px,100%);padding:30px 28px;border-radius:28px;background:#fffffff5;border:1px solid rgba(19,41,67,.08);box-shadow:0 26px 50px #13294329}.auth-card__eyebrow{margin-bottom:10px;color:#617487;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.auth-card h1{margin:0 0 10px;color:#132943;font-size:clamp(30px,5vw,40px);line-height:1.05}.auth-card p{margin:0 0 18px;color:#5d7187;line-height:1.5}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:6px;color:#17395f;font-size:14px;font-weight:700}.auth-form input{width:100%;min-height:46px;padding:0 14px;border-radius:14px;border:1px solid rgba(19,41,67,.16);background:#f7fafdeb;color:#17395f;font-size:15px}.auth-error{padding:10px 12px;border-radius:12px;background:#d146461f;color:#a22a2a;font-size:14px;font-weight:700}.auth-info{padding:10px 12px;border-radius:12px;background:#2465aa1a;color:#1f5c97;font-size:14px;font-weight:700}.auth-submit{min-height:42px;background:linear-gradient(135deg,#2d8e4b,#43ad63)}.auth-submit:hover{background:linear-gradient(135deg,#2a7f43,#3f9d5d)}.auth-hint{margin-top:16px;color:#66798c;font-size:13px}.auth-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.auth-link-btn{height:auto;padding:0;border:none;background:transparent;box-shadow:none;color:#1f5c97;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:2px}.auth-link-btn:hover{background:transparent;color:#174875;transform:none;filter:none}.auth-link-btn:active{transform:none}.button-group,.calendar-nav{display:flex;align-items:center;gap:8px}.topbar .calendar-nav{width:100%;justify-content:flex-end;gap:10px}.topbar .button-group{display:none}.topbar .calendar-nav button:first-child,.topbar .calendar-nav button:nth-child(2){display:none}.calendar-nav button:first-child,.calendar-nav button:nth-child(2){width:34px;padding:0}.active-slot{background:#2ecc71;box-shadow:inset 0 0 0 2px #fff6}.sidebar-button{border:none;background:#2c3e50;color:#fff;border-radius:6px;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;z-index:5}.sidebar-button:hover{background:#34495e;transform:scale(1.05)}.student-item{padding:7px 10px;margin-bottom:4px;background:linear-gradient(135deg,#3a648f,#274e76);color:#fff;border-radius:14px;cursor:grab;font-weight:500;font-size:13px;box-shadow:0 6px 14px #18324f1f;transition:background .15s ease,transform .1s ease,box-shadow .12s ease}.student-item:hover{background:linear-gradient(135deg,#47739f,#2f5b86);transform:translate(2px);box-shadow:0 8px 16px #18324f29}.student-item-badge{min-width:28px;height:28px;padding:0 8px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#fff}.student-item-badge--green{background:#2e7d32}.student-item-badge--brown{background:#8d5a2b}.student-item-badge--orange{background:#ef6c00}.student-item-badge--red{background:#c62828}button.solver{background:#e67e22}button.solver:hover{background:#d35400}.solver-btn{min-width:112px;gap:8px;background:linear-gradient(135deg,#e29a58,#cc6f32);box-shadow:0 8px 18px #cc6f3238}.solver-btn:hover{background:linear-gradient(135deg,#e7a567,#d87a3c)}.solver-btn:disabled,.solver-btn--running{cursor:wait;opacity:.95;background:linear-gradient(135deg,#edb37a,#d78447);box-shadow:0 8px 18px #cc6f323d}.solver-btn__icon{flex:0 0 auto}.solver-btn__icon--spin{animation:startup-spin .9s linear infinite}.calendar-action-btn{min-width:62px;padding:0 18px;border-radius:14px}.calendar-action-btn:disabled,.share-action-btn--running{cursor:wait;opacity:.95}.topbar .solver-btn{min-width:126px;min-height:40px;border-radius:14px}.topbar .calendar-action-btn{min-height:40px;box-shadow:0 12px 24px #17395f2e}.topbar .mobile-toolbar__send{min-width:152px;background:linear-gradient(135deg,#6fcf97,#57b97f);box-shadow:0 8px 18px #57b97f2e}.topbar .mobile-toolbar__send:hover{background:linear-gradient(135deg,#63c58d,#4eab74)}.topbar .mobile-toolbar__send:disabled,.topbar .mobile-toolbar__send--running{cursor:wait;opacity:.96;box-shadow:0 14px 28px #2a955b47}.topbar .mobile-toolbar__admin,.topbar .mobile-toolbar__debug,.topbar .mobile-toolbar__rules{background:linear-gradient(135deg,#6fa7d8,#538fc7);box-shadow:0 8px 18px #538fc72e}.topbar .mobile-toolbar__admin:hover,.topbar .mobile-toolbar__debug:hover,.topbar .mobile-toolbar__rules:hover{background:linear-gradient(135deg,#629dce,#4a85bd)}.topbar .mobile-toolbar__debug:disabled,.topbar .mobile-toolbar__debug--running,.modern-mobile-toolbar .mobile-toolbar__debug:disabled,.modern-mobile-toolbar .mobile-toolbar__debug--running{cursor:wait;opacity:.96;box-shadow:0 14px 28px #2f73bf47}.topbar .mobile-toolbar__logout{background:linear-gradient(135deg,#c97979,#b85f5f);box-shadow:0 8px 18px #b85f5f2e}.topbar .mobile-toolbar__logout:hover{background:linear-gradient(135deg,#bf6f6f,#ab5555)}.overview-btn{background:linear-gradient(135deg,#cf8c1b,#f0ab3f)!important;box-shadow:0 12px 24px #cf8c1b47!important}.overview-btn:hover{background:linear-gradient(135deg,#b97c14,#df9d33)!important}.analysis-btn{background:linear-gradient(135deg,#8f2e2e,#bf4646)!important;box-shadow:0 12px 24px #8f2e2e3d!important}.analysis-btn:hover{background:linear-gradient(135deg,#7a2626,#a83d3d)!important}.delete-btn{background:linear-gradient(135deg,#b63737,#df5c5c)!important;box-shadow:0 12px 24px #b6373738!important}.delete-btn:hover{background:linear-gradient(135deg,#a02f2f,#cb4d4d)!important}.save-btn{background:linear-gradient(135deg,#2a955b,#38b56f)!important;box-shadow:0 12px 24px #2a955b38!important}.save-btn:hover{background:linear-gradient(135deg,#247f4d,#31a562)!important}.calendar-variants{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.calendar-variant-btn{min-width:54px;background:linear-gradient(135deg,#95a4b3,#7f8d9a);box-shadow:0 6px 14px #18324f1a}.calendar-variant-btn--filled{background:linear-gradient(135deg,#5b88b4,#456f99)}.calendar-variant-btn--active{background:linear-gradient(135deg,#6fcf97,#57b97f);box-shadow:0 8px 18px #57b97f2e}.calendar-variant-btn--warning{background:linear-gradient(135deg,#f0a35e,#d97706);box-shadow:0 8px 18px #d9770638;outline:2px solid rgba(255,255,255,.9);outline-offset:1px}.calendar-variant-btn--warning:hover{background:linear-gradient(135deg,#f3ad69,#e38312)}.calendar-variant-action{min-width:0;height:38px;padding:0 12px;border:1px solid rgba(73,108,142,.18);border-radius:999px;background:#ffffffe6;color:#27405a;font-size:12px;font-weight:700;letter-spacing:.01em;box-shadow:0 6px 16px #18324f14}.calendar-variant-action:hover{background:#ecf5fffa}.calendar-variant-action--save-plan{background:linear-gradient(135deg,#4c9c71,#3f875f);color:#fff;border-color:#3f875f59}.calendar-variant-action--save-plan:hover{background:linear-gradient(135deg,#5dab7d,#4a966c)}.calendar-variant-action--danger{color:#9f3f3f;border-color:#bc575738;background:#fff6f6f5}.calendar-variant-action--danger:hover{background:#ffebebfa}.calendar-variant-banner{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;padding:8px 14px;border-radius:999px;background:linear-gradient(135deg,#f28c28,#d45b1f);color:#fff;font-size:13px;font-weight:800;letter-spacing:.03em;box-shadow:0 12px 24px #d45b1f38}.calendar-saved-variant-btn{min-width:74px;height:38px;padding:0 14px;border:1px dashed rgba(100,116,139,.35);border-radius:999px;background:#ffffffc7;color:#5b6d80;font-size:12px;font-weight:700;letter-spacing:.01em}.calendar-saved-variant-btn--filled{border-style:solid;border-color:#3f875f40;background:linear-gradient(135deg,#edf8f0,#dff1e6);color:#24523a}.calendar-saved-variant-btn--active{box-shadow:0 10px 22px #3f875f29;transform:translateY(-1px)}.calendar-solver-warning{margin-top:8px;padding:10px 14px;border-radius:14px;background:linear-gradient(135deg,#eef6ff,#dfeeff);border:1px solid rgba(83,143,199,.24);color:#21486f;font-size:13px;font-weight:700;line-height:1.4;text-align:center;box-shadow:0 8px 18px #538fc71f}.calendar-solver-warning--hard{background:linear-gradient(135deg,#fff4e8,#ffe7cc);border:1px solid rgba(217,119,6,.26);color:#8a4b08;box-shadow:0 8px 18px #d977061f}.calendar-context-menu{position:fixed;z-index:7000;display:grid;gap:6px;min-width:140px;padding:8px;border-radius:16px;background:#fffffffa;border:1px solid rgba(73,108,142,.18);box-shadow:0 18px 36px #18324f33;transform:translate(-50%)}.calendar-context-menu__item{min-width:0;height:38px;padding:0 12px;border-radius:12px;justify-content:flex-start;background:#f4f8fcf5;color:#27405a;box-shadow:none}.calendar-context-menu__item:hover{background:#e6f0fafa}.modal{position:fixed;inset:0;width:100vw;height:100vh;background:#0006;display:flex;align-items:center;justify-content:center;z-index:5000}.event-popup{background:linear-gradient(180deg,#fffffffa,#f8fbfef5);padding:22px;border-radius:22px;border:1px solid rgba(19,41,67,.1);box-shadow:0 24px 48px #13294333;min-width:320px;max-width:min(460px,92vw);display:flex;flex-direction:column;gap:10px}.event-popup--editor{max-width:min(760px,94vw)}.event-popup__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-close-btn{width:38px;min-width:38px;height:38px;min-height:38px;padding:0;border-radius:999px;border:1px solid rgba(19,41,67,.14);background:linear-gradient(180deg,#fff,#f3f7fb);color:#18324f;box-shadow:0 10px 20px #13294314;display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;line-height:1;flex:0 0 auto}.modal-close-btn:hover{background:linear-gradient(180deg,#fff,#e9f1f8)}.event-popup-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px}.event-popup-form-grid__wide{grid-column:1 / -1}.event-popup-availability{padding:10px 12px;border-radius:14px;background:#17395f0f;color:#18324f;display:flex;flex-direction:column;gap:4px;font-size:13px}.event-popup-availability--inline{min-width:240px;max-width:340px}.event-popup-availability__row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.event-popup-availability__content{min-width:0;flex:1 1 auto}.event-popup-availability__actions{display:flex;justify-content:flex-end;flex:0 0 auto}.event-popup-preparation{padding:12px 14px;border-radius:14px;background:#17395f0f;color:#18324f;display:flex;flex-direction:column;gap:10px}.event-popup-preparation__header{font-size:13px;font-weight:800;color:#42566d}.event-popup-preparation__row{display:grid;grid-template-columns:minmax(0,1fr) 96px auto;gap:10px;align-items:center}.event-popup-preparation__toggle{display:inline-flex;align-items:center;gap:10px;margin:0}.event-popup-preparation__toggle input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:0;padding:0;box-shadow:none}.event-popup-preparation__unit{font-size:13px;font-weight:700;color:#627487}.event-popup-form-grid__student,.event-popup-form-grid__half{grid-column:span 2}.event-popup-form-grid__date,.event-popup-form-grid__time{grid-column:span 1}.event-popup-form-grid label,.event-popup-form-grid .event-popup-form-grid__wide,.event-popup-form-grid .event-popup-form-grid__student,.event-popup-form-grid .event-popup-form-grid__date,.event-popup-form-grid .event-popup-form-grid__time{min-width:0}.event-popup-form-grid .react-select__control,.event-popup-form-grid input,.event-popup-form-grid select{width:100%;box-sizing:border-box}.event-popup h3{margin:0 0 4px;color:#132943;font-size:24px}.event-popup label{margin-top:2px;color:#42566d;font-size:13px;font-weight:700;letter-spacing:.01em}.event-popup input,.event-popup select{min-height:46px;padding:0 14px;border-radius:14px;border:1px solid #d4dde7;background:linear-gradient(180deg,#fff,#f7fafd);color:#18324f;font-size:15px;box-shadow:inset 0 1px 2px #1329430a}.event-popup input:focus,.event-popup select:focus{outline:none;border-color:#7ea9d3;box-shadow:0 0 0 4px #285f961f}.native-date-input{width:100%}.native-date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.85}.time-picker{position:relative;width:100%}.time-picker__backdrop{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px;background:#0a142047}.time-picker__trigger{width:100%;min-height:46px;padding:0 12px;border-radius:14px;border:1px solid #d4dde7;background:linear-gradient(180deg,#fff,#f7fafd);color:#18324f;font-size:15px;display:flex;align-items:center;justify-content:center;gap:10px}.time-picker__trigger:focus{outline:none;border-color:#7ea9d3;box-shadow:0 0 0 4px #285f961f}.time-picker__value{min-width:2ch;font-size:22px;font-weight:800}.time-picker__separator{color:#42566d;font-size:20px;font-weight:800;line-height:1}.time-picker__dialog{position:relative;width:min(392px,94vw);border-radius:6px;overflow:hidden;background:#fff;box-shadow:0 22px 42px #0a142057}.time-picker__hero{padding:18px 22px 16px;background:linear-gradient(135deg,#17395f,#214d7b);color:#fff}.time-picker__hero-label{margin-bottom:10px;font-size:14px;font-weight:700;opacity:.94}.time-picker__hero-value{display:flex;align-items:center;justify-content:center;gap:6px;font-size:60px;font-weight:300;line-height:1;letter-spacing:.02em}.time-picker__hero-part{min-width:0;height:auto;padding:0 2px;border:0;border-radius:10px;background:transparent;color:#ffffffb8;font-size:inherit;font-weight:inherit;box-shadow:none;filter:none}.time-picker__hero-part.is-active{color:#fff}.time-picker__hero-colon{color:#ffffffb8}.time-picker__body{padding:18px 22px 10px;background:#fff}.time-picker__clock-view{display:flex;justify-content:center}.time-picker__keyboard-title{margin-bottom:16px;color:#1c354e;font-size:15px;font-weight:700}.time-picker__keyboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.time-picker__field{display:flex;flex-direction:column;gap:8px}.time-picker__field span{color:#5a6f84;font-size:13px;font-weight:500}.time-picker__field input{min-height:52px;padding:0 4px 6px;border:0;border-bottom:2px solid rgba(12,85,109,.5);border-radius:0;background:transparent;color:#18324f;font-size:36px;font-weight:300;text-align:left;box-shadow:none}.time-picker__field input:focus{outline:none;border-bottom-color:#0a556d}.time-picker__dial{position:relative;width:278px;height:278px;margin:0 auto;border-radius:50%;background:#f1f3f4;box-shadow:inset 0 0 0 1px #1329430d}.time-picker__dial-ring--inner:before{content:"";position:absolute;inset:50%;width:120px;height:120px;border-radius:50%;background:#0c556d0a;transform:translate(-50%,-50%)}.time-picker__hand{position:absolute;left:50%;bottom:50%;width:2px;transform-origin:center bottom;border-radius:999px;background:#0a556d;z-index:1}.time-picker__dial-center{position:absolute;left:50%;top:50%;width:12px;height:12px;border-radius:50%;background:#0a556d;transform:translate(-50%,-50%);z-index:2}.time-picker__dial-number{position:absolute;transform:translate(-50%,-50%);box-sizing:border-box;min-width:0;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#1f2d3a;font-size:15px;font-weight:600;touch-action:manipulation;box-shadow:none;z-index:3;filter:none;outline:none;-webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none;display:flex;align-items:center;justify-content:center;white-space:nowrap;transition:none}.time-picker__dial-number--inner{width:36px;height:36px;font-size:11px;font-weight:700;color:#5f6570}.time-picker__dial-number:hover,.time-picker__dial-number:active,.time-picker__dial-number:focus,.time-picker__dial-number:focus-visible,.time-picker__icon-button:hover,.time-picker__icon-button:active,.time-picker__minute:hover,.time-picker__minute:active,.time-picker__action:hover,.time-picker__action:active,.time-picker__hero-part:hover,.time-picker__hero-part:active,.time-picker__trigger:hover,.time-picker__trigger:active{transform:none!important}.time-picker__dial-number:hover,.time-picker__dial-number:active,.time-picker__dial-number:focus,.time-picker__dial-number:focus-visible{transform:translate(-50%,-50%)!important;background:transparent;box-shadow:none;filter:none}.time-picker__dial-number.is-active{background:linear-gradient(135deg,#17395f,#285f96);color:#fff;box-shadow:none}.time-picker__dial-number:focus,.time-picker__dial-number:focus-visible{outline:none;box-shadow:none}.time-picker__dial-number.is-active:hover,.time-picker__dial-number.is-active:active,.time-picker__dial-number.is-active:focus,.time-picker__dial-number.is-active:focus-visible{transform:translate(-50%,-50%)!important;background:linear-gradient(135deg,#17395f,#285f96);color:#fff;box-shadow:none}.time-picker__footer{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:0 22px 18px;background:#fff}.time-picker__icon-button{width:42px;height:42px;min-width:42px;padding:0;border-radius:50%;background:transparent;color:#657382;box-shadow:none;filter:none;outline:none;-webkit-tap-highlight-color:transparent}.time-picker__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}.time-picker__action{min-width:0;width:100%;min-height:40px;height:40px;padding:0 14px;border:none;border-radius:12px;background:transparent;color:#0a556d;font-weight:700;box-shadow:none;filter:none;outline:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;writing-mode:horizontal-tb;text-orientation:mixed}.time-picker__action--confirm{color:#0a556d}.popup-buttons{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.popup-buttons--editor{justify-content:flex-start}.popup-buttons--editor-main{margin-top:0}.event-popup-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:10px}.event-popup-footer__aside{display:flex;justify-content:flex-end;align-self:flex-end;flex:0 0 auto}.event-popup-footer__aside button{min-width:118px}.share-draft-modal{width:min(560px,92vw);padding:22px;border-radius:22px;border:1px solid rgba(19,41,67,.1);box-shadow:0 24px 48px #13294333}.share-draft-modal__subtitle{margin:0 0 12px;color:#5d7187;font-size:14px;line-height:1.45}.share-draft-modal__field{display:grid;gap:8px}.share-draft-modal__field span{color:#17395f;font-size:14px;font-weight:700}.share-draft-modal__field textarea{width:100%;min-height:180px;padding:12px 14px;border-radius:16px;border:1px solid rgba(19,41,67,.16);background:#f7fafdf5;color:#17395f;font-size:15px;line-height:1.45;resize:vertical}.share-draft-modal__field textarea:focus{outline:none;border-color:#7ea9d3;box-shadow:0 0 0 4px #285f961f}.share-draft-modal__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.popup-overlay{position:fixed;inset:0;width:100vw;height:100vh;background:#00000040;display:flex;align-items:center;justify-content:center;z-index:5000}.hover-info{min-width:220px;max-width:260px;padding:12px 14px;border-radius:16px;background:linear-gradient(180deg,#f5faf0f5,#ecf5e4f0);border:1px solid rgba(93,139,83,.16);box-shadow:0 10px 22px #3258271f;color:#244426;font-size:13px;transition:transform .08s ease,opacity .08s ease;pointer-events:auto;transform:translateZ(0)}.hover-info__header{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:move;touch-action:none}.hover-info__close{min-width:28px;height:28px;padding:0;border-radius:999px;background:#3258271a;color:#244426;box-shadow:none}.hover-info__close:hover{background:#32582729;color:#244426;transform:none}.hover-info__time{margin-top:6px;margin-bottom:10px;color:#527055;font-size:12px}.hover-info__empty{color:#527055}.hover-info__student{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid rgba(93,139,83,.14)}.hover-info__student:first-of-type{border-top:0}.hover-info__student-btn{width:100%;border:0;background:linear-gradient(180deg,#f7fdee,#edf7de);color:#244426;text-align:left;cursor:pointer;border-radius:10px;padding:10px 12px}.hover-info__student-btn:hover{background:linear-gradient(180deg,#eef9e1,#def0c9);color:#244426;box-shadow:0 8px 18px #3258271f;transform:none}.hover-info__name{font-weight:700}.hover-info__time-range{margin-top:2px;color:#527055;font-size:12px}.hover-info__license{color:#527055;text-align:right}.availability-editor{width:min(1080px,96vw)!important;padding:22px;border-radius:24px;background:linear-gradient(180deg,#fffffffa,#f7fafdf7);border:1px solid rgba(19,41,67,.1);box-shadow:0 26px 52px #1329432e}.availability-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.availability-header h3,.availability-edit-modal h3{margin:0;color:#132943;font-size:26px}.availability-back-btn{min-width:164px;min-height:44px;background:linear-gradient(135deg,#2a955b,#38b56f);color:#fff;box-shadow:0 12px 24px #2a955b2e}.availability-back-btn:hover{background:linear-gradient(135deg,#247f4d,#31a562)}.availability-kicker{margin:0 0 6px;color:#64788d;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.availability-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;margin-bottom:18px;flex-wrap:wrap;position:relative;z-index:5}.availability-current-day{margin-top:16px}.availability-quick-dates{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.availability-quick-date{min-height:38px;padding:0 14px;border-radius:999px;background:#1329430f;color:#18324f;box-shadow:none}.availability-quick-date.is-active{background:linear-gradient(135deg,#17395f,#285f96);color:#fff}.availability-current-day label{display:flex;flex-direction:column;gap:6px;width:calc((100% - 14px)/2);max-width:calc((100% - 14px)/2);color:#42566d;font-size:13px;font-weight:700}.availability-current-day input{min-height:46px;padding:0 14px;border-radius:14px;border:1px solid #d4dde7;background:linear-gradient(180deg,#fff,#f7fafd);color:#18324f;font-size:15px}.availability-current-day input:focus{outline:none;border-color:#7ea9d3;box-shadow:0 0 0 4px #285f961f}.availability-mode-switch{display:inline-flex;padding:4px;background:#1329430f;border-radius:16px;gap:4px}.availability-mode-switch button{min-width:142px;background:transparent;color:#42566d;box-shadow:none}.availability-mode-switch button:hover{background:#ffffffb3}.availability-mode-switch button.is-active{background:linear-gradient(135deg,#17395f,#285f96);color:#fff;box-shadow:0 12px 24px #17395f2e}.availability-summary-trigger{min-width:164px;min-height:44px;border:0;border-radius:16px;background:linear-gradient(135deg,#17395f,#285f96);color:#fff;font-size:14px;font-weight:700;box-shadow:0 12px 24px #17395f2e;cursor:pointer;position:relative;z-index:6}.availability-toggle{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:0 12px;border-radius:14px;background:#1329430a;border:1px solid rgba(19,41,67,.06);color:#42566d;font-size:14px;font-weight:600}.availability-toggle input{width:18px;height:18px}.availability-toggle--edit{justify-content:flex-start;min-height:46px;padding:0 14px}.availability-switch{display:inline-flex;align-items:center;gap:12px;min-height:46px;padding:0 14px;border-radius:14px;background:#1329430a;border:1px solid rgba(19,41,67,.06);cursor:pointer}.availability-switch input{position:absolute;opacity:0;pointer-events:none}.availability-switch__track{position:relative;width:52px;height:30px;border-radius:999px;background:linear-gradient(135deg,#b63737,#df5c5c);box-shadow:inset 0 0 0 1px #ffffff2e;transition:background .14s ease}.availability-switch__thumb{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0000002e;transition:transform .14s ease}.availability-switch__label{color:#18324f;font-size:13px;font-weight:700}.availability-switch input:checked+.availability-switch__track{background:linear-gradient(135deg,#2a955b,#38b56f)}.availability-switch input:checked+.availability-switch__track .availability-switch__thumb{transform:translate(22px)}.availability-switch--summary{width:100%;justify-content:flex-start;margin-top:14px;margin-bottom:16px;padding:12px 14px}.availability-preset-panel,.availability-list-card,.availability-edit-modal{background:#ffffffe0;border:1px solid rgba(19,41,67,.08);border-radius:20px;box-shadow:0 16px 32px #13294314}.availability-preset-panel{padding:18px}.availability-preset-options{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;margin-bottom:16px}.availability-panel-head h4,.availability-list-head h4{margin:0;color:#16314e;font-size:18px}.availability-panel-head p{margin:6px 0 0;color:#627487;font-size:13px}.availability-range-grid,.availability-preset-times,.availability-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.availability-range-grid{margin-top:16px;max-width:660px}.availability-range-grid label,.availability-preset-times label,.availability-edit-grid label{display:flex;flex-direction:column;gap:6px;color:#42566d;font-size:13px;font-weight:700}.availability-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.availability-preset-grid .availability-preset-card:last-child{grid-column:1 / -1}.availability-preset-card{padding:16px;border-radius:18px;background:linear-gradient(180deg,#f8fbfe,#eef4f9);border:1px solid rgba(19,41,67,.08);display:flex;flex-direction:column;gap:12px}.availability-preset-title strong{color:#16314e;font-size:16px}.availability-preset-card input,.availability-edit-grid input,.availability-range-grid input{min-height:46px;padding:0 14px;border-radius:14px;border:1px solid #d4dde7;background:linear-gradient(180deg,#fff,#f7fafd);color:#18324f;font-size:15px}.availability-preset-card input:focus,.availability-edit-grid input:focus,.availability-range-grid input:focus{outline:none;border-color:#7ea9d3;box-shadow:0 0 0 4px #285f961f}.availability-edit-optional{transition:opacity .14s ease}.availability-edit-optional.is-disabled{opacity:.5}.availability-edit-optional input:disabled{cursor:not-allowed;background:linear-gradient(180deg,#f3f6f9,#eef3f7);color:#7a8998}.availability-calendar-shell{margin-top:18px;padding:14px;border-radius:22px;background:#ffffffe6;border:1px solid rgba(19,41,67,.08);box-shadow:inset 0 1px #ffffffe6;position:relative;z-index:1}.availability-calendar-topbar{display:flex;justify-content:flex-start;align-items:center;gap:16px;flex-wrap:nowrap;margin-bottom:12px}.availability-calendar-topbar-main{display:flex;align-items:center;gap:18px;flex-wrap:nowrap;flex:0 1 auto}.availability-calendar-actions{display:flex;justify-content:flex-start;margin-top:0}.availability-calendar-actions--top{margin-top:0;margin-bottom:0;align-self:stretch}.availability-apply-btn{min-width:188px;min-height:46px;border-radius:16px;background:linear-gradient(135deg,#2a955b,#38b56f);color:#fff;box-shadow:0 12px 24px #2a955b2e}.availability-mode-switch--compact{gap:8px;padding:0;background:transparent}.availability-mode-switch--compact button{min-width:136px;min-height:46px;border-radius:16px;background:#13294314;color:#42566d;box-shadow:none}.availability-calendar-shell .fc .fc-toolbar{gap:12px;align-items:center;flex-wrap:wrap}.availability-calendar-shell .fc .fc-toolbar-title{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap}.availability-calendar-shell .fc .fc-toolbar-title:after{content:'Hier kannst du Deine Verfügbarkeiten "zeichnen"';color:#5f738a;font-size:17px;font-weight:600;line-height:1.25}.availability-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.availability-list-card{padding:18px}.availability-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.availability-list-head span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;padding:0 10px;border-radius:999px;background:#dce9f6;color:#17395f;font-size:13px;font-weight:700}.availability-list-body{display:flex;flex-direction:column;gap:10px}.day-availability-panel{width:min(680px,calc(100vw - 32px));max-height:min(80vh,760px);overflow:hidden}.day-availability-panel__date{margin-top:6px;color:#64748b;font-size:13px;font-weight:600}.day-availability-panel__card{margin-top:14px;padding:16px}.day-availability-panel__body{max-height:min(58vh,520px);overflow-y:auto}.day-availability-panel__entry-button{all:unset;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border-radius:12px;background:linear-gradient(180deg,#f7fdee,#edf7de);color:#244426;text-align:left;cursor:pointer;box-sizing:border-box;border:1px solid rgba(93,139,83,.14)}.day-availability-panel__entry-button:hover{background:linear-gradient(180deg,#eef9e1,#def0c9);box-shadow:0 8px 18px #3258271f}.day-availability-panel__entry-text{min-width:0;flex:1 1 auto}.day-availability-panel__entry-name{font-weight:700;font-size:15px;line-height:1.25;color:#244426}.day-availability-panel__entry-time{margin-top:2px;color:#527055;font-size:12px;line-height:1.3;white-space:normal}.day-availability-panel__entry-classes{flex:0 0 auto;align-self:center;color:#35516d;text-align:right;font-size:13px;font-weight:700;white-space:nowrap}.availability-entry{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;padding:10px 12px;border-radius:16px;background:linear-gradient(180deg,#f9fbfd,#f0f5fa);border:1px solid rgba(19,41,67,.08);min-height:118px}.availability-entry>div:first-child{min-width:0;width:100%}.availability-entry strong{display:block;color:#17395f;font-size:13px;line-height:1.2}.availability-entry span{display:block;margin-top:3px;color:#617487;font-size:12px;line-height:1.25}.availability-entry button{flex-shrink:0}.availability-entry-actions{display:flex;flex-direction:row;gap:6px;align-items:center;justify-content:space-between;flex:0 0 auto;width:100%;flex-wrap:nowrap;margin-top:auto}.availability-entry-actions button{min-width:0;flex:1 1 0;max-width:none;height:32px;padding:0 8px;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:none;border-radius:12px}.availability-entry-actions button:first-child{background:linear-gradient(135deg,#2a955b,#38b56f);color:#fff}.availability-entry-actions button:last-child{background:linear-gradient(135deg,#b63737,#df5c5c);color:#fff}.availability-empty{margin:0;padding:16px;border-radius:16px;background:#1329430a;color:#6b7d8f;font-size:13px}.availability-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:20px}.availability-actions .availability-btn{min-width:112px;height:36px;padding:0 10px;font-size:12px}.availability-actions .availability-btn--save{order:1}.availability-actions .availability-btn:not(.availability-btn--save):not(.availability-btn--danger){order:2;background:linear-gradient(135deg,#17395f,#285f96);box-shadow:0 12px 24px #17395f2e}.availability-actions .availability-btn--danger{order:3}.availability-summary-modal{width:min(720px,94vw)}.availability-free-modal{width:min(420px,94vw)}.availability-free-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.availability-day-chip{appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;min-height:44px;border:1px solid rgba(19,41,67,.12);border-radius:14px;color:#fff;font-weight:700;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease}.availability-day-chip:hover{transform:translateY(-1px)}.availability-day-chip:active,.availability-day-chip:focus{outline:none}.availability-day-chip.is-inactive{background:linear-gradient(135deg,#b63737,#df5c5c);color:#fff;border-color:#b6373747;box-shadow:0 12px 24px #b637372e}.availability-day-chip.is-inactive:active{background:linear-gradient(135deg,#b63737,#df5c5c);color:#fff}.availability-day-chip.is-active{background:linear-gradient(135deg,#2a955b,#38b56f);color:#fff;border-color:#2a955b3d;box-shadow:0 12px 24px #2a955b2e}.availability-day-chip.is-active:active{background:linear-gradient(135deg,#2a955b,#38b56f);color:#fff}.availability-day-chip:focus-visible{outline:2px solid rgba(42,149,91,.28);outline-offset:2px}.availability-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.availability-summary-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:16px;background:linear-gradient(180deg,#f9fbfd,#eef4f9);border:1px solid rgba(19,41,67,.08)}.availability-summary-card strong{color:#17395f;font-size:14px}.availability-summary-card span{color:#627487;font-size:13px}.availability-summary-lists{display:grid;grid-template-columns:1fr;gap:14px;margin-top:16px}.availability-summary-list .availability-entry{align-items:flex-start}.availability-summary-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px}.availability-summary-list h4{grid-column:1 / -1;margin:0;color:#16314e;font-size:16px}.availability-summary-list .availability-empty{grid-column:1 / -1}.availability-btn{min-width:180px;min-height:46px;border-radius:16px;color:#fff}.availability-btn--save{background:linear-gradient(135deg,#2a955b,#38b56f);box-shadow:0 12px 24px #2a955b2e}.availability-btn--danger{background:linear-gradient(135deg,#b63737,#df5c5c);box-shadow:0 12px 24px #b6373738}.availability-edit-modal{width:min(460px,94vw);padding:20px}.availability-top-info{display:grid;grid-template-columns:minmax(260px,1fr) minmax(320px,380px);gap:14px;align-items:stretch;margin-bottom:18px}.availability-top-info__summary,.availability-top-info__classes{min-width:0}.availability-top-info__classes{display:grid;gap:10px;background:#d8e6ea;border-radius:12px;padding:12px 14px}.availability-class-status-card{height:100%;background:transparent;box-shadow:none;padding:4px 0}.mobile-add,.mobile-students{color:#fff;border-radius:14px;padding:10px 16px;font-size:14px;width:80px}.mobile-add{background:#34495e}.mobile-students{background:#2c3e50}.floating-add{display:none}.calendar-notice{margin-bottom:10px;padding:10px 14px;border-radius:14px;font-size:14px;font-weight:600;border:1px solid transparent;box-shadow:0 8px 18px #13294314}.calendar-notice--info{background:#eef6ff;color:#21486f;border-color:#c7dcf1}.calendar-notice--success{background:#edf8ef;color:#245838;border-color:#c6e4ce}.calendar-notice--warn{background:#fff6e8;color:#7b5520;border-color:#f0d7a6}.calendar-notice--error{background:#fff0ef;color:#8a2f28;border-color:#efc2bd}.topbar-user{display:flex;flex-direction:column;justify-content:center;min-width:220px;max-width:320px;padding:8px 12px;border-radius:14px;background:#ffffff9e;border:1px solid rgba(24,50,79,.05);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 10px #18324f0a}.topbar-user__eyebrow{font-size:11px;line-height:1.2;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.7}.topbar-user__name{margin-top:2px;font-size:15px;line-height:1.3;font-weight:600;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-date-display__center{position:absolute;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;min-width:0;max-width:calc(100% - 180px);text-align:center;z-index:2;pointer-events:none;top:2px}.calendar-date-display__user{display:flex;flex-direction:column;align-items:center;margin-top:6px;min-width:0}.calendar-date-display__user-label{font-size:10px;font-weight:700;text-transform:uppercase;opacity:.7;line-height:1.1}.calendar-date-display__user-name{margin-top:8px;font-size:12px;font-weight:700;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;line-height:1.2}.calendar-date-display__row{position:relative}.event-error{background:#ffe5e5;color:#c0392b;padding:10px;border-radius:6px;margin:10px 0;font-weight:500;border:1px solid #e0b4b4}.calendar-header-toggle-bar{display:flex;justify-content:center;gap:12px;margin:12px 0 14px;flex-wrap:wrap}.calendar-header-toggle-btn{min-width:112px;border:1px solid rgba(24,50,79,.1);border-radius:999px;padding:9px 18px;font-size:13px;font-weight:800;letter-spacing:.01em;cursor:pointer;transition:all .18s ease}.calendar-header-toggle-btn:hover{transform:translateY(-1px)}.calendar-header-toggle-btn--solver{background:linear-gradient(135deg,#f2c089,#e39a43);color:#7a4308}.calendar-header-toggle-btn--calendar{background:linear-gradient(135deg,#cfe0f3,#a9c3e6);color:#234b76}.calendar-header-toggle-btn--plans{background:linear-gradient(135deg,#d9efdf,#b9debf);color:#24523a}.calendar-header-toggle-btn--solver.active{background:linear-gradient(135deg,#e89b45,#d97706);color:#fff;box-shadow:0 10px 22px #d9770638}.calendar-header-toggle-btn--calendar.active{background:linear-gradient(135deg,#5b88b4,#456f99);color:#fff;box-shadow:0 10px 22px #456f9938}.calendar-header-toggle-btn--plans.active{background:linear-gradient(135deg,#6fcf97,#57b97f);color:#fff;box-shadow:0 10px 22px #57b97f33}.calendar-date-display__label--desktop{text-align:center;font-size:20px;font-weight:800;color:#36506b;letter-spacing:.01em;margin-bottom:4px}.topbar-section{display:flex;align-items:center;gap:10px}.topbar-section--solver{margin-left:8px}.topbar-section--calendar{margin-left:10px}.calendar-week-clear-btn.calendar-action-btn.delete-btn{min-height:38px;padding:0 14px;border-radius:999px;background:linear-gradient(135deg,#b63737,#df5c5c)!important;color:#fff!important;border:none;box-shadow:0 12px 24px #b6373738!important}.calendar-week-clear-btn.calendar-action-btn.delete-btn:hover{background:linear-gradient(135deg,#a02f2f,#cb4d4d)!important;color:#fff!important}.calendar-variant-delete-all-btn{border:1px solid rgba(185,60,60,.22);background:linear-gradient(180deg,#fff8f8,#fbeeee);color:#a54444;border-radius:14px;height:38px;padding:0 16px;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;box-shadow:0 6px 14px #a658581a;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}.calendar-variant-delete-all-btn:hover{background:linear-gradient(180deg,#fff3f3,#f8e3e3);border-color:#b93c3c57;box-shadow:0 8px 18px #a6585824;transform:translateY(-1px)}.calendar-variant-delete-all-btn:active{transform:translateY(0);box-shadow:0 4px 10px #a658581a}.calendar-date-display__desktop-variant-actions{display:flex;justify-content:flex-end;margin-top:12px}.auth-route-shell{background:linear-gradient(180deg,#f4f7fb,#edf3f8)}.auth-route-bar{width:min(1240px,calc(100% - 32px));margin:0 auto;display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px;padding:12px;background:#ffffffd6;border:1px solid rgba(24,50,79,.08);border-radius:8px;box-shadow:0 6px 18px #18324f0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.auth-route-user{margin-left:auto;color:#17395f;font-size:13px;font-weight:700}.auth-route-bar .calendar-action-btn{min-width:0;min-height:38px;padding:0 14px;border-radius:8px;box-shadow:0 8px 18px #18324f1f}.auth-route-bar .calendar-action-btn span{white-space:nowrap}.calendar-week-availability-btn{min-width:58px;width:58px;height:38px;padding:0;border-radius:14px;background:linear-gradient(135deg,#e29a58,#cc6f32);color:#fff;box-shadow:0 8px 18px #cc6f3238;display:inline-flex;align-items:center;justify-content:center;gap:0}.calendar-week-availability-btn:hover{background:linear-gradient(135deg,#e7a567,#d87a3c)}.calendar-week-availability-btn__icon{flex:0 0 auto}@media(max-width:768px){.time-picker__dialog{width:min(340px,calc(100vw - 20px))}.time-picker__hero{padding:16px 18px 14px}.time-picker__hero-value{font-size:54px}.time-picker__dial{width:244px;height:244px}.time-picker__dial-number{width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px;padding:0;font-size:14px;border-radius:50%}.time-picker__dial-number--inner{width:34px;height:34px;min-width:34px;min-height:34px;max-width:34px;max-height:34px;font-size:10px;border-radius:50%}.time-picker__dial-number.is-active,.time-picker__dial-number.is-active:hover,.time-picker__dial-number.is-active:active,.time-picker__dial-number.is-active:focus,.time-picker__dial-number.is-active:focus-visible{width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px;border-radius:50%}.time-picker__dial-number--inner.is-active,.time-picker__dial-number--inner.is-active:hover,.time-picker__dial-number--inner.is-active:active,.time-picker__dial-number--inner.is-active:focus,.time-picker__dial-number--inner.is-active:focus-visible{width:34px;height:34px;min-width:34px;min-height:34px;max-width:34px;max-height:34px;border-radius:50%}.time-picker__minute{min-height:38px;font-size:14px}.time-picker__footer{padding:0 18px 16px}.time-picker__actions{grid-template-columns:repeat(2,minmax(96px,1fr));gap:8px}.time-picker__action{min-width:0}.time-picker__keyboard-grid{grid-template-columns:1fr}.calendar-solver-warning{margin-top:6px;padding:9px 12px;font-size:12px;line-height:1.35}.floating-add{position:fixed;right:20px;bottom:92px;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#d84b38,#ef7b54);color:#fff;font-size:34px;font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:0 18px 28px #d84b3847;z-index:4000}.topbar-user{display:none}.calendar-date-display__row{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}.calendar-date-display__center{position:static;left:auto;top:auto;transform:none;width:100%;max-width:100%;z-index:auto;pointer-events:none}.calendar-date-display__label{width:100%;text-align:center}.calendar-date-display__user-label{display:none}.calendar-date-display__user-name{margin-top:0;max-width:280px;font-size:13px;line-height:1.2}.calendar-date-display__user-name:before{content:"Angemeldet als ";font-size:11px;font-weight:700;text-transform:uppercase;opacity:.7;margin-right:4px}.calendar-date-display__nav,.calendar-date-display__controls{position:static;z-index:auto}.calendar-date-display__mobile-clear-row{margin-top:8px}.calendar-date-display__mobile-clear-row .calendar-week-clear-btn{width:100%;min-width:0}.calendar-date-display__solver-actions--mobile-grid .calendar-variant-btn{width:100%;min-width:0;padding:0 8px}.calendar-date-display__solver-panel--mobile{display:grid;grid-template-columns:1fr;gap:10px;width:100%;margin-top:10px}.calendar-date-display__mobile-plan-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;align-items:stretch;margin-top:10px}.calendar-date-display__mobile-plan-row button,.calendar-week-availability-btn,.calendar-date-display__solver-actions--mobile-grid .calendar-variant-btn{width:100%;min-width:0;height:42px;padding:0 6px;font-size:11px;border-radius:14px}.calendar-saved-variant-btn{min-width:0;height:42px;padding:0 6px;font-size:11px}.calendar-date-display__mobile-clear-row{width:100%}.calendar-date-display__mobile-clear-row .calendar-week-clear-btn,.calendar-date-display__mobile-clear-row .calendar-variant-delete-all-btn{width:100%;min-width:0;height:44px}.calendar-date-display__solver-actions--mobile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;align-items:stretch;margin-top:8px}.auth-route-bar{width:calc(100% - 20px);padding:10px;gap:8px}.auth-route-user{order:10;width:100%;margin-left:0}.auth-route-bar .calendar-action-btn{flex:1 1 calc(50% - 8px);width:auto;min-height:36px;padding:0 10px;font-size:11px}}@media(min-width:769px){.calendar-date-display__user{display:none;margin-top:6px}.calendar-date-display__row{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:18px}.calendar-date-display__nav{display:flex;align-items:center;gap:10px}.calendar-date-display__controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.calendar-date-display__desktop-panels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:14px}.calendar-date-display__desktop-panel{padding:14px 16px;border-radius:18px;background:#ffffffb8;border:1px solid rgba(24,50,79,.08);box-shadow:0 10px 24px #18324f14}.calendar-date-display__desktop-panel-title{margin-bottom:10px;color:#4f647a;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.calendar-date-display__desktop-plan-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calendar-date-display__desktop-variant-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.calendar-date-display__desktop-variant-grid .calendar-variant-btn{width:100%;min-width:0}.calendar-date-display__desktop-plan-row .calendar-week-clear-btn{margin-left:auto}}html{scroll-behavior:smooth}.admin-page,.settings-page{background:linear-gradient(180deg,#f4f7fb,#edf3f8)}.admin-page{color:#18324f!important;min-height:100vh}.admin-page--students{max-width:1240px;margin:0 auto;min-height:100vh;padding:18px 24px 24px;box-sizing:border-box;font-family:Segoe UI,Arial,sans-serif}.settings-shell{max-width:1240px;margin:0 auto;padding:18px 24px 24px;box-sizing:border-box}.admin-page h1,.admin-page h2,.admin-page h3{color:#243b53!important}.admin-page table{background:#fff!important;color:#18324f!important}.admin-page td,.admin-page th{color:#18324f!important}.admin-page input{background:#fff!important;color:#18324f!important;border:1px solid rgba(24,50,79,.12)}.admin-page label{color:#18324f!important}.admin-hero{margin-bottom:14px;gap:12px}.admin-hero__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.admin-hero__eyebrow{margin:0;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#7a8a9a}.admin-hero__user{margin:0 0 10px;font-size:20px;font-weight:600;color:#4f647a;text-align:right}.admin-hero__title{margin:0;font-size:36px;line-height:1.05;color:#18324f!important}.admin-hero__text{max-width:720px;margin:0;font-size:14px;line-height:1.55;color:#6b7c8f}.admin-list-hint{margin:0 0 12px;font-size:13px;color:#6b7c8f}.admin-page-switch{display:inline-flex;align-items:center;gap:6px;margin-top:2px;padding:4px;border:1px solid rgba(24,50,79,.08);border-radius:8px;background:#ffffffe0;box-shadow:0 4px 12px #18324f0f}.admin-page-switch__btn{min-height:34px;padding:0 14px;border:0;border-radius:6px;background:transparent;color:#315f95;font-size:13px;font-weight:700;cursor:pointer;transition:background .14s ease,color .14s ease,transform .14s ease}.admin-page-switch__btn:hover{background:#315f9514}.admin-page-switch__btn.is-active{background:linear-gradient(135deg,#315f95,#4678b1);color:#fff;box-shadow:0 8px 18px #315f952e}.admin-toolbar-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"center right";gap:12px;align-items:center;margin-bottom:10px;padding:10px 12px;border:1px solid rgba(24,50,79,.08);border-radius:8px;background:#ffffffd6;box-shadow:0 6px 18px #18324f0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.admin-toolbar-group{display:flex;align-items:center;gap:8px;min-width:0}.admin-toolbar-group--center{grid-area:center;justify-content:flex-start;flex-wrap:wrap}.admin-toolbar-group--right{grid-area:right;justify-content:flex-end;flex-wrap:nowrap;gap:10px;min-width:0}.admin-toolbar-btn,.admin-toolbar-inline-btn,.admin-btn,.admin-action-btn,.admin-summary-toggle,.admin-student-summary__details-save,.settings-anchor-nav__link,.admin-search-input,.admin-summary-quick select,.admin-summary-quick input,.admin-student-summary__detail-row input,.admin-student-summary__detail-row select{min-height:36px}.admin-btn,.admin-toolbar-inline-btn{border-radius:999px}.admin-toolbar-btn{margin-bottom:0;width:148px;min-width:148px;padding:10px 16px;border:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;color:#fff;font-weight:600;white-space:nowrap;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.admin-toolbar-btn:hover{transform:translateY(-1px);filter:saturate(1.02)}.admin-toolbar-btn:active{transform:translateY(1px) scale(.99)}.admin-toolbar-btn--back{background:linear-gradient(135deg,#6fcf97,#57b97f);box-shadow:0 8px 18px #57b97f2e}.admin-toolbar-btn--overview{background:linear-gradient(135deg,#e2b56b,#d79a46);box-shadow:0 8px 18px #d79a462e}.admin-toolbar-inline-btn{min-height:48px;min-width:0;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;white-space:nowrap;border-radius:999px}.admin-toolbar-inline-btn--ghost{background:linear-gradient(135deg,#eef3f8,#e2eaf2);color:#315f95;box-shadow:0 6px 14px #18324f0f}.admin-toolbar-inline-btn:disabled,.student-actions .admin-action-btn:disabled{cursor:not-allowed;opacity:.78;filter:saturate(.92);transform:none}.admin-toolbar-stat{display:inline-grid;align-items:center;gap:2px;min-width:92px;min-height:48px;padding:8px 14px;border-radius:16px;border:1px solid rgba(24,50,79,.08);background:#ffffffeb;box-shadow:0 6px 14px #18324f0d}.admin-toolbar-stat strong{font-size:18px;line-height:1;color:#17345a}.admin-toolbar-stat span{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#74879a}.admin-toolbar-sort{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;min-height:48px;padding:0 14px;border-radius:16px;border:1px solid rgba(24,50,79,.08);background:#ffffffeb;box-shadow:0 6px 14px #18324f0d;color:#5f7286;font-size:12px;font-weight:700;white-space:nowrap}.admin-toolbar-sort select{min-height:34px;padding:0 10px;border:1px solid rgba(24,50,79,.1);border-radius:10px;background:#fff;color:#18324f;font-weight:700}.admin-search-row{display:flex;justify-content:flex-end;margin:0 0 18px}.admin-search-row--toolbar{display:flex;align-items:center;margin:0;flex:0 1 220px;width:220px;min-width:180px}.admin-search-input{width:100%;min-width:0;padding:0 12px;border:1px solid rgba(24,50,79,.1);background:#fffffff0;color:#18324f;box-shadow:inset 0 1px 2px #18324f0a}.admin-search-input:focus{outline:none;border-color:#8db3d8;box-shadow:0 0 0 4px #4678b11a}.admin-card{margin-bottom:28px;padding:18px 20px;border:1px solid rgba(24,50,79,.06);border-radius:8px;background:linear-gradient(180deg,#fffffffc,#f8fafdf5);box-shadow:0 10px 24px #18324f12}.admin-card__header{margin-bottom:18px}.admin-card__eyebrow{margin:0;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#7a8a9a}.admin-card__title{margin:0;font-size:24px;line-height:1.1}.admin-card__body{margin-bottom:18px}.settings-card{display:grid;gap:24px}.admin-btn{min-height:48px;min-width:0;padding:0 14px;border:0;border-radius:999px;background:linear-gradient(135deg,#315f95,#4678b1);color:#fff;font-size:12px;font-weight:600;letter-spacing:.01em;cursor:pointer;box-shadow:0 6px 14px #18324f1a;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.admin-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px #315f9533;filter:saturate(1.02)}.admin-btn:active{transform:translateY(1px) scale(.99)}.admin-btn--save,.admin-btn--create{background:linear-gradient(135deg,#6fcf97,#57b97f);box-shadow:0 8px 18px #57b97f2e}.admin-btn--expand{background:linear-gradient(135deg,#e2b56b,#d79a46);box-shadow:0 8px 18px #d79a462e}.admin-btn--access{background:linear-gradient(135deg,#82b8e3,#6aa1d2);box-shadow:0 8px 18px #6aa1d22e}.admin-btn--send{background:linear-gradient(135deg,#315f95,#4678b1);box-shadow:0 8px 18px #315f952e}.admin-btn--ghost{background:#edf2f7;color:#315f95;box-shadow:none}.admin-btn--ghost:hover{box-shadow:none;background:#e6edf5}.admin-btn--discard{background:linear-gradient(135deg,#c97979,#b85f5f);color:#fff;box-shadow:0 8px 18px #b85f5f2e}.admin-btn--discard:hover{background:linear-gradient(135deg,#bf6f6f,#ab5555);box-shadow:0 10px 22px #b85f5f33}.admin-page>.admin-btn{display:block;width:fit-content;margin:0 auto;background:linear-gradient(135deg,#e2b56b,#d79a46);box-shadow:0 8px 18px #d79a462e}.admin-btn.is-busy{cursor:progress}.admin-btn.is-busy:after{content:"";width:14px;height:14px;margin-left:8px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:admin-btn-spin .7s linear infinite}@keyframes admin-btn-spin{to{transform:rotate(360deg)}}.admin-action-btn{padding:9px 14px;border:0;border-radius:12px;min-width:112px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;color:#fff;font-size:12px;font-weight:700;white-space:nowrap;text-align:center;line-height:1.15;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease}.admin-action-btn:hover{transform:translateY(-1px)}.admin-action-btn:active{transform:translateY(1px) scale(.98)}.admin-action-btn--edit{background:linear-gradient(135deg,#e2b56b,#d79a46);box-shadow:0 8px 18px #d79a462e}.admin-action-btn--time{background:linear-gradient(135deg,#82b8e3,#6aa1d2);box-shadow:0 8px 18px #6aa1d22e}.admin-action-btn--copy,.admin-action-btn--share{background:linear-gradient(135deg,#6fcf97,#57b97f);box-shadow:0 8px 18px #57b97f2e}.admin-action-btn--renew{background:linear-gradient(135deg,#b39ad6,#9a7fc5);box-shadow:0 8px 18px #9a7fc52e}.admin-action-btn--delete{background:linear-gradient(135deg,#c97979,#b85f5f);box-shadow:0 8px 18px #b85f5f2e}.admin-form-section h3{margin-top:0;margin-bottom:14px}.admin-form-section h4{margin:18px 0 8px;color:#5f7286!important}.admin-form-actions{display:flex;flex-wrap:wrap;gap:12px}.admin-form-actions--top{margin-bottom:18px;justify-content:flex-start}.admin-form-actions .admin-btn{min-width:190px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:20px}.form-grid section{background:#fbfcfe;padding:15px;border-radius:12px;border:1px solid rgba(24,50,79,.06)}.admin-form-section--student{grid-column:1;grid-row:1}.admin-form-section--contact{grid-column:2;grid-row:1}.admin-form-section--existing-license{grid-column:2;grid-row:2}.admin-form-section--organization{grid-column:1;grid-row:2}.form-grid input,.form-grid select{width:100%;padding:6px;margin-top:6px;margin-bottom:12px}.class-editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:22px}.class-editor-card{padding:18px;border:1px solid rgba(24,50,79,.06);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafd);box-shadow:0 8px 20px #18324f0d}.class-editor-card__header{margin-bottom:14px}.class-editor-card__eyebrow{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#7a8a9a}.class-editor-card__title{margin:0;font-size:22px;line-height:1.1}.class-editor-card__grid,.class-editor-row{display:grid;gap:12px}.class-editor-row--theory{grid-template-columns:1fr}.class-editor-row--primary{grid-template-columns:1fr 1fr}.class-editor-row--special{grid-template-columns:repeat(3,minmax(0,1fr))}.class-editor-row .class-field{min-width:0}.class-editor-row .class-field input{width:100%}.class-field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:#42566d}.class-field span{font-size:14px;font-weight:700}.class-field--wide{grid-column:1 / -1}.class-field--practice,.class-field--manual,.class-field--overland,.class-field--autobahn,.class-field--night{grid-column:auto;grid-row:auto}.class-field input{min-height:46px;padding:10px 12px;box-sizing:border-box}.class-field small{font-size:11px;font-weight:600;color:#7a8a9a}.admin-import-card{margin-bottom:22px}.admin-import-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.admin-import-card__status{padding:10px 14px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap}.admin-import-card__status.is-ready{background:#6fcf972e;color:#2d7c53}.admin-import-card__status.is-missing{background:#e2b56b2e;color:#9a6a1f}.admin-import-card__text{margin:0 0 18px;color:#6b7c8f;line-height:1.6}.admin-import-card__actions{display:flex;flex-wrap:wrap;gap:12px}.admin-import-card__file-btn{position:relative;overflow:hidden;cursor:pointer}.admin-import-card__file-btn input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.admin-import-card__error{margin-top:14px;padding:12px 14px;border-radius:14px;background:#c840401a;color:#8d1f1f;font-weight:600}.admin-import-preview-wrap{margin-top:18px}.admin-import-preview-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.admin-import-preview-summary{display:flex;flex-wrap:wrap;gap:8px}.admin-import-preview-summary span{padding:6px 10px;border-radius:999px;background:#ebf1f8f2;color:#315f95;font-size:12px;font-weight:700}.admin-import-preview-sort{display:inline-flex;align-items:center;gap:8px;color:#6b7c8f;font-size:13px;font-weight:700}.admin-import-preview-sort select{min-height:38px;padding:8px 12px;border:1px solid rgba(24,50,79,.1);border-radius:12px;background:#fff}.admin-import-preview{display:grid;gap:8px}.admin-import-preview--compact{gap:6px}.admin-import-preview__item{display:grid;grid-template-columns:18px auto minmax(180px,1.3fr) minmax(90px,.7fr) minmax(120px,.8fr) minmax(180px,1fr);gap:12px;align-items:center;padding:10px 12px;border-radius:14px;border:1px solid rgba(24,50,79,.06);background:#ffffffe6;box-shadow:0 4px 12px #18324f0a}.admin-import-preview__item--compact{min-width:0}.admin-import-preview__item.is-disabled{opacity:.72}.admin-import-preview__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-import-preview__value,.admin-import-preview__hint{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5f7286;font-size:13px}.admin-import-preview__hint{color:#7a8a9a}.admin-import-preview__badge{padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;justify-self:start}.admin-import-preview__badge.status-new{background:#6fcf9729;color:#2d7c53}.admin-import-preview__badge.status-matched{background:#5b88b429;color:#315f95}.admin-import-preview__badge.status-unchanged{background:#7a8a9a24;color:#5f7286}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;display:flex;align-items:center;justify-content:center;z-index:999}.modal-content{background:#fff;padding:20px;border-radius:10px;box-shadow:0 10px 30px #0000004d;max-height:90vh;overflow-y:auto}.admin-confirm-modal{width:min(520px,calc(100vw - 32px));padding:24px;border-radius:20px}.admin-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.admin-confirm-modal__text{margin:12px 0 0;color:#5f7286;line-height:1.5}.admin-confirm-modal__actions{margin-top:18px;justify-content:center;gap:10px}.admin-confirm-modal__actions .admin-btn{min-width:156px;min-height:42px;padding:0 12px}.admin-whatsapp-modal{width:min(620px,calc(100vw - 32px))}.admin-whatsapp-modal__field{display:flex;flex-direction:column;gap:8px;margin-top:18px}.admin-whatsapp-modal__field span{color:#18324f;font-size:14px;font-weight:700}.admin-whatsapp-modal__field textarea{width:100%;min-height:180px;resize:vertical;padding:12px 14px;border-radius:14px;border:1px solid rgba(24,50,79,.12);background:linear-gradient(180deg,#fff,#f8fbfd);color:#18324f;font-size:14px;line-height:1.45;box-sizing:border-box}.admin-whatsapp-modal__field textarea:focus{outline:none;border-color:#8db3d8;box-shadow:0 0 0 4px #4678b11a}.admin-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none}.admin-table thead tr{background:linear-gradient(180deg,#fbfcfe,#f3f7fb);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:0 0 10px;align-items:stretch}.admin-table__head{padding:0;text-align:center;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5f7286;border-bottom:0}.admin-table__head--name,.admin-table__head--classes,.admin-table__head--progress,.admin-table__head--special,.admin-table__head--exam,.admin-table__head--support,.admin-table__head--practice-ground{grid-column:span 1}.admin-table__head--danger,.admin-table__cell--danger{width:120px;text-align:right}.admin-table__head--danger{display:none}.admin-table tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.admin-table__row{display:block}.admin-table__row:nth-child(2n){background:#f8fbfdc7}.admin-table__row:hover{background:#edf4fac2}.admin-table__row--summary,.admin-table__row--summary:hover{margin:0;background:transparent}.admin-table__row--details{grid-column:1 / -1;margin-top:8px}.admin-table__summary,.admin-table__detail-wrap{display:block;padding:8px 10px;border-top:0}.admin-table__row--details td{background:#fffffffa}.admin-table__detail-wrap{padding:0;border-top:1px solid rgba(24,50,79,.05)}.admin-table__cell{padding:18px;vertical-align:top;border-top:1px solid rgba(24,50,79,.05)}.admin-table__cell--name{position:relative;z-index:2}.admin-table__cell--progress{min-width:0}.admin-sort{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0;border-radius:16px;background:linear-gradient(180deg,#fff,#f6f9fc);box-shadow:0 6px 14px #18324f0d;border:0;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.admin-sort:hover{color:#315f95}.admin-sort__icon{font-size:14px;color:#7a8a9a}.admin-sort--static{cursor:default}.admin-sort--static:hover{transform:none;filter:none}.admin-sort-split{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%}.admin-sort--split{width:100%;min-height:56px;padding:8px 10px;flex-direction:column;gap:4px}.admin-sort--split span:first-child{font-size:12px;line-height:1.15}.admin-detail-grid{display:grid;grid-template-columns:minmax(260px,1.1fr) minmax(140px,.65fr) minmax(380px,1.7fr) minmax(120px,.5fr);gap:12px;align-items:start}.admin-detail-grid .admin-table__cell{padding:16px;border-top:0;border:1px solid rgba(24,50,79,.08);border-radius:8px;background:#fffffff5;box-shadow:0 8px 18px #18324f0d}.student-name{font-size:18px;font-weight:700;color:#18324f}.student-meta{min-height:22px;margin-top:4px;font-size:12px;display:flex;flex-direction:column;gap:6px}.student-meta__line{font-size:12px;line-height:1.4}.student-meta__line--link{color:#5f7286;font-weight:600}.student-warning{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#e2b56b2e;color:#9a6a1f;font-size:11px;font-weight:700}.student-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;justify-content:start;align-items:start;position:relative;z-index:3;pointer-events:auto}.student-actions .admin-action-btn{flex:0 0 auto;min-width:112px}.class-chip-list{display:flex;flex-wrap:wrap;gap:8px}.class-chip{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:6px 10px;border-radius:12px;background:#edf5ff;color:#4e78a6;font-size:12px;font-weight:700}.progress-summary{margin-bottom:10px;font-size:13px;font-weight:700}.progress-block{margin-top:8px;padding:10px 12px;border-radius:14px;background:#f5f8fbf5;font-size:12px;line-height:1.5}.class-status-list{display:grid;gap:10px}.class-status-card{padding:12px 14px;border-radius:16px;background:#f5f8fbf5;border:1px solid rgba(24,50,79,.05)}.class-status-card__header{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:12px;color:#5f7286}.class-status-card__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;font-size:12px;line-height:1.5}.admin-list-title{margin-top:30px;margin-bottom:14px}.student-progress-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.student-progress-panel .admin-student-summary__details-box{width:100%;min-width:0;max-width:none;padding:14px;border-radius:8px;background:linear-gradient(180deg,#ecf4fafa,#f7fafdfa);box-shadow:none}.student-progress-panel .admin-student-summary__details-box-title{margin-bottom:10px;font-size:15px;font-weight:700}.student-progress-panel .admin-student-summary__detail-row{gap:10px;margin-bottom:0}.student-progress-panel .admin-student-summary__detail-row>span{font-size:12px;font-weight:700;color:#315f95}.student-progress-panel .admin-student-summary__detail-row-input{gap:6px}.student-progress-panel .admin-student-summary__details-box input{width:40px;min-width:40px;max-width:40px;height:28px;min-height:28px;font-size:13px}.student-progress-panel .admin-student-summary__details-box small{font-size:11px}.student-progress-panel .admin-student-summary__details-save{min-height:34px;border-radius:8px;font-size:12px}.student-progress-panel .admin-student-summary__details-box input[type=number],.student-progress-panel .admin-student-summary__details-box select{height:30px;min-height:30px;padding:0 8px;border:1px solid rgba(24,50,79,.1);border-radius:8px;background:#fffffffa;box-shadow:none}.student-progress-panel .admin-student-summary__details-box select,.admin-summary-quick select{width:100%;min-width:0}.student-progress-panel .admin-student-summary__detail-row--checkbox{grid-column:1 / -1}.admin-summary-toggle{min-height:34px;min-width:0;padding:0 12px;border-radius:14px;background:linear-gradient(135deg,#c97979,#b85f5f);box-shadow:0 8px 18px #b85f5f2e;color:#fff;font-size:12px;font-weight:700;justify-content:center;width:100%}.admin-summary-toggle.is-active{background:linear-gradient(135deg,#6fcf97,#57b97f);box-shadow:0 8px 18px #57b97f2e}.admin-summary-toggle--solver-lock{width:fit-content!important;min-width:0;display:inline-flex;min-height:34px;padding:0 14px;font-size:11px;white-space:nowrap;border-radius:14px;background:linear-gradient(135deg,#6fcf97,#57b97f);box-shadow:0 8px 18px #57b97f2e}.admin-summary-toggle--solver-lock.is-active{background:linear-gradient(135deg,#c97979,#b85f5f);box-shadow:0 8px 18px #b85f5f2e}.admin-summary-toggle--solver-lock-inline{display:block;margin-top:6px;width:fit-content;font-size:10px;padding:2px 8px}.admin-summary-quick{display:flex;flex-direction:column;gap:4px;min-width:0;padding:8px 10px;border:1px solid rgba(24,50,79,.08);border-radius:8px;background:#f5f9fdf0;color:#5f7286;font-size:11px;font-weight:700}.admin-summary-quick span{line-height:1.2;font-size:11px;font-weight:700;color:#5f7286}.admin-summary-quick input[type=date],.admin-summary-quick input[type=number],.admin-summary-quick select{min-height:34px;padding:0 10px;border-radius:12px;border:1px solid rgba(24,50,79,.1);background:#fffffffa;color:#18324f;font-size:12px}.admin-summary-quick input[type=checkbox]{width:18px;height:18px;margin:0}.admin-summary-quick--wide{grid-column:1 / -1;min-width:132px}.admin-progress-checkbox{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 10px;border:1px solid rgba(24,50,79,.08);border-radius:8px;background:#fffffff5;color:#18324f;font-size:12px;font-weight:700}.admin-progress-checkbox input{width:16px;height:16px;min-width:16px;min-height:16px;margin:0}.admin-students{display:grid;gap:16px}.admin-students__head{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:12px 14px;border:1px solid rgba(24,50,79,.06);border-radius:22px;background:linear-gradient(180deg,#fbfcfe,#f3f7fb);box-shadow:0 10px 24px #18324f0f}.admin-students__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.admin-student-card{display:grid;gap:0;border:1px solid rgba(24,50,79,.06);border-radius:26px;background:linear-gradient(180deg,#fff,#f7fbff);box-shadow:0 14px 30px #18324f12;overflow:hidden}.admin-student-card.is-expanded{grid-column:1 / -1}.admin-student-card__summary{display:grid;grid-template-columns:56px minmax(0,1.35fr) minmax(220px,.9fr);gap:16px;align-items:start;padding:18px 20px;cursor:pointer}.admin-student-card__summary-main{display:grid;gap:10px;min-width:0}.admin-student-card__summary-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.admin-student-card__summary-name{font-size:24px;font-weight:800;line-height:1.08;color:#17345a;min-width:0}.admin-student-card__summary-side{display:grid;gap:12px;justify-items:start;min-width:0}.admin-student-card__progress{display:grid;gap:8px}.admin-student-card__progress-line{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:10px 12px;border-radius:14px;background:#e9f2f9e6;color:#315f95;font-size:13px;font-weight:700}.admin-student-card__progress-license{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#315f951f;color:#224d7f;font-weight:800}.admin-student-card__details{border-top:1px solid rgba(24,50,79,.06);padding:18px 20px 20px;background:#fafcffeb}.admin-student-card__details-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,1.2fr) minmax(320px,1.2fr);gap:16px}.admin-student-card__panel{padding:16px;border:1px solid rgba(24,50,79,.06);border-radius:18px;background:#fff;box-shadow:0 6px 14px #18324f0a}.admin-student-card__panel--actions{grid-column:1 / -1}.admin-student-card__actions{display:flex;flex-wrap:wrap;gap:10px}.admin-student-card__panel--planning .admin-student-summary__quick{max-width:none}.admin-student-card__panel--progress .admin-student-summary__details-center{max-width:none;overflow:visible}.admin-student-card__panel--progress .admin-student-summary__details-box{width:100%;min-width:0;max-width:none}.admin-student-line{display:grid;grid-template-columns:minmax(110px,.62fr) minmax(58px,.24fr) minmax(250px,1.24fr) minmax(130px,.68fr) minmax(285px,1.3fr) 38px;align-items:center;gap:6px;width:100%;min-height:0;padding:10px 14px;border:1px solid rgba(24,50,79,.08);border-radius:14px;background:#fff;box-sizing:border-box;box-shadow:0 4px 12px #18324f0a}.admin-student-line__name{min-width:0;display:flex;flex-direction:column;gap:2px}.admin-student-line__name strong{font-size:13px;font-weight:800;line-height:1.08;color:#18395e}.admin-student-line__subinfo{display:flex;flex-wrap:wrap;gap:3px;color:#7f8ea3;font-size:10px}.admin-student-line__subinfo--stack{flex-direction:column;gap:1px;flex-wrap:nowrap}.admin-student-line__warnings{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.admin-student-line__warning-pill{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;background:#c979791f;color:#a24e4e;font-size:10px;font-weight:700}.admin-student-line__classes{display:flex;flex-direction:column;gap:4px;align-items:flex-start;justify-content:center;margin-left:-6px}.admin-student-line__class-row{display:flex}.admin-student-line__class-chip{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:26px;padding:0 8px;border-radius:9px;background:#eef3f8;color:#48698c;font-size:11px;font-weight:700}.admin-student-line__progress{min-width:0}.admin-student-line__progress--compact{display:flex;flex-direction:column;gap:6px}.admin-student-line__progress-card{display:flex;align-items:flex-start;gap:8px;padding:7px 9px;border-radius:12px;background:#eaf3ff}.admin-student-line__progress-card-class{min-width:34px;font-size:12px;font-weight:800;color:#335b86;padding-top:2px}.admin-student-line__progress-card-values{display:flex;flex-wrap:wrap;gap:5px}.admin-student-line__progress-pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 8px;border-radius:8px;background:#fff;color:#274968;font-size:11px;font-weight:700;white-space:nowrap}.admin-student-line__phone{min-width:0}.admin-student-line__phone-value{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:8px;background:#edf4ff;color:#4e6f96;font-size:11px;font-weight:700}.admin-student-line__actions{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-start;align-items:center}.admin-line-btn{min-height:28px;padding:0 9px;border:0;border-radius:8px;font-size:10px;font-weight:700;white-space:nowrap;cursor:pointer;box-shadow:0 4px 10px #18324f14}.admin-line-btn--special{background:linear-gradient(135deg,#3f88ea,#2d6ec5);color:#fff}.admin-line-btn--exam{background:linear-gradient(135deg,#8c7cf1,#7366d8);color:#fff}.admin-line-btn--priority{background:linear-gradient(135deg,#c97979,#b85f5f);color:#fff}.admin-line-btn--manual,.admin-line-btn--practice{background:linear-gradient(135deg,#74c0f4,#55a9dd);color:#fff}.admin-line-btn--lock{background:linear-gradient(135deg,#6fcf97,#57b97f);color:#fff}.admin-line-btn--lock.is-active{background:linear-gradient(135deg,#c97979,#b85f5f)}.admin-line-btn--time{background:linear-gradient(135deg,#315f95,#4678b1);color:#fff}.admin-line-btn.is-active:not(.admin-line-btn--lock){outline:2px solid rgba(34,85,136,.16);outline-offset:1px}.admin-student-line__toggle{display:flex;justify-content:flex-end;align-items:center}.admin-student-line__toggle-btn{width:30px;height:30px;border:0;border-radius:9px;background:linear-gradient(180deg,#eef7ff,#d8ebff);box-shadow:0 5px 10px #3576bd1f;color:#2f71b6;font-size:18px;font-weight:700;line-height:1;cursor:pointer}.admin-student-line__toggle-btn.is-active{background:linear-gradient(180deg,#dceeff,#bdd8f7)}.admin-student-summary{position:relative;display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(110px,.5fr) minmax(220px,1fr) minmax(180px,.9fr) minmax(320px,1.25fr) 52px;grid-template-areas:"name meta hint availability quick time";gap:12px;min-height:0;align-items:center;align-content:start;width:100%;padding:16px 18px;border:1px solid rgba(24,50,79,.08);border-radius:22px;background:linear-gradient(180deg,#fffffffa,#f5f9fdf5);box-shadow:0 10px 24px #18324f12;box-sizing:border-box}.admin-student-summary__name{grid-area:name;margin-top:0;font-size:18px;font-weight:700;line-height:1.12;color:#17345a;min-width:0}.admin-student-summary__name strong{display:block}.admin-student-summary__name small{display:block;margin-top:6px;font-size:12px;font-weight:600;line-height:1.4;color:#7a8da1}.admin-student-summary__meta{grid-area:meta;min-height:0;justify-self:stretch;display:flex;align-items:center;justify-content:space-between;align-content:flex-start;flex-wrap:wrap;gap:10px;min-width:0}.admin-student-summary__hint{grid-area:hint;margin-top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:30px}.admin-student-summary__meta-pill{display:inline-flex;align-items:center;width:fit-content;min-height:30px;padding:0 12px;border-radius:999px;color:#fff;font-size:12px;font-weight:800;line-height:1;white-space:nowrap}.admin-student-summary__meta-pill--warning{background:linear-gradient(135deg,#c97979,#b85f5f);box-shadow:0 12px 22px #b85f5f33}.admin-student-summary__meta-pill--ok{background:linear-gradient(135deg,#6fcf97,#57b97f);box-shadow:0 10px 18px #57b97f2e}.admin-student-summary__meta-pill--placeholder{visibility:hidden}.admin-student-summary__class-stack,.admin-student-summary__special-stack{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.admin-student-summary__special-stack{flex-direction:column;gap:4px}.admin-student-summary__special-line{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:12px;background:#edf5fffa;color:#4b6f97;font-size:12px;font-weight:700;white-space:nowrap}.admin-student-summary__lock{display:inline-flex;align-items:center}.admin-student-summary__availability{grid-area:availability;align-self:start;justify-self:start;width:100%;max-width:none;padding:0;gap:4px;color:#607287;font-size:12px;line-height:1.35;text-align:left;min-width:0;overflow:hidden;display:flex;flex-direction:column;white-space:nowrap}.admin-student-summary__availability-title{display:block;margin-bottom:2px;font-size:13px;font-weight:800;color:#18324f}.admin-student-summary__availability-line{display:flex;align-items:baseline;gap:4px;text-align:left;white-space:nowrap}.admin-student-summary__availability-line:first-child{font-size:13px;font-weight:800;color:#18324f}.admin-student-summary__availability-line:first-child .admin-student-summary__availability-day,.admin-student-summary__availability-line:first-child .admin-student-summary__availability-text{font-weight:800;color:#18324f}.admin-student-summary__availability-day{font-weight:800;color:#315f95;flex:0 0 auto}.admin-student-summary__availability-text{flex:0 1 auto}.admin-student-summary__quick{grid-area:quick;display:grid;gap:10px;width:100%;max-width:none}.admin-student-summary__quick>*{flex:0 0 auto}.admin-student-summary__quick .admin-action-btn,.admin-student-summary__quick .admin-summary-toggle,.admin-student-summary__quick select{width:auto!important;min-width:0}.admin-student-summary__quick-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-height:0}.admin-student-summary__quick-buttons .admin-summary-toggle{min-height:38px;padding:0 10px;border-radius:12px;font-size:12px;font-weight:800;line-height:1.1;box-shadow:0 8px 16px #18324f14}.admin-student-summary__quick .admin-summary-toggle:nth-child(1){background:linear-gradient(135deg,#3f88ea,#2d6ec5)}.admin-student-summary__quick .admin-summary-toggle:nth-child(2){background:linear-gradient(135deg,#8c7cf1,#7366d8)}.admin-student-summary__quick .admin-summary-toggle:nth-child(3){background:linear-gradient(135deg,#74c0f4,#55a9dd)}.admin-student-summary__quick .admin-summary-toggle:nth-child(4){background:linear-gradient(135deg,#5fd286,#43b468)}.admin-student-summary__quick .admin-summary-toggle:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.15)}.admin-student-summary__quick-configs{display:none;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.admin-student-planning{display:grid;gap:10px;margin-top:14px;padding:14px;border:1px solid rgba(24,50,79,.08);border-radius:14px;background:#f5f9fdf0}.admin-student-planning__title{color:#18324f;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-student-planning .admin-student-summary__quick-configs{display:grid}.admin-student-summary__quick-configs:empty{display:none}.admin-student-summary__time{grid-area:time;justify-self:end;align-self:center;margin-top:0;margin-left:0}.admin-student-summary__time .admin-action-btn{width:52px;min-width:52px;min-height:52px;padding:0;border-radius:16px;font-size:24px;font-weight:400}.admin-student-summary__expand{width:52px;height:52px;border:0;border-radius:16px;background:linear-gradient(180deg,#eef7ff,#d8ebff);box-shadow:0 12px 24px #3576bd2e;color:#2f71b6;font-size:28px;font-weight:400;line-height:1;cursor:pointer}.admin-student-summary__expand.is-active{background:linear-gradient(180deg,#dceeff,#bdd8f7);color:#1e5d9f}.admin-student-summary__toggle{display:none}.admin-student-summary__details-center{display:flex;justify-content:flex-start;align-items:flex-start;gap:10px;margin-top:0;width:100%;max-width:430px;overflow-x:auto;overflow-y:hidden;padding-bottom:4px}.admin-student-summary__details-box{background:linear-gradient(180deg,#ddecf5bd,#eff7fceb);border:1px solid rgba(24,50,79,.06);border-radius:8px;padding:12px;width:420px;min-width:220px;max-width:280px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:26px;row-gap:12px;align-items:start;box-shadow:0 12px 24px #18324f0f;box-sizing:border-box;overflow:hidden}.admin-student-summary__details-box-title{grid-column:1 / -1;margin:0 0 8px;font-size:13px;font-weight:800;color:#18324f;line-height:1.05}.admin-student-summary__detail-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;margin-bottom:8px}.admin-student-summary__detail-row>span{font-size:14px;font-weight:700;color:#315f95;line-height:1.15;min-width:0}.admin-student-summary__detail-row-input{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:4px;min-width:0}.admin-student-summary__details-box input{width:34px;min-width:34px;max-width:34px;height:26px;min-height:26px;padding:0;border:0;border-bottom:1px solid rgba(24,50,79,.18);border-radius:0;background:transparent!important;text-align:right;font-size:14px;font-weight:700;line-height:1;box-shadow:none}.admin-student-summary__details-box input:focus{outline:none;border-bottom-color:#4678b1;box-shadow:none}.admin-student-summary__details-box small{font-size:11px;font-weight:600;color:#5f7286;white-space:nowrap}.admin-student-summary__details-save{grid-column:2;justify-self:end;align-self:end;margin-top:6px;min-height:30px;padding:0 12px;border:0;border-radius:10px;background:#18324f1a;color:#18324f;font-size:11px;font-weight:700;cursor:pointer}.admin-student-summary__details-save:hover{background:#18324f24}.admin-student-summary__details-save:disabled{opacity:.75;cursor:wait}.admin-summary-quick--wide{grid-column:1 / -1}.admin-student-summary[aria-expanded=true]{grid-template-columns:minmax(220px,1.35fr) minmax(110px,.5fr) minmax(220px,1fr) minmax(180px,.9fr) minmax(320px,1.25fr) 52px;grid-template-areas:"name meta hint availability quick time" "name meta hint availability quick-configs time";align-items:start}.admin-student-summary[aria-expanded=true] .admin-student-summary__quick-configs{display:grid;grid-area:quick-configs;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:6px}.admin-student-summary:not([aria-expanded=true]) .admin-student-summary__details-center,.admin-student-summary:not([aria-expanded=true]) .admin-student-summary__toggle{display:none}.settings-summary{padding:18px 20px;border-radius:20px;background:linear-gradient(135deg,#315f95eb,#4678b1e6);color:#fff}.settings-summary__label{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.78}.settings-summary__value{margin-top:8px;font-size:24px;font-weight:800}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-section{padding:20px;border:1px solid rgba(24,50,79,.06);border-radius:20px;background:#fafcfff5}.settings-section h3{margin:0 0 8px}.settings-section p{margin:0 0 14px;color:#6b7c8f;line-height:1.45}.settings-section--anchor{scroll-margin-top:98px}.settings-time-row{display:flex;align-items:center;gap:14px}.settings-time-value{min-width:72px;color:#315f95;font-size:20px;font-weight:800}.settings-scale,.settings-choice-group{display:flex;flex-wrap:wrap;gap:10px}.settings-scale__button,.settings-choice{min-width:52px;min-height:40px;border-radius:14px}.settings-scale__button.is-active,.settings-choice.is-active{background:linear-gradient(135deg,#6fcf97,#57b97f)}.settings-message{padding:12px 14px;border-radius:14px;font-weight:700}.settings-message--error{background:#c9797924;color:#a14b4b}.settings-message--success{background:#6fcf9724;color:#2d7c53}.settings-blocks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-blocks-actions{display:flex;justify-content:flex-start;margin-bottom:14px}.settings-blocks-actions__add,.settings-block-shell__remove{min-height:40px;border-radius:12px;padding:0 14px;font-weight:700}.settings-blocks-actions__add{background:linear-gradient(135deg,#82b8e3,#6aa1d2);color:#fff}.settings-block-shell{display:grid;gap:10px}.settings-block-shell+.settings-block-shell{margin-top:16px}.settings-block-shell__remove{justify-self:flex-end;background:linear-gradient(135deg,#c97979,#b85f5f);color:#fff}.settings-block-editor{padding:16px;border-radius:18px;border:1px solid rgba(24,50,79,.08);background:linear-gradient(180deg,#fffffffc,#f6fafdf2);box-shadow:0 8px 20px #18324f0d}.settings-block-editor+.settings-block-editor{margin-top:16px}.settings-block-editor__title{color:#315f95;font-weight:800}.settings-block-editor__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;padding-bottom:10px;border-bottom:1px solid rgba(24,50,79,.06)}.settings-block-editor__add,.settings-block-editor__remove{min-height:38px;border-radius:12px;padding:0 14px;font-weight:700}.settings-block-editor__add{background:linear-gradient(135deg,#82b8e3,#6aa1d2);color:#fff}.settings-block-editor__remove{background:linear-gradient(135deg,#c97979,#b85f5f);color:#fff}.settings-block-editor__remove:disabled{opacity:.45}.settings-block-editor__summary{margin:0 0 14px;padding:10px 12px;border-radius:12px;background:#315f950f;color:#315f95bd;font-size:13px;font-weight:700}.settings-block-editor__segments{display:grid;gap:10px}.settings-block-editor__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.settings-block-editor__field{display:grid;gap:6px;color:#315f95;font-size:13px;font-weight:700}.settings-block-editor__field select{min-height:40px;border-radius:12px;border:1px solid rgba(24,50,79,.1);padding:0 10px;background:#fff;color:#315f95}.settings-usage{margin:10px 0 18px;padding:14px;border-radius:16px;background:#5b88b414}.settings-usage__title{margin-bottom:10px;color:#315f95;font-weight:800}.settings-usage__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.settings-usage__item{display:grid;gap:4px;padding:10px 12px;border-radius:12px;background:#ffffffe6}.settings-usage__label{color:#315f95;font-size:12px;font-weight:800}.settings-usage__value{color:#315f95bd;font-size:13px;font-weight:700}.settings-footer{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.settings-footer--sticky{position:sticky;bottom:0;z-index:100;justify-content:center;padding:18px 20px;border-top:1px solid rgba(24,50,79,.1);border-radius:18px;background:#f7f9fcf0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.settings-reset,.settings-save{min-width:220px;min-height:50px;padding:0 28px;border:0;border-radius:14px;color:#fff;font-size:18px;font-weight:800;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease,opacity .14s ease}.settings-reset{background:linear-gradient(135deg,#e2b56b,#d79a46);box-shadow:0 10px 22px #d79a4633}.settings-reset:hover{transform:translateY(-1px);background:linear-gradient(135deg,#d8ab61,#cb8f3d);box-shadow:0 12px 24px #d79a463d}.settings-save{background:linear-gradient(135deg,#6fcf97,#57b97f);box-shadow:0 10px 22px #57b97f33}.settings-save:hover{transform:translateY(-1px);background:linear-gradient(135deg,#63c58d,#4eab74);box-shadow:0 12px 24px #57b97f3d}.settings-reset:active,.settings-save:active{transform:translateY(1px) scale(.99)}.settings-reset:disabled,.settings-save:disabled,.settings-save.is-saving{opacity:.72;cursor:not-allowed;transform:none}.settings-card--google{margin-top:-4px}.settings-google__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.settings-google__title{margin:4px 0 0;font-size:24px}.settings-google__text{margin:10px 0 0;color:#6b7c8f;line-height:1.6;max-width:760px}.settings-google__status{padding:10px 14px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap}.settings-google__status.is-connected{background:#6fcf972e;color:#2d7c53}.settings-google__status.is-disconnected{background:#4678b11f;color:#315f95}.settings-google__missing{padding:14px 16px;border-radius:12px;background:#e2b56b29;color:#8d611d}.settings-google__grid{display:grid;gap:14px;margin-bottom:16px}.settings-google__field{display:grid;gap:8px}.settings-google__field select{min-height:46px;border-radius:10px;border:1px solid rgba(24,50,79,.12);padding:0 12px;background:#fff;color:#18324f}.settings-google__toggle{display:flex;align-items:flex-start;gap:10px;color:#4f647a}.settings-google__toggle input{margin-top:2px}.settings-google__meta{display:grid;gap:6px;margin-bottom:18px;color:#6b7c8f;font-size:14px}.settings-google__actions{display:flex;flex-wrap:wrap;gap:12px}.settings-anchor-nav{position:sticky;top:14px;z-index:90;display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px;padding:8px;border:1px solid rgba(24,50,79,.08);border-radius:8px;background:#ffffffdb;box-shadow:0 8px 20px #18324f14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.settings-anchor-nav.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.settings-anchor-nav__link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border-radius:999px;background:#315f9514;color:#315f95;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap;transition:transform .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease}.settings-anchor-nav__link:hover{transform:translateY(-1px);background:#315f9524;color:#224d7f;box-shadow:0 8px 16px #315f951a}.settings-anchor-nav__link:active{transform:translateY(1px) scale(.99)}.settings-anchor-nav__link.is-active{background:linear-gradient(135deg,#315f95,#4678b1);color:#fff;box-shadow:0 10px 20px #315f9538}.settings-anchor-nav__link.is-active:hover{background:linear-gradient(135deg,#2a5487,#3f6ea5);color:#fff}.settings-leave-modal{position:fixed;inset:0;z-index:4000;display:flex;align-items:center;justify-content:center;padding:24px;background:#080c1494;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.settings-leave-modal__card{width:100%;max-width:520px;padding:24px;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:linear-gradient(180deg,#1b2430,#202c3b);color:#fff;box-shadow:0 24px 80px #00000073}.settings-leave-modal__title{margin:0 0 10px;font-size:24px;font-weight:800;line-height:1.2;color:#fff}.settings-leave-modal__text{margin:0;color:#ffffffd6;line-height:1.55}.settings-leave-modal__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:22px}.settings-leave-modal__actions .admin-btn{min-width:180px}.fc-timegrid-slot-label{text-align:left;padding-left:8px;color:#5f7286}.fc-timegrid-axis{background:#f7f9fc}.fc-timegrid-slot-lane:nth-child(4n){background:#f3f7fb}.fc-view-harness{transition:transform .15s ease}.fc-event-custom{font-size:12px;line-height:1.2}.fc-event-custom .fc-student{font-weight:600}.fc-event-custom .fc-license{opacity:.8;font-size:11px}.fc-event-custom .fc-type{opacity:.7;font-size:11px}.progress{height:8px;background:#e9eef3;border-radius:4px}.progress-bar{height:100%;background:#6fcf97;border-radius:4px}.time-picker{display:flex;align-items:center;gap:6px}.time-picker select{appearance:none;padding:6px 10px;font-size:16px;border-radius:6px;border:1px solid #444;background:#1e1e1e;color:#fff;width:70px;text-align:center}.admin-table--students-overview .admin-table__head--support,.admin-table--students-overview .admin-table__head--toggle{width:auto}.admin-table--students-overview .admin-sort--static{cursor:default}.admin-table--students-overview .admin-table__summary{padding:10px 12px;background:transparent}.admin-table--students-overview .admin-table__row--summary{background:transparent}@media(min-width:901px)and (max-width:1500px){.admin-toolbar-group--center{gap:8px;flex-wrap:nowrap}.admin-toolbar-inline-btn{min-height:40px;width:auto;min-width:0;padding:0 14px;font-size:12px;letter-spacing:0}.admin-search-row--toolbar{flex:0 1 184px;width:184px;min-width:160px}}@media(max-width:1450px){.admin-table--students-overview .admin-student-line,.admin-table--students-overview thead tr{grid-template-columns:minmax(150px,.92fr) minmax(68px,.32fr) minmax(230px,1.12fr) minmax(120px,.58fr) minmax(280px,1.2fr) 38px}.admin-student-line__name strong{font-size:14px}}@media(max-width:1400px){.admin-student-summary,.admin-student-summary[aria-expanded=true]{grid-template-columns:minmax(220px,1.1fr) minmax(120px,.55fr) minmax(220px,1fr);grid-template-areas:"name meta hint" "availability quick time"}.admin-student-summary[aria-expanded=true] .admin-student-summary__quick-configs{grid-column:1 / -1}}@media(max-width:1180px){.admin-page--students,.settings-shell{padding-left:16px;padding-right:16px}.admin-toolbar-row{grid-template-columns:1fr}.admin-toolbar-group--right{width:100%;flex-wrap:wrap}.admin-search-row--toolbar,.admin-search-input{width:100%;min-width:0}.admin-table tbody,.admin-detail-grid{grid-template-columns:1fr}.admin-student-summary,.admin-student-summary[aria-expanded=true]{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name meta" "hint hint" "availability time" "quick quick"}.admin-student-summary__quick-buttons,.admin-student-summary[aria-expanded=true] .admin-student-summary__quick-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.student-progress-panel,.admin-students__grid{grid-template-columns:1fr}.admin-student-card.is-expanded{grid-column:auto}.admin-student-card__summary{grid-template-columns:56px minmax(0,1fr)}.admin-student-card__summary-side{grid-column:1 / -1}.admin-student-card__details-layout{grid-template-columns:1fr}.admin-student-line{grid-template-columns:1fr;align-items:stretch}.admin-student-line__toggle{justify-content:flex-start}}@media(max-width:1100px){.admin-students__grid{grid-template-columns:1fr}.admin-student-card.is-expanded{grid-column:auto}.admin-student-card__summary{grid-template-columns:56px minmax(0,1fr)}.admin-student-card__summary-side{grid-column:1 / -1}.admin-student-card__details-layout{grid-template-columns:1fr}}@media(max-width:980px){.admin-toolbar-row{display:flex;flex-wrap:wrap;gap:10px}.admin-toolbar-group--left{width:100%;justify-content:flex-start}.admin-toolbar-group--center{flex:0 0 auto;justify-content:center}.admin-toolbar-group--right{flex:1 1 240px;justify-content:flex-end;flex-wrap:wrap}.admin-toolbar-sort{width:100%;justify-content:space-between}.form-grid{grid-template-columns:1fr;gap:16px}.admin-form-section--student,.admin-form-section--contact,.admin-form-section--existing-license,.admin-form-section--organization{grid-column:auto;grid-row:auto}.form-grid section{padding:16px;border-radius:16px}.class-editor-grid{grid-template-columns:1fr;gap:14px}.class-status-card__grid{grid-template-columns:1fr}.admin-student-summary,.admin-student-summary[aria-expanded=true]{grid-template-columns:1fr;grid-template-areas:"meta" "name" "hint" "availability" "quick" "time"}.admin-student-summary__quick-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-student-summary__time{justify-self:start}}@media(max-width:900px){.settings-grid,.settings-blocks-grid,.settings-block-editor__row{grid-template-columns:1fr}}@media(max-width:860px){.admin-page{padding-left:18px;padding-right:18px}.admin-table{display:block;overflow-x:auto}.admin-table__head--progress,.admin-table__cell--progress{min-width:220px}.form-grid{grid-template-columns:1fr}.admin-form-actions{flex-direction:column;align-items:stretch}.admin-form-actions--top{flex-direction:row;align-items:stretch}.admin-form-actions--top .admin-btn{flex:1 1 0;min-width:0}.class-status-card__grid{grid-template-columns:1fr}}@media(max-width:780px){.admin-hero__title{font-size:28px}.admin-toolbar-group--center{width:100%;justify-content:stretch}.admin-toolbar-inline-btn,.admin-btn{flex:1 1 140px}.admin-table thead{display:none}.admin-student-summary,.admin-student-summary[aria-expanded=true]{grid-template-columns:1fr;grid-template-areas:"meta" "name" "hint" "availability" "quick" "time";gap:10px;min-height:0}.admin-student-summary__quick-buttons,.admin-student-summary[aria-expanded=true] .admin-student-summary__quick-buttons{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}.admin-student-summary__hint,.admin-student-summary__time{justify-content:flex-start}.settings-anchor-nav{top:8px}}@media(max-width:700px){.settings-google__header{flex-direction:column}.settings-google__status{white-space:normal}.settings-google__actions{flex-direction:column}}@media(max-width:640px){.admin-page{padding:18px 14px 28px!important}.admin-hero{margin-bottom:14px}.admin-hero__meta{align-items:center;margin-bottom:8px}.admin-hero__title{font-size:clamp(28px,9vw,36px)}.admin-hero__eyebrow,.admin-hero__user{margin-bottom:0}.admin-hero__user{font-size:14px;font-weight:600}.admin-hero__text{font-size:14px;line-height:1.5}.admin-toolbar-btn,.admin-btn,.admin-action-btn{min-height:44px}.admin-toolbar-btn,.admin-btn{width:100%;justify-content:center}.admin-toolbar-row{display:flex;flex-wrap:wrap;gap:8px}.admin-toolbar-group{width:100%}.admin-toolbar-group--left{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;justify-content:stretch}.admin-toolbar-group--center,.admin-toolbar-group--right{justify-content:stretch}.admin-toolbar-group--center{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.admin-toolbar-btn,.admin-toolbar-inline-btn{width:100%;min-width:0}.admin-search-row{margin-top:10px;justify-content:stretch}.admin-page>.admin-btn{margin-top:10px;margin-bottom:0}.admin-search-row--toolbar,.admin-search-input{width:100%}.admin-toolbar-inline-btn{min-height:38px;padding:6px 8px;font-size:10px}.admin-card{padding:18px 16px;border-radius:18px}.admin-card__title{font-size:24px}.form-grid{gap:14px}.form-grid section,.class-editor-card{padding:14px;border-radius:16px}.admin-form-actions{gap:10px}.admin-form-actions .admin-btn{width:100%;min-width:0}.admin-form-actions--top{flex-direction:row}.admin-form-actions--top .admin-btn{width:auto;flex:1 1 0}.admin-page input,.admin-page select{min-height:44px;font-size:16px}.class-editor-grid{grid-template-columns:1fr;gap:12px}.class-editor-card__grid{gap:8px}.class-editor-row{gap:8px 10px}.class-editor-row--primary{grid-template-columns:1fr 1fr}.class-editor-row--special{grid-template-columns:repeat(3,minmax(0,1fr))}.class-editor-card__header{margin-bottom:12px}.class-editor-card__title{font-size:20px}.class-field{gap:4px;font-size:12px}.class-field span{font-size:11px}.class-field input{min-height:38px;padding:6px 8px}.class-field small{font-size:10px}.admin-list-title{margin-top:22px}.admin-table{display:block;border:0;background:transparent!important;box-shadow:none;overflow:visible}.admin-table thead{display:none}.admin-table tbody{display:grid;gap:8px;width:100%;grid-template-columns:1fr}.admin-table__row,.admin-table__row--summary,.admin-table__row--details{display:block;width:100%}.admin-table__row:nth-child(2n),.admin-table__row:hover{background:linear-gradient(180deg,#fff,#f9fbfd)}.admin-detail-grid{display:block}.admin-table__summary{display:block;width:100%;max-width:100%;box-sizing:border-box;padding:0;border-top:0}.admin-student-summary,.admin-student-summary[aria-expanded=true]{grid-template-columns:1fr;grid-template-areas:"meta" "name" "hint" "availability" "quick" "time";padding:16px;width:100%;max-width:100%;min-height:0;border-radius:22px;box-sizing:border-box;gap:10px}.admin-student-summary__name{font-size:17px;line-height:1.2;align-self:start;justify-self:start;min-width:0;margin-top:2px;width:100%}.admin-student-summary__meta{width:100%;grid-area:meta;margin-top:2px}.admin-student-summary__availability{grid-area:availability;color:#5f7286;font-size:11px;line-height:1.4;text-align:left;align-self:start;justify-self:start;min-width:0;width:100%;max-width:240px;overflow:hidden;display:flex;flex-direction:column;gap:3px;padding-top:0}.admin-student-summary__time{grid-area:time;align-self:start;justify-self:start;margin-left:0;margin-top:0}.admin-student-summary__time .admin-action-btn{min-width:132px;width:132px;min-height:36px;border-radius:8px;font-size:12px;font-weight:700}.admin-student-summary__quick{width:100%;max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));justify-self:stretch}.admin-student-summary__quick>*{flex:0 0 auto}.admin-student-summary__quick .admin-action-btn,.admin-student-summary__quick .admin-summary-toggle,.admin-student-summary__quick select{width:auto!important;min-width:0}.admin-student-summary__details-center{justify-content:flex-start;margin-top:6px;max-width:100%;overflow:hidden}.admin-student-summary__details-box{background:#86b6c129;border:1px solid rgba(24,50,79,.06);border-radius:12px;padding:10px 14px;width:280px;display:grid;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:10px;box-shadow:0 6px 14px #18324f0a}.admin-student-summary__details-box-title{grid-column:1 / -1;font-size:16px;font-weight:800;margin-bottom:4px}.admin-student-summary__detail-row>span{font-size:9px}.admin-student-summary__details-box input{width:24px;min-width:24px;max-width:24px;height:18px;min-height:18px;font-size:11px}.admin-student-summary__details-save{justify-self:start;width:auto;min-height:20px;padding:0 8px;font-size:9px}.admin-table__cell{display:block;padding:14px 16px;border-top:1px solid rgba(24,50,79,.05)}.admin-table__cell:first-child{border-top:0}.admin-table__cell:before{content:attr(data-label);display:block;margin-bottom:8px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#7a8a9a}.admin-table__cell--danger{width:auto;text-align:left}.admin-table__cell--danger .admin-action-btn{width:100%}.student-name{font-size:18px}.student-actions{flex-direction:row;flex-wrap:wrap;gap:8px}.student-actions .admin-action-btn{flex:1 1 calc(50% - 4px);min-width:0;width:auto;font-size:11px;padding:8px 10px}.class-chip-list{gap:6px}.class-status-list{gap:8px}.class-status-card{padding:12px;border-radius:14px}.class-status-card__header{flex-direction:column;align-items:flex-start;gap:4px}.class-status-card__grid{grid-template-columns:1fr;gap:6px}.settings-footer--sticky{padding:14px;border-radius:16px}.settings-save,.settings-reset{width:100%;min-width:0;font-size:16px}.settings-leave-modal{padding:16px}.settings-leave-modal__card{padding:18px;border-radius:18px}.settings-leave-modal__title{font-size:20px}.settings-leave-modal__actions{flex-direction:column;align-items:stretch}.settings-leave-modal__actions .admin-btn{width:100%;min-width:0}.settings-anchor-nav{top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;border-radius:16px;transition:opacity .22s ease,transform .22s ease}.settings-anchor-nav.is-hidden-mobile{opacity:0;transform:translateY(-18px);pointer-events:none}.settings-anchor-nav__link{width:100%;min-width:0;min-height:34px;padding:0 10px;font-size:11px;text-align:center;line-height:1.15;white-space:normal}.settings-section--anchor{scroll-margin-top:90px}.admin-page-switch{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-page-switch__btn{width:100%}.admin-students__head{display:none}.admin-student-card__summary{grid-template-columns:48px minmax(0,1fr);padding:14px}.admin-student-card__summary-name{font-size:18px}.admin-student-card__progress-line{font-size:12px;gap:6px 10px}.admin-student-card__details{padding:14px}.admin-student-card__panel{padding:14px;border-radius:16px}}.admin-table--students-overview tbody{display:block}.admin-table--students-overview .admin-table__row,.admin-table--students-overview .admin-table__row--summary,.admin-table--students-overview .admin-table__row--details{display:table-row}.admin-table--students-overview .admin-table__summary,.admin-table--students-overview .admin-table__detail-wrap{display:table-cell;width:100%;padding:10px 12px;box-sizing:border-box}.admin-table--students-overview .admin-table__row--summary,.admin-table--students-overview .admin-table__row--summary:hover,.admin-table--students-overview .admin-table__row--details,.admin-table--students-overview .admin-table__row--details:hover{background:transparent}.admin-table--students-overview .admin-table__row--details{margin-top:0}.admin-table--students-overview .admin-student-line{width:100%;grid-template-columns:minmax(170px,.95fr) minmax(72px,.34fr) minmax(260px,1.2fr) minmax(130px,.62fr) minmax(320px,1.3fr) 38px;gap:8px}.admin-table--students-overview .admin-student-line__actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-items:stretch}.admin-table--students-overview .admin-student-line{position:relative}.admin-table--students-overview .admin-student-line__actions,.admin-table--students-overview .admin-line-btn,.admin-table--students-overview .admin-student-line__toggle{position:relative;z-index:3;pointer-events:auto}.admin-table--students-overview .admin-line-btn{width:100%;min-width:0;min-height:32px;padding:0 10px;text-align:center}.admin-table--students-overview .admin-student-line__classes{margin-left:0}.admin-table--students-overview .admin-detail-grid{width:100%}.admin-table--students-overview thead tr{grid-template-columns:minmax(170px,.95fr) minmax(72px,.34fr) minmax(260px,1.2fr) minmax(130px,.62fr) minmax(320px,1.3fr) 38px;gap:8px}.admin-table--students-overview .admin-sort{min-height:48px;border-radius:14px;font-size:12px}.admin-toolbar-group--center .admin-btn.admin-toolbar-inline-btn{min-height:40px;min-width:112px;width:auto;padding:9px 14px;border-radius:12px;font-size:12px;font-weight:700;line-height:1.15;box-sizing:border-box}
