body{color:#101828;background:#fff;min-height:100vh;margin:0;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}.admin-layout{background:#f2f4f7;min-height:100vh}.loading-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.loading-card{color:#475467;background:#fff;border:1px solid #eaecf0;border-radius:14px;padding:18px 20px;box-shadow:0 6px 18px #1018280f}.main-content{box-sizing:border-box;width:calc(100% - 248px);min-width:0;max-width:100%;margin-left:248px;padding:28px;transition:margin-left .22s;overflow-x:clip}@media (width<=920px){.main-content{width:100%;margin-left:0;padding:64px 16px 16px}}.sidebar{box-sizing:border-box;background:#fff;border-right:1px solid #eaecf0;flex-direction:column;gap:12px;width:248px;padding:22px 16px 16px;transition:transform .22s;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{letter-spacing:.06em;text-transform:uppercase;color:#344054;margin:0 8px 8px;font-size:14px;font-weight:600}.sidebar-nav{flex-direction:column;gap:6px;display:flex}.nav-tab{color:#667085;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;transition:background-color .18s,color .18s;display:flex}.nav-tab:hover{background:#f9fafb}.nav-tab.active{color:#312e81;background:#eef2ff}.logout-link{color:#475467;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;margin-top:auto;padding:10px 12px;font-size:14px}.logout-link:hover{background:#f9fafb}.logout-link:disabled{opacity:.6;cursor:not-allowed}.menu-toggle{z-index:20;color:#344054;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:10px;padding:8px 10px;font-size:13px;display:none;position:fixed;top:14px;left:14px;box-shadow:0 4px 12px #10182814}@media (width<=920px){.menu-toggle{justify-content:center;align-items:center;display:inline-flex}.sidebar{z-index:15;transform:translate(-105%)}.sidebar.open{transform:translate(0)}}.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #e7e9ef;border-radius:16px;width:min(460px,100%);padding:28px;box-shadow:0 10px 30px #10182814}.login-brand{color:#667085;text-transform:uppercase;letter-spacing:.08em;margin:0 0 18px;font-size:12px}.login-form{flex-direction:column;gap:14px;display:flex}.login-form h1{color:#101828;margin:0;font-size:32px;font-weight:600}.login-subtitle{color:#667085;margin:0 0 6px}.login-form label{color:#344054;font-size:14px}.login-form input{box-sizing:border-box;color:#101828;background:#fff;border:1px solid #d0d5dd;border-radius:10px;width:100%;padding:12px;font-size:15px;line-height:1.4}.login-form input:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f129}.btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:10px;padding:12px 16px;font-size:15px;font-weight:600;transition:background-color .18s}.btn:hover{background:#4338ca}.btn:disabled{cursor:not-allowed;opacity:.7}.error-text{color:#b42318;margin:0;font-size:14px}.dashboard-grid{gap:16px;display:grid}.dashboard-card{background:#fff;border:1px solid #eaecf0;border-radius:16px;padding:26px;box-shadow:0 6px 18px #1018280f}.dashboard-card h2{color:#101828;margin:0 0 14px;font-size:22px;font-weight:600}.window-toggle{color:#fff;cursor:pointer;border:none;border-radius:12px;min-width:130px;margin-bottom:16px;padding:12px 18px;font-size:15px;font-weight:700}.window-toggle.live{background:#16a34a}.window-toggle.paused{background:#dc2626}.window-toggle:disabled{opacity:.7;cursor:not-allowed}.dashboard-kv{color:#475467;gap:8px;font-size:14px;display:grid}.dashboard-kv p{margin:0}.action-btn{color:#344054;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:600}.action-btn:disabled{opacity:.7;cursor:not-allowed}.quick-actions-row{flex-wrap:wrap;gap:10px;display:flex}.dashboard-error{color:#b42318;margin:0;font-size:14px}.dashboard-muted{color:#667085;margin:0;font-size:14px}.dashboard-toast{color:#fff;z-index:1000;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:600;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 20px #10182833}.dashboard-toast.success{background:#16a34a}.dashboard-toast.error{background:#dc2626}.calendar-page{flex-direction:column;gap:14px;display:flex}.calendar-page__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.calendar-page__header h1{color:#101828;margin:0;font-size:30px;font-weight:600}.calendar-page__error{color:#b42318;margin:0;font-size:14px}.calendar-card{box-sizing:border-box;background:#fff;border:1px solid #eaecf0;border-radius:16px;width:100%;padding:18px;overflow:hidden;box-shadow:0 6px 18px #1018280f}.calendar-card__toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.calendar-card__toolbar h2{color:#101828;margin:0;font-size:22px;font-weight:600}.calendar-card__nav-btn{color:#344054;background:#fff;border:1px solid #d0d5dd;border-radius:10px;width:36px;height:36px;font-size:24px;line-height:1}.calendar-card__loading{color:#667085;margin:12px 0 2px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%;display:grid}.calendar-grid--weekday{margin-bottom:8px}.calendar-grid__weekday{text-align:center;color:#667085;text-transform:uppercase;letter-spacing:.06em;min-width:0;font-size:12px;font-weight:600}.calendar-day{color:#101828;text-align:left;background:#fff;border:1px solid #eaecf0;border-radius:10px;flex-direction:column;justify-content:space-between;align-items:flex-start;min-width:0;min-height:66px;padding:8px;transition:border-color .14s,background-color .14s,transform .14s;display:flex}.calendar-day:hover{border-color:#d0d5dd;transform:translateY(-1px)}.calendar-day.muted{color:#98a2b3;background:#fcfcfd}.calendar-day.today{border-color:#84caff;box-shadow:inset 0 0 0 1px #84caff40}.calendar-day.holiday-public{background:#fff5f4;border-color:#fecdca}.calendar-day.holiday-studio{background:#f5f8ff;border-color:#b2ddff}.calendar-day__dot{border-radius:999px;width:8px;height:8px}.calendar-day span{font-size:14px;font-weight:500}.calendar-day.holiday-public .calendar-day__dot{background:#f04438}.calendar-day.holiday-studio .calendar-day__dot{background:#2e90fa}.calendar-legend{flex-wrap:wrap;align-items:center;gap:18px;padding:0 2px;display:flex}.calendar-legend__item{color:#475467;align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.calendar-legend__dot{border-radius:999px;width:10px;height:10px}.calendar-legend__dot.public{background:#f04438}.calendar-legend__dot.studio{background:#2e90fa}.calendar-editor__type-toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.calendar-editor__type-btn{color:#344054;background:#fff;border:1px solid #d0d5dd;border-radius:10px;padding:10px;font-size:14px;font-weight:600;transition:all .14s}.calendar-editor__type-btn.public.active{color:#b42318;background:#ffe4e1;border-color:#f97066}.calendar-editor__type-btn.studio.active{color:#175cd3;background:#e4f2ff;border-color:#53b1fd}.calendar-editor__label{color:#475467;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.calendar-editor__input{color:#101828;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-size:14px;transition:border-color .14s,box-shadow .14s}.calendar-editor__input:focus{border-color:#84caff;box-shadow:0 0 0 3px #53b1fd33}.calendar-editor__actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.calendar-editor__btn{border:0;border-radius:10px;padding:9px 14px;font-size:14px;font-weight:600;transition:opacity .14s}.calendar-editor__btn:disabled{opacity:.7}.calendar-editor__btn.subtle{color:#344054;background:#f2f4f7}.calendar-editor__btn.primary{color:#fff;background:#101828}.calendar-editor__btn.danger{color:#b42318;background:#fee4e2}@media (width<=900px){.calendar-card{padding:14px}}@media (width<=700px){.calendar-page__header h1{font-size:26px}.calendar-card__toolbar h2{font-size:18px}.calendar-card__nav-btn{width:34px;height:34px}.calendar-grid{gap:4px}.calendar-day{border-radius:8px;min-height:52px;padding:6px}.calendar-day span{font-size:13px}.calendar-day__dot{width:7px;height:7px}}.modal-overlay{z-index:50;background:#10182859;justify-content:center;align-items:center;padding:20px;animation:.15s ease-out modal-fade-in;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border:1px solid #eaecf0;border-radius:16px;width:min(100%,430px);animation:.18s ease-out modal-pop-in;box-shadow:0 18px 44px #10182829}.modal-card__header{padding:20px 20px 0}.modal-card__header h2{color:#101828;margin:0;font-size:21px;font-weight:600}.modal-card__body{padding:14px 20px 20px}@keyframes modal-pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.page-card{background:#fff;border:1px solid #eaecf0;border-radius:16px;min-height:140px;padding:26px;box-shadow:0 6px 18px #1018280f}.page-card h1{color:#101828;margin:0;font-size:30px;font-weight:600}.settings-page{flex-direction:column;gap:16px;min-width:0;max-width:100%;display:flex}.settings-page__header{margin:0}.settings-page__title{color:#101828;letter-spacing:-.01em;margin:0;font-size:30px;font-weight:700}.settings-page__divider{background:#e5e7eb;width:100%;height:1px}.settings-page__cards{flex-direction:column;align-items:stretch;gap:20px;width:100%;min-width:0;max-width:100%;display:flex}.scheduling-engine-card{box-sizing:border-box;flex-direction:column;gap:18px;width:100%;min-width:0;max-width:100%;display:flex}.scheduling-engine-card__top-card{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:22px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;width:100%;min-width:0;max-width:100%;padding:24px;display:flex;box-shadow:0 8px 24px #0f172a12}.scheduling-engine-card__top-copy{flex:240px;min-width:0}.scheduling-engine-card__top-title{color:#101828;margin:0 0 8px;font-size:22px;font-weight:700}.scheduling-engine-card__top-text{color:#475467;overflow-wrap:anywhere;max-width:560px;margin:0;font-size:14px;line-height:1.45}.scheduling-engine-card__muted{color:#667085;margin:24px 0;font-size:14px}.scheduling-engine-card__top-toggle{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.scheduling-engine-card__toggle-label{color:#111827;font-size:15px;font-weight:600}.scheduling-engine-card__toggle-state{color:#344054;font-size:14px;font-weight:600}.scheduling-engine-card__switch{cursor:pointer;background:#e5e7eb;border:1px solid #d1d5db;border-radius:999px;flex-shrink:0;width:62px;height:34px;padding:0;transition:background .15s,border-color .15s;position:relative}.scheduling-engine-card__switch.is-on{background:#16a34a;border-color:#15803d}.scheduling-engine-card__switch:disabled{opacity:.65;cursor:not-allowed}.scheduling-engine-card__switch-knob{background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #1018282e}.scheduling-engine-card__switch.is-on .scheduling-engine-card__switch-knob{transform:translate(28px)}.scheduling-engine-card__main-card{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:22px;width:100%;min-width:0;max-width:100%;padding:24px;box-shadow:0 8px 24px #0f172a12}.scheduling-engine-card__main-title{color:#101828;margin:0 0 18px;font-size:22px;font-weight:700}.scheduling-engine-card__main-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.scheduling-engine-card__column{box-sizing:border-box;background:#fcfcfd;border:1px solid #eaecf0;border-radius:16px;min-width:0;padding:18px}.scheduling-engine-card__snapshot-column{background:linear-gradient(#f9fbff 0%,#f7fafc 100%)}.scheduling-engine-card__column-header h3{color:#111827;text-transform:uppercase;letter-spacing:.03em;overflow-wrap:anywhere;margin:0 0 6px;font-size:15px;font-weight:700}.scheduling-engine-card__column-header p{color:#667085;overflow-wrap:anywhere;margin:0 0 14px;font-size:14px}.scheduling-engine-card__form{flex-direction:column;gap:14px;display:flex}.scheduling-engine-card__field{flex-direction:column;gap:6px;display:flex}.scheduling-engine-card__field-label{color:#111827;font-size:14px;font-weight:600}.scheduling-engine-card__form input{box-sizing:border-box;color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:11px;width:100%;padding:11px 12px;font-size:15px;line-height:1.4}.scheduling-engine-card__form input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 3px #4f46e524}.scheduling-engine-card__actions{justify-content:flex-start;margin-top:2px;display:flex}.scheduling-engine-card__save{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:12px;width:min(220px,100%);min-width:0;max-width:100%;padding:12px 16px;font-size:14px;font-weight:700;transition:transform .12s,background .12s}.scheduling-engine-card__save:hover:not(:disabled){background:#000;transform:translateY(-1px)}.scheduling-engine-card__save:disabled{opacity:.7;cursor:not-allowed}.scheduling-engine-card__error{color:#b91c1c;margin:0;font-size:13px;font-weight:600}.scheduling-engine-card__success{color:#047857;margin:0;font-size:13px;font-weight:600}.scheduling-engine-card__readonly-list{flex-direction:column;gap:12px;margin:0;display:flex}.scheduling-engine-card__readonly-list div{background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-width:0;margin:0;padding:12px}.scheduling-engine-card__readonly-list dt{color:#6b7280;text-transform:uppercase;letter-spacing:.03em;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin:0 0 8px;font-size:11px;font-weight:600;display:flex}.scheduling-engine-card__readonly-list dd{color:#111827;overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:600}.scheduling-engine-card__metric-icon{color:#4338ca;background:#eef2ff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:10px;font-weight:700;display:inline-flex}.scheduling-engine-card__error-inline{color:#b91c1c;font-size:13px;font-weight:600}@media (width<=900px){.scheduling-engine-card__main-grid{grid-template-columns:1fr}}
