html,body,#root{--page-bg: #f5f7f9;--surface-bg: #ffffff;--text-color: #17202a;--muted-color: #52616f;--border-color: #d8dee6;--control-border: #b9c3ce;--primary-color: #1d7a8c;--accent-color: #f2c14e;--primary-dark: color-mix(in srgb, var(--primary-color), #000000 24%);--primary-soft: color-mix(in srgb, var(--primary-color), #ffffff 78%);--primary-bg: color-mix(in srgb, var(--primary-color), #ffffff 93%);--success-color: var(--primary-dark);--accent-dark: color-mix(in srgb, var(--accent-color), #000000 38%);--accent-soft: color-mix(in srgb, var(--accent-color), #ffffff 72%);--accent-bg: color-mix(in srgb, var(--accent-color), #ffffff 91%);--danger-color: color-mix(in srgb, var(--accent-color), #8b0000 58%);--danger-soft: color-mix(in srgb, var(--danger-color), #ffffff 74%);--danger-bg: color-mix(in srgb, var(--danger-color), #ffffff 92%);color-scheme:light;width:100%;min-height:100%;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-color);background:var(--page-bg)}html[data-theme=light],html[data-theme=light] body,html[data-theme=light] #root{--page-bg: #f8fafc;--surface-bg: #ffffff;--text-color: #111827;--muted-color: #4b5563;--border-color: #d7dde5;--control-border: #aeb8c4;--primary-color: #0f766e;--accent-color: #d99b22}html[data-theme=dark],html[data-theme=dark] body,html[data-theme=dark] #root{--page-bg: #151716;--surface-bg: #202321;--text-color: #f2f5f3;--muted-color: #bac5bf;--border-color: #3a423e;--control-border: #56625c;--primary-color: #36b6a8;--accent-color: #efc75c;--primary-dark: color-mix(in srgb, var(--primary-color), #ffffff 12%);--primary-soft: color-mix(in srgb, var(--primary-color), #000000 54%);--primary-bg: color-mix(in srgb, var(--primary-color), #000000 78%);--accent-dark: color-mix(in srgb, var(--accent-color), #ffffff 8%);--accent-soft: color-mix(in srgb, var(--accent-color), #000000 55%);--accent-bg: color-mix(in srgb, var(--accent-color), #000000 80%);--danger-color: #ff9b8f;--danger-soft: color-mix(in srgb, var(--danger-color), #000000 48%);--danger-bg: color-mix(in srgb, var(--danger-color), #000000 82%);color-scheme:dark}button,input,select,textarea{font:inherit}button{border:1px solid var(--control-border);border-radius:6px;background:var(--surface-bg);color:var(--text-color);padding:10px 14px;cursor:pointer}button.active,button:hover{background:var(--primary-color);border-color:var(--primary-color);color:var(--surface-bg)}.dashboard{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}aside{border-right:1px solid var(--border-color);background:var(--surface-bg);padding:24px;display:flex;flex-direction:column;gap:10px}aside h1{font-size:22px;margin:0 0 16px}h3{font-size:18px;margin:18px 0 10px}.content{padding:24px;min-width:0}header,.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px}header{justify-content:flex-end;flex-wrap:wrap;min-width:0}.theme-control{align-items:center;display:inline-flex;gap:8px;margin-right:auto}.theme-control span{color:var(--muted-color);font-size:13px;font-weight:600}.theme-control select{padding:7px 30px 7px 10px}section,.metric{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:8px;padding:18px;box-sizing:border-box;min-width:0}section+section{margin-top:18px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.compact-grid{margin-bottom:16px}.metric span{display:block;color:var(--muted-color);margin-bottom:10px}.metric strong{font-size:30px}input,select,textarea{border:1px solid var(--control-border);border-radius:6px;padding:10px 12px;background:var(--surface-bg);color:var(--text-color);box-sizing:border-box;min-width:0}textarea{width:100%;box-sizing:border-box;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;line-height:1.45}.stack{display:grid;gap:12px}.compact{margin-bottom:0}.wrap{flex-wrap:wrap}.inline-check{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px}.inline-check input{width:auto}.field-label{display:grid;gap:4px;color:var(--muted-color);font-size:12px;font-weight:600}.field-label input,.wide-field input{width:100%}.meeting-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:12px;align-items:end;margin-bottom:14px}.meeting-form textarea{font-family:inherit}.required-toggle{margin-bottom:0;align-self:end;min-height:42px}.notes-field{grid-column:1 / -1}.repeat-toggle{grid-column:1 / -1;margin-bottom:0}.recurrence-options{display:grid;grid-column:1 / -1;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:12px;align-items:end}.form-actions{grid-column:1 / -1;flex-wrap:wrap}.weekday-picker{grid-column:1 / -1;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:10px 12px 12px}.weekday-picker legend{color:var(--muted-color);font-size:12px;font-weight:600;padding:0 4px}.weekday-picker label{align-items:center;display:inline-flex;gap:6px;min-height:28px}.weekday-picker input{width:auto}.recurrence-preview{grid-column:1 / -1;margin:0;font-size:13px}.recurrence-preview.info{color:var(--muted-color)}.recurrence-preview.success{color:var(--success-color)}.recurrence-preview.error{color:var(--danger-color)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-heading h2{margin:0}.meeting-table-wrap{max-width:100%;overflow-x:auto}.meeting-table{min-width:860px}.meeting-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;min-width:0}.meeting-calendar{display:grid;gap:12px;margin-bottom:16px;min-width:0}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.calendar-toolbar h3{margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--border-color);border-radius:8px;overflow:hidden;min-width:0}.calendar-weekday,.calendar-day{border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);min-width:0}.calendar-weekday:nth-child(7n),.calendar-day:nth-child(7n){border-right:0}.calendar-day:nth-last-child(-n+7){border-bottom:0}.calendar-weekday{background:var(--page-bg);color:var(--muted-color);font-size:12px;font-weight:700;padding:8px;text-align:center}.calendar-day{display:grid;grid-template-rows:auto 1fr;gap:6px;min-height:112px;padding:8px;background:var(--surface-bg)}.calendar-day.outside-month{background:var(--page-bg)}.calendar-day.today .calendar-date{background:var(--primary-color);color:var(--surface-bg)}.calendar-date{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;height:24px;justify-content:center;width:24px}.calendar-events{display:grid;align-content:start;gap:5px;min-width:0}.calendar-event{display:grid;gap:2px;min-width:0;padding:6px 7px;text-align:left;background:var(--primary-bg);border-color:var(--primary-soft);color:var(--primary-dark)}.calendar-event:hover,.calendar-event.selected{background:var(--primary-color);border-color:var(--primary-color);color:var(--surface-bg)}.calendar-event span,.calendar-event small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event small{font-size:11px}.meeting-details{border:1px solid var(--border-color);border-radius:8px;padding:14px;margin-bottom:16px;min-width:0}.meeting-details .section-heading{align-items:start}.meeting-detail-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;min-width:0}.meeting-details h3{margin-top:0}.meeting-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;min-width:0}.meeting-detail-grid>div{min-width:0}.meeting-detail-subheading{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0}.meeting-detail-subheading h3{margin:0;min-width:0}.meeting-detail-subheading span{background:var(--page-bg);border:1px solid var(--border-color);border-radius:999px;color:var(--muted-color);flex:0 0 auto;font-size:12px;font-weight:700;line-height:1;padding:4px 8px}.selected-row{background:var(--primary-bg)}.link-button{border:0;background:transparent;color:var(--primary-dark);padding:0;text-align:left;text-decoration:underline}.link-button:hover{background:transparent;color:var(--primary-color)}.data-table-wrap{max-width:100%;overflow-x:auto}.data-table{min-width:720px}.compact-data-table{min-width:0;table-layout:auto}.compact-data-table th,.compact-data-table td{padding:8px}.roster-email-table{min-width:760px}.roster-email-table input{width:min(260px,100%)}.admin-user-form{display:grid;grid-template-columns:minmax(min(280px,100%),1fr) minmax(140px,auto) auto auto;gap:12px;align-items:end;margin-top:14px}.admin-active-toggle{min-height:42px;margin-bottom:0}.compact-check{margin-bottom:0}.admin-user-table{min-width:760px}.report-context{color:var(--muted-color);font-size:14px;margin:-8px 0 16px}.slot-suggestion{display:inline-flex;align-items:center;gap:8px;margin:-8px 0 12px;color:var(--muted-color);font-size:13px}.slot-suggestion button{padding:5px 9px}button:disabled{opacity:.6;cursor:wait}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--border-color);padding:10px;text-align:left;font-size:14px}th{color:var(--muted-color);font-weight:600}pre{overflow:auto;background:color-mix(in srgb,var(--text-color),#000000 76%);color:var(--surface-bg);padding:16px;border-radius:6px}.error{color:var(--danger-color)}.notice{border-radius:6px;margin:0;padding:10px 12px}.notice.info,.notice.success{background:var(--primary-bg);border:1px solid var(--primary-soft);color:var(--primary-dark)}.notice.error{background:var(--danger-bg);border:1px solid var(--danger-soft);color:var(--danger-color)}.kiosk-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.kiosk-actions button{padding:8px 10px;white-space:nowrap}.status-badge{display:inline-flex;align-items:center;border:1px solid var(--border-color);border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700;line-height:1;color:var(--muted-color);background:var(--page-bg)}.status-badge.active,.status-badge.online,.status-badge.completed{border-color:var(--primary-soft);color:var(--primary-dark);background:var(--primary-bg)}.status-badge.pending,.status-badge.running,.status-badge.degraded,.status-badge.unknown,.status-badge.optional{border-color:var(--accent-soft);color:var(--accent-dark);background:var(--accent-bg)}.status-badge.failed,.status-badge.offline,.status-badge.inactive{border-color:var(--danger-soft);color:var(--danger-color);background:var(--danger-bg)}.health-summary{display:grid;gap:6px;max-width:260px}.health-summary span,.health-summary p{color:var(--muted-color);font-size:13px;line-height:1.35}.health-summary p{margin:0;color:var(--danger-color)}.command-list{display:grid;gap:8px;margin-top:8px}.command-row{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px;align-items:start;border:1px solid var(--border-color);border-radius:6px;padding:10px;background:var(--page-bg)}.command-row strong,.command-row span{display:block}.command-row span,.command-row p,.empty-state{color:var(--muted-color);font-size:13px}.command-row p{grid-column:1 / -1;margin:0}.empty-state{margin:8px 0 0}.compact-table{margin-top:0}.compact-table button{padding:7px 9px}.enrollment-list{display:grid;gap:10px;margin-top:16px}.enrollment-list h3{margin:0}.muted{color:var(--muted-color)}.login{min-height:100vh;display:grid;place-items:center;padding:64px 16px 24px;box-sizing:border-box}.login-theme{position:fixed;right:18px;top:18px}.login form,.login-panel{width:min(420px,calc(100vw - 32px));display:grid;gap:14px;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:8px;padding:24px;box-sizing:border-box}.login-note{margin:0;color:var(--muted-color);font-size:14px}@media(max-width:920px){.dashboard{grid-template-columns:1fr}aside{border-right:0;border-bottom:1px solid var(--border-color)}.meeting-form,.recurrence-options,.admin-user-form,.grid,.meeting-detail-grid{grid-template-columns:1fr}.calendar-toolbar{align-items:start;flex-direction:column}.meeting-detail-actions{justify-content:flex-start}.calendar-grid{grid-template-columns:1fr}.calendar-weekday{display:none}.calendar-day,.calendar-day:nth-last-child(-n+7){border-right:0;border-bottom:1px solid var(--border-color);min-height:84px}.calendar-day.outside-month{display:none}.wide-field input{min-width:0}}
