/* PRAYER LEDGER — PREMIUM EDITION
   Bespoke, restrained iOS aesthetic. Keeps the v3.0 tracking data model. */
:root{
  --bg:#0b0c0e;--surface:#191b1e;--surface2:#222428;--surface3:#2a2d31;
  --text:#f5f5f6;--muted:#90959c;--line:rgba(255,255,255,.085);
  --shadow:none;--radius:19px;--accent-ink:#141719;--accent-legible:#b1c8bb;
  --font-english:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-arabic:-apple-system,"Geeza Pro",sans-serif;
}
html{scroll-behavior:smooth;background:var(--bg);color-scheme:dark}
body{background:var(--bg);color:var(--text);font-family:var(--font-english);font-size:calc(14px * var(--font-scale));line-height:1.5;letter-spacing:-.015em;font-weight:400;overflow-x:hidden}
:lang(ar){font-family:var(--font-arabic);letter-spacing:normal}
button,input,textarea,select{font-family:inherit}
*{-webkit-tap-highlight-color:transparent}
.ambient{display:none!important}
.app-shell{width:100%;max-width:580px;padding:calc(env(safe-area-inset-top) + 30px) 22px calc(env(safe-area-inset-bottom) + 125px);margin:0 auto;min-height:100dvh}
.app-top{height:28px;min-height:28px;margin-bottom:37px;gap:0}
.brandline{gap:11px;color:var(--muted);font-size:10px;font-weight:620;letter-spacing:.16em}
.brandline b{font-weight:790;color:var(--text)}
.brand-symbol{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:var(--surface);color:var(--accent-legible);font-size:18px}
.view{animation:none!important}
.kicker{font-size:10px;font-weight:700;color:var(--accent-legible);margin:0 0 9px;letter-spacing:.17em;line-height:1.5}
.page-title{font-size:clamp(32px,7vw,39px);line-height:1.13;font-weight:740;letter-spacing:-.047em;margin:0;overflow-wrap:anywhere}
.page-title:lang(ar){letter-spacing:0;font-size:clamp(30px,7vw,36px);font-weight:700}
.page-subtitle{margin:12px 0 0;font-size:13px;color:var(--muted)}
.glass-card,.surface-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:none!important;background:var(--surface);overflow:hidden}
.glass-card{background:var(--surface);box-shadow:none!important}
.no-grad .glass-card{background:var(--surface)}
.hero{padding:23px 23px 20px;margin:26px 0 32px;background:var(--surface);border-color:rgba(255,255,255,.075);box-shadow:none!important}
.hero:after{display:none}
.hero-content{align-items:center;gap:10px}
.hero-tag,.mini-label{font-size:11px;font-weight:580;letter-spacing:.01em;color:var(--muted)}
.hero-amount{font-size:clamp(45px,10vw,57px);font-weight:680;letter-spacing:-.066em;line-height:1.04;margin:12px 0 0;font-feature-settings:'tnum' 1}
.hero-amount small{font-size:17px;letter-spacing:0;color:var(--muted);font-weight:470}
.hero-hint{font-size:12px;font-weight:480;color:var(--muted);margin-top:9px;line-height:1.5}
.ring{width:105px;height:105px;flex-shrink:0;background:conic-gradient(var(--accent) calc(var(--pct)*1%),rgba(255,255,255,.095) 0)}
.ring:before{inset:8px;background:var(--surface)}
.ring-inner strong{font-size:19px;font-weight:690;letter-spacing:-.04em}
.ring-inner span{font-size:10px;margin-top:2px;color:var(--muted)}
.hero-divider{margin:22px 0 17px;background:var(--line)}
.hero-stats{gap:10px}
.mini-value{font-size:22px;font-weight:640;letter-spacing:-.045em;margin-top:5px}
.section-head{margin:32px 0 15px;gap:12px;align-items:center}
.section-head h2{font-size:16px;line-height:1.25;font-weight:680;letter-spacing:-.022em}
.section-head h2:lang(ar){letter-spacing:0}
.section-head small{font-size:11px}
.surface-card.pad,.pad{padding:20px}
.section-head:has(.date-controls){display:flex;flex-direction:column;align-items:stretch;gap:13px}
.date-controls{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;direction:ltr}
.date-controls .icon-button{height:44px;min-width:44px;width:44px;flex-shrink:0;border-radius:13px}
.date-picker{height:44px;width:100%;max-width:100%;border:1px solid var(--line);border-radius:13px;background:var(--surface);font-size:14px;font-family:var(--font-english);font-variant-numeric:tabular-nums;min-width:0;padding:0 10px;text-align:center;appearance:none;-webkit-appearance:none;color:var(--text);display:block}
.date-picker::-webkit-date-and-time-value{text-align:center;width:100%;min-height:1em}
.date-picker::-webkit-datetime-edit{text-align:center;display:flex;justify-content:center;width:100%}
.date-picker::-webkit-calendar-picker-indicator{opacity:.7;filter:grayscale(1) invert(.8);margin-left:0;position:absolute;right:10px}
.icon-button{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px;font-size:22px;display:grid;place-items:center;transition:background .16s ease}
.icon-button:active{background:var(--surface3)}
.status-legend{margin:15px 0;gap:15px;display:flex;flex-wrap:wrap;font-size:11px;color:var(--muted);justify-content:flex-start}
.status-legend span{gap:6px}
.status-legend i{width:7px;height:7px;border-radius:10px;display:inline-block}
.prayer-line{min-height:76px;gap:12px;padding:13px 18px;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}
.prayer-line:first-child{border-top:0}
.prayer-name{font-size:18px;font-weight:650;line-height:1.5;letter-spacing:0;text-align:start;white-space:nowrap}
.prayer-name[lang=ar]{direction:rtl;text-align:start}
.prayer-ar{display:none}
.status-switch{border-radius:13px;padding:4px;gap:2px;flex-shrink:0;border:1px solid rgba(255,255,255,.065);background:var(--surface2)}
.state-btn{width:41px;height:37px;min-width:41px;flex:0 0 41px;border-radius:10px;transition:background .16s ease,transform .16s ease,color .16s ease!important}
.state-btn svg{width:17px;height:17px}
.state-btn:active{transform:scale(.94)}
.state-btn[aria-pressed="true"]{background:rgba(255,255,255,.13);box-shadow:none}
.state-btn.on-time[aria-pressed="true"]{background:rgba(103,201,148,.17);color:var(--good)}
.state-btn.late[aria-pressed="true"]{background:rgba(237,119,123,.17);color:var(--bad)}
.progress-track{height:5px;border-radius:100px;background:rgba(255,255,255,.085);overflow:hidden}
.progress-fill{background:var(--accent);border-radius:inherit;transition:width .3s ease!important}
.progress-fill.good{background:var(--good)}
.feature-banner{margin:19px 0 0;background:transparent;border:1px solid var(--line);border-radius:16px;padding:17px 18px}
.feature-banner strong{font-size:13px;font-weight:640}
.feature-banner p{font-size:11px;line-height:1.5;color:var(--muted);margin:3px 0 0}
.feature-link{color:var(--accent-legible);font-size:12px;font-weight:650;white-space:nowrap}
.activity-row{min-height:66px;gap:12px;padding:14px 17px;border-bottom:1px solid var(--line)}
.activity-bullet{width:36px;height:36px;min-width:36px;font-size:12px;background:var(--surface2);color:var(--text);border-radius:12px}
.activity-body{min-width:0;flex:1}
.activity-body strong{font-weight:600;font-size:13px}
.activity-body span{font-size:11px;color:var(--muted)}
.small-btn{min-height:34px;border-radius:10px;font-size:12px;font-weight:630;padding:7px 10px;background:var(--surface2);border:1px solid var(--line);color:var(--text)}
.small-btn.primary{color:var(--accent-legible);background:rgba(var(--accent-rgb),.10)}
.activity-row .small-btn{flex-shrink:0}
.button{min-height:48px;border-radius:13px;font-weight:660;font-size:14px;letter-spacing:-.01em;background:var(--accent);color:var(--accent-ink);border:1px solid transparent;padding:12px 19px;transition:filter .15s ease,transform .15s ease!important;display:inline-flex;align-items:center;justify-content:center;text-align:center}
.button:active{transform:scale(.988);filter:brightness(.94)}
.button.secondary{background:var(--surface2);color:var(--text);border:1px solid var(--line)}
.button.destructive{background:rgba(229,99,109,.1);color:#f08d91;border:1px solid rgba(229,99,109,.22)}
.button.full{width:100%}
.button:focus-visible{outline:2px solid var(--accent-legible)}
.pill-badge{background:rgba(var(--accent-rgb),.11);color:var(--accent-legible);font-size:12px;font-weight:680;padding:9px 13px;border-radius:11px;border:1px solid rgba(var(--accent-rgb),.20)}
.editable-years{cursor:pointer;white-space:nowrap;min-height:38px}
.segmented{margin-top:28px;margin-bottom:6px;padding:4px;border-radius:14px;min-height:48px;background:var(--surface);border:1px solid var(--line)}
.segmented button{min-height:39px;border-radius:10px;font-size:13px;font-weight:620;color:var(--muted);transition:background .2s ease,color .2s ease!important}
.segmented button.selected{color:var(--text);background:var(--surface3);box-shadow:none}
.qada-row{padding:19px 18px;border-bottom:1px solid var(--line)}
.qada-rows-actions{gap:7px;flex-shrink:0}
.qada-meta{font-size:11px;color:var(--muted);margin-top:4px}
.two-grid{gap:12px}
.stat-tile{border-radius:16px;border:1px solid var(--line);background:var(--surface);padding:17px}
.stat-tile strong{font-size:22px;letter-spacing:-.04em;font-weight:680}
.day-summary{padding:20px}
.day-summary-amount{font-size:40px;letter-spacing:-.04em;font-weight:700}
.day-summary-note,.section-note{font-size:11px;color:var(--muted);line-height:1.6}
.duas-command{margin-top:30px;margin-bottom:15px}
.duas-command .button{font-size:14px;min-height:50px}
.dua-search-wrap{margin:0 0 14px}
.search-input{width:100%;min-height:48px;padding:13px 17px;font-size:14px;background:var(--surface);border:1px solid var(--line);border-radius:13px;color:var(--text);-webkit-appearance:none;appearance:none}
.search-input::placeholder{color:var(--muted)}
.duas-filters{margin:0 0 17px;display:flex;gap:8px;overflow:auto;scrollbar-width:none;padding:0 0 1px}
.duas-filters::-webkit-scrollbar{display:none}
.chip{font-size:12px;min-height:35px;padding:7px 13px;white-space:nowrap;border-radius:10px;background:var(--surface);border:1px solid var(--line);color:var(--muted)}
.chip.selected{background:var(--surface3);color:var(--text);border-color:rgba(255,255,255,.14)}
.dua-list{overflow:hidden}
.dua-card{padding:20px 15px 20px 19px;display:grid;grid-template-columns:minmax(0,1fr) 43px;gap:12px;align-items:start}
.dua-card+.dua-card{border-top:1px solid var(--line)}
.dua-card-copy{min-width:0;overflow:hidden}
.dua-category{color:var(--accent-legible);font-size:10px;font-weight:660;letter-spacing:.04em}
.dua-card h3{margin:9px 0 10px;font-size:16px;line-height:1.4;font-weight:670;letter-spacing:-.025em;overflow-wrap:anywhere}
.dua-card p{font-family:var(--font-arabic);font-size:15px;line-height:1.95;color:var(--muted);margin:0;max-height:119px;overflow:hidden;white-space:pre-line;overflow-wrap:anywhere}
.dua-card-rail{display:flex;flex-direction:column;align-items:stretch;gap:9px;align-self:stretch;justify-content:center}
.rail-action{height:37px;width:37px;border-radius:11px;border:1px solid var(--line);background:var(--surface2);color:var(--muted);font-size:20px;display:grid;place-items:center;padding:0;transition:background .16s ease!important}
.rail-action svg{height:17px;width:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.rail-action:active,.rail-action:hover{background:var(--surface3);color:var(--text)}
.rail-action.is-favorite{color:var(--accent-legible)}
.empty{padding:30px 20px;text-align:center}
.empty h3{font-size:15px;font-weight:670}
.empty p{font-size:12px;max-width:260px;margin:7px auto 0;line-height:1.6;color:var(--muted)}
.empty-icon{display:none}
.form-card{padding:20px}
.form-field{width:100%;margin:0 0 17px}
.form-field label{font-size:12px;font-weight:640;color:var(--muted);margin-bottom:9px}
.form-field input,.form-field textarea,.form-field select,.setting-line select{min-height:47px;border-radius:12px;background:var(--surface2);border:1px solid var(--line);color:var(--text);padding:11px 13px;font-size:15px;outline:none;max-width:100%}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--accent-legible)}
.form-field input[type=date]{text-align:center;padding:0 14px;display:block;appearance:none;-webkit-appearance:none}
.form-field input[type=date]::-webkit-date-and-time-value{text-align:center;width:100%}
.form-field input[type=date]::-webkit-datetime-edit{width:100%;text-align:center;display:flex;justify-content:center}
.form-field input[type=date]::-webkit-calendar-picker-indicator{opacity:.5;margin:0;position:absolute;right:12px}
.fast-record-form{padding:19px}
.fast-record-form .form-field{margin:0 0 12px}
.fast-record-form input[type=date],.fast-record-form .fast-submit{display:block;width:100%;min-height:51px;height:51px;border-radius:13px;text-align:center!important;margin:0;max-width:100%;box-sizing:border-box}
.fast-record-form input[type=date]::-webkit-date-and-time-value{text-align:center!important;width:100%}
.fast-record-form input[type=date]::-webkit-datetime-edit{text-align:center!important;display:flex;justify-content:center;width:100%}
.fast-submit{background:var(--accent);color:var(--accent-ink)}
.calendar-header{margin:0 0 19px;align-items:center}
.calendar-header strong{font-size:15px;font-weight:650}
.calday{border-radius:11px;font-size:12px;min-height:39px}
.calday.fasted{background:rgba(103,201,148,.14);color:var(--good);border:1px solid rgba(103,201,148,.2)}
.weekday{color:var(--muted);font-size:10px}
.settings-list{margin:20px 0 0;border-radius:17px}
.settings-route{min-height:63px;padding:11px 17px;gap:13px;flex-direction:row;text-align:start;transition:background .16s ease!important}
.settings-route-icon{width:33px;height:33px;background:var(--surface2);color:var(--muted);border-radius:10px}
.settings-route-icon svg{width:17px;height:17px;stroke-width:1.8}
.settings-route-label{font-size:14px;font-weight:600;color:var(--text)}
.settings-route-arrow{font-size:21px;color:var(--muted)}
.profile-card{margin:28px 0 19px;padding:18px;display:flex;align-items:center;gap:15px}
.avatar-wrap{width:56px;height:56px;border-radius:50%;background:var(--surface3);display:grid;place-items:center;overflow:hidden;flex-shrink:0}
.avatar-img{width:100%;height:100%;object-fit:cover}
.profile-info{min-width:0;flex:1}
.profile-info .kicker{font-size:10px;color:var(--muted);margin:0 0 6px}
.profile-info strong{font-size:16px;font-weight:660;display:block;overflow-wrap:anywhere}
.profile-edit{background:var(--surface2);border:1px solid var(--line);color:var(--text);height:37px;width:37px;border-radius:11px}
.settings-footer{margin:24px auto;color:var(--muted);text-align:center;font-size:11px;letter-spacing:.03em}
.settings-subhead{margin:0 0 23px}
.settings-subhead .kicker{margin-top:24px}
.settings-back{color:var(--accent-legible);font-size:13px;font-weight:620;border:0;background:transparent;padding:6px 0;display:inline-flex;align-items:center;gap:7px}
.settings-back span{font-size:23px;font-weight:380;line-height:1}
.setting-section{margin-top:25px}
.setting-section .setting-title{font-size:12px;letter-spacing:.03em;color:var(--muted);font-weight:670;margin:0 0 12px;text-transform:uppercase}
.setting-section .surface-card{border-radius:16px}
.setting-line{min-height:62px;gap:10px;padding:12px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.setting-line:last-child{border-bottom:0}
.setting-copy{min-width:0;flex:1}
.setting-copy strong{font-weight:590;font-size:13px;line-height:1.45}
.setting-copy span{font-size:11px;line-height:1.4;color:var(--muted);display:block;margin-top:3px}
.setting-line select{width:auto;max-width:min(57%,250px);min-height:40px;padding:8px 10px;font-size:12px;text-overflow:ellipsis}
.setting-line:has(.setting-range){display:block}
.setting-range{width:100%;margin:12px 0 3px;accent-color:var(--accent)}
.setting-line input[type=checkbox]{accent-color:var(--accent);width:20px;height:20px}
.compact-card{padding:0;overflow:hidden}
.compact-card .settings-route{margin:0;border-radius:0;border-top:1px solid var(--line)}
.theme-dots{margin:0 0 18px;gap:9px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.theme-dot{min-height:78px;padding:11px 7px 8px;gap:7px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;font-size:10px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:14px}
.theme-dot.active{border-color:rgba(var(--accent-rgb),.65);color:var(--text)}
.theme-dot i{width:26px;height:26px;border-radius:50%;display:block;border:1px solid rgba(255,255,255,.18)}
.theme-dot input[type=color]{width:100%;height:100%;opacity:0;position:absolute;inset:0;cursor:pointer}
.settings-sublabel{font-size:12px;font-weight:620;color:var(--muted);margin:25px 0 12px}
.setting-appearance{margin-top:15px}
.color-combo input[type=color]{height:34px;width:48px;background:transparent;border:none}
.notice,.field-hint{font-size:11px;line-height:1.65;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}
.button-row{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:16px}
.button-row .button{flex:1}
.typography-preview{margin:18px 0 25px;background:var(--surface);border:1px solid var(--line);border-radius:17px;overflow:hidden}
.preview-line{padding:19px;border-bottom:1px solid var(--line)}
.preview-line:last-child{border-bottom:0}
.preview-line span{display:block;color:var(--accent-legible);font-size:10px;font-weight:690;letter-spacing:.12em;margin-bottom:13px}
.preview-line strong{display:block;font-size:18px;font-weight:600;line-height:1.55;margin:0 0 4px}
.preview-line small{display:block;color:var(--muted);font-size:11px}
.preview-line:lang(ar) strong{font-size:22px;font-weight:600;letter-spacing:0}
.dua-sample{margin:18px;color:var(--muted);font-size:18px}
.modal-backdrop{position:fixed;z-index:35;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);align-items:flex-end}
.modal{background:var(--surface);border-radius:25px 25px 0 0;border:1px solid rgba(255,255,255,.12);border-bottom:0;padding:25px 23px calc(25px + env(safe-area-inset-bottom));width:100%;max-width:580px;max-height:90dvh;overflow:auto;box-shadow:0 -16px 70px #0006}
.modal-handle{width:39px;height:5px;border-radius:5px;background:var(--surface3);margin:-10px auto 20px}
.modal h2{font-size:23px;line-height:1.2;letter-spacing:-.03em;font-weight:700;margin:0 0 21px}
.modal form{margin-top:9px}
.modal .form-field input,.modal .form-field select,.modal .form-field textarea{font-size:16px}
.toast{bottom:calc(88px + env(safe-area-inset-bottom));z-index:50;border-radius:13px;background:var(--surface3);box-shadow:0 14px 30px #0007;font-size:12px;padding:12px 16px}
/* Bottom dock: small native-style frosted tab bar */
.glass-nav{height:61px;--nav-height:61px;width:min(calc(100vw - 32px),414px);bottom:calc(env(safe-area-inset-bottom) + 6px);padding:5px;border-radius:23px;border:1px solid rgba(255,255,255,.13);background:rgba(32,35,40,.82)!important;box-shadow:0 11px 30px rgba(0,0,0,.29),inset 0 1px rgba(255,255,255,.10);backdrop-filter:blur(28px) saturate(1.3);-webkit-backdrop-filter:blur(28px) saturate(1.3);direction:ltr;transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));transition:height .24s ease,width .24s ease,border-radius .24s ease!important}
.glass-nav:before{background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 70%)}
.glass-nav.compact{width:min(calc(100vw - 68px),375px);height:53px;border-radius:21px;padding:5px}
.glass-nav .nav-glider{position:absolute;top:5px;bottom:5px;left:0;z-index:0;background:rgba(180,185,192,.19);box-shadow:inset 0 1px rgba(255,255,255,.095);border-radius:18px;transition:transform .21s cubic-bezier(.2,.85,.22,1),width .21s ease!important}
.glass-nav.compact .nav-glider{top:5px;bottom:5px}
.glass-nav .nav-glider.dragging{transition:none!important}
.glass-nav .tab{position:relative;z-index:1;min-height:46px;border-radius:18px;display:grid;place-items:center;touch-action:pan-y;margin:0;padding:0;color:rgba(238,239,242,.65)}
.glass-nav .tab-icon{height:25px;display:grid;place-items:center}
.glass-nav .tab-icon svg{width:22px;height:22px;stroke-width:1.8;transition:stroke .18s ease!important}
.glass-nav .tab.active .tab-icon svg{stroke:var(--accent-legible);filter:none}
.glass-nav .tab-word,.glass-nav .tab-back{display:none!important}
.glass-nav.compact .tab-icon svg{transform:none}
.glass-nav .tab:active svg{transform:scale(.9)}
body.reader-open{overflow:hidden!important}
body.reader-open .app-shell,body.reader-open .glass-nav{visibility:hidden!important;pointer-events:none}
.reader-screen[hidden]{display:none!important}
.reader-screen{position:fixed;inset:0;z-index:22;background:var(--bg);color:var(--text);display:flex;flex-direction:column;min-height:100dvh}
.reader-bar{height:calc(65px + env(safe-area-inset-top));padding:calc(env(safe-area-inset-top) + 14px) 21px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);flex-shrink:0}
.reader-back{display:flex;align-items:center;gap:7px;background:none;border:0;color:var(--accent-legible);font-size:14px;font-weight:620;padding:5px 0}
.reader-back span:first-child{font-size:27px;line-height:1;font-weight:300}
.reader-section-label{font-size:11px;color:var(--muted);max-width:45%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.reader-done{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;border:1px solid var(--line);background:var(--surface2);color:var(--muted);font-size:22px}
.reader-scroll{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;-webkit-overflow-scrolling:touch}
.reader-inner{max-width:640px;margin:0 auto;padding:42px 28px 55px}
.reader-overline{font-size:10px;color:var(--accent-legible);font-weight:650;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}
.reader-inner h1{font-size:clamp(28px,7vw,37px);font-weight:700;line-height:1.28;letter-spacing:-.03em;margin:0;overflow-wrap:anywhere}
.reader-rule{width:31px;height:2px;border-radius:3px;background:var(--accent);opacity:.75;margin:32px 0 35px}
.reader-copy{font-family:var(--font-arabic);font-size:calc(20px * var(--arabic-scale));font-weight:450;line-height:2.05;white-space:pre-wrap;overflow-wrap:anywhere;text-align:start;letter-spacing:0}
.reader-toolbar{flex-shrink:0;border-top:1px solid var(--line);background:var(--surface);display:flex;gap:15px;align-items:center;padding:14px 20px calc(14px + env(safe-area-inset-bottom))}
.reader-control{display:flex;flex:1;min-width:0;flex-direction:column;gap:6px}
.reader-control span{font-size:10px;color:var(--muted);white-space:nowrap}
.reader-control select{background:var(--surface2);border:1px solid var(--line);border-radius:10px;padding:6px;color:var(--text);min-height:35px;min-width:0;font-size:12px;max-width:100%}
.reader-control input{accent-color:var(--accent);width:100%;height:30px;margin:0}
/* local contrast controls: dark custom accents must stay readable */
.button:not(.secondary):not(.destructive),.button.full:not(.secondary):not(.destructive),.fast-submit{color:var(--accent-ink)!important}
body[data-theme="light"]{--surface:#ffffff;--surface2:#f0f1f3;--surface3:#e7e9eb;--text:#17191e;--muted:#676d74;--line:rgba(20,25,35,.10);--accent-legible:#587666;--bg:#f4f5f7}
body[data-theme="light"] .glass-nav{background:rgba(246,246,248,.88)!important;border-color:rgba(15,20,30,.09);box-shadow:0 9px 25px #1619211a,inset 0 1px #fff}
body[data-theme="light"] .glass-nav .tab{color:#59616a}
body[data-theme="light"] .glass-nav .nav-glider{background:rgba(45,51,58,.09)}
body[data-theme="light"] .glass-nav .tab.active .tab-icon svg{stroke:var(--accent-legible)}
body[data-theme="light"] .date-picker::-webkit-calendar-picker-indicator{filter:none}
body[data-theme="light"] .modal-backdrop{background:rgba(0,0,0,.35)}
body[data-theme="oled"]{--bg:#000;--surface:#111214;--surface2:#1c1d20;--surface3:#25262a}
body[data-card="flat"] .glass-card{background:var(--surface)}
body[data-border="false"] .glass-card,body[data-border="false"] .surface-card{border-color:transparent}
body[data-shadow="false"] .glass-nav{box-shadow:inset 0 1px rgba(255,255,255,.1)}
body[data-motion="reduce"] *{transition:none!important;animation:none!important}
@media(max-width:385px){.app-shell{padding-left:17px;padding-right:17px}.prayer-line{padding:13px 12px}.state-btn{width:38px;min-width:38px;flex-basis:38px}.hero{padding:20px}.hero-amount{font-size:45px}.ring{height:91px;width:91px}.ring:before{inset:7px}.ring-inner strong{font-size:17px}.feature-banner{gap:9px}.dua-card{padding-left:15px}}
@media(max-width:340px){.hero-amount{font-size:40px}.ring{height:79px;width:79px}.state-btn{width:35px;min-width:35px;flex-basis:35px}.prayer-name{font-size:16px}.reader-toolbar{gap:8px;padding-left:13px;padding-right:13px}}
@media(min-width:600px){.app-shell{padding-left:30px;padding-right:30px}.modal-backdrop{align-items:center}.modal{max-height:85dvh;border-radius:24px;border-bottom:1px solid var(--line)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
/* Safari date input: keep the value visually centered without an out-of-field glyph */
.date-picker::-webkit-calendar-picker-indicator,
.fast-record-form input[type=date]::-webkit-calendar-picker-indicator,
.form-field input[type=date]::-webkit-calendar-picker-indicator{
  position:static!important;width:1px!important;min-width:0!important;opacity:0!important;
  padding:0!important;margin:0!important;flex:0 0 1px!important
}
.return-today{display:inline-flex;margin:4px auto 0;border:0;padding:7px 13px;border-radius:10px;min-height:32px;color:var(--accent-legible);background:rgba(var(--accent-rgb),.085);font-size:12px;font-weight:620;text-align:center;align-items:center;justify-content:center}
