: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{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}.city-lookup{margin-bottom:4px;position:relative}.city-lookup input{width:100%}.city-lookup__results{z-index:10;background:var(--bg);border:1px solid var(--border);border-radius:6px;max-height:220px;margin:2px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000040}.city-lookup__results button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 8px;display:block}.city-lookup__results button:hover,.city-lookup__results button:focus{background:var(--accent-bg);color:var(--accent)}.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;white-space:normal;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}.field-info__tooltip--fixed{margin-bottom:0;display:block;position:fixed;bottom:auto}.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}.delta-table{flex-direction:column;gap:10px;display:flex}.delta-table__tables{gap:20px;display:flex}.delta-table__tables table{border-collapse:collapse;flex:1}.delta-table th,.delta-table td{text-align:center;color:var(--text);padding:4px 6px;font-size:12px;font-weight:400}.delta-table thead th{opacity:.7;vertical-align:bottom;padding-bottom:6px;font-size:11px}.delta-table td input{text-align:center;width:56px;padding:4px}.delta-table__month-label{text-align:left;white-space:nowrap;vertical-align:middle;padding-right:10px;font-weight:600}.delta-table__col-header{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.delta-table__col-header>span{justify-content:center;align-items:center;width:100%;font-size:13px;font-weight:600;display:inline-flex}.delta-table__cell--inapplicable{opacity:.35}.delta-table__shape-toggle{padding:2px 4px;font-size:11px}.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}.jumua-entry{border:1px dashed var(--border);border-radius:6px;margin-bottom:10px;padding:10px}.jumua-entry__remove{border-color:var(--error);color:var(--error);background:0 0;align-self:flex-start}.jumua-editor__add{align-self:flex-start}.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}.version-history__actions{flex-shrink:0;gap:8px;display:flex}.version-history__actions .version-history__delete{border-color:var(--error);color:var(--error);background:0 0}.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}.overrides-page section{border:1px solid var(--border);border-radius:8px;margin-bottom:16px;padding:12px 16px 16px}.overrides-page h2{margin:0 0 10px;font-size:16px}.override-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.override-form label{flex-direction:column;gap:2px;font-size:14px;display:flex}.override-form input,.override-form select{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:5px;padding:6px 8px}.override-form__iqama{flex-direction:column;gap:4px;display:flex}.override-form__context-time{opacity:.8;font-size:12px}.override-form button{border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent);border-radius:6px;padding:8px 14px}.overrides-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.overrides-list li{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:6px 0;display:flex}.overrides-list li:last-child{border-bottom:none}.overrides-list__prayer{min-width:60px;font-weight:600}.overrides-list__value{font-variant-numeric:tabular-nums}.overrides-list__note{opacity:.7;font-size:12px}.overrides-list button{border-color:var(--error);color:var(--error);background:0 0;border-radius:5px;margin-left:auto;padding:6px 10px}.ramadan-table{border-collapse:collapse;width:100%;margin-top:10px}.ramadan-table th,.ramadan-table td{text-align:center;padding:4px 8px;font-size:13px}.ramadan-table__context{opacity:.7}.ramadan-table input{text-align:center;border:1px solid var(--border);background:var(--bg);width:70px;color:var(--text);border-radius:5px;padding:4px}.ramadan-actions{gap:10px;margin-top:10px;display:flex}.ramadan-actions button{border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent);border-radius:6px;padding:8px 14px}
