.calendar-hero{align-items:center}.calendar-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calendar-year-pill{min-width:92px;text-align:center;font-family:var(--font-brand);font-size:24px;font-weight:800;color:var(--color-text)}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.72fr);grid-gap:18px;gap:18px;margin-top:18px;align-items:start}.calendar-panel{border:1px solid rgba(37,44,39,.08);border-radius:24px;background:hsla(0,0%,100%,.86);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:18px}.calendar-month-nav{display:flex;align-items:center;gap:3px;margin-top:10px;padding:3px;border:1px solid rgba(37,44,39,.08);border-radius:14px;background:hsla(0,0%,100%,.78);box-shadow:none;overflow-x:auto}.calendar-month-nav button{flex:1 0 auto;min-width:48px;min-height:30px;padding:0 9px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--color-muted);box-shadow:none;font-size:12px;font-weight:850;white-space:nowrap}.calendar-month-nav button:hover{background:var(--color-surface-warm);color:var(--color-text);transform:none}.calendar-month-nav button.has-availability{border-color:rgba(35,107,75,.42);color:#236b4b;background:hsla(0,0%,100%,.68)}.calendar-month-nav button.is-active{background:var(--color-text);color:#fff}.calendar-month-nav button.has-availability.is-active{border-color:rgba(35,107,75,.58);box-shadow:inset 0 0 0 1px rgba(35,107,75,.22)}.calendar-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:#f8ede8;color:#6b5e59;font-size:11px;font-weight:750}.calendar-chip.available{background:#e8f7ef;color:#236b4b}.calendar-chip.course{background:#edf2fb;color:#334c75}.calendar-chip.assigned{background:#fff3cf;color:#7d5710}.calendar-chip.own-course{background:#e8f7ef;color:#236b4b}.calendar-chip.rule{background:#eef4e8;color:#3d6a2f}.calendar-chip.holiday{background:#eef2f7;color:#34495f}.calendar-chip.vacation{background:#f2f7e8;color:#4f6f2a}.calendar-month-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.calendar-month-header h2{font-size:22px;margin:0}.calendar-month-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.calendar-view-toggle{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--color-border);border-radius:13px;background:#fffdfb}.calendar-view-toggle button{min-height:32px;padding:0 11px;border:0;border-radius:10px;background:transparent;color:var(--color-muted);box-shadow:none;font-size:12px;font-weight:850}.calendar-view-toggle button:hover{background:var(--color-surface-warm);color:var(--color-text);transform:none}.calendar-view-toggle button.is-active{background:var(--color-text);color:#fff}.calendar-planning-toolbar{margin-top:10px}.calendar-planning-toolbar-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;min-height:42px}.calendar-planning-toolbar-left,.calendar-planning-toolbar-right{display:flex;align-items:center;min-width:0}.calendar-planning-toolbar-right{justify-content:flex-end;gap:8px}.calendar-planning-view-toggle button{min-width:94px}.calendar-planning-month-title{display:inline-flex;align-items:center;justify-content:flex-end;min-width:132px;color:var(--color-text);font-size:15px;font-weight:900;white-space:nowrap}.calendar-planning-year-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}.calendar-planning-month-nav{margin-top:8px}.calendar-availability-toolbar{margin-top:10px}.calendar-availability-toolbar-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;min-height:42px}.calendar-availability-toolbar-left,.calendar-availability-toolbar-right{display:flex;align-items:center;min-width:0}.calendar-availability-toolbar-right{justify-content:flex-end;gap:8px}.calendar-availability-view-toggle button{min-width:94px}.calendar-availability-month-title{display:inline-flex;align-items:center;justify-content:flex-end;min-width:132px;color:var(--color-text);font-size:15px;font-weight:900;white-space:nowrap}.calendar-availability-year-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}.calendar-availability-month-nav{margin-top:8px}.calendar-holiday-toggle{min-height:34px;padding:0 12px;border:1px solid var(--color-border);border-radius:12px;background:#fffdfb;color:var(--color-muted);box-shadow:none;font-size:12px;font-weight:850;white-space:nowrap}.calendar-holiday-toggle:hover{border-color:var(--color-control-hover);background:var(--color-surface-warm);color:var(--color-text);transform:none}.calendar-holiday-toggle.is-active{border-color:rgba(71,104,90,.24);background:#eef8f2;color:var(--color-primary-dark)}.calendar-period-dialog-backdrop{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(25,31,29,.28)}.calendar-period-dialog{width:min(460px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid rgba(37,44,39,.1);border-radius:18px;background:var(--color-surface);box-shadow:0 24px 70px rgba(25,31,29,.24);padding:16px}.calendar-period-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.calendar-period-dialog-head h2{margin:0;font-size:20px}.calendar-period-dialog-head p{margin:4px 0 0;color:var(--color-muted);font-size:12px;font-weight:800}.calendar-period-dialog-kicker{margin:0 0 4px!important;color:var(--color-muted);font-size:10px!important;font-weight:900!important;letter-spacing:.08em;text-transform:uppercase}.calendar-period-detail-list{display:flex;flex-direction:column;gap:7px}.calendar-period-detail-row{display:grid;grid-template-columns:64px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center;min-height:34px;padding:8px 10px;border:1px solid var(--color-border);border-radius:10px;background:#fffdfb;font-size:13px}.calendar-period-detail-row strong{font-size:13px}.calendar-period-detail-row span{color:var(--color-muted);font-weight:850}.calendar-days,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.calendar-weekday{min-height:28px;display:flex;align-items:center;justify-content:center;color:var(--color-muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.calendar-day-placeholder{min-height:104px}.calendar-day-button{width:100%;min-height:104px;height:100%;padding:10px;border:1px solid var(--color-border);border-radius:16px;background:#fffdfb;color:var(--color-text);box-shadow:0 5px 12px rgba(25,31,29,.04);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:7px;text-align:left}.calendar-day-button:hover{border-color:var(--color-control-hover);background:#fff7f3;transform:none}.calendar-day-button{cursor:pointer}.calendar-day-button:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--focus-ring),0 8px 18px rgba(25,31,29,.07)}.calendar-day-button.is-selected{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--focus-ring),0 8px 18px rgba(25,31,29,.07)}.calendar-day-button.is-today .calendar-day-number{background:#d9342d;color:#fff}.calendar-day-button.has-rule{background:linear-gradient(180deg,#fbfff8,#fffdfb 58%);border-color:#b9d7a5}.calendar-day-button.has-period{background:linear-gradient(180deg,#fbfcff,#fffdfb 58%);border-color:#cbd2dc}.calendar-day-button.has-private-event{background:linear-gradient(180deg,#fbfbfb,#fffdfb 58%);border-color:#d8dde4}.calendar-day-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;font-weight:800}.calendar-day-markers{display:flex;flex-wrap:wrap;gap:4px;width:100%;margin-top:auto}.calendar-marker{display:inline-flex;align-items:center;min-height:20px;padding:0 6px;border:0;border-radius:999px;background:#f2ece6;color:#6f746f;box-shadow:none;font-size:10px;font-weight:800}.calendar-marker.available{background:#e8f7ef;color:#236b4b}.calendar-marker.rule{background:repeating-linear-gradient(135deg,#f5faef,#f5faef 5px,#edf6e5 0,#edf6e5 10px);color:#3d6a2f;border:1px dashed #98bd7f;font-weight:750}.calendar-marker.course{background:#fff1df;color:#9a5a12}.calendar-marker.assigned{background:#eaf2ff;color:#245c9d}.calendar-marker.private{max-width:100%;min-width:0;background:#f3f4f6;color:#4b5563;border:1px solid #d8dde4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-marker.period{max-width:100%;min-width:0;gap:3px;border:1px solid transparent;line-height:1.15;white-space:nowrap}.calendar-marker.period:hover{transform:none;filter:brightness(.98)}.calendar-marker.period span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.calendar-marker.vacation{background:#f2f7e8;color:#4f6f2a;border-color:#cbdcb3}.calendar-marker.holiday{background:#eef2f7;color:#34495f;border-color:#cbd2dc}.calendar-side-stack{display:flex;flex-direction:column;gap:14px}.calendar-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.calendar-section-head h2,.calendar-section-head h3{margin:0;font-size:18px}.calendar-panel-subtitle{margin:3px 0 0;color:var(--color-muted);font-size:12px;font-weight:800}.calendar-muted{color:var(--color-muted);font-size:13px;line-height:1.45}.day-planning-panel{padding:14px}.day-planning-panel .calendar-section-head{align-items:center;margin-bottom:8px}.day-planning-title{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;line-height:1.1}.day-planning-date{font-family:var(--font-ui);font-size:14px;font-weight:800;color:var(--color-muted);letter-spacing:0;white-space:nowrap}.calendar-day-inspector-backdrop{position:fixed;inset:0;z-index:115;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(25,31,29,.22);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:calendar-modal-fade .16s ease-out}.calendar-day-inspector{position:fixed;left:var(--calendar-inspector-x);top:var(--calendar-inspector-y);z-index:80;width:min(520px,calc(100vw - 24px));max-height:calc(100vh - var(--calendar-inspector-y) - 12px);overflow:auto;box-shadow:0 24px 70px rgba(25,31,29,.2)}.calendar-day-inspector.is-centered-modal{position:relative;left:auto;top:auto;z-index:auto;width:min(520px,calc(100vw - 36px));max-height:calc(100vh - 36px);border:1px solid rgba(37,44,39,.1);background:#fff;box-shadow:0 28px 80px rgba(25,31,29,.24);-webkit-backdrop-filter:none;backdrop-filter:none;animation:calendar-modal-scale .18s cubic-bezier(.2,.8,.2,1)}.calendar-day-inspector.is-dragging{cursor:-webkit-grabbing;cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}.calendar-day-inspector-head{align-items:center;margin-bottom:8px}.calendar-day-inspector-handle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;flex:1 1;cursor:-webkit-grab;cursor:grab;touch-action:none}.calendar-day-inspector.is-centered-modal .calendar-day-inspector-handle{cursor:default;touch-action:auto}.calendar-day-inspector.is-centered-modal .calendar-day-inspector-grip{display:none}.calendar-day-inspector.is-dragging .calendar-day-inspector-handle{cursor:-webkit-grabbing;cursor:grabbing}.calendar-day-inspector-grip{color:var(--color-muted);font-size:18px;font-weight:900;line-height:1;letter-spacing:0}.calendar-day-inspector-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;padding:0;border:1px solid var(--color-border);border-radius:10px;background:#fffdfb;color:var(--color-muted);box-shadow:none;font-size:20px;font-weight:900;line-height:1}.calendar-day-inspector-close:hover{border-color:var(--color-control-hover);background:#fff7f3;color:var(--color-text);transform:none}.slot-toggle-list{display:grid;grid-template-columns:1fr;grid-gap:6px;gap:6px}.slot-toggle-row{width:100%;min-height:38px;padding:7px 9px;border:1px solid var(--color-border);border-radius:10px;background:#fffdfb;color:var(--color-text);box-shadow:none;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;text-align:left}.slot-toggle-row:hover{border-color:var(--color-control-hover);background:#fff7f3;transform:none}.slot-toggle-row.is-manual{border-color:#9acaa9;background:#f5fff8}.slot-toggle-row.is-rule{border-color:#a8c88d;background:repeating-linear-gradient(135deg,#fbfff8,#fbfff8 6px,#eff8e8 0,#eff8e8 12px);border-style:dashed}.slot-toggle-row.is-saving{opacity:.7}.slot-toggle-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800}.slot-toggle-icon{width:20px;text-align:center}.slot-toggle-state{display:flex;align-items:center;justify-content:flex-end;gap:7px;color:var(--color-muted);font-size:12px;font-weight:800}.slot-toggle-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid #c7d0c5;border-radius:5px;background:#fff;color:#236b4b;font-size:12px;line-height:1}.slot-toggle-row.is-manual .slot-toggle-check{border-color:#78b28b;background:#e8f7ef}.slot-toggle-row.is-rule .slot-toggle-check{border-color:#9abf80;background:#f5faef}.slot-toggle-source{min-width:44px;color:#7b857c;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.second-evening-row{margin-top:8px;padding:8px 9px;border:1px solid #d6c798;border-radius:10px;background:#fffaf0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 10px;color:#76591a;font-size:12px;font-weight:800;overflow:hidden}.second-evening-date{flex:0 1 160px;width:min(160px,100%);max-width:100%;min-width:0;margin-left:auto;box-sizing:border-box}input.second-evening-date{min-height:32px}.second-evening-row.is-readonly{background:#fffdf8}.second-evening-label{display:flex;align-items:center;gap:8px;min-width:0}.calendar-day-section{margin-top:10px;padding-top:10px;border-top:1px solid rgba(37,44,39,.08)}.calendar-day-section:first-of-type{margin-top:0;padding-top:0;border-top:0}.calendar-day-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.calendar-day-section-head h3{margin:0;font-size:13px;font-weight:900}.calendar-day-section-head span{color:var(--color-muted);font-size:11px;font-weight:850}.availability-rule-list,.availability-slot-list,.calendar-day-course-list{display:flex;flex-direction:column;gap:6px}.availability-slot-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;min-height:42px;padding:6px 8px;border:1px solid var(--color-border);border-radius:10px;background:#fffdfb}.availability-slot-row-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9px;background:#e8f7ef;color:#236b4b;font-size:14px}.availability-slot-row-main{min-width:0;display:flex;flex-direction:column;gap:2px}.availability-slot-row-main strong{font-size:13px;line-height:1.2}.availability-slot-row-main span{color:var(--color-muted);font-size:11px;font-weight:800;line-height:1.2}.availability-slot-row-actions{display:flex;align-items:center;gap:4px}.availability-rule-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;min-height:48px;padding:7px 8px;border:1px dashed #a8c88d;border-radius:10px;background:#fbfff8}.availability-rule-row-icon{background:#f5faef;color:#3d6a2f}.availability-rule-row-main{min-width:0;display:flex;flex-direction:column;gap:2px}.availability-rule-row-main strong{font-size:13px;line-height:1.2}.availability-rule-row-main span{color:var(--color-muted);font-size:11px;font-weight:800;line-height:1.2}.availability-rule-action{min-height:28px!important;padding:0 8px!important;border-radius:8px!important;font-size:11px!important}.availability-rule-action.is-danger:hover{border-color:#f1b8b3;background:#fff0ee;color:#b92721}.availability-icon-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-height:28px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--color-muted);box-shadow:none;font-size:15px;font-weight:900;line-height:1}.availability-icon-button:hover{border-color:var(--color-border);background:#fff7f3;color:var(--color-text);transform:none}.availability-icon-button.is-danger:hover{border-color:#f1b8b3;background:#fff0ee;color:#b92721}.availability-add-empty{width:100%;min-height:92px;border:1px dashed #b9d7c4;border-radius:12px;background:#fbfffd;color:#236b4b;box-shadow:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}.availability-add-empty:hover{border-color:#78b28b;background:#f5fff8;transform:none}.availability-add-empty span{font-size:28px;font-weight:700;line-height:1}.availability-add-empty strong{font-size:13px}.availability-add-inline{width:100%;min-height:34px;margin-top:6px;border:1px dashed #b9d7c4;border-radius:10px;background:#fbfffd;color:#236b4b;box-shadow:none;font-size:12px;font-weight:900}.availability-add-inline:hover{border-color:#78b28b;background:#f5fff8;transform:none}.availability-list-view{display:flex;flex-direction:column;gap:10px}.availability-list-filters{display:inline-flex;align-items:center;align-self:flex-start;gap:4px;padding:3px;border:1px solid var(--color-border);border-radius:12px;background:#fffdfb}.availability-list-filters button{min-height:28px;padding:0 10px;border:0;border-radius:9px;background:transparent;color:var(--color-muted);box-shadow:none;font-size:11px;font-weight:850}.availability-list-filters button:hover{background:var(--color-surface-warm);color:var(--color-text);transform:none}.availability-list-filters button.is-active{background:var(--color-text);color:#fff}.availability-list-filters span{font-size:10px;font-weight:900;opacity:.78}.availability-list-table{border:1px solid var(--color-border);border-radius:14px;background:#fffdfb;overflow:hidden}.availability-list-header,.availability-list-row{display:grid;grid-template-columns:minmax(112px,.7fr) minmax(142px,.9fr) minmax(130px,.9fr) minmax(88px,.48fr) minmax(88px,.5fr) 76px;grid-gap:10px;gap:10px;align-items:center}.availability-list-header{min-height:32px;padding:0 10px;background:#f8ede8;color:var(--color-muted);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.availability-list-body{display:flex;flex-direction:column}.availability-list-row{min-height:38px;padding:6px 10px;border-top:1px solid rgba(37,44,39,.08);background:#fffdfb;color:var(--color-text);font-size:12px;font-weight:800}.availability-list-row.is-recurring{background:#fbfff8}.availability-list-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.availability-list-row strong{color:var(--color-text);font-size:12px;font-weight:900}.availability-list-row small,.availability-list-row strong{display:block;min-width:0;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.availability-list-row small{color:var(--color-muted);font-size:10px;font-weight:800}.availability-list-date{display:flex;flex-direction:column;gap:2px}.availability-list-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.availability-list-add-row{border-bottom:1px solid rgba(37,44,39,.08);background:#fbfffd}.availability-list-add-row button{width:100%;min-height:36px;padding:0 12px;border:0;background:transparent;color:#236b4b;box-shadow:none;display:flex;align-items:center;justify-content:flex-start;gap:8px;font-size:12px;font-weight:950;text-align:left}.availability-list-add-row button:hover{background:#f2fbf5;transform:none}.availability-list-add-row span{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:#236b4b;color:#fff;font-size:15px;font-weight:900;line-height:1}.availability-inline-editor{margin-top:7px;padding:8px;border:1px solid rgba(35,107,75,.22);border-radius:12px;background:#f9fffb;display:flex;flex-direction:column;gap:8px}.availability-editor-date-field{display:flex;flex-direction:column;gap:6px;color:#173428;font-size:11px;font-weight:900}.availability-editor-date-field input{min-height:38px;border-color:#b9d7c4;background:#fff;font-weight:850}.availability-editor-window-list{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.availability-window-competence-group{display:grid;grid-gap:6px;gap:6px}.availability-window-competence-group>strong{color:var(--color-muted);font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.availability-window-competence-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px}.availability-window-option{position:relative;min-width:0;padding:9px 7px;border:1px solid var(--color-border);border-radius:10px;background:#fff;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;cursor:pointer}.availability-window-option input{position:absolute;opacity:0;pointer-events:none}.availability-window-check{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid #d7ded9;border-radius:999px;background:#fff;color:#8a948e;font-size:11px;font-weight:950;line-height:1}.availability-window-icon{font-size:15px;line-height:1}.availability-window-option strong{font-size:12px;line-height:1.15}.availability-window-option small{color:var(--color-muted);font-size:10px;font-weight:800;line-height:1.15;white-space:nowrap}.availability-window-option.is-selected{border-color:#78b28b;background:#eefaf3;color:#236b4b}.availability-window-option.is-selected .availability-window-check{border-color:#236b4b;background:#236b4b;color:#fff}.availability-window-option.is-evening{border-color:#d7cba9;background:#fffdf5}.availability-window-option.is-evening.is-selected{border-color:#236b4b;background:#eefaf3}.availability-window-option.is-disabled{opacity:.45;cursor:not-allowed}.availability-editor-pair-card{padding:10px;border:1px solid #78b28b;border-radius:12px;background:#f4fff7;display:grid;grid-template-columns:minmax(0,1fr) 170px;grid-gap:10px;gap:10px;align-items:end}.availability-editor-pair-copy{display:flex;flex-wrap:wrap;align-items:center;gap:5px 7px;min-width:0}.availability-editor-pair-copy strong{color:#173428;font-size:14px;line-height:1.2}.availability-editor-pair-copy p{flex-basis:100%;margin:0;color:#236b4b;font-size:12px;font-weight:800;line-height:1.35}.availability-required-pill{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;background:#236b4b;color:#fff;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.availability-editor-pair-date{display:flex;flex-direction:column;gap:6px;color:#173428;font-size:11px;font-weight:900}.availability-editor-pair-date input{min-height:38px;border-color:#78b28b;background:#fff;font-weight:850}.availability-delete-actions,.availability-editor-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.availability-delete-actions button,.availability-editor-actions button{min-height:32px;padding:0 10px;border-radius:9px;font-size:12px}.availability-delete-confirm{margin-top:7px;padding:9px;border:1px solid #f1b8b3;border-radius:12px;background:#fff7f5;display:flex;align-items:center;justify-content:space-between;gap:10px}.availability-delete-confirm>div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}.availability-delete-confirm strong{font-size:13px}.availability-delete-confirm span{color:#8b4a45;font-size:11px;font-weight:800}.availability-day-notice{margin-bottom:7px;padding:6px 8px;border:1px solid #b9d7c4;border-radius:10px;background:#f5fff8;color:#236b4b;font-size:12px;font-weight:850}.availability-day-hint{margin:7px 0 0;color:var(--color-muted);font-size:12px;font-weight:800}.calendar-day-course-row{width:100%;min-height:42px;padding:7px 8px;border:1px solid var(--color-border);border-radius:10px;background:#fffdfb;display:grid;grid-template-columns:12px minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;text-align:left;box-shadow:none;color:var(--color-text)}.calendar-day-course-row:hover{border-color:var(--color-control-hover);background:#fff7f3;transform:none}.calendar-day-course-row.is-own{background:#f7fff9}.calendar-day-course-row.is-available{background:#fffaf5}.calendar-day-course-row.is-admin{--day-course-color:#6f746f;background:#fffdfb}.calendar-day-course-row.is-admin.status-open{--day-course-color:#c46f17}.calendar-day-course-row.is-admin.status-draft{--day-course-color:#b77a08}.calendar-day-course-row.is-admin.status-assigned,.calendar-day-course-row.is-admin.status-planned{--day-course-color:#245c9d}.calendar-day-course-row.is-admin.status-confirmed{--day-course-color:#236b4b}.calendar-day-course-row.is-admin.status-completed{--day-course-color:#2f3330}.calendar-day-course-row.is-admin.status-cancelled{--day-course-color:#b92721}.calendar-day-course-status-dot{width:9px;height:9px;border-radius:999px;background:#236b4b}.calendar-day-course-row.is-available .calendar-day-course-status-dot{background:#c46f17}.calendar-day-course-row.is-admin .calendar-day-course-status-dot{background:var(--day-course-color)}.calendar-day-course-main{min-width:0;display:flex;flex-direction:column;gap:2px}.calendar-day-course-main strong{font-size:12px;line-height:1.2}.calendar-day-course-main span{min-width:0;color:var(--color-muted);font-size:11px;font-weight:800;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day-course-action{color:var(--color-muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.calendar-admin-add-course{width:100%;min-height:78px;border:1px dashed #b9d7c4;border-radius:12px;background:#fbfffd;color:#236b4b;box-shadow:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center}.calendar-admin-add-course:hover{border-color:#78b28b;background:#f5fff8;transform:none}.calendar-admin-add-course span{font-size:26px;font-weight:700;line-height:1}.calendar-admin-add-course strong{font-size:13px}.calendar-admin-draft-form{margin-top:0;padding:9px;border:1px solid rgba(35,107,75,.18);border-radius:12px;background:#fbfffd}.calendar-admin-draft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-admin-draft-company-note{min-height:38px;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:8px 10px;border:1px solid rgba(35,107,75,.14);border-radius:10px;background:#fff;color:var(--color-text)}.calendar-admin-draft-company-note span{color:var(--color-muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.calendar-admin-draft-company-note strong{font-size:13px;line-height:1.2}.calendar-admin-draft-company-note.is-missing{border-color:rgba(154,90,18,.25);background:#fffaf2;color:#8a6810}.calendar-admin-draft-field-hint{color:#9a5a12;font-size:11px;font-weight:800;line-height:1.25}.calendar-inline-reset-button{display:inline-flex;align-items:center;margin-left:6px;padding:0;border:0;background:transparent;color:var(--color-primary);font:inherit;font-weight:900;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.calendar-inline-reset-button:hover{color:var(--color-primary-hover)}.calendar-admin-draft-hint{margin:0;color:#8a6810;font-size:12px;font-weight:800}.calendar-admin-date-options{display:flex;flex-direction:column;gap:8px;padding:9px;border:1px solid rgba(35,107,75,.16);border-radius:12px;background:#fff}.calendar-admin-date-options-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--color-text)}.calendar-admin-date-options-head strong{font-size:13px;font-weight:950}.calendar-admin-date-options-head span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:999px;background:#eefaf3;color:#236b4b;font-size:11px;font-weight:950}.calendar-admin-date-options-context{display:flex;flex-direction:column;gap:3px;border:1px solid rgba(35,107,75,.14);border-radius:10px;background:#f7fbf8;padding:8px 10px}.calendar-admin-date-options-context strong{color:#155f3f;font-size:12px;font-weight:950;line-height:1.2}.calendar-admin-date-options-context p,.calendar-admin-date-options-hint{margin:0;color:var(--color-muted);font-size:11px;font-weight:800;line-height:1.3}.calendar-admin-date-options-list{display:flex;flex-direction:column;gap:6px}.calendar-admin-date-option-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(0,.9fr) 34px;grid-gap:7px;gap:7px;align-items:end}.calendar-admin-date-option-row label{display:flex;flex-direction:column;gap:5px;color:var(--color-muted);font-size:11px;font-weight:850}.calendar-admin-date-option-row input{min-height:34px;padding:0 8px;border:1px solid var(--color-border);border-radius:9px;background:#fffdfb;font-size:12px;font-weight:800}.calendar-admin-date-option-delete{width:34px;height:34px;padding:0;border:1px solid rgba(185,39,33,.18);border-radius:9px;background:#fff7f5;color:#b92721;box-shadow:none;font-size:14px}.calendar-admin-date-option-delete:disabled{opacity:.35;cursor:not-allowed}.calendar-admin-date-option-add{min-height:34px;border:1px dashed #b9d7c4;border-radius:10px;background:#fbfffd;color:#236b4b;box-shadow:none;font-size:12px;font-weight:900}.calendar-admin-date-option-add:hover{border-color:#78b28b;background:#f5fff8;transform:none}.calendar-admin-draft-drawer{display:flex;flex-direction:column;gap:14px}.calendar-admin-draft-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border:1px solid rgba(37,44,39,.08);border-radius:18px;background:hsla(0,0%,100%,.88);padding:16px 18px;box-shadow:0 14px 34px rgba(25,31,29,.06)}.calendar-admin-draft-drawer-head h2{margin:0;font-size:24px}.calendar-admin-draft-type-selection{display:flex;flex-direction:column;gap:12px;border:1px solid rgba(37,44,39,.08);border-radius:18px;background:#fff;padding:16px}.calendar-admin-draft-type-selection h3{margin:0;font-size:18px}.calendar-admin-draft-type-grid{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px}.calendar-admin-draft-type-card{width:100%;min-height:86px;padding:14px;border:1px solid var(--color-border);border-radius:14px;background:#fffdfb;color:var(--color-text);box-shadow:none;display:grid;grid-template-columns:28px minmax(0,1fr);grid-gap:4px 12px;gap:4px 12px;text-align:left}.calendar-admin-draft-type-card:hover{background:#f7fff9;border-color:rgba(35,107,75,.24);transform:none}.calendar-admin-draft-type-card strong{font-size:15px;font-weight:950}.calendar-admin-draft-type-card small{grid-column:2;color:var(--color-muted);font-size:12px;font-weight:750;line-height:1.35}.calendar-admin-draft-radio{grid-row:1/3;width:20px;height:20px;margin-top:1px;border:2px solid #236b4b;border-radius:999px;box-shadow:inset 0 0 0 5px #fff;background:#236b4b}@keyframes calendar-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes calendar-modal-scale{0%{opacity:0;transform:scale(.98) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.private-calendar-events{margin-top:10px;padding-top:10px;border-top:1px solid rgba(37,44,39,.08)}.private-calendar-events h3{margin:0 0 8px;font-size:13px}.private-calendar-event-list{display:flex;flex-direction:column;gap:6px}.private-calendar-event-row{display:grid;grid-template-columns:78px minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;min-height:34px;padding:7px 9px;border:1px solid var(--color-border);border-radius:10px;background:#f8f9fa;color:var(--color-text);text-decoration:none;font-size:12px}.private-calendar-event-row:hover{border-color:#cbd2dc;background:#f1f3f5;transform:none}.private-calendar-event-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.private-calendar-event-row span:last-child{color:var(--color-muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.private-calendar-event-time{color:#4b5563;font-weight:850;white-space:nowrap}.calendar-rule-collapsible{margin-top:10px;border-top:1px solid rgba(37,44,39,.08);padding-top:8px}.calendar-rule-toggle{width:100%;min-height:34px;padding:0;border:0;background:transparent;box-shadow:none;color:var(--color-text);display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:850;text-align:left}.calendar-rule-toggle:hover{background:transparent;transform:none;color:var(--color-accent)}.calendar-rule-toggle span:last-child{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--color-border);border-radius:8px;background:#fffdfb;color:var(--color-muted);font-size:16px;line-height:1}.calendar-rule-body{padding-top:8px}.calendar-rule-impact{margin-top:12px;border:1px solid #c8dfb7;border-radius:14px;background:#fbfff8;padding:10px 12px;color:#3d6a2f}.calendar-rule-impact strong{display:block;margin-bottom:8px;font-size:13px}.calendar-rule-tags{display:flex;flex-wrap:wrap;gap:6px}.calendar-rule-warning{margin-top:12px;border:1px solid #e1cf9b;border-radius:14px;background:#fffaf0;padding:10px 12px;color:#76591a;font-size:13px;line-height:1.4}.calendar-rule-warning p{margin:0}.calendar-rule-warning p+p{margin-top:10px}.calendar-form{display:flex;flex-direction:column;gap:9px}.calendar-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:9px;gap:9px}.calendar-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:750;color:var(--color-muted)}.calendar-form input,.calendar-form select,.calendar-form textarea{box-sizing:border-box;max-width:100%}.calendar-rule-note{height:58px;min-height:58px;line-height:1.35;resize:vertical}.calendar-list{display:flex;flex-direction:column;gap:8px}.calendar-course-row{--course-status-color:#6f746f;--course-status-bg:#f2ece6;border:1px solid var(--color-border);border-left:4px solid var(--course-status-color);border-radius:13px;background:#fffdfb;padding:9px 10px;display:flex;flex-direction:column;gap:5px}.calendar-course-row.status-open{--course-status-color:#c46f17;--course-status-bg:#fff1df}.calendar-course-row.status-assigned{--course-status-color:#245c9d;--course-status-bg:#eaf2ff}.calendar-course-row.status-confirmed{--course-status-color:#6f3fa8;--course-status-bg:#f2eafa}.calendar-course-row.status-completed{--course-status-color:#2f3330;--course-status-bg:#eff0ef}.calendar-course-row.status-cancelled{--course-status-color:#b92721;--course-status-bg:#fff0ee}.calendar-course-row.status-draft{--course-status-color:#b77a08;--course-status-bg:#fff5d6}.calendar-course-row.is-own-course{background:#f7fff9}.calendar-course-row.is-admin-action{cursor:pointer;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.calendar-course-row.is-admin-action:hover{background:#fffaf7;border-color:rgba(37,44,39,.16);box-shadow:0 8px 22px rgba(37,44,39,.08);transform:translateY(-1px)}.calendar-course-row.is-admin-action:focus-visible{outline:3px solid rgba(47,108,207,.28);outline-offset:2px}.calendar-course-head{display:flex;flex-direction:column;gap:3px;min-width:0}.calendar-course-person-line{display:flex;align-items:center;gap:6px;min-width:0;color:var(--course-status-color);font-size:14px;font-weight:850;line-height:1.2;flex-wrap:wrap}.calendar-course-responsible{min-width:0;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.calendar-course-status-dot{width:10px;height:10px;border-radius:999px;background:var(--course-status-color);box-shadow:0 0 0 3px var(--course-status-bg);flex:0 0 auto}.calendar-course-status-label{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;background:var(--course-status-bg);font-size:10px}.calendar-course-status-label,.calendar-course-status-text{color:var(--course-status-color);font-weight:850;white-space:nowrap}.calendar-course-status-text{font-size:13px}.calendar-course-schedule-line{color:var(--color-muted);font-size:11px;font-weight:850;line-height:1.2;white-space:normal}.calendar-course-compact-body{display:flex;align-items:center;gap:6px;min-width:0;font-size:13px;line-height:1.25}.calendar-course-type{font-weight:850;color:var(--color-text)}.calendar-course-location{min-width:0;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-course-compact-meta{margin:0;color:var(--color-muted);font-size:11px;font-weight:700;line-height:1.25}.calendar-course-warning{margin:0;color:#8a6810;font-size:11px;font-weight:800;line-height:1.25}.calendar-course-meta{display:flex;flex-wrap:wrap;gap:6px}.calendar-course-panel{padding:14px}.calendar-course-panel .calendar-section-head{margin-bottom:10px}.calendar-course-sections{display:flex;flex-direction:column;gap:12px}.calendar-course-section{display:flex;flex-direction:column;gap:6px}.calendar-course-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--color-muted);font-size:11px;font-weight:900;letter-spacing:.04em}.calendar-month-course-list{gap:6px}.calendar-month-course-list .calendar-course-row{padding:7px 9px;border-radius:11px;gap:4px}.calendar-month-course-list .calendar-course-compact-body{font-size:12px}.calendar-context-menu{position:fixed;z-index:1300;width:188px;padding:6px;border:1px solid var(--color-border);border-radius:13px;background:#fffdfb;box-shadow:0 18px 42px rgba(31,41,51,.16);display:flex;flex-direction:column;gap:3px;animation:contextMenuAppear .12s ease-out}.calendar-context-menu button{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;min-height:34px;padding:0 10px;border:0;border-radius:9px;background:transparent;color:var(--color-text);box-shadow:none;text-align:left;font:inherit;font-size:13px;font-weight:850;cursor:pointer}.calendar-context-menu button:hover{background:#f4eee8;transform:none}.calendar-context-menu button:disabled{opacity:.45;cursor:not-allowed}.calendar-context-notice{margin-top:10px;display:inline-flex;align-items:center;min-height:32px;width:max-content;max-width:100%;padding:0 12px;border:1px solid rgba(35,107,75,.16);border-radius:999px;background:#f1faf5;color:#236b4b;font-size:12px;font-weight:850;box-shadow:0 10px 24px rgba(35,107,75,.08)}.calendar-copy-plan-backdrop{position:fixed;inset:0;z-index:1320;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(31,35,40,.18)}.calendar-copy-plan-dialog{width:min(520px,calc(100vw - 36px));display:flex;flex-direction:column;gap:14px;border:1px solid rgba(37,44,39,.12);border-radius:18px;background:#fffdfb;padding:18px;box-shadow:0 24px 64px rgba(31,41,51,.18)}.calendar-copy-plan-dialog h3{margin:0;color:var(--color-text);font-size:18px;line-height:1.2}.calendar-copy-plan-dialog p{margin:5px 0 0;color:var(--color-muted);font-size:13px;line-height:1.45}.calendar-copy-plan-options{display:grid;grid-gap:8px;gap:8px}.calendar-copy-plan-option{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:flex;min-height:72px;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:12px 14px;border:1px solid rgba(37,44,39,.12);border-radius:13px;background:#fff;color:var(--color-text);box-shadow:0 8px 20px rgba(31,35,40,.05);text-align:left;cursor:pointer}.calendar-copy-plan-option:hover{border-color:rgba(35,107,75,.28);background:#f6fbf8}.calendar-copy-plan-option.is-recommended{border-color:rgba(35,107,75,.24);background:#f1faf5}.calendar-copy-plan-option strong{font-size:14px;font-weight:900}.calendar-copy-plan-option small{color:var(--color-muted);font-size:12px;line-height:1.35}@keyframes contextMenuAppear{0%{opacity:0;transform:translateY(-2px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.calendar-course-action-row{display:flex;width:100%;min-width:0;margin-top:2px}.calendar-course-claim-button{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:100%;min-height:28px;margin-left:0;padding:0 8px;border:1px solid rgba(71,104,90,.18);border-radius:9px;background:var(--color-primary);color:#fff;box-shadow:none;font-size:11px;font-weight:850;white-space:normal}.calendar-course-claim-button:hover{background:var(--color-primary-hover);border-color:rgba(71,104,90,.24);transform:none}.calendar-course-claim-button:disabled{opacity:.55;cursor:not-allowed}.calendar-empty{border:1px dashed var(--color-border);border-radius:16px;background:hsla(0,0%,100%,.54);padding:14px;color:var(--color-muted);font-size:13px}.calendar-empty-compact{padding:8px 10px;border-radius:10px;font-size:12px}.calendar-layout.is-match-view{grid-template-columns:1fr}.calendar-layout.is-personal-calendar{grid-template-columns:minmax(0,1fr)}.calendar-layout.is-personal-calendar .calendar-days,.calendar-layout.is-personal-calendar .calendar-weekdays{gap:10px}.calendar-layout.is-personal-calendar .calendar-day-placeholder{min-height:clamp(118px,9.2vw,150px)}.calendar-layout.is-personal-calendar .calendar-day-button{min-height:clamp(118px,9.2vw,150px);padding:12px}.calendar-disposition-panel{padding:12px}.calendar-disposition-view{display:flex;flex-direction:column;gap:12px}.calendar-disposition-toolbar{display:flex;align-items:center;justify-content:flex-start}.calendar-disposition-new-course{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:32px;padding:0 12px;border:1px solid rgba(71,104,90,.18);border-radius:10px;background:var(--color-primary);color:#fff;box-shadow:none;font-size:12px;font-weight:900}.calendar-disposition-new-course:hover{background:var(--color-primary-hover);border-color:rgba(71,104,90,.24);transform:none}.calendar-disposition-new-course span{font-size:16px;font-weight:900;line-height:1}.calendar-available-course-list,.calendar-available-course-view{display:flex;flex-direction:column}.calendar-available-course-list{border:1px solid var(--color-border);border-radius:14px;background:#fffdfb;overflow:hidden}.calendar-available-course-row{width:100%;min-height:64px;padding:10px 12px;border:0;border-top:1px solid rgba(37,44,39,.08);background:#fffdfb;color:var(--color-text);display:grid;grid-template-columns:minmax(112px,.5fr) minmax(220px,1.4fr) minmax(160px,.65fr) minmax(112px,.45fr);grid-gap:14px;gap:14px;align-items:center;text-align:left;cursor:pointer;transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease}.calendar-available-course-row:first-child{border-top:0}.calendar-available-course-row:hover{background:#fffaf3;box-shadow:0 8px 22px rgba(37,44,39,.08);transform:translateY(-1px)}.calendar-available-course-row:focus-visible{outline:3px solid rgba(196,111,23,.22);outline-offset:-3px}.calendar-available-course-date,.calendar-available-course-main,.calendar-available-course-meta{min-width:0;display:flex;flex-direction:column;gap:3px}.calendar-available-course-date strong,.calendar-available-course-main strong{min-width:0;color:var(--color-text);font-size:14px;font-weight:900;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-available-course-date span,.calendar-available-course-main span,.calendar-available-course-meta span{min-width:0;color:var(--color-muted);font-size:12px;font-weight:800;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-available-course-date.is-multi-request{gap:4px}.calendar-available-course-date.is-multi-request strong{color:#155f3f;font-size:12px;white-space:normal}.calendar-available-course-date.is-multi-request span{color:#7a5a18;font-size:11px;font-weight:900}.calendar-available-course-date.is-multi-request small{min-width:0;color:var(--color-muted);font-size:11px;font-weight:780;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-available-course-meta{align-items:flex-start}.calendar-instructor-course-detail{display:flex;flex-direction:column;gap:12px}.calendar-instructor-course-claim{width:100%}.calendar-disposition-table{border:1px solid var(--color-border);border-radius:12px;background:#fffdfb;overflow:hidden}.calendar-disposition-header,.calendar-disposition-row{display:grid;grid-template-columns:minmax(76px,.45fr) minmax(96px,.52fr) minmax(210px,1.05fr) minmax(300px,1.55fr) 44px;grid-gap:10px;gap:10px;align-items:center}.calendar-disposition-header{min-height:34px;padding:0 10px;background:#f8ede8;color:var(--color-muted);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.calendar-disposition-body{display:flex;flex-direction:column}.calendar-disposition-row{min-height:46px;padding:7px 10px;border-top:1px solid rgba(37,44,39,.08);background:#fffdfb;cursor:pointer;transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease}.calendar-disposition-row:hover{background:#fffaf7;box-shadow:0 8px 22px rgba(37,44,39,.08);transform:translateY(-1px)}.calendar-disposition-row:focus-visible{outline:3px solid rgba(47,108,207,.28);outline-offset:-3px}.calendar-disposition-row.is-fully-planned{box-shadow:inset 4px 0 0 #288c63}.calendar-disposition-row.is-fully-planned:hover{box-shadow:inset 4px 0 0 #288c63,0 8px 22px rgba(37,44,39,.08)}.calendar-disposition-row.is-availability-row{background:#fcfffd;box-shadow:inset 4px 0 0 rgba(35,107,75,.32)}.calendar-disposition-row.is-availability-row:hover{background:#f6fff8;box-shadow:inset 4px 0 0 rgba(35,107,75,.5),0 8px 22px rgba(37,44,39,.08)}.calendar-disposition-date-cell,.calendar-disposition-location-cell,.calendar-disposition-slot-cell{min-width:0;display:flex;flex-direction:column;gap:2px}.calendar-disposition-date-cell strong,.calendar-disposition-location-cell strong,.calendar-disposition-slot-cell strong{min-width:0;color:var(--color-text);font-size:13px;font-weight:900;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-disposition-date-cell span,.calendar-disposition-location-cell span,.calendar-disposition-slot-cell span{min-width:0;color:var(--color-muted);font-size:11px;font-weight:800;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-disposition-date-cell.is-multi-request strong,.calendar-disposition-slot-cell.is-multi-request strong{color:#155f3f}.calendar-disposition-instructor-cell,.calendar-disposition-location-cell{min-height:34px;padding:6px 8px;border:1px solid transparent;border-radius:10px}.calendar-disposition-instructor-cell.is-complete,.calendar-disposition-location-cell.is-complete{border-color:rgba(40,140,99,.16);background:#f2fbf5}.calendar-disposition-instructor-cell.is-missing,.calendar-disposition-location-cell.is-missing{border-color:rgba(185,39,33,.18);background:#fff4f2}.calendar-disposition-location-cell.is-empty-availability{border-color:rgba(37,44,39,.08);background:hsla(0,0%,100%,.72)}.calendar-disposition-location-cell.is-empty-availability strong{color:var(--color-muted)}.calendar-disposition-instructor-cell.is-available{border-color:rgba(47,108,207,.14);background:#f3f8ff}.calendar-disposition-instructor-cell{min-width:0;display:flex;align-items:center;gap:5px;flex-wrap:wrap}.calendar-disposition-availability-person{min-height:23px;max-width:100%;padding:0 8px;border:1px solid rgba(47,108,207,.16);border-radius:999px;background:#edf4ff;color:#2f6ccf;box-shadow:none;display:inline-flex;align-items:center;font-size:11px;font-weight:900;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.calendar-disposition-availability-person:hover{border-color:rgba(47,108,207,.28);background:#e5f0ff;color:#2458aa;transform:none;text-decoration:underline;text-underline-offset:3px}.calendar-disposition-availability-person:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(47,108,207,.22)}.calendar-disposition-main-instructor{min-width:0;max-width:100%;display:inline-block;font-size:12px;font-weight:900;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-disposition-main-instructor.is-assigned{color:#236b4b}.calendar-disposition-main-instructor.is-missing{color:#8f1f1a;text-decoration:underline;text-underline-offset:3px}.calendar-disposition-detail-cell{display:flex;align-items:center;justify-content:flex-end;min-width:0}.calendar-disposition-detail-cell.is-empty{min-height:32px}.calendar-disposition-detail-button{width:32px;height:32px;min-height:32px;padding:0;border:1px solid rgba(37,44,39,.12);border-radius:10px;background:hsla(0,0%,100%,.82);color:var(--color-text);box-shadow:0 4px 12px rgba(25,31,29,.06);display:inline-flex;align-items:center;justify-content:center;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.calendar-disposition-detail-button:hover{background:#f7f2ec;border-color:rgba(37,44,39,.18);box-shadow:0 8px 18px rgba(25,31,29,.1);transform:translateY(-1px)}.calendar-disposition-detail-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring),0 8px 18px rgba(25,31,29,.1)}.calendar-disposition-detail-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.calendar-match-chip{gap:5px;min-height:23px;max-width:100%;padding:0 8px;font-size:11px;font-weight:850;line-height:1;white-space:nowrap}.calendar-match-chip,.calendar-match-chip small{display:inline-flex;align-items:center;border-radius:999px}.calendar-match-chip small{min-height:17px;padding:0 5px;background:hsla(0,0%,100%,.65);font-size:9px;font-weight:950}.calendar-match-chip.priority-1{background:#e8f7ef;color:#236b4b}.calendar-match-chip.priority-2{background:#fff5d6;color:#7d5710}.calendar-match-chip.is-multi{background:#f1eaff;color:#6f3db7}.calendar-match-chip.is-assigned{background:#e8f7ef;color:#236b4b}.calendar-match-chip.is-availability{background:#edf4ff;color:#2f6ccf}.calendar-match-chip.is-availability-code{min-height:20px;padding:0 6px;background:#e8f7ef;color:#236b4b;font-size:10px}.calendar-table-placeholder{display:inline-flex;align-items:center;max-width:100%;min-height:24px;color:#8f1f1a;font-size:12px;font-weight:900;text-decoration:underline;text-underline-offset:3px;white-space:normal}.calendar-table-placeholder.danger{color:#8f1f1a}.calendar-disposition-picker-backdrop{position:fixed;inset:0;z-index:130;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(25,31,29,.28)}.calendar-disposition-picker{width:min(850px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow-x:hidden;overflow-y:auto;border:1px solid rgba(37,44,39,.1);border-radius:18px;background:var(--color-surface);box-shadow:0 24px 70px rgba(25,31,29,.24);padding:16px}.calendar-disposition-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.calendar-disposition-picker-head h2{margin:0;font-size:20px}.calendar-disposition-picker-head p{margin:4px 0 0;color:var(--color-muted);font-size:12px;font-weight:800}.calendar-disposition-picker-list{display:flex;flex-direction:column;gap:7px}.calendar-disposition-location-option,.calendar-disposition-person-option{width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--color-border);border-left:4px solid #d18a1f;border-radius:10px;background:#fffdfb;box-shadow:none;color:var(--color-text);display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:10px;gap:10px;text-align:left}.calendar-disposition-person-option.priority-1{border-left-color:#288c63;background:#f8fff9}.calendar-disposition-location-option span,.calendar-disposition-person-option span{min-width:0;display:flex;align-items:center;gap:7px}.calendar-disposition-person-option .calendar-disposition-person-main{min-width:0}.calendar-disposition-location-option strong,.calendar-disposition-person-option strong{min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-disposition-location-option small,.calendar-disposition-person-option small{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;background:#fff5d6;color:#7d5710;font-size:10px;font-weight:900}.calendar-disposition-person-option.priority-1 small{background:#e8f7ef;color:#236b4b}.calendar-disposition-person-meta{color:var(--color-muted);font-size:11px;font-weight:800;white-space:nowrap}.calendar-disposition-location-option em,.calendar-disposition-person-option em{flex:0 0 auto;color:#236b4b;font-size:11px;font-style:normal;font-weight:900}.calendar-disposition-location-option{border-left-color:#2f6ccf}.calendar-disposition-location-option span{align-items:flex-start;flex-direction:column;gap:2px}.calendar-disposition-location-option small{max-width:100%;padding:0;background:transparent;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-disposition-empty-selection{display:flex;flex-direction:column;gap:6px;border:1px dashed var(--color-border);border-radius:12px;background:#fffdfb;padding:12px;color:var(--color-muted);font-size:12px;font-weight:800}.calendar-disposition-empty-selection strong{color:var(--color-text);font-size:13px}.calendar-admin-draft-prefill{min-height:44px;padding:8px 10px;border:1px solid rgba(47,108,207,.16);border-radius:10px;background:#f3f8ff;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-admin-draft-prefill span{flex-basis:100%;color:var(--color-muted);font-size:10px;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.04em}.calendar-admin-draft-prefill strong{color:#2f6ccf;font-size:13px;font-weight:900;line-height:1.15}.calendar-admin-request-announcement{display:flex;flex-direction:column;gap:8px;border:1px solid rgba(35,107,75,.14);border-radius:12px;background:#f7fbf8;padding:10px}.calendar-admin-request-announcement-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.calendar-admin-request-announcement-head div{display:flex;flex-direction:column;gap:2px}.calendar-admin-request-announcement-head strong{color:#155f3f;font-size:13px;font-weight:950;line-height:1.15}.calendar-admin-request-announcement-head span{color:var(--color-muted);font-size:11px;font-weight:800;line-height:1.3}.calendar-admin-request-announcement-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.calendar-admin-request-announcement-notice{margin:0;color:#236b4b;font-size:12px;font-weight:850;line-height:1.3}.calendar-disposition-confirm-card,.calendar-disposition-detail-card{display:flex;flex-direction:column;gap:8px;border:1px solid var(--color-border);border-radius:12px;background:#fffdfb;padding:12px}.calendar-disposition-slot-selection{display:flex;flex-direction:column;gap:12px}.calendar-disposition-slot-section{display:flex;flex-direction:column;gap:7px;margin:0;padding:0 0 12px;border-bottom:1px solid rgba(37,44,39,.08)}.calendar-disposition-slot-section:last-child{padding-bottom:0;border-bottom:0}.calendar-disposition-slot-section h4{margin:0;color:var(--color-text);font-size:13px;font-weight:950}.calendar-disposition-detail-card div{display:grid;grid-template-columns:110px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start}.calendar-disposition-detail-card span{color:var(--color-muted);font-size:11px;font-weight:900}.calendar-disposition-detail-card strong{min-width:0;color:var(--color-text);font-size:13px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-disposition-confirm-card p{margin:0;color:var(--color-muted);font-size:12px;font-weight:800}.calendar-disposition-modal-button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:34px;padding:0 12px;border:1px solid rgba(71,104,90,.18);border-radius:9px;background:var(--color-primary);color:#fff;box-shadow:none;font-size:12px;font-weight:900}.calendar-disposition-modal-button:hover{background:var(--color-primary-hover);border-color:rgba(71,104,90,.24);transform:none}.calendar-disposition-modal-button:disabled{opacity:.55;cursor:not-allowed}.calendar-overview-view{display:flex;flex-direction:column;gap:10px;min-width:0;overflow-x:auto;padding-bottom:2px}.calendar-overview-filters{display:grid;grid-template-columns:repeat(6,minmax(112px,1fr));grid-gap:7px;gap:7px;align-items:end}.calendar-overview-filters label{min-width:0;display:flex;flex-direction:column;gap:3px;color:var(--color-muted);font-size:9px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.calendar-overview-filters input,.calendar-overview-filters select{width:100%;min-height:30px;padding:0 8px;border:1px solid rgba(37,44,39,.12);border-radius:8px;background:#fffdfb;color:var(--color-text);font-size:11px;font-weight:850;box-shadow:none}.calendar-overview-filters input:focus,.calendar-overview-filters select:focus{outline:none;border-color:rgba(35,107,75,.36);box-shadow:0 0 0 3px rgba(35,107,75,.12)}.calendar-overview-search{grid-column:span 2}.calendar-overview-table{min-width:980px;max-height:clamp(320px,calc(100vh - 300px),720px);border:1px solid var(--color-border);border-radius:12px;background:#fffdfb;overflow:auto;scrollbar-gutter:stable}.calendar-overview-header,.calendar-overview-row{display:grid;grid-template-columns:54px 76px 48px 46px 38px minmax(118px,1.2fr) minmax(88px,.82fr) 40px minmax(112px,.9fr) 54px 54px 42px 42px;grid-gap:6px;gap:6px;align-items:center}.calendar-overview-header{position:-webkit-sticky;position:sticky;top:0;z-index:2;min-height:32px;padding:0 8px;background:#f8ede8}.calendar-overview-sort-button{min-width:0;min-height:24px;padding:0;border:0;background:transparent;color:var(--color-muted);box-shadow:none;display:flex;align-items:center;gap:3px;justify-content:flex-start;font-size:9px;font-weight:950;letter-spacing:.055em;text-transform:uppercase}.calendar-overview-sort-button:hover{background:transparent;color:var(--color-text);transform:none}.calendar-overview-sort-button.is-active{color:#155f3f}.calendar-overview-sort-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-overview-sort-button small{font-size:10px;font-weight:950;line-height:1}.calendar-overview-body{display:flex;flex-direction:column}.calendar-overview-row{min-height:34px;padding:4px 8px;border-top:1px solid rgba(37,44,39,.08);background:#fffdfb;cursor:pointer;transition:background-color .14s ease,box-shadow .14s ease}.calendar-overview-row:hover{background:#fffaf7;box-shadow:0 6px 16px rgba(37,44,39,.06)}.calendar-overview-row:focus-visible{outline:3px solid rgba(47,108,207,.24);outline-offset:-3px}.calendar-overview-row>span{min-width:0;color:var(--color-text);font-size:11px;font-weight:850;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-request-inbox{display:grid;grid-gap:8px;gap:8px;border:1px solid var(--color-border);border-radius:12px;background:#fffdfb;padding:10px}.public-request-inbox-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.public-request-inbox-head p{margin:0 0 2px;color:var(--color-muted);font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.public-request-inbox-head h3{margin:0;font-size:15px}.public-request-inbox-actions,.public-request-inbox-edit-actions,.public-request-inbox-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.public-request-inbox button{min-height:28px;border:1px solid rgba(37,44,39,.14);border-radius:8px;background:#fff;color:var(--color-text);padding:0 9px;font-size:11px;font-weight:850}.public-request-inbox button:hover{background:#f7faf8;border-color:rgba(35,107,75,.28)}.public-request-inbox button.is-primary{background:#47685a;border-color:#47685a;color:#fff}.public-request-inbox button:disabled{opacity:.55;cursor:not-allowed}.public-request-inbox-empty,.public-request-inbox-error,.public-request-inbox-notice{border-radius:9px;padding:8px 10px;font-size:11px;font-weight:760}.public-request-inbox-notice{background:#f1faf6;color:#28684f;border:1px solid rgba(40,140,99,.18)}.public-request-inbox-error{background:#fff4f4;color:#8f1f21;border:1px solid rgba(156,36,38,.18)}.public-request-inbox-empty{background:#f6f7f8;color:var(--color-muted)}.public-request-inbox-list{display:grid;grid-gap:6px;gap:6px}.public-request-inbox-card{display:grid;grid-gap:8px;gap:8px;border:1px solid rgba(37,44,39,.1);border-radius:10px;background:#fff;padding:8px}.public-request-inbox-card.is-new{border-color:rgba(212,147,65,.32);background:#fffaf2}.public-request-inbox-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center}.public-request-inbox-main{min-width:0;display:grid;grid-gap:2px;gap:2px}.public-request-inbox-main small,.public-request-inbox-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-request-inbox-main strong{font-size:13px}.public-request-inbox-main small{color:var(--color-muted);font-size:11px;font-weight:760}.public-request-inbox-main small.public-request-inbox-options{white-space:normal}.public-request-inbox-status{width:max-content;border-radius:999px;background:#dce5df;color:#244b3c;padding:2px 7px;font-size:9px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.public-request-inbox-edit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:7px;gap:7px;border-top:1px solid rgba(37,44,39,.08);padding-top:8px}.public-request-inbox-edit label{min-width:0;display:grid;grid-gap:3px;gap:3px;color:var(--color-muted);font-size:9px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.public-request-inbox-edit label.is-wide{grid-column:span 2}.public-request-inbox-edit input,.public-request-inbox-edit select,.public-request-inbox-edit textarea{width:100%;min-height:30px;border:1px solid rgba(37,44,39,.12);border-radius:8px;background:#fff;color:var(--color-text);font:inherit;font-size:11px;font-weight:800;padding:0 8px}.public-request-inbox-edit textarea{min-height:58px;padding:7px 8px;resize:vertical}.public-request-inbox-date-options{grid-column:1/-1;display:grid;grid-gap:7px;gap:7px;border:1px solid rgba(37,44,39,.08);border-radius:9px;background:#fbfcfb;padding:8px}.public-request-inbox-date-options-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.public-request-inbox-date-options-head strong{font-size:11px}.public-request-inbox-date-options-list{display:grid;grid-gap:6px;gap:6px}.public-request-inbox-date-option{display:grid;grid-template-columns:74px minmax(120px,1fr) minmax(92px,.8fr) minmax(92px,.8fr) auto;grid-gap:6px;gap:6px;align-items:end}.public-request-inbox-date-option>span{align-self:center;color:var(--color-muted);font-size:10px;font-weight:900}.public-request-inbox-date-option button{min-height:30px}.public-request-inbox-check{display:flex!important;grid-template-columns:none!important;align-items:center;gap:7px!important;color:var(--color-text)!important;text-transform:none!important;letter-spacing:0!important}.public-request-inbox-check input{width:16px;min-height:16px;height:16px}.public-request-inbox-edit-actions{grid-column:1/-1}.public-request-inbox-linked{color:var(--color-muted);font-size:11px;font-weight:760}.calendar-overview-code{font-weight:950;color:#155f3f}.calendar-overview-icon,.calendar-overview-kind{text-align:center;font-size:13px!important}.calendar-overview-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-overview-publication{display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:19px;padding:0 6px;border-radius:999px;font-size:9px;font-weight:950;letter-spacing:.04em;line-height:1}.calendar-overview-publication.is-online{background:#e8f7ef;color:#236b4b}.calendar-overview-publication.is-offline{background:#f1eee9;color:#6f746f}.calendar-overview-instructor{font-weight:950}.calendar-overview-staffing,.calendar-overview-status{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:20px;padding:0 6px;border-radius:999px;font-size:10px;font-weight:950;line-height:1}.calendar-overview-status-cell{display:flex!important;align-items:center;gap:4px;overflow:visible!important}.calendar-overview-staffing.is-complete{background:#e8f7ef;color:#236b4b}.calendar-overview-staffing.is-partial{background:#fff5d6;color:#8a5f10}.calendar-overview-staffing.is-open{background:#fff0ee;color:#9b2720}.calendar-overview-status{background:#f1eee9;color:var(--color-muted)}.calendar-overview-status.is-draft{background:#edf4ff;color:#2f6ccf}.calendar-overview-status.is-open{background:#fff0ee;color:#9b2720}.calendar-overview-status.is-confirmed,.calendar-overview-status.is-planned{background:#fff5d6;color:#8a5f10}.calendar-overview-status.is-completed{background:#e8f7ef;color:#236b4b}.calendar-overview-status.is-cancelled{background:#f1e5e2;color:#8f1f1a}.calendar-overview-question-badge{display:inline-flex;align-items:center;justify-content:center;min-height:19px;padding:0 5px;border-radius:999px;background:#fff5d6;color:#7a5512;font-size:10px;font-weight:950;line-height:1;white-space:nowrap}.calendar-overview-empty{border-top:1px solid rgba(37,44,39,.08);border-radius:0}.calendar-alert{margin-top:12px;border:1px solid #eabcb4;border-radius:16px;background:#fff4f2;color:#8f1f1a;padding:12px 14px;font-size:13px}.calendar-claim-notice{margin-top:12px;border:1px solid rgba(35,107,75,.16);border-radius:16px;background:#f1faf5;color:#236b4b;padding:14px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;font-size:13px;box-shadow:0 14px 34px rgba(35,107,75,.08)}.calendar-claim-notice strong{display:block;color:#1f5f44;font-size:14px;font-weight:900}.calendar-claim-notice p{margin:3px 0 0;max-width:760px;color:#2d6f51;font-weight:750;line-height:1.45}.calendar-claim-notice .soft-button{flex:0 0 auto}.calendar-loading{border:1px solid var(--color-border);border-radius:18px;background:#fffdfb;padding:18px;color:var(--color-muted)}@media (max-width:1100px){.calendar-layout{grid-template-columns:1fr}}@media (max-width:760px){.calendar-hero{align-items:flex-start}.calendar-hero-actions{width:100%;justify-content:space-between}.calendar-month-header{align-items:flex-start;flex-direction:column}.calendar-month-actions{width:100%;justify-content:space-between}.calendar-view-toggle,.calendar-view-toggle button{flex:1 1}.calendar-planning-toolbar-row{grid-template-columns:1fr;gap:8px}.calendar-planning-toolbar-right{justify-content:flex-start;flex-wrap:wrap}.calendar-planning-view-toggle{width:100%}.calendar-planning-view-toggle button{min-width:0}.calendar-overview-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-overview-search{grid-column:1/-1}.calendar-overview-table{min-width:940px}.public-request-inbox-row{grid-template-columns:1fr}.public-request-inbox-row-actions{justify-content:flex-start}.public-request-inbox-edit{grid-template-columns:1fr}.public-request-inbox-edit label.is-wide{grid-column:span 1}.public-request-inbox-date-option{grid-template-columns:1fr}.public-request-inbox-date-option>span{align-self:auto}.calendar-planning-month-title{justify-content:flex-start;min-width:100%}.calendar-planning-year-actions{width:100%;justify-content:space-between}.calendar-planning-year-actions .soft-button{flex:1 1}.calendar-availability-toolbar-row{grid-template-columns:1fr;gap:8px}.calendar-availability-toolbar-right{justify-content:flex-start;flex-wrap:wrap}.calendar-availability-view-toggle{width:100%}.calendar-availability-view-toggle button{min-width:0}.calendar-availability-month-title{justify-content:flex-start;min-width:100%}.calendar-availability-year-actions{width:100%;justify-content:space-between}.calendar-availability-year-actions .soft-button{flex:1 1}.calendar-layout{gap:14px}.calendar-panel{padding:14px;border-radius:20px}.calendar-month-nav{margin-top:8px}.calendar-month-nav button{min-width:44px}.calendar-days,.calendar-weekdays{gap:5px}.calendar-weekday{font-size:10px}.calendar-disposition-header{display:none}.calendar-disposition-row{grid-template-columns:1fr;gap:7px;min-height:0;padding:9px 10px}.calendar-available-course-row{grid-template-columns:1fr;gap:7px;align-items:start}.calendar-available-course-meta{flex-direction:row;flex-wrap:wrap}.calendar-disposition-detail-cell{justify-content:flex-start}.calendar-disposition-detail-cell.is-empty{display:none}.calendar-disposition-picker-backdrop{align-items:flex-end;padding:0}.calendar-disposition-picker{width:100%;max-height:84vh;border-radius:20px 20px 0 0;padding:14px}.calendar-claim-notice{flex-direction:column}.calendar-claim-notice .soft-button{width:100%}.calendar-disposition-location-option,.calendar-disposition-person-option{grid-template-columns:1fr;align-items:flex-start}.calendar-disposition-person-meta{white-space:normal}.calendar-disposition-detail-card div{grid-template-columns:1fr;gap:2px}.calendar-period-dialog-backdrop{align-items:flex-end;padding:0}.calendar-period-dialog{width:100%;max-height:84vh;border-radius:20px 20px 0 0;padding:14px}.calendar-period-detail-row{grid-template-columns:54px minmax(0,1fr)}.calendar-day-placeholder{min-height:76px}.calendar-day-button{min-height:76px;padding:7px;border-radius:12px}.calendar-layout.is-personal-calendar .calendar-days,.calendar-layout.is-personal-calendar .calendar-weekdays{gap:5px}.calendar-layout.is-personal-calendar .calendar-day-placeholder{min-height:76px}.calendar-layout.is-personal-calendar .calendar-day-button{min-height:76px;padding:7px}.calendar-day-number{width:24px;height:24px;font-size:12px}.calendar-marker{min-height:18px;padding:0 5px;font-size:9px}.slot-toggle-row{grid-template-columns:1fr;gap:6px}.slot-toggle-state{justify-content:space-between}.availability-editor-pair-card,.availability-window-competence-options{grid-template-columns:1fr}.availability-delete-confirm{align-items:stretch;flex-direction:column}.availability-delete-actions,.availability-editor-actions{justify-content:stretch}.availability-delete-actions button,.availability-editor-actions button{flex:1 1}.availability-list-filters{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.availability-list-filters button{padding:0 6px}.availability-list-header{display:none}.availability-list-row{grid-template-columns:1fr auto;gap:5px 10px;min-height:0;padding:9px 10px}.availability-list-row small,.availability-list-row strong,.availability-list-row>span{white-space:normal}.availability-list-date{grid-column:1}.availability-list-actions{grid-column:2;grid-row:1/span 3;align-self:center}.availability-list-add-row button{justify-content:center}.availability-rule-row{grid-template-columns:30px minmax(0,1fr)}.availability-rule-row .availability-slot-row-actions{grid-column:2;justify-content:flex-start;flex-wrap:wrap}.calendar-admin-date-option-row{grid-template-columns:1fr 1fr 34px}.calendar-admin-date-option-row label:first-child{grid-column:1/-1}.calendar-day-course-row{grid-template-columns:10px minmax(0,1fr)}.calendar-day-course-action{grid-column:2}.second-evening-row{align-items:stretch}.second-evening-date{flex-basis:100%;width:100%;margin-left:0;text-align:left}.calendar-form-grid{grid-template-columns:1fr}.calendar-day-inspector{left:0;right:0;top:auto;bottom:0;width:100%;max-height:88vh;border-radius:20px 20px 0 0;padding:14px}.calendar-day-inspector-backdrop{align-items:center;padding:14px}.calendar-day-inspector.is-centered-modal{left:auto;right:auto;top:auto;bottom:auto;width:min(520px,calc(100vw - 28px));max-height:calc(100dvh - 28px);border-radius:18px}.calendar-day-inspector-head{align-items:flex-start}.calendar-day-inspector-handle{cursor:default;touch-action:auto}.calendar-day-inspector-close{flex:0 0 auto}}.course-offer-page{display:flex;flex-direction:column;gap:18px;max-width:840px;margin:0 auto;padding:32px}.course-offer-hero{padding:24px}.course-offer-hero p:last-child{margin:0;color:var(--color-muted);font-weight:750}.course-offer-card{display:flex;flex-direction:column;gap:18px;padding:20px}.course-offer-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--color-muted);font-size:13px;font-weight:850}.course-offer-status{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:900}.course-offer-status.is-open{background:#e9f2ff;color:#245c9d}.course-offer-status.is-assigned{background:#e8f7ef;color:#236b4b}.course-offer-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin:0}.course-offer-details div{min-width:0;border:1px solid var(--color-border);border-radius:12px;background:#fffdfb;padding:12px}.course-offer-details dt{margin:0 0 4px;color:var(--color-muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.course-offer-details dd{margin:0;color:var(--color-text);font-size:14px;font-weight:850;line-height:1.35;overflow-wrap:anywhere}.course-offer-announcement{border:1px solid rgba(35,107,75,.16);border-radius:14px;background:#f7fbf8;color:var(--color-text);padding:12px 14px;font-size:13px;font-weight:800;line-height:1.45}.course-offer-announcement p{margin:0}.course-offer-announcement p+p{margin-top:8px}.course-offer-multi-context{display:flex;flex-direction:column;gap:4px;border:1px solid rgba(35,107,75,.16);border-radius:14px;background:#f7fbf8;padding:12px 14px}.course-offer-multi-context strong{color:#155f3f;font-size:14px;font-weight:950;line-height:1.2}.course-offer-multi-context p{margin:0;color:var(--color-muted);font-size:13px;font-weight:800;line-height:1.4}.course-offer-option-group{display:flex;flex-direction:column;gap:9px;border:1px solid rgba(37,44,39,.09);border-radius:14px;background:#fffdfb;padding:10px}.course-offer-option-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.course-offer-option-group-head h3{margin:0;color:var(--color-text);font-size:14px;font-weight:950}.course-offer-option-group-head span{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:#eefaf3;color:#236b4b;font-size:11px;font-weight:900}.course-offer-option-hint{margin:0;color:var(--color-muted);font-size:12px;font-weight:800;line-height:1.35}.course-offer-claim{width:100%}.course-offer-closed-card{align-items:center;text-align:center;padding:32px 24px}.course-offer-closed-card h1{margin:0;color:var(--color-text);font-size:28px;line-height:1.15;font-weight:900}.course-offer-closed-card p{margin:0;max-width:560px;color:var(--color-muted);font-size:15px;font-weight:750;line-height:1.5}.course-offer-closed-card .soft-button{margin-top:8px}.course-offer-success{border:1px solid rgba(35,107,75,.18);border-radius:14px;background:#e8f7ef;color:#236b4b;padding:12px 14px;font-size:13px;font-weight:850}.course-claim-notice{border:1px solid rgba(35,107,75,.16);border-radius:16px;background:#f1faf5;color:#236b4b;padding:14px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;font-size:13px;box-shadow:0 14px 34px rgba(35,107,75,.08)}.course-claim-notice strong{display:block;color:#1f5f44;font-size:14px;font-weight:900}.course-claim-notice p{margin:3px 0 0;max-width:560px;color:#2d6f51;font-weight:750;line-height:1.45}.course-claim-notice .soft-button{flex:0 0 auto}.course-offer-unavailable{border:1px solid var(--color-border);border-radius:14px;background:#fff8f6;padding:12px 14px;color:var(--color-muted);font-size:13px;font-weight:800}.course-offer-unavailable strong{display:block;margin-bottom:6px;color:var(--color-text)}.course-offer-unavailable ul{margin:0;padding-left:18px}.course-offer-unavailable li+li{margin-top:3px}@media(max-width:760px){.course-offer-page{padding:16px}.course-offer-details{grid-template-columns:1fr}.course-offer-status-row{align-items:flex-start;flex-direction:column}.course-claim-notice{flex-direction:column}.course-claim-notice .soft-button{width:100%}}@media (max-width:900px){.personal-mobile-shell{display:block;min-height:100vh;height:auto;padding:0}.personal-mobile-shell .master-content{min-height:100vh;padding:34px 18px calc(88px + env(safe-area-inset-bottom))}.personal-mobile-shell .workspace-1044{max-width:100%}.personal-mobile-shell .mobile-nav-toggle,.personal-mobile-shell>.master-sidebar{display:none}.personal-admin-toggle{position:fixed;top:calc(14px + env(safe-area-inset-top));right:18px;z-index:90;min-height:36px;padding:0 15px;border-radius:999px;border:1px solid rgba(25,31,28,.12);background:hsla(0,0%,100%,.78);color:rgba(31,35,40,.58);box-shadow:0 8px 24px rgba(31,35,40,.07);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:13px;font-weight:750}.personal-mobile-shell .hero-card{margin:0 0 18px;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}.personal-mobile-shell .hero-card:before{display:none}.personal-mobile-shell .hero-card .eyebrow{margin:0 0 6px;color:rgba(31,35,40,.56);text-transform:none;letter-spacing:.02em;font-size:15px}.personal-mobile-shell .hero-card h1{margin:0 0 10px;color:#1f2328;font-size:clamp(36px,12vw,58px);line-height:.98;letter-spacing:-.065em;font-weight:900}.personal-mobile-shell .hero-card .hero-copy{max-width:23rem;margin:0;color:rgba(31,35,40,.58);font-size:16px;line-height:1.45}.personal-mobile-shell .hero-card>button{margin-top:14px;width:100%;min-height:44px;border-radius:12px;background:var(--color-primary);box-shadow:0 10px 22px rgba(71,104,90,.14);font-size:15px}.personal-mobile-shell .dashboard-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-top:18px!important}.personal-mobile-shell .feature-card,.personal-mobile-shell .profile-section,.personal-mobile-shell .quiet-section,.personal-mobile-shell .table-wrap,.personal-mobile-shell .users-table-wrap{border:1px solid rgba(31,35,40,.09);border-radius:16px;background:hsla(0,0%,100%,.86);box-shadow:0 12px 30px rgba(31,35,40,.065);-webkit-backdrop-filter:none;backdrop-filter:none}.personal-mobile-shell .feature-card:before,.personal-mobile-shell .profile-section:before,.personal-mobile-shell .quiet-section:before{display:none}.personal-mobile-shell .feature-card{padding:16px;overflow:hidden}.personal-mobile-shell .dashboard-grid .feature-card{min-height:126px}.personal-mobile-shell .dashboard-grid .feature-card h3{font-size:22px;line-height:1.08;margin-bottom:8px}.personal-mobile-shell .dashboard-grid .feature-card p:not(.card-label){color:rgba(31,35,40,.62);line-height:1.45}.personal-mobile-shell .card-label,.personal-mobile-shell .eyebrow{color:var(--color-primary);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.personal-mobile-shell .quiet-section{margin-top:16px;padding:16px}.personal-mobile-shell .quiet-section button{width:100%;margin-top:16px}.personal-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:250;display:flex;justify-content:center;padding:0;pointer-events:none}.personal-bottom-nav-inner{--active-nav-x:calc(10% + 10.5px);--nav-notch-radius:20px;--nav-notch-depth:46px;--nav-notch-corner:19.5px;position:relative;width:100%;max-width:none;height:64px;padding:2px 14px calc(6px + env(safe-area-inset-bottom));border-radius:0;background:transparent;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;grid-gap:0;gap:0;pointer-events:auto;overflow:visible}.personal-bottom-nav-inner.active-1{--active-nav-x:calc(10% + 10.5px)}.personal-bottom-nav-inner.active-2{--active-nav-x:calc(30% + 5px)}.personal-bottom-nav-inner.active-3{--active-nav-x:50%}.personal-bottom-nav-inner.active-4{--active-nav-x:calc(70% - 5px)}.personal-bottom-nav-inner.active-5{--active-nav-x:calc(90% - 10.5px)}.personal-bottom-nav-inner:before{content:"";position:absolute;inset:0;z-index:0;background:#151817;box-shadow:0 -10px 28px rgba(18,23,21,.2),inset 0 1px 0 hsla(0,0%,100%,.08);pointer-events:none;-webkit-clip-path:polygon(0 0,calc(var(--active-nav-x) - var(--nav-notch-radius)) 0,calc(var(--active-nav-x) - var(--nav-notch-radius)) calc(var(--nav-notch-depth) - var(--nav-notch-corner)),calc(var(--active-nav-x) - 18px) calc(var(--nav-notch-depth) - 12px),calc(var(--active-nav-x) - 14px) calc(var(--nav-notch-depth) - 6px),calc(var(--active-nav-x) - 8px) calc(var(--nav-notch-depth) - 2px),calc(var(--active-nav-x) - .5px) var(--nav-notch-depth),calc(var(--active-nav-x) + .5px) var(--nav-notch-depth),calc(var(--active-nav-x) + 8px) calc(var(--nav-notch-depth) - 2px),calc(var(--active-nav-x) + 14px) calc(var(--nav-notch-depth) - 6px),calc(var(--active-nav-x) + 18px) calc(var(--nav-notch-depth) - 12px),calc(var(--active-nav-x) + var(--nav-notch-radius)) calc(var(--nav-notch-depth) - var(--nav-notch-corner)),calc(var(--active-nav-x) + var(--nav-notch-radius)) 0,100% 0,100% 100%,0 100%);clip-path:polygon(0 0,calc(var(--active-nav-x) - var(--nav-notch-radius)) 0,calc(var(--active-nav-x) - var(--nav-notch-radius)) calc(var(--nav-notch-depth) - var(--nav-notch-corner)),calc(var(--active-nav-x) - 18px) calc(var(--nav-notch-depth) - 12px),calc(var(--active-nav-x) - 14px) calc(var(--nav-notch-depth) - 6px),calc(var(--active-nav-x) - 8px) calc(var(--nav-notch-depth) - 2px),calc(var(--active-nav-x) - .5px) var(--nav-notch-depth),calc(var(--active-nav-x) + .5px) var(--nav-notch-depth),calc(var(--active-nav-x) + 8px) calc(var(--nav-notch-depth) - 2px),calc(var(--active-nav-x) + 14px) calc(var(--nav-notch-depth) - 6px),calc(var(--active-nav-x) + 18px) calc(var(--nav-notch-depth) - 12px),calc(var(--active-nav-x) + var(--nav-notch-radius)) calc(var(--nav-notch-depth) - var(--nav-notch-corner)),calc(var(--active-nav-x) + var(--nav-notch-radius)) 0,100% 0,100% 100%,0 100%)}.personal-bottom-nav-item{z-index:2;min-height:54px;padding:4px 2px 2px;border:0;background:transparent;color:hsla(0,0%,100%,.7);flex-direction:column;gap:10px;font-size:11px;line-height:1;font-weight:650;box-shadow:none}.personal-bottom-nav-icon,.personal-bottom-nav-item{position:relative;display:flex;align-items:center;justify-content:center}.personal-bottom-nav-icon{width:24px;height:24px;margin-bottom:0;z-index:1;isolation:isolate}.personal-bottom-nav-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.personal-bottom-nav-item.is-active{color:hsla(0,0%,100%,.7);transform:none;font-size:11px;font-weight:650}.personal-bottom-nav-item.is-active:after,.personal-bottom-nav-item.is-active:before{content:none}.personal-bottom-nav-item.is-active .personal-bottom-nav-icon:before{content:"";position:absolute;left:50%;top:50%;width:36px;height:36px;transform:translate(-50%,-50%);border-radius:999px;background:#fff;box-shadow:0 8px 20px rgba(31,35,40,.14),inset 0 0 0 1px rgba(31,35,40,.04);z-index:-1}.personal-bottom-nav-item.is-active .personal-bottom-nav-icon{color:var(--color-primary);width:24px;height:24px;margin-bottom:0}.personal-bottom-nav-item.is-active .personal-bottom-nav-icon svg{width:24px;height:24px;stroke-width:1.9}.personal-bottom-nav-item:hover{color:#fff}.personal-bottom-nav-item.is-active:hover{color:hsla(0,0%,100%,.7)}.personal-bottom-nav-item.is-active:hover .personal-bottom-nav-icon{color:#df2f29}}@media (min-width:901px){.personal-admin-toggle,.personal-bottom-nav{display:none}}@media (max-width:640px){.personal-mobile-shell .dashboard-grid{grid-template-columns:1fr}.personal-mobile-shell .feature-card{border-radius:24px}.personal-bottom-nav-inner{border-radius:0}}@media (max-width:430px){.personal-bottom-nav-inner{border-radius:0}}@media (max-width:900px){.personal-bottom-nav-inner{--nav-notch-arc-top:26px;--nav-notch-top-radius:9px}.personal-bottom-nav-inner:before{-webkit-clip-path:polygon(0 0,calc(var(--active-nav-x) - 30.5px) 0,calc(var(--active-nav-x) - 28.2px) .3px,calc(var(--active-nav-x) - 26px) 1.2px,calc(var(--active-nav-x) - 24.2px) 2.6px,calc(var(--active-nav-x) - 22.9px) 4.5px,calc(var(--active-nav-x) - 22.1px) 6.7px,calc(var(--active-nav-x) - 21.5px) 9px,calc(var(--active-nav-x) - 21.5px) var(--nav-notch-arc-top),calc(var(--active-nav-x) - 21px) 30.5px,calc(var(--active-nav-x) - 20px) 33.7px,calc(var(--active-nav-x) - 18.5px) 36.7px,calc(var(--active-nav-x) - 16.5px) 39.4px,calc(var(--active-nav-x) - 14px) 41.9px,calc(var(--active-nav-x) - 11px) 43.9px,calc(var(--active-nav-x) - 8px) 45.3px,calc(var(--active-nav-x) - 5px) 46.1px,var(--active-nav-x) 46.5px,calc(var(--active-nav-x) + 5px) 46.1px,calc(var(--active-nav-x) + 8px) 45.3px,calc(var(--active-nav-x) + 11px) 43.9px,calc(var(--active-nav-x) + 14px) 41.9px,calc(var(--active-nav-x) + 16.5px) 39.4px,calc(var(--active-nav-x) + 18.5px) 36.7px,calc(var(--active-nav-x) + 20px) 33.7px,calc(var(--active-nav-x) + 21px) 30.5px,calc(var(--active-nav-x) + 21.5px) var(--nav-notch-arc-top),calc(var(--active-nav-x) + 21.5px) 9px,calc(var(--active-nav-x) + 22.1px) 6.7px,calc(var(--active-nav-x) + 22.9px) 4.5px,calc(var(--active-nav-x) + 24.2px) 2.6px,calc(var(--active-nav-x) + 26px) 1.2px,calc(var(--active-nav-x) + 28.2px) .3px,calc(var(--active-nav-x) + 30.5px) 0,100% 0,100% 100%,0 100%);clip-path:polygon(0 0,calc(var(--active-nav-x) - 30.5px) 0,calc(var(--active-nav-x) - 28.2px) .3px,calc(var(--active-nav-x) - 26px) 1.2px,calc(var(--active-nav-x) - 24.2px) 2.6px,calc(var(--active-nav-x) - 22.9px) 4.5px,calc(var(--active-nav-x) - 22.1px) 6.7px,calc(var(--active-nav-x) - 21.5px) 9px,calc(var(--active-nav-x) - 21.5px) var(--nav-notch-arc-top),calc(var(--active-nav-x) - 21px) 30.5px,calc(var(--active-nav-x) - 20px) 33.7px,calc(var(--active-nav-x) - 18.5px) 36.7px,calc(var(--active-nav-x) - 16.5px) 39.4px,calc(var(--active-nav-x) - 14px) 41.9px,calc(var(--active-nav-x) - 11px) 43.9px,calc(var(--active-nav-x) - 8px) 45.3px,calc(var(--active-nav-x) - 5px) 46.1px,var(--active-nav-x) 46.5px,calc(var(--active-nav-x) + 5px) 46.1px,calc(var(--active-nav-x) + 8px) 45.3px,calc(var(--active-nav-x) + 11px) 43.9px,calc(var(--active-nav-x) + 14px) 41.9px,calc(var(--active-nav-x) + 16.5px) 39.4px,calc(var(--active-nav-x) + 18.5px) 36.7px,calc(var(--active-nav-x) + 20px) 33.7px,calc(var(--active-nav-x) + 21px) 30.5px,calc(var(--active-nav-x) + 21.5px) var(--nav-notch-arc-top),calc(var(--active-nav-x) + 21.5px) 9px,calc(var(--active-nav-x) + 22.1px) 6.7px,calc(var(--active-nav-x) + 22.9px) 4.5px,calc(var(--active-nav-x) + 24.2px) 2.6px,calc(var(--active-nav-x) + 26px) 1.2px,calc(var(--active-nav-x) + 28.2px) .3px,calc(var(--active-nav-x) + 30.5px) 0,100% 0,100% 100%,0 100%)}.personal-bottom-nav-item{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;outline:none}.personal-bottom-nav-item>span:last-child{transform:translateY(3px)}.personal-bottom-nav-item:active,.personal-bottom-nav-item:focus,.personal-bottom-nav-item:focus-visible{background:transparent;outline:none;box-shadow:none}.personal-bottom-nav-item.is-active{color:#fff;text-shadow:0 1px 10px hsla(0,0%,100%,.18)}.personal-bottom-nav-item.is-active:hover{color:#fff}.personal-bottom-nav-item.is-active .personal-bottom-nav-icon:before{background:linear-gradient(145deg,hsla(0,0%,100%,.96),rgba(247,250,255,.9) 42%,rgba(229,237,249,.92));box-shadow:0 16px 30px rgba(0,0,0,.28),0 6px 14px rgba(15,25,35,.18),0 0 0 1px hsla(0,0%,100%,.92),0 0 0 2px rgba(27,39,50,.1),inset 0 1.5px 0 hsla(0,0%,100%,.98),inset 0 -2px 5px rgba(20,35,55,.14),inset 0 0 12px hsla(0,0%,100%,.42);-webkit-backdrop-filter:blur(10px) saturate(1.25);backdrop-filter:blur(10px) saturate(1.25)}.personal-bottom-nav-item.is-active .personal-bottom-nav-icon:after{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%);border-radius:999px;background:radial-gradient(circle at 32% 24%,hsla(0,0%,100%,.88) 0,hsla(0,0%,100%,.52) 19%,hsla(0,0%,100%,.14) 42%,transparent 64%),radial-gradient(circle,rgba(72,96,120,.13) 0,rgba(72,96,120,.08) 48%,transparent 74%);z-index:-2;pointer-events:none}}@media (min-width:901px){.master-shell.personal-mobile-shell{display:grid;grid-template-columns:290px minmax(0,1044px);grid-gap:28px;gap:28px;max-width:1390px;height:100vh;padding:0 24px;margin:0 auto;overflow:hidden}.personal-mobile-shell>.master-sidebar{display:block}.personal-mobile-shell>.mobile-nav-toggle,.personal-mobile-shell>.personal-admin-toggle,.personal-mobile-shell>.personal-bottom-nav{display:none}.personal-mobile-shell .master-content{height:100vh;overflow-y:auto;box-sizing:border-box;padding:28px 0 88px}.personal-mobile-shell .workspace-1044{width:100%;max-width:1044px;margin:0}.personal-mobile-shell .hero-card{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:0 0 20px;padding:20px;border:1px solid rgba(37,44,39,.08);border-radius:30px;background:hsla(0,0%,100%,.86);box-shadow:0 22px 56px rgba(31,35,40,.09);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden}.personal-mobile-shell .hero-card:before{display:none}.personal-mobile-shell .hero-card .eyebrow{margin:0 0 8px;color:rgba(31,35,40,.56);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.personal-mobile-shell .hero-card h1{margin:0;color:#1f2328;font-size:28px;line-height:1.12;letter-spacing:-.025em;font-weight:700}.personal-mobile-shell .hero-card .hero-copy{max-width:36rem;margin:10px 0 0;color:rgba(31,35,40,.58);font-size:15px;line-height:1.45}.personal-mobile-shell .dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;margin-top:24px!important}.personal-mobile-shell .feature-card,.personal-mobile-shell .profile-section,.personal-mobile-shell .quiet-section,.personal-mobile-shell .table-wrap,.personal-mobile-shell .users-table-wrap{border:1px solid rgba(31,35,40,.09);border-radius:16px;background:hsla(0,0%,100%,.86);box-shadow:0 12px 30px rgba(31,35,40,.065);-webkit-backdrop-filter:none;backdrop-filter:none}.personal-mobile-shell .feature-card:before,.personal-mobile-shell .profile-section:before,.personal-mobile-shell .quiet-section:before{display:none}.personal-mobile-shell .feature-card{padding:20px;min-height:auto;overflow:hidden}.personal-mobile-shell .feature-card h3{font-size:1.17em;line-height:1.12;letter-spacing:-.025em;font-weight:700;margin:0 0 12px}.personal-mobile-shell .feature-card p:not(.card-label){color:rgba(31,35,40,.62);line-height:1.45}.personal-mobile-shell .card-label,.personal-mobile-shell .eyebrow{color:var(--color-primary);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.personal-mobile-shell .quiet-section{margin-top:20px;padding:20px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.personal-mobile-shell .quiet-section button{margin-top:0}}.ui-button{min-height:var(--control-height);border-radius:var(--radius-control);padding:0 var(--control-padding-x);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:14px;font-weight:700;line-height:1;border:1px solid transparent;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,opacity .18s ease,transform .18s ease}.ui-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.ui-button--sm{min-height:34px;padding:0 12px;font-size:13px}.ui-button--md{min-height:var(--control-height)}.ui-button--lg{min-height:48px;padding:0 18px;font-size:15px}.ui-button--primary{background:var(--color-primary);color:#fff;border-color:rgba(71,104,90,.18);box-shadow:0 8px 18px rgba(71,104,90,.14),inset 0 1px 0 hsla(0,0%,100%,.14)}.ui-button--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:rgba(71,104,90,.24);box-shadow:0 10px 22px rgba(71,104,90,.16),inset 0 1px 0 hsla(0,0%,100%,.16);transform:translateY(-1px)}.ui-button--secondary{background:hsla(0,0%,100%,.82);color:var(--color-text);border-color:var(--color-border);box-shadow:0 8px 18px rgba(25,31,29,.06),inset 0 1px 0 hsla(0,0%,100%,.9)}.ui-button--secondary:hover:not(:disabled){background:var(--color-surface-warm);border-color:var(--color-control-hover);transform:translateY(-1px)}.ui-button--danger{background:#fff4f2;color:#9b241e;border-color:#eabcb4}.ui-button--danger:hover:not(:disabled){background:#fdeae6;border-color:#e3a79d;color:#731b17}.ui-button--ghost{background:transparent;color:var(--color-text);border-color:transparent;box-shadow:none}.ui-button--ghost:hover:not(:disabled){background:var(--color-surface-warm)}.ui-button:focus-visible{outline:none;box-shadow:0 0 0 4px var(--focus-ring),0 8px 18px rgba(25,31,29,.12)}.ui-button__icon{width:18px;height:18px;justify-content:center;flex:0 0 auto}.ui-button__icon,.ui-button__label{display:inline-flex;align-items:center}.ui-card{background:hsla(0,0%,100%,.86);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.ui-card--muted{background:#fff}.ui-card--strong{background:var(--color-surface)}.ui-card__body,.ui-card__footer,.ui-card__header{padding:20px 24px}.ui-card__header{border-bottom:1px solid var(--color-border-soft)}.ui-card__footer{border-top:1px solid var(--color-border-soft)}.ui-section-header{display:grid;grid-gap:8px;gap:8px}.ui-section-header--center{justify-items:center;text-align:center}.ui-section-header__eyebrow{margin:0;font-size:12px;text-transform:uppercase;color:var(--color-muted);letter-spacing:.1em;font-weight:800}.ui-section-header__title{margin:0;letter-spacing:-.025em}.ui-section-header__description{margin:0;color:var(--color-muted);line-height:1.45}.ui-accordion{display:grid;grid-gap:10px;gap:10px}.ui-accordion__item{border:1px solid var(--color-border);border-radius:14px;background:hsla(0,0%,100%,.82);overflow:hidden}.ui-accordion__summary{list-style:none;cursor:pointer;padding:14px 16px;font-weight:700}.ui-accordion__summary::-webkit-details-marker{display:none}.ui-accordion__content{padding:0 16px 14px;color:var(--color-muted);line-height:1.45}.action-feedback-backdrop{position:fixed;inset:0;z-index:4000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(25,31,29,.38);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:action-feedback-fade .14s ease-out}.action-feedback-dialog{width:min(500px,100%);max-height:calc(100dvh - 48px);overflow:auto;border:1px solid rgba(37,44,39,.1);border-radius:22px;background:#fffdfb;box-shadow:0 28px 80px rgba(16,22,20,.28),inset 0 1px 0 hsla(0,0%,100%,.9);padding:24px;animation:action-feedback-pop .14s ease-out}.action-feedback-dialog.success{border-top:4px solid #288c63}.action-feedback-dialog.error{border-top:4px solid #b92721}.action-feedback-heading{display:flex;align-items:center;gap:9px;margin-bottom:12px}.action-feedback-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;font-weight:900;line-height:1}.action-feedback-dialog.success .action-feedback-icon{background:#dcfce7;color:#166534}.action-feedback-dialog.error .action-feedback-icon{background:#fde9e7;color:#8a2f25}.action-feedback-label{color:var(--color-muted);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.action-feedback-dialog h2{margin:0 0 10px;font-size:22px;line-height:1.16;letter-spacing:-.02em}.action-feedback-message{margin:0;color:var(--color-text);font-size:15px;line-height:1.5;white-space:pre-line}.action-feedback-detail{margin-top:16px;padding:12px 14px;border:1px solid rgba(185,39,33,.18);border-radius:14px;background:#fff7f5}.action-feedback-detail span{display:block;margin-bottom:7px;color:#8a2f25;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.action-feedback-detail pre{margin:0;color:#5f1f1a;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.action-feedback-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}@keyframes action-feedback-fade{0%{opacity:0}to{opacity:1}}@keyframes action-feedback-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:560px){.action-feedback-backdrop{align-items:flex-end;padding:16px}.action-feedback-dialog{width:100%;max-height:calc(100dvh - 32px);border-radius:20px;padding:20px}.action-feedback-actions,.action-feedback-actions .ui-button{width:100%}}