*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f0f0f;--bg2:#1a1a1a;--bg3:#222;--bg4:#2a2a2a;--border:#ffffff14;--border2:#ffffff26;--text:#f0ede8;--text2:#a09890;--text3:#6a6260;--gold:#2e7d3a;--gold2:#4aad59;--gold-dim:#2e7d3a24;--green:#52c27a;--green-dim:#52c27a1f;--red:#e06060;--red-dim:#e060601f;--blue:#5b9bd5;--blue-dim:#5b9bd51f;--amber:#d4943a;--amber-dim:#d4943a1f;--purple:#b07ce0;--purple-dim:#b07ce01f;--radius:10px;--radius-sm:6px}[data-theme=light]{--bg:#f4f2ee;--bg2:#fff;--bg3:#ece9e3;--bg4:#e0dcd5;--border:#00000014;--border2:#00000026;--text:#1a1714;--text2:#6b6460;--text3:#9a9490;--gold:#1f6b2a;--gold2:#2e8a38;--gold-dim:#1f6b2a24;--green:#1a7a46;--green-dim:#1a7a461f;--red:#c04040;--red-dim:#c040401a;--blue:#2f6eb0;--blue-dim:#2f6eb01f;--amber:#a06418;--amber-dim:#a064181f;--purple:#7a4cbe;--purple-dim:#7a4cbe1f}*,:before,:after{transition:background-color .2s,border-color .2s,color .15s}html,body,#root{background:var(--bg);height:100%;color:var(--text);font-family:DM Sans,sans-serif}body{overflow-x:hidden}input,select,textarea,button{color:var(--text);background:var(--bg3);border:1px solid var(--border2);border-radius:var(--radius-sm);outline:none;padding:8px 12px;font-family:DM Sans,sans-serif;font-size:14px;transition:border-color .15s}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input:focus,select:focus,textarea:focus{border-color:var(--gold)}select option{background:var(--bg2)}button{cursor:pointer;transition:all .15s}button:hover{border-color:var(--gold);color:var(--gold)}button:disabled{opacity:.5;cursor:not-allowed}button:disabled:hover{border-color:var(--border2);color:var(--text)}.btn-primary{background:var(--gold);color:#fff;border-color:var(--gold);font-weight:600}.btn-primary:hover{background:var(--gold2);border-color:var(--gold2);color:#fff}.btn-primary:disabled:hover{background:var(--gold);border-color:var(--gold);color:#fff}.btn-danger{background:var(--red-dim);border-color:var(--red);color:var(--red)}.btn-danger:hover{background:var(--red);color:#fff}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:2px}table{border-collapse:collapse;width:100%}th{text-transform:uppercase;letter-spacing:.08em;color:var(--text3);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:500}td{border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 12px;font-size:13px}tr:last-child td{border-bottom:none}tr:hover td{background:#ffffff05}.tag{white-space:nowrap;border-radius:99px;align-items:center;padding:3px 9px;font-size:11px;font-weight:500;display:inline-flex}.modal-overlay{z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--bg2);border:1px solid var(--border2);border-radius:var(--radius);width:100%;max-width:580px;max-height:90vh;padding:24px;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h2{font-family:DM Serif Display,serif;font-size:20px;font-weight:400}.field{margin-bottom:14px}.field label{color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;font-size:11px;font-weight:500;display:block}.field input,.field select,.field textarea{width:100%}.field textarea{resize:vertical;min-height:72px}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.pill-btn{border-radius:99px;padding:5px 13px;font-size:12px}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius)}.page-header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.page-title{font-family:DM Serif Display,serif;font-size:26px;font-weight:400}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.fade-in{animation:.2s fadeIn}.stat-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.stat-label{color:var(--text3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;font-size:11px}.stat-value{font-family:DM Serif Display,serif;font-size:24px;font-weight:600}.notice{border-radius:var(--radius-sm);margin-bottom:16px;padding:10px 14px;font-size:13px}.ec{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ec-color-400:oklch(70.8% 0 0);--ec-color-300:oklch(87% 0 0);--ec-color-200:oklch(92.2% 0 0);--ec-color-100:oklch(97% 0 0);--ec-color-50:oklch(98.5% 0 0);--ec-bg-color:#fff;--ec-text-color:currentcolor;--ec-border-color:var(--ec-color-300);--ec-button-bg-color:var(--ec-bg-color);--ec-button-border-color:var(--ec-border-color);--ec-button-text-color:var(--ec-text-color);--ec-button-active-bg-color:var(--ec-color-200);--ec-button-active-border-color:var(--ec-color-400);--ec-button-active-text-color:var(--ec-button-text-color);--ec-today-bg-color:oklch(98.7% .026 102.212);--ec-highlight-color:oklch(98.4% .019 200.873);--ec-event-bg-color:oklch(70.7% .165 254.624);--ec-event-text-color:#fff;--ec-bg-event-color:var(--ec-color-300);--ec-bg-event-opacity:.3;--ec-event-col-gap:.375rem;--ec-now-indicator-color:oklch(63.7% .237 25.331);--ec-popup-bg-color:var(--ec-bg-color)}.ec-dark .ec{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ec-color-400:oklch(43.9% 0 0);--ec-color-300:oklch(37.1% 0 0);--ec-color-200:oklch(26.9% 0 0);--ec-color-100:oklch(20.5% 0 0);--ec-color-50:oklch(14.5% 0 0);--ec-bg-color:var(--ec-color-100);--ec-today-bg-color:oklch(28.6% .066 53.813);--ec-highlight-color:oklch(30.2% .056 229.695);--ec-bg-event-opacity:.5}@media (prefers-color-scheme:dark){.ec-auto-dark .ec{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ec-color-400:oklch(43.9% 0 0);--ec-color-300:oklch(37.1% 0 0);--ec-color-200:oklch(26.9% 0 0);--ec-color-100:oklch(20.5% 0 0);--ec-color-50:oklch(14.5% 0 0);--ec-bg-color:var(--ec-color-100);--ec-today-bg-color:oklch(28.6% .066 53.813);--ec-highlight-color:oklch(30.2% .056 229.695);--ec-bg-event-opacity:.5}}.ec-day{--ec-day-bg-color:var(--ec-bg-color);background-color:var(--ec-day-bg-color);border:1px solid var(--ec-border-color);border-block-start:none;border-inline-start:none}.ec-day.ec-today{--ec-day-bg-color:var(--ec-today-bg-color)}.ec-day.ec-highlight{--ec-day-bg-color:var(--ec-highlight-color)}.ec-time-grid .ec-body .ec-day{background-image:linear-gradient(to top, var(--ec-day-bg-color) 1px, transparent 1px), linear-gradient(to top, var(--ec-border-color) 1px, transparent 1px), linear-gradient(to right, var(--ec-day-bg-color) 1px, transparent 1px), linear-gradient(to top, var(--ec-border-color) 1px, transparent 1px);background-size:100% 100%, 100% calc(var(--ec-slot-height) * var(--ec-slot-label-periodicity)), 2px 100%, 100% var(--ec-slot-height)}.ec-timeline:not(.ec-month-view,.ec-year-view) .ec-body .ec-day{--ec-last-line-color:transparent;--ec-direction:to left}[dir=rtl] :is(.ec-timeline:not(.ec-month-view,.ec-year-view) .ec-body .ec-day){--ec-direction:to right}.ec-timeline:not(.ec-month-view,.ec-year-view) .ec-body .ec-day{background-image:linear-gradient(var(--ec-direction), var(--ec-last-line-color) 1px, transparent 1px), linear-gradient(var(--ec-direction), var(--ec-border-color) 1px, transparent 1px), linear-gradient(var(--ec-day-bg-color) 1px, transparent 1px), linear-gradient(var(--ec-direction), var(--ec-border-color) 1px, transparent 1px);background-size:100% 100%, calc(var(--ec-slot-width) * var(--ec-slot-label-periodicity)) 100%, 100% 2px, var(--ec-slot-width) 100%;border-inline:none}.ec-timeline:not(.ec-month-view,.ec-year-view) .ec-body .ec-day.ec-no-ieb{--ec-last-line-color:var(--ec-day-bg-color)}.ec-day-grid .ec-day{flex-direction:column;justify-content:space-between;min-block-size:5em;display:flex}.ec-day-grid .ec-uniform .ec-day{min-block-size:auto}.ec-list .ec-day{border-inline:none}.ec-list .ec-day:last-child{border:none}.ec-day.ec-no-ieb{border-inline-end:none}.ec-day.ec-no-beb{border-block-end:none}.ec-day-head{flex-direction:row-reverse;justify-content:space-between;display:flex}.ec-day-grid.ec-month-view .ec-day-head{padding:.375rem}.ec-day.ec-other-month .ec-day-head time{opacity:.3}.ec-list .ec-day-head{background-color:var(--ec-day-bg-color);border-block-end:1px solid var(--ec-border-color);flex-direction:unset;z-index:2;margin:0 0 -1px;padding:.5em 1.5em;position:sticky;inset-block-start:0}.ec-day-foot{padding:.18rem;font-size:.85em}.ec-day-foot a{cursor:pointer}.ec-disabled{position:relative}.ec-disabled:after{content:"";background-color:var(--ec-bg-event-color);opacity:var(--ec-bg-event-opacity);position:absolute;inset:0}.ec-toolbar{justify-content:space-between;align-items:center;margin-block-end:1em;display:flex}.ec-toolbar>*{flex-wrap:wrap;gap:.5rem .75rem;display:inline-flex}.ec-title{margin:0}.ec-button{background-color:var(--ec-button-bg-color);border:1px solid var(--ec-button-border-color);border-radius:.25rem;padding:.375rem .75rem;font-size:1rem;line-height:1.5}.ec-button:not(:disabled){color:var(--ec-button-text-color);cursor:pointer}.ec-button:not(:disabled):hover,.ec-button.ec-active{background-color:var(--ec-button-active-bg-color);border-color:var(--ec-button-active-border-color);color:var(--ec-button-active-text-color);z-index:1}.ec-button-group{vertical-align:top;display:inline-flex}.ec-button-group .ec-button:not(:first-child){border-start-start-radius:0;border-end-start-radius:0;margin-inline-start:-1px}.ec-button-group .ec-button:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.ec-icon{inline-size:1em;display:inline-block}.ec-icon.ec-prev:after,.ec-icon.ec-next:after{content:"";border-block-start:2px solid;border-inline-end:2px solid;block-size:.5em;inline-size:.5em;display:inline-block;position:relative}.ec-icon.ec-prev:after{inset-inline-start:3px;rotate:-135deg}[dir=rtl] .ec-icon.ec-prev:after{rotate:135deg}.ec-icon.ec-next:after{inset-inline-start:-3px;rotate:45deg}[dir=rtl] .ec-icon.ec-next:after{rotate:-45deg}.ec-sidebar{z-index:1;background-color:var(--ec-bg-color);border-inline-end:1px solid var(--ec-border-color);text-align:end;position:sticky;inset-inline-start:0;overflow:clip}.ec-header .ec-sidebar{border-block-end:1px solid var(--ec-border-color);padding-block:.375rem}.ec-time-grid .ec-sidebar{padding-inline:.75rem}.ec-time-grid .ec-body .ec-sidebar{--ec-direction:to left}[dir=rtl] :is(.ec-time-grid .ec-body .ec-sidebar){--ec-direction:to right}.ec-time-grid .ec-body .ec-sidebar{background-image:linear-gradient(var(--ec-direction), transparent .375rem, var(--ec-bg-color) .375rem), linear-gradient(to top, var(--ec-bg-color) 1px, transparent 1px), linear-gradient(to top, var(--ec-border-color) 1px, transparent 1px), linear-gradient(to right, var(--ec-bg-color) 1px, transparent 1px), linear-gradient(to top, var(--ec-border-color) 1px, transparent 1px);background-size:100% 100%, 100% 100%, 100% calc(var(--ec-slot-height) * var(--ec-slot-label-periodicity)), 2px 100%, 100% var(--ec-slot-height)}.ec-timeline .ec-body .ec-sidebar{grid-area:1/1/-1/2;grid-template-rows:subgrid;display:grid}.ec-row-head{border-block-end:1px solid var(--ec-border-color);min-block-size:1.5em;padding:.375em .75rem;display:flex}.ec-row-head:last-child{border:none}.ec-expander{inline-size:1.25em;margin-block-start:-1px;margin-inline-end:.25em}.ec-expander .ec-button{aspect-ratio:1;block-size:1.25em;padding:0;line-height:normal}.ec-slot{white-space:nowrap}.ec-time-grid .ec-slot{block-size:calc(var(--ec-slot-height) * var(--ec-slot-label-periodicity));position:relative;inset-block-start:-.5lh}.ec-timeline .ec-slot{grid-column:span var(--ec-slot-label-periodicity);text-overflow:ellipsis;padding:.18rem 0;font-size:.95em;overflow:clip}.ec-slots{grid-auto-flow:column;grid-auto-columns:var(--ec-slot-width);text-align:center;--ec-day-bg-color:var(--ec-bg-color);background-color:var(--ec-day-bg-color);border-block-end:1px solid var(--ec-border-color);display:grid}.ec-slots.ec-today{--ec-day-bg-color:var(--ec-today-bg-color)}.ec-slots.ec-highlight{--ec-day-bg-color:var(--ec-highlight-color)}.ec-slots{--ec-last-line-color:transparent;--ec-direction:to left}[dir=rtl] .ec-slots{--ec-direction:to right}.ec-slots{background-image:linear-gradient(var(--ec-direction), var(--ec-last-line-color) 1px, transparent 1px), linear-gradient(var(--ec-direction), var(--ec-border-color) 1px, transparent 1px);background-size:100% 100%, calc(var(--ec-slot-width) * var(--ec-slot-label-periodicity)) 100%}.ec-slots:last-child{--ec-last-line-color:var(--ec-day-bg-color)}.ec-events{grid-area:1/2/-1/-1;grid-template:subgrid / subgrid;isolation:isolate;pointer-events:none;display:grid}.ec-day-grid .ec-events{grid-column-start:1}.ec-event{color:var(--ec-event-text-color);box-sizing:border-box;box-shadow:0 0 1px 0 var(--ec-border-color);background-color:var(--ec-event-bg-color);z-index:1;pointer-events:all;inline-size:calc(100% - var(--ec-event-col-gap));border-radius:3px;padding:2px;font-size:.85em;line-height:1.5;display:flex;position:relative}.ec-time-grid .ec-event{grid-row:1}.ec-day-grid .ec-event,.ec-all-day .ec-event,.ec-timeline .ec-event{block-size:max-content;margin-block-end:var(--ec-event-col-gap)}:is(.ec-day-grid .ec-event,.ec-all-day .ec-event,.ec-timeline .ec-event).ec-start-clipped{border-start-start-radius:0;border-start-end-radius:3px;border-end-end-radius:3px;border-end-start-radius:0}:is(.ec-day-grid .ec-event,.ec-all-day .ec-event,.ec-timeline .ec-event).ec-end-clipped{border-start-start-radius:3px;border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:3px}.ec-list .ec-event{color:inherit;background-color:var(--ec-day-bg-color);border-radius:0;flex-direction:row;padding:.5em 1.5em}.ec-event.ec-preview{z-index:1000;-webkit-user-select:none;user-select:none;opacity:.8}.ec-event.ec-pointer{color:inherit;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;box-shadow:none}.ec-event.ec-start-clipped{border-start-start-radius:0;border-start-end-radius:0}.ec-event.ec-end-clipped{border-end-end-radius:0;border-end-start-radius:0}.ec-event.ec-start-clipped.ec-end-clipped{border-radius:0}.ec-bg-event{background-color:var(--ec-bg-event-color);opacity:var(--ec-bg-event-opacity);grid-row:1;position:relative}.ec-draggable{cursor:pointer;-webkit-user-select:none;user-select:none}.ec-ghost{opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none}.ec-event-body{flex-direction:column;inline-size:100%;display:flex}.ec-day-grid .ec-event-body,.ec-all-day .ec-event-body,.ec-timeline .ec-event-body{flex-direction:row}.ec-event-tag{border-radius:2px;inline-size:4px;margin-inline-end:8px}.ec-event-time{white-space:nowrap;flex-shrink:0;max-block-size:100%;margin:0 0 1px;overflow:hidden}.ec-day-grid .ec-event-time,.ec-timeline .ec-event-time{text-overflow:ellipsis;max-inline-size:100%;margin:0 3px 0 0}.ec-event-title{font-weight:inherit;margin:0;overflow:hidden}.ec-time-grid .ec-event-title{position:sticky;inset-block-start:var(--ec-header-height)}.ec-day-grid .ec-event-title,.ec-all-day .ec-event-title,.ec-timeline .ec-event-title{white-space:nowrap;text-overflow:ellipsis;min-block-size:1.5em;position:sticky;inset-inline-start:calc(var(--ec-sidebar-width) + .18em)}.ec-list .ec-event-title{font-size:1rem}.ec-resizer{-webkit-user-select:none;user-select:none;position:absolute}.ec-time-grid .ec-body .ec-resizer{cursor:ns-resize;block-size:50%;max-block-size:8px;inset:auto 0 0}.ec-time-grid .ec-body .ec-resizer.ec-start{inset:0 0 auto}.ec-day-grid .ec-resizer,.ec-all-day .ec-resizer,.ec-timeline .ec-resizer{cursor:ew-resize;inline-size:50%;max-inline-size:8px;inset:0 0 0 auto}:is(.ec-day-grid .ec-resizer,.ec-all-day .ec-resizer,.ec-timeline .ec-resizer).ec-start{inset:0 auto 0 0}.ec-dragging,.ec-dragging *{cursor:pointer!important}.ec-resizing-y,.ec-resizing-y *{cursor:ns-resize!important}.ec-resizing-x,.ec-resizing-x *{cursor:ew-resize!important}.ec-no-events{text-align:center;background-color:var(--ec-bg-color);padding:5em 0}.ec-now-indicator{pointer-events:none;will-change:inset;grid-row:2;position:relative}.ec-time-grid .ec-now-indicator{border-block-start:var(--ec-now-indicator-color) solid 2px;block-size:0;inline-size:100%}.ec-timeline .ec-now-indicator{border-inline-start:var(--ec-now-indicator-color) solid 2px;inline-size:0}.ec-timeline .ec-now-indicator:before{z-index:2;inset-block-start:calc(var(--ec-header-height) - 6.5px)}.ec-now-indicator:before{background:var(--ec-now-indicator-color);content:"";block-size:12px;inline-size:12px;z-index:1;border-radius:50%;margin-block-start:-7px;margin-inline-start:-7px;display:block;position:sticky;inset-inline-start:calc(var(--ec-sidebar-width) - 6.5px)}.ec-popup{box-sizing:border-box;background-color:var(--ec-popup-bg-color);border:1px solid var(--ec-border-color);block-size:max-content;min-block-size:8em;inline-size:125%;min-inline-size:12em;box-shadow:var(--ec-color-300) 0 10px 15px -3px, var(--ec-color-300) 0 4px 6px -4px;border-radius:.25rem;flex-direction:column;padding:.375rem .75rem .75rem;display:flex;position:relative}.ec-popup .ec-day-head{flex-direction:row;padding-inline:0}.ec-popup .ec-day-head a{cursor:pointer;font-size:1.5em;line-height:.8}.ec-popup .ec-events{--ec-event-col-gap:0;pointer-events:auto;display:block;overflow-y:auto}.ec-custom-scrollbars .ec-main::-webkit-scrollbar{background-color:#0000}.ec-custom-scrollbars .ec-main::-webkit-scrollbar-thumb{box-shadow:none;background-color:var(--ec-border-color);background-clip:padding-box;border:4px solid #0000;border-radius:8px}.ec-custom-scrollbars .ec-main::-webkit-scrollbar-thumb:hover{background-color:var(--ec-color-400)}.ec{flex-direction:column;display:flex}.ec-main{border:1px solid var(--ec-border-color);display:grid;overflow:auto}.ec-time-grid .ec-main{grid-template-columns:max-content repeat(var(--ec-grid-cols), var(--ec-col-width));grid-template-rows:repeat(2,max-content)}.ec-day-grid .ec-main{--ec-row-height:auto;grid-template-columns:repeat(var(--ec-grid-cols), minmax(0, 1fr));grid-template-rows:max-content repeat(var(--ec-grid-rows), var(--ec-row-height))}.ec-day-grid .ec-main.ec-uniform{--ec-row-height:minmax(0, 1fr);flex-grow:1;overflow:hidden}.ec-timeline .ec-main{grid-template-columns:max-content repeat(var(--ec-grid-cols), min-content);grid-template-rows:max-content var(--ec-grid-rows);flex-grow:1}.ec-timeline:is(.ec-month-view,.ec-year-view) .ec-main{grid-template-columns:max-content repeat(var(--ec-grid-cols), var(--ec-col-width))}.ec-header{grid-area:1/1/2/-1;grid-template-columns:subgrid;z-index:2;display:grid;position:sticky;inset-block-start:0}.ec-grid{grid-area:1/1/-1/-1;grid-template-columns:subgrid;display:grid}.ec-body .ec-grid{grid-template-rows:subgrid}.ec-time-grid .ec-grid,.ec-timeline .ec-grid{grid-column-start:2}.ec-all-day{grid-area:2/1/auto/-1;grid-template-columns:subgrid;min-block-size:var(--ec-slot-height);display:grid}.ec-col-group{grid-column:span var(--ec-col-group-span)}.ec-col-group,.ec-col-head{text-align:center;background-color:var(--ec-bg-color);border:1px solid var(--ec-border-color);text-overflow:ellipsis;border-block-start:none;border-inline-start:none;padding:.375rem .18em;overflow:clip}:is(.ec-col-group,.ec-col-head).ec-today{background-color:var(--ec-today-bg-color)}:is(.ec-col-group,.ec-col-head).ec-highlight{background-color:var(--ec-highlight-color)}.ec-col-group:nth-last-child(1 of .ec-col-group),.ec-col-head:nth-last-child(1 of .ec-col-head){border-inline-end:none}.ec-col-group>*,.ec-timeline .ec-col-head>*{position:sticky;inset-inline-start:calc(var(--ec-sidebar-width) + .18em)}.ec-body{grid-area:2/1/-1/-1;grid-template:subgrid / subgrid;display:grid}.ec-hidden{visibility:hidden}#specs-schedule-print-root{display:none}@media print{#root{display:none!important}#specs-schedule-print-root{display:block}.sched-calendar-report,.sched-list-report,.sched-event-report{display:none}.sched-calendar-report.print-active,.sched-list-report.print-active,.sched-event-report.print-active{display:block}.sched-print-page{color:#111;padding:24px;font-family:Arial,Helvetica,sans-serif}.sched-print-page h1{margin:0 0 16px;font-size:18px}.sched-print-empty{color:#666;font-style:italic}@page sched-landscape{size:landscape}.sched-calendar-report.print-active .sched-print-landscape{page:sched-landscape}.sched-print-year-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.sched-print-mini-month-title{text-align:center;margin-bottom:4px;font-size:12px;font-weight:600}.sched-print-mini-month-grid{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.sched-print-dow{text-align:center;color:#666;font-size:8px}.sched-print-day-num{text-align:center;padding:1px 0;font-size:9px}.sched-print-day-table{border-collapse:collapse;width:100%}.sched-print-day-table td{vertical-align:top;border-top:1px solid #ddd;padding:8px 6px}.sched-print-time-col{font-variant-numeric:tabular-nums;color:#444;width:140px}.sched-print-event-title{font-weight:600}.sched-print-event-sub{color:#555;font-size:11px}.sched-print-grid{border-top:1px solid #ccc;border-left:1px solid #ccc;grid-template-columns:repeat(7,1fr);display:grid}.sched-print-dow-header{text-align:center;background:#f2f2f2;border-bottom:1px solid #ccc;border-right:1px solid #ccc;padding:4px 0;font-size:11px;font-weight:600}.sched-print-cell{break-inside:avoid;border-bottom:1px solid #ccc;border-right:1px solid #ccc;min-height:90px;padding:3px 4px}.sched-print-cell-blank{background:#fafafa}.sched-print-cell-date{margin-bottom:2px;font-size:11px;font-weight:600}.sched-print-chip{text-overflow:ellipsis;white-space:nowrap;margin-bottom:1px;font-size:9px;line-height:1.3;overflow:hidden}.sched-print-chip-time{color:#555}.sched-print-report-table{border-collapse:collapse;width:100%;font-size:11px}.sched-print-report-table th,.sched-print-report-table td{text-align:left;vertical-align:top;border:1px solid #ccc;padding:5px 7px}.sched-print-report-table th{text-transform:uppercase;letter-spacing:.3px;background:#f2f2f2;font-size:10px}.sched-print-report-table tr{break-inside:avoid}.sched-print-event-meta{color:#666;margin-bottom:16px;font-size:12px}.sched-print-detail-table{border-collapse:collapse}.sched-print-detail-table td{vertical-align:top;padding:6px 12px 6px 0}.sched-print-detail-label{color:#444;white-space:nowrap;width:90px;font-weight:600}}.tenant-management{max-width:1400px;margin:0 auto;padding:2rem}.tenant-management h1{color:var(--text-primary);margin-bottom:1.5rem;font-size:2rem;font-weight:600}.tm-tabs{border-bottom:1px solid #e5e7eb;gap:.5rem;margin-bottom:1.5rem;display:flex}.tm-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.75rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:600}.tm-tab:hover{color:var(--text-primary)}.tm-tab-active{color:var(--gold);border-bottom-color:var(--gold)}.tm-provision-panel{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem}.error-banner{color:#991b1b;background-color:#fee2e2;border:1px solid #fecaca;border-radius:.5rem;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem;font-size:.95rem;display:flex}.error-banner button{color:#991b1b;cursor:pointer;background:0 0;border:none;padding:.25rem .75rem;font-weight:600}.error-banner button:hover{opacity:.8}.search-container{gap:1rem;margin-bottom:2rem;display:flex}.search-input{border:1px solid #d1d5db;border-radius:.5rem;flex:1;padding:.75rem 1rem;font-family:inherit;font-size:.95rem}.search-input:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #daa5201a}.tenant-list-container{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden}.tenant-table{border-collapse:collapse;width:100%;font-size:.9rem}.tenant-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.tenant-table th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:1rem;font-size:.8rem;font-weight:600}.tenant-table td{border-bottom:1px solid #f3f4f6;padding:1rem}.tenant-table tbody tr:hover{background-color:#f9fafb}.slug-cell{color:var(--text-secondary);font-family:Monaco,Courier New,monospace;font-size:.85rem}.date-cell{color:var(--text-secondary);font-size:.9rem}.badge{text-transform:capitalize;border-radius:9999px;padding:.25rem .75rem;font-size:.8rem;font-weight:600;display:inline-block}.badge-gray{color:#374151;background-color:#f3f4f6}.badge-green{color:#166534;background-color:#dcfce7}.badge-red{color:#991b1b;background-color:#fee2e2}.badge-blue{color:#1e40af;background-color:#dbeafe}.badge-purple{color:#6b21a8;background-color:#e9d5ff}.empty-state{text-align:center;color:var(--text-secondary);padding:3rem;font-size:1rem}.btn{cursor:pointer;border:none;border-radius:.375rem;padding:.5rem 1rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--gold);color:#fff}.btn-primary:hover:not(:disabled){background-color:#b8860b;transform:translateY(-1px);box-shadow:0 2px 8px #daa5204d}.btn-secondary{color:#374151;background-color:#f3f4f6;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb;border-color:#9ca3af}.btn-danger{color:#fff;background-color:#ef4444}.btn-danger:hover:not(:disabled){background-color:#dc2626;transform:translateY(-1px);box-shadow:0 2px 8px #ef44444d}.btn-sm{padding:.375rem .75rem;font-size:.85rem}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:.75rem;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px #00000026}.modal-content.modal-sm{max-width:500px}.modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-header h2{color:var(--text-primary);margin:0;font-size:1.5rem}.close-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:1.5rem;display:flex}.close-btn:hover{color:var(--text-primary);background-color:#f3f4f6}.modal-body{padding:1.5rem}.detail-section{margin-bottom:1.5rem}.detail-section h3{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb;margin-bottom:1rem;padding-bottom:.5rem;font-size:.9rem;font-weight:600}.detail-grid{gap:1rem;display:grid}.detail-row{grid-template-columns:120px 1fr;align-items:center;gap:1rem;display:grid}.detail-row .label{color:var(--text-secondary);font-size:.9rem;font-weight:600}.detail-row .value{color:var(--text-primary);font-size:.9rem}.actions-section{margin-top:2rem}.action-buttons{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (width<=600px){.action-buttons{grid-template-columns:1fr}}.form-group{margin-bottom:1.25rem}.form-label{color:var(--text-primary);margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:block}.form-input,textarea{width:100%;color:var(--text-primary);border:1px solid #d1d5db;border-radius:.375rem;padding:.75rem;font-family:inherit;font-size:.95rem}.form-input:focus,textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #daa5201a}textarea{resize:vertical;min-height:80px}.warning-box{color:#78350f;background-color:#fef3c7;border:1px solid #fcd34d;border-radius:.375rem;margin-top:1rem;padding:1rem;font-size:.9rem}.modal-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:.75rem;padding:1.5rem;display:flex}.loading{text-align:center;color:var(--text-secondary);padding:2rem;font-size:1rem}.tm-users-table{border-collapse:collapse;width:100%;font-size:.9rem}.tm-users-table th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #e5e7eb;padding:.5rem .75rem;font-size:.8rem;font-weight:600}.tm-users-table td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:.5rem .75rem}.tm-user-email{color:var(--text-secondary);font-family:monospace;font-size:.85rem}.tm-user-action{text-align:right;white-space:nowrap}.tm-reset-effects{color:var(--text-secondary);margin:.75rem 0 0;padding-left:1.25rem;font-size:.9rem;line-height:1.6}.tm-temp-password-row{align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.tm-temp-password{letter-spacing:.05em;-webkit-user-select:all;user-select:all;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:.375rem;flex:1;padding:.6rem .9rem;font-size:1.05rem;font-weight:600}
