:root{--app-shell-padding:var(--space-xl);--layout-left-sidebar-width:240px;--side-control-size:48px;--layout-right-sidebar-width:var(--side-control-size);--rules-page-width:720px;--layout-side-safe-inset:calc(var(--layout-left-sidebar-width) + var(--space-lg));--month-navigation-label-width:150px;--admin-schedule-cell-width:96px;--admin-schedule-cell-height:56px;--admin-schedule-name-column-min-width:110px;--admin-schedule-name-column-width:160px;--admin-schedule-total-column-width:100px;--layout-side-offset-top:calc(var(--month-navigation-height) + var(--space-lg));--day-cell-width:45px;--day-cell-top-zone-height:45px;--day-cell-bottom-zone-height:45px;--day-cell-radius:12px;--day-cell-gap:10px;--month-navigation-height:36px;--radius-card:24px;--radius-period-block:20px;--radius-cell:var(--day-cell-radius);--radius-control:10px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--font-family-base:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-day-number:16px;--font-size-day-hours:11px;--font-size-label:13px;--font-size-summary:15px;--color-surface-card:#f2f2f2;--color-surface-period:#fafafa;--color-surface-cell-free:#e9e9e9;--color-surface-cell-worked:#2b2b2b;--color-text-primary:#1a1a1a;--color-text-on-worked:#fff;--color-text-muted:#7a7a7a;--color-border:#dcdcdc;--color-focus:#1b6ad8;--color-surface-cell-free-hover:#d8d8d8;--color-surface-cell-worked-hover:#454545;--color-today-glow:#4b83d3cc;--color-overlay:#0006;--color-surface-modal:#fff;--color-surface-control:#fff;--color-surface-control-disabled:#f0f0f0;--color-text-disabled:#a3a3a3;--color-error:#c0392b;--color-button-primary-bg:var(--color-surface-cell-worked);--color-button-primary-bg-hover:var(--color-surface-cell-worked-hover);--color-button-primary-text:#fff;--color-button-secondary-bg:#fff;--color-button-secondary-bg-hover:#f0f0f0;--color-button-danger-text:#c0392b}*{box-sizing:border-box}html{scrollbar-gutter:stable;background:#fff}body{min-width:320px;color:var(--color-text-primary);font-family:var(--font-family-base);background:#fff;margin:0}button,input{font:inherit}.login-screen{min-height:100vh;padding:var(--space-xl);place-items:center;display:grid}.login-screen__card{border-radius:var(--radius-card);background-color:var(--color-surface-card);border:none;flex-direction:column;gap:20px;width:100%;padding:40px;display:flex}.login-screen__wrapper{width:min(100%,400px);position:relative}.login-screen__heading{text-align:center;margin:0 0 24px;position:absolute;bottom:100%;left:0;right:0}.login-screen__heading h2{margin:0}.login-screen__field{gap:var(--space-sm);color:var(--color-text-muted);font-size:var(--font-size-label);flex-direction:column;display:flex}.login-screen__field input{box-sizing:border-box;width:100%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-control);background-color:var(--color-surface-control);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-summary);border:solid #0000;align-items:center;display:flex}.login-screen__field input:focus{outline:2px solid var(--color-focus);outline-offset:1px}.login-screen__error{color:var(--color-error);font-size:var(--font-size-label);margin:0}.login-screen__submit{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-button-primary-bg);border-radius:var(--radius-control);background:var(--color-button-primary-bg);color:var(--color-button-primary-text);cursor:pointer;font:inherit}.login-screen__submit:hover:not(:disabled){background:var(--color-button-primary-bg-hover)}.login-screen__submit:disabled{cursor:wait;opacity:.65}.app-shell{min-height:100vh;padding:var(--app-shell-padding)}.month-return-button{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-control);background:var(--color-surface-cell-free);color:var(--color-text-primary);cursor:pointer;font:inherit;border:none;display:flex;position:relative}.top-bar .month-return-button{width:auto}.month-return-button:hover:not(:disabled){background:var(--color-surface-cell-free-hover)}.month-return-button:disabled{cursor:not-allowed;color:var(--color-text-disabled)}.month-return-button:after{z-index:1;bottom:calc(100% + var(--space-sm));width:max-content;max-width:220px;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-control);background:var(--color-surface-cell-worked);color:var(--color-text-on-worked);content:attr(data-tooltip);font-size:var(--font-size-label);pointer-events:none;text-align:center;visibility:hidden;position:absolute;left:50%;transform:translate(-50%)}.month-return-button:hover:not(:disabled):after,.month-return-button:focus-visible:after{visibility:visible}.admin-controls{align-items:flex-start;gap:var(--space-lg);flex-direction:column;display:flex}.admin-controls__actions{gap:var(--day-cell-gap);grid-template-columns:1fr;justify-items:start;display:grid}.admin-controls .month-return-button{width:var(--side-control-size);min-height:var(--side-control-size);padding:0}.admin-controls__actions button{width:var(--side-control-size);min-height:var(--side-control-size);border-radius:var(--radius-control);background:var(--color-surface-cell-free);color:var(--color-text-primary);cursor:pointer;font:inherit;border:none;place-items:center;padding:0;display:grid;position:relative}.admin-controls__actions button:hover:not(:disabled){background:var(--color-surface-cell-free-hover)}.admin-controls__actions button:disabled{cursor:not-allowed;color:var(--color-text-disabled)}.admin-controls__actions [data-tooltip]:after{z-index:1;bottom:calc(100% + var(--space-sm));width:max-content;max-width:220px;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-control);background:var(--color-surface-cell-worked);color:var(--color-text-on-worked);content:attr(data-tooltip);font-size:var(--font-size-label);pointer-events:none;text-align:center;visibility:hidden;position:absolute;left:50%;transform:translate(-50%)}.admin-controls__actions [data-tooltip]:hover:not(:disabled):after,.admin-controls__actions [data-tooltip]:focus-visible:after{visibility:visible}.day-edit-modal__overlay{z-index:1000;padding:var(--space-md);background-color:var(--color-overlay);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.day-edit-modal{gap:var(--space-md);width:100%;max-width:360px;padding:var(--space-lg);border-radius:var(--radius-period-block);background-color:var(--color-surface-modal);font-family:var(--font-family-base);flex-direction:column;display:flex}.day-edit-modal__header{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.day-edit-modal__title{color:var(--color-text-primary);margin:0;font-size:18px;font-weight:600}.day-edit-modal__close{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:18px;line-height:1;display:flex}.day-edit-modal__close:hover{background-color:var(--color-surface-cell-free)}.day-edit-modal__field{gap:var(--space-sm);flex-direction:column;display:flex}.day-edit-modal__label,.day-edit-modal__sublabel{font-size:var(--font-size-label);color:var(--color-text-muted)}.day-edit-modal__input{box-sizing:border-box;width:100%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-control);background-color:var(--color-surface-control-disabled);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-summary);border:solid #0000;align-items:center;display:flex}input.day-edit-modal__input:focus{outline:2px solid var(--color-focus);outline-offset:1px}.day-edit-modal__input--disabled,input.day-edit-modal__input:disabled{background-color:var(--color-surface-control-disabled);color:var(--color-text-disabled);cursor:default;border-style:dashed}.day-edit-modal__period-row{gap:var(--space-sm);display:flex}.day-edit-modal__period-subfield{gap:var(--space-sm);flex-direction:column;flex:1 1 0;display:flex}.day-edit-modal__error{color:var(--color-error);font-size:12px}.day-edit-modal__actions{justify-content:space-between;align-items:center;gap:var(--space-md);margin-top:var(--space-xs);display:flex}.day-edit-modal__actions-right{gap:var(--space-sm);display:flex}.day-edit-modal__button{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-control);cursor:pointer;font-family:var(--font-family-base);font-size:var(--font-size-summary);border:1px solid #0000}.day-edit-modal__button--primary{background-color:var(--color-button-primary-bg);color:var(--color-button-primary-text)}.day-edit-modal__button--primary:hover{background-color:var(--color-button-primary-bg-hover)}.day-edit-modal__button--danger{background-color:var(--color-surface-cell-free);color:var(--color-button-danger-text)}.day-edit-modal__button--danger:hover{background-color:var(--color-surface-cell-free-hover)}.admin-schedule-board{--admin-cell-width:var(--admin-schedule-cell-width);--admin-cell-height:var(--admin-schedule-cell-height);gap:var(--space-lg);flex-direction:column;width:max-content;display:flex}.admin-schedule-board__header{align-items:center;gap:var(--space-md);height:var(--month-navigation-height);font-family:var(--font-family-base);color:var(--color-text-primary);grid-template-columns:1fr auto 1fr;display:grid}.admin-schedule-board__week-nav{justify-content:center;align-items:center;gap:var(--space-lg);grid-column:2;display:flex}.admin-schedule-board__week-nav button{width:var(--month-navigation-height);height:var(--month-navigation-height);background:var(--color-surface-cell-free);color:var(--color-text-primary);cursor:pointer;border:none;border-radius:50%;place-items:center;padding:0;display:grid}.admin-schedule-board__week-nav button:hover{background:var(--color-surface-cell-free-hover)}.admin-schedule-board__mode{gap:var(--day-cell-gap);height:var(--month-navigation-height);border-radius:var(--radius-control);background:var(--color-surface-cell-free);padding:3px;display:inline-flex}.admin-schedule-board__controls{justify-self:end;align-items:center;gap:var(--space-sm);grid-column:3;display:flex}.admin-schedule-board__help{width:var(--month-navigation-height);height:var(--month-navigation-height);background:var(--color-surface-cell-free);color:var(--color-text-muted);cursor:help;border:none;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.admin-schedule-board__help:hover,.admin-schedule-board__help:focus-visible{background:var(--color-surface-cell-free-hover);color:var(--color-text-primary)}.admin-schedule-board__help:after{z-index:3;top:calc(100% + var(--space-sm));width:max-content;max-width:360px;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-control);background:var(--color-surface-cell-worked);color:var(--color-text-on-worked);content:attr(data-tooltip);font-size:var(--font-size-label);pointer-events:none;text-align:center;visibility:hidden;line-height:1.35;position:absolute;right:0}.admin-schedule-board__help:hover:after,.admin-schedule-board__help:focus-visible:after{visibility:visible}.admin-schedule-board__mode button{align-items:center;gap:var(--space-xs);padding:0 var(--space-md);color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:var(--font-size-label);background:0 0;border:none;border-radius:8px;transition:background-color .15s,color .15s;display:inline-flex}.admin-schedule-board__mode button:hover:not([aria-pressed=true]){background:var(--color-surface-cell-free-hover);color:var(--color-text-primary)}.admin-schedule-board__mode button[aria-pressed=true]{background:var(--color-button-primary-bg);color:var(--color-button-primary-text)}.admin-schedule-board__scroll{width:fit-content;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-card);background:var(--color-surface-card);align-self:flex-start;padding-left:0;transition:opacity .15s}.admin-schedule-board__scroll--loading{opacity:.5}.admin-schedule-board__table{border-collapse:separate;border-spacing:var(--day-cell-gap);font-family:var(--font-family-base);color:var(--color-text-primary)}.admin-schedule-board__corner{z-index:auto;background:0 0;position:static}.admin-schedule-board__teacher{z-index:2;min-width:var(--admin-schedule-name-column-min-width);max-width:var(--admin-schedule-name-column-width);padding:0 var(--space-sm);background:var(--color-surface-card);text-align:left;text-overflow:ellipsis;font-size:var(--font-size-summary);white-space:nowrap;font-weight:600;position:sticky;left:0;overflow:hidden}.admin-schedule-board__teacher--total{padding-top:var(--space-sm);font-size:var(--font-size-label);color:var(--color-text-muted);text-align:left;white-space:nowrap;font-weight:400;line-height:1}.admin-schedule-board__th{min-width:var(--admin-cell-width);padding-bottom:var(--space-sm);font-size:var(--font-size-label);color:var(--color-text-muted);text-align:center;font-weight:400}.admin-schedule-board__th--total{min-width:var(--admin-schedule-total-column-width);padding-top:var(--space-sm);font-size:var(--font-size-label);color:var(--color-text-muted);text-align:right;white-space:nowrap;line-height:1}.admin-schedule-board__weekday{margin-bottom:var(--space-xs);line-height:1;display:block}.admin-schedule-board__day-number{min-width:28px;height:28px;font-size:var(--font-size-day-number);color:var(--color-text-primary);border-radius:999px;place-items:center;line-height:1;display:inline-grid}.admin-schedule-board__th--weekend .admin-schedule-board__weekday{color:var(--color-weekend-dot,#fe852f)}.admin-schedule-board__th--today .admin-schedule-board__day-number{background:var(--color-focus);color:var(--color-text-on-worked)}.admin-schedule-board__td{padding:0}.admin-schedule-board__sum{padding-top:var(--space-sm);font-size:var(--font-size-label);color:var(--color-text-muted);text-align:center;white-space:nowrap;line-height:1}.admin-schedule-board__total{padding-top:var(--space-sm);font-size:var(--font-size-label);color:var(--color-text-muted);text-align:right;white-space:nowrap;line-height:1}.admin-schedule-cell{width:var(--admin-cell-width);height:var(--admin-cell-height);border-radius:var(--radius-cell);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;transition:background-color .15s,opacity .15s;display:flex;position:relative}.admin-schedule-cell *{pointer-events:none}.admin-schedule-cell:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.admin-schedule-cell--free{background:var(--color-surface-cell-free);color:var(--color-text-muted)}.admin-schedule-cell--free:hover{background:var(--color-surface-cell-free-hover)}.admin-schedule-cell--worked{background:var(--color-surface-cell-worked);color:var(--color-text-on-worked);cursor:grab}.admin-schedule-cell--worked:hover{background:var(--color-surface-cell-worked-hover)}.admin-schedule-cell--worked:active{cursor:grabbing}.admin-schedule-cell--empty{cursor:default;background:0 0}.admin-schedule-cell__content{flex-direction:column;align-items:center;gap:5px;transition:opacity .15s;display:flex}.admin-schedule-cell__time{font-size:var(--font-size-label);white-space:nowrap;line-height:1}.admin-schedule-cell__hours{font-size:var(--font-size-day-hours);opacity:.85;line-height:1}.admin-schedule-cell__plus{opacity:0;transition:opacity .15s}.admin-schedule-cell--free:hover .admin-schedule-cell__plus{opacity:1}.admin-schedule-cell--dragging{opacity:.35}.admin-schedule-cell--pending{opacity:.5;cursor:progress}.admin-schedule-cell--drop-move,.admin-schedule-cell--drop-copy,.admin-schedule-cell--drop-swap{outline:2px dashed var(--color-focus);outline-offset:-2px}.admin-schedule-cell--drop-move .admin-schedule-cell__plus,.admin-schedule-cell--drop-copy .admin-schedule-cell__plus{color:var(--color-focus);opacity:1}.admin-schedule-cell--drop-move,.admin-schedule-cell--drop-copy{background:var(--color-surface-cell-free-hover)}.admin-schedule-cell--drop-swap{background:var(--color-surface-cell-worked-hover)}.admin-schedule-cell--drop-swap .admin-schedule-cell__content{opacity:.15}.admin-schedule-cell__swap{color:var(--color-text-on-worked);position:absolute}.admin-schedule-board__status,.admin-schedule-board__error{padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-card);color:var(--color-text-muted);text-align:center;margin:0}.admin-schedule-board__error{padding:var(--space-md);color:var(--color-error)}.teacher-directory{padding:var(--space-md);border-radius:var(--radius-card);background:var(--color-surface-card);border:none;align-self:start}.teacher-directory h2{margin:var(--space-xs) var(--space-sm) var(--space-md);font-size:18px}.teacher-directory__list{gap:var(--day-cell-gap);display:grid}.teacher-directory__item{gap:var(--space-xs);width:100%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-control);background:var(--color-surface-period);color:var(--color-text-primary);cursor:pointer;text-align:left;font:inherit;border:none;display:grid}.teacher-directory__item small{color:var(--color-text-muted);font-size:var(--font-size-label)}.teacher-directory__item:not(.teacher-directory__item--active):hover{background:var(--color-surface-cell-free-hover)}.teacher-directory__item--active{background:var(--color-surface-cell-worked);color:var(--color-text-on-worked)}.teacher-directory__item--active small{color:var(--color-text-on-worked);opacity:.75}.workspace-page{width:max-content;min-width:100%;margin:0 auto}.page-layout{width:max-content;margin:0 auto}.page-layout__frame{display:inline-block}.page-layout--has-left .page-layout__frame{padding-inline:var(--layout-side-safe-inset)}.page-layout__center{width:max-content;margin:0 auto;position:relative}.page-layout__main{width:max-content}.page-layout__side{top:var(--page-layout-side-offset-top,var(--layout-side-offset-top));width:var(--layout-right-sidebar-width);position:absolute}.page-layout__side--left{right:calc(100% + var(--space-lg));width:var(--layout-left-sidebar-width)}.page-layout__side--right{left:calc(100% + var(--space-lg))}.top-bar{width:fit-content;min-height:var(--month-navigation-height);margin:0 auto var(--space-xl);padding:var(--space-sm);border-radius:var(--radius-card);background:var(--color-surface-card)}.top-bar__nav{align-items:center;gap:var(--day-cell-gap);display:flex}.top-bar__item{align-items:center;gap:var(--space-xs);min-height:var(--month-navigation-height);padding:0 var(--space-md);border-radius:var(--radius-control);color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:var(--font-size-summary);background:0 0;border:none;transition:background-color .15s,color .15s;display:inline-flex}.top-bar__item:hover:not(.top-bar__item--active){background:var(--color-surface-cell-free-hover);color:var(--color-text-primary)}.top-bar__item--active{background:var(--color-button-primary-bg);color:var(--color-button-primary-text)}.top-bar__item--active:hover{background:var(--color-button-primary-bg-hover)}.teacher-editor-modal__overlay{z-index:1000;padding:var(--space-md);background:var(--color-overlay);place-items:center;display:grid;position:fixed;inset:0}.teacher-editor-modal{gap:var(--space-md);width:min(100%,400px);padding:var(--space-lg);border-radius:var(--radius-period-block);background:var(--color-surface-modal);flex-direction:column;display:flex}.teacher-editor-modal__header{justify-content:space-between;align-items:center;display:flex}.teacher-editor-modal__header h2{color:var(--color-text-primary);margin:0;font-size:18px;font-weight:600}.teacher-editor-modal__header button{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:18px}.teacher-editor-modal__close{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:20px;line-height:1;display:flex}.teacher-editor-modal__close:hover{background-color:var(--color-surface-cell-free)}.teacher-editor-modal label{gap:var(--space-xs);color:var(--color-text-muted);font-size:var(--font-size-label);gap:var(--space-sm);display:grid}.teacher-editor-modal input{box-sizing:border-box;width:100%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-control);background-color:var(--color-surface-control-disabled);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-summary);border:solid #0000;align-items:center;display:flex}.teacher-editor-modal input:focus{outline:2px solid var(--color-focus);outline-offset:1px}.teacher-editor-modal__error{color:var(--color-error);font-size:var(--font-size-label);margin:0}.teacher-editor-modal__submit{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-button-primary-bg);border-radius:var(--radius-control);background:var(--color-button-primary-bg);color:var(--color-button-primary-text);cursor:pointer;font:inherit}.teacher-header{font-family:var(--font-family-base);color:var(--color-text-primary);text-align:left;margin:0;font-size:18px;font-weight:600}.day-cell{width:var(--day-cell-width);height:calc(var(--day-cell-top-zone-height) + var(--day-cell-bottom-zone-height));border-radius:var(--radius-cell);cursor:pointer;font-family:var(--font-family-base);border:none;flex-direction:column;flex:none;padding:0;transition:background-color .15s;display:flex;position:relative;overflow:hidden}.day-cell--weekend:after{content:"";background-color:var(--color-weekend-dot,#fe852f);pointer-events:none;border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.day-cell:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.day-cell--free{background-color:var(--color-surface-cell-free);color:var(--color-text-primary)}.day-cell--free:hover{background-color:var(--color-surface-cell-free-hover)}.day-cell--worked{background-color:var(--color-surface-cell-worked);color:var(--color-text-on-worked)}.day-cell--worked:hover{background-color:var(--color-surface-cell-worked-hover)}.day-cell--today{box-shadow:0 0 8px 4px var(--color-today-glow), 0 0 8px 4px var(--color-today-glow)}.day-cell__zone{justify-content:center;align-items:center;width:100%;display:flex}.day-cell__zone--top{height:var(--day-cell-top-zone-height);flex:none}.day-cell__zone--bottom{height:var(--day-cell-bottom-zone-height);flex:none}.day-cell__number{font-size:var(--font-size-day-number);line-height:1}.day-cell__hours{font-size:var(--font-size-day-hours);opacity:.85;line-height:1}.payroll-period-row{justify-content:center;align-items:flex-start;gap:var(--day-cell-gap);flex-wrap:nowrap;width:fit-content;display:flex}.period-summary{justify-content:center;align-items:center;gap:var(--space-sm);font-family:var(--font-family-base);font-size:var(--font-size-summary);color:var(--color-text-primary);display:flex}.period-summary__item{white-space:nowrap}.period-summary__divider{color:var(--color-text-muted)}.payroll-period-block{align-items:center;gap:var(--space-md);width:fit-content;padding:var(--space-lg);border-radius:var(--radius-period-block);background-color:var(--color-surface-period);font-family:var(--font-family-base);flex-direction:column;margin:0 auto;display:flex}.payroll-period-block__label{font-size:var(--font-size-label);color:var(--color-text-muted);text-align:center}.payroll-period-block__rows{align-items:center;gap:var(--day-cell-gap);flex-direction:column;width:fit-content;display:flex}.month-total-summary{align-items:baseline;gap:var(--space-sm);font-family:var(--font-family-base);display:flex}.month-total-summary__label{font-size:var(--font-size-label);color:var(--color-text-muted)}.month-total-summary__values{align-items:center;gap:var(--space-sm);font-size:var(--font-size-summary);color:var(--color-text-primary);font-weight:600;display:flex}.month-total-summary__divider{color:var(--color-text-muted);font-weight:400}.teacher-schedule-card{gap:var(--space-lg);width:fit-content;padding:var(--space-xl);border-radius:var(--radius-card);background-color:var(--color-surface-card);flex-direction:column;display:flex}.teacher-schedule-card__header{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.schedule-workspace{align-items:center;gap:var(--space-lg);flex-direction:column;display:flex}.schedule-workspace__nav{justify-content:center;align-items:center;gap:var(--space-lg);display:flex}.schedule-workspace__nav span{min-width:var(--month-navigation-label-width);text-align:center;font-size:18px;font-weight:600}.schedule-workspace__nav button{width:var(--month-navigation-height);height:var(--month-navigation-height);background:var(--color-surface-cell-free);color:var(--color-text-primary);cursor:pointer;border:none;border-radius:50%;place-items:center;display:grid}.schedule-workspace__nav button:hover{background:var(--color-surface-cell-free-hover)}.schedule-workspace__card{opacity:1;transition:opacity .18s}.schedule-workspace__card--loading{opacity:0;pointer-events:none}.schedule-workspace__error{color:var(--color-error);font-size:var(--font-size-label);margin:0}.schedule-workspace__status{min-height:280px;padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-card);color:var(--color-text-muted);text-align:center;place-items:center;display:grid}.account-summary{align-self:start;gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-card);background:var(--color-surface-card);border:none;flex-direction:column;display:flex}.account-summary__name{margin:0}.account-summary__details dt{color:var(--color-text-muted);font-size:var(--font-size-label)}.account-summary__name{text-align:center;font-size:18px}.account-summary__details{gap:var(--space-sm);margin:0;display:grid}.account-summary__details div{gap:var(--space-xs);display:grid}.account-summary__details dd{overflow-wrap:anywhere;margin:0}.account-summary__logout{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-button-primary-bg);border-radius:var(--radius-control);background:var(--color-button-primary-bg);color:var(--color-button-primary-text);cursor:pointer;font:inherit}.account-summary__logout:hover{background:var(--color-button-primary-bg-hover)}.account-page{place-items:start center;min-height:320px;display:grid}.account-page .account-summary{width:min(100%,360px)}.rules-page{gap:var(--space-lg);width:var(--rules-page-width);margin:0 auto;display:grid}.rule-page__header{font-size:18px;font-weight:600}.rules-page__content{gap:var(--space-md);padding:var(--space-xl);border-radius:var(--radius-card);background:var(--color-surface-card);display:grid}.rules-page__list{margin:0}.rules-page__section{gap:var(--space-sm);padding:var(--space-lg);border-radius:var(--radius-period-block);background:var(--color-surface-modal);display:grid}.rules-page__list{gap:var(--space-sm);color:var(--color-text-muted);font-size:var(--font-size-summary);padding-left:20px;line-height:1.5;display:grid}.admin-page__status,.admin-page__error{padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-card);color:var(--color-text-muted);text-align:center;margin:0}.admin-page__error{margin-top:var(--space-md);color:var(--color-error)}
