:root{--text:#333;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--accent:#2563eb;--accent-bg:#2563eb14;--error:#b91c1c;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#d1d5db;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--accent:#60a5fa;--accent-bg:#60a5fa1f;--error:#f87171}}*{box-sizing:border-box}body{margin:0}#root{min-height:100svh}h1,h2{color:var(--text-h);font-weight:600}button{font:inherit;cursor:pointer}input,select{font:inherit}.error{color:var(--error)}.app{max-width:1200px;margin:0 auto;padding:24px}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:12px;display:flex}.login-page{text-align:center;max-width:360px;margin:80px auto;padding:0 24px}.login-page form{flex-direction:column;gap:12px;margin-top:24px;display:flex}.login-page label{text-align:left;flex-direction:column;gap:4px;font-size:14px;display:flex}.login-page input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:8px 10px}.login-page button,.org-list-page button{border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent);border-radius:6px;padding:8px 14px}.org-list-page ul{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.org-list-page button{text-align:left;width:100%;padding:12px 16px}.org-list-page .role{color:var(--text);opacity:.7;font-size:14px}.org-tabs{border-bottom:1px solid var(--border);gap:4px;margin:12px 0 20px;display:flex}.org-tabs button{color:var(--text);opacity:.7;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 16px}.org-tabs button.org-tabs__tab--active{opacity:1;border-bottom-color:var(--accent);color:var(--accent)}.create-org-form{max-width:420px}.create-org-form form{flex-direction:column;gap:12px;margin-top:16px;display:flex}.create-org-form label{flex-direction:column;gap:4px;font-size:14px;display:flex}.create-org-form input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:8px 10px}.create-org-form__actions{gap:8px;margin-top:8px;display:flex}.create-org-form__actions button{border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent);border-radius:6px;padding:8px 14px}.prayer-band-chart{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;margin:4px 0;padding:12px 16px 16px;display:flex}.prayer-band-chart__svg{background:var(--bg);border-radius:6px;width:100%;display:block}.prayer-band-chart__year .prayer-band-chart__svg{height:180px}.prayer-band-chart__month .prayer-band-chart__svg{height:160px}.prayer-band-chart__band-fill{fill:var(--accent);opacity:.12;stroke:none}.prayer-band-chart__bound-line{fill:none;stroke:var(--accent);stroke-width:1.5px;opacity:.6}.prayer-band-chart__bound-label{fill:var(--accent);opacity:.75;font-size:11px}.prayer-band-chart__anchor-line{fill:none;stroke:var(--text);stroke-width:1.5px;stroke-dasharray:6 3;opacity:.85}.prayer-band-chart__alt-anchor-line{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:2 3;opacity:.7}.prayer-band-chart__anchor-label{fill:var(--text);opacity:.9;font-size:11px}.prayer-band-chart__alt-anchor-label{fill:var(--accent);opacity:.85;font-size:11px}.prayer-band-chart__month-boundary{stroke:var(--border);stroke-width:1px;opacity:.6}.prayer-band-chart__selected-month{fill:var(--accent-bg)}.prayer-band-chart__selected-month-edge{stroke:var(--accent);stroke-width:1px;opacity:.5}.prayer-band-chart__iqama-line{fill:none;stroke:var(--accent);stroke-width:2px}.prayer-band-chart__change-marker{fill:var(--error)}.prayer-band-chart__handle{fill:var(--bg);stroke:var(--accent);stroke-width:2px;cursor:ns-resize;touch-action:none}.prayer-band-chart__legend{opacity:.8;gap:16px;font-size:12px;display:flex}.prayer-band-chart__legend-item{align-items:center;gap:4px;display:flex}.prayer-band-chart__legend-item:before{content:"";width:12px;height:2px;display:inline-block}.prayer-band-chart__legend-item--anchor:before{background:var(--text)}.prayer-band-chart__legend-item--alt-anchor:before{background:var(--accent);opacity:.7}.prayer-band-chart__legend-item--iqama:before{background:var(--accent);height:3px}.prayer-band-chart__legend-item--change:before{background:var(--error);border-radius:50%;width:6px;height:6px}.prayer-band-chart__axis-toggle{cursor:pointer;align-items:center;gap:4px;margin-left:auto;display:flex}.prayer-band-chart__axis-toggle input{width:auto}.prayer-band-chart__month-tabs{flex-wrap:wrap;gap:4px;display:flex}.prayer-band-chart__month-tabs button{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:5px;padding:4px 10px;font-size:13px;position:relative}.prayer-band-chart__month-tabs button.prayer-band-chart__month-tab--active{border-color:var(--accent);color:var(--accent)}.prayer-band-chart__month-badge{background:var(--accent-bg);color:var(--accent);border-radius:8px;margin-left:4px;padding:0 5px;font-size:10px;display:inline-block}.prayer-band-chart__revert{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:5px;align-self:flex-start;padding:6px 10px;font-size:13px}.monthly-schedule-preview{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;margin:12px 0;padding:12px 16px 16px;display:flex}.monthly-schedule-preview__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.monthly-schedule-preview__header h2{margin:0}.monthly-schedule-preview__header label{align-items:center;gap:6px;font-size:13px;display:flex}.monthly-schedule-preview__scroll{max-height:60vh;overflow:auto}.monthly-schedule-preview table{border-collapse:collapse;white-space:nowrap;font-size:12px}.monthly-schedule-preview th,.monthly-schedule-preview td{text-align:center;border:1px solid var(--border);padding:3px 8px}.msp-col--label{background:color-mix(in srgb, var(--text) 10%, transparent)}.msp-col--raw{background:#ffa5002e}.msp-col--iqama{background:#ffa50052}.msp-col--secondary{background:#ff149329}.msp-cell--changed{background:var(--accent-bg);color:var(--accent);font-weight:700}.config-editor-page{grid-template-columns:1fr 640px;align-items:start;gap:24px;display:grid}.editor-form fieldset{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:10px;margin-bottom:16px;padding:12px 16px 16px;display:flex}.editor-form legend{color:var(--text-h);text-transform:capitalize;padding:0 6px;font-weight:600}.editor-form label{flex-direction:column;gap:2px;font-size:14px;display:flex}.editor-form label.checkbox-row{flex-direction:row;align-items:center;gap:8px}.editor-form input,.editor-form select{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:5px;padding:6px 8px}.editor-form input[type=number]{width:90px}.time-input-12h,.time-input-24h{align-items:center;gap:4px;display:inline-flex}.time-input-12h select,.time-input-24h select{width:auto}.field-hint{opacity:.7;margin:-4px 0 0;font-size:12px}.field-info{cursor:help;vertical-align:middle;margin-left:5px;display:inline-flex;position:relative}.field-info__icon{opacity:.55;font-size:12px}.field-info:hover .field-info__icon,.field-info:focus-within .field-info__icon{opacity:.9}.field-info__tooltip{z-index:20;background:var(--text-h);width:260px;color:var(--bg);text-transform:none;border-radius:6px;margin-bottom:6px;padding:8px 10px;font-size:12px;font-weight:400;line-height:1.45;display:none;position:absolute;bottom:100%;left:0;box-shadow:0 2px 10px #00000040}.field-info:hover .field-info__tooltip{display:block}.editor-form input[type=checkbox]{width:auto}.editor-form input[type=file]{border:none;padding:0}.logo-uploader__preview{border:1px solid var(--border);background:var(--bg);border-radius:6px;max-width:200px;max-height:120px;margin-bottom:8px;display:block}.logo-uploader__actions{gap:8px;display:flex}.logo-uploader__actions button{border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent);border-radius:5px;padding:6px 10px}.logo-uploader__actions button:disabled{opacity:.5;cursor:not-allowed}.monthly-grid{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.monthly-grid__cell{align-items:center}.monthly-grid__cell input{width:100%}.dst-period-grid{flex-wrap:wrap;gap:12px;display:flex}.dst-period-grid label{flex:1;min-width:100px}.delta-field{border:1px dashed var(--border);border-radius:6px;padding:10px}.delta-field__shape-toggle{align-items:center;gap:8px;margin-bottom:8px;flex-direction:row!important}.nullable-field__toggle{align-items:center;gap:8px;flex-direction:row!important}.nullable-field__input{margin-top:4px;margin-left:24px}.validation-errors{border:1px solid var(--error);color:var(--error);border-radius:8px;padding:12px 16px}.validation-errors ul{margin:8px 0 0;padding-left:20px}.config-editor-page__preview{position:sticky;top:16px}.schedule-preview table{border-collapse:collapse;width:100%;margin-top:12px}.schedule-preview th,.schedule-preview td{text-align:left;border-bottom:1px solid var(--border);padding:6px 8px}.save-draft{border:1px solid var(--border);border-radius:8px;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;display:flex}.save-draft label{flex-direction:column;gap:2px;width:100%;font-size:14px;display:flex}.save-draft input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:5px;padding:6px 8px}.save-draft button{border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent);border-radius:6px;padding:8px 14px}.save-draft button:disabled{opacity:.5;cursor:not-allowed}.save-draft__hint{opacity:.7;margin:0;font-size:13px}.version-history{border:1px solid var(--border);border-radius:8px;margin-top:16px;padding:12px 16px}.version-history ul{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.version-history li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.version-history li:last-child{border-bottom:none}.version-history__row--active{color:var(--accent)}.version-history__meta{opacity:.7;font-size:12px}.version-history__badge{background:var(--accent-bg);color:var(--accent);border-radius:4px;margin-left:6px;padding:1px 6px;font-size:11px;display:inline-block}.version-history button{border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent);white-space:nowrap;border-radius:5px;padding:6px 10px}.members-page section{border:1px solid var(--border);border-radius:8px;margin-bottom:16px;padding:12px 16px 16px}.members-page h2{margin:0 0 10px;font-size:16px}.members-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.members-list li{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:6px 0;display:flex}.members-list li:last-child{border-bottom:none}.members-list__email{flex:1}.members-list__you{opacity:.7;font-size:12px}.members-list__role-badge{background:var(--accent-bg);color:var(--accent);text-transform:capitalize;border-radius:4px;padding:2px 8px;font-size:12px}.members-list select,.members-list button,.invite-form select,.invite-form input,.invite-form button{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:5px;padding:6px 8px}.invite-form{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.invite-form label{flex-direction:column;gap:2px;font-size:14px;display:flex}.invite-form__hint{opacity:.7;margin:10px 0 0;font-size:12px}.devices-page section{border:1px solid var(--border);border-radius:8px;margin-bottom:16px;padding:12px 16px 16px}.devices-page h2{margin:0 0 10px;font-size:16px}.devices-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.devices-list li{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:6px 0;display:flex}.devices-list li:last-child{border-bottom:none}.devices-list__name{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:5px;flex:1;padding:6px 8px}.devices-list__meta{opacity:.7;white-space:nowrap;font-size:12px}.devices-list button,.claim-form button,.claim-form input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:5px;padding:6px 8px}.claim-form{align-items:flex-end;gap:10px;display:flex}.claim-form label{flex-direction:column;gap:2px;font-size:14px;display:flex}
