@font-face{font-family:Heebo;src:url('/heebo.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Assistant;src:url('/assistant-hebrew.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap;unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Assistant;src:url('/assistant-latin.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{--ink:#382443;--muted:#74647d;--purple:#714790;--pink:#b75c88;--paper:#fbf8fc;--line:#e9e0ed;--soft:#f1e8f6;font-family:Assistant,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:radial-gradient(ellipse at 90% 0,#eee2f980,transparent 45%),radial-gradient(ellipse at 0 65%,#f9e5ef80,transparent 45%),var(--paper);min-width:320px}button,input,select,textarea{font:inherit}a{color:var(--purple);text-underline-offset:5px}button,a,input,select,textarea{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9260b1;outline-offset:4px}.app-shell{container-type:inline-size;container-name:app;min-height:100dvh}.site-header{max-width:1240px;margin:auto;padding:23px 36px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.brand img{width:50px;height:50px;object-fit:contain}.brand strong{font-family:Heebo,Assistant,sans-serif;font-size:34px;letter-spacing:-1.6px;font-weight:750;line-height:1.25;color:#c7798e;background:none;-webkit-text-fill-color:currentColor}.brand>span{border-inline-start:1px solid #d5c4df;padding-inline-start:18px;margin-inline-start:10px;color:var(--muted);font-size:15px}.accountbar{display:flex;align-items:center;gap:14px;font-size:16px}.accountbar>span:empty{display:none}#logout{background:none;border:1px solid #d7c7df;border-radius:24px;color:var(--purple);padding:8px 18px;min-height:44px}main{max-width:1180px;margin:auto;padding:26px 36px 40px}.screen{animation:screen-in .35s ease-out}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:10px 0 30px}.eyebrow{display:block;font-size:15px;font-weight:600;color:var(--purple);margin-bottom:8px}h1{font-size:52px;line-height:1.14;letter-spacing:-1.6px;font-weight:650;margin:6px 0 12px}h2{font-size:27px;font-weight:650;letter-spacing:-.5px;line-height:1.3;margin:0 0 18px}h3{font-size:22px;font-weight:600}p{font-size:18px;line-height:1.75;margin:12px 0;color:var(--muted)}.card{padding:30px;background:#fffdfef2;border:1px solid var(--line);border-radius:24px;box-shadow:0 14px 45px -36px #6b3e8a55}.soft-card{background:linear-gradient(130deg,#f4ecf8,#faedf4);box-shadow:none}.floating-heart{font-size:80px;line-height:1;color:#ba8fbf;transform:rotate(-12deg);animation:float-heart 7s ease-in-out infinite;padding-inline:15px}.primary,button[type=submit]{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:linear-gradient(110deg,#744d96,#965985);color:#fff;border:0;border-radius:13px;min-height:54px;padding:13px 22px;font-weight:650;font-size:18px}.primary:hover,button[type=submit]:hover{filter:brightness(.95)}.compact{min-height:48px;padding:11px 18px;white-space:nowrap}.secondary{background:#eee5f4;color:#65417d;border:1px solid #e1d3e9;padding:12px 20px;min-height:50px;border-radius:12px;font-size:17px;font-weight:600}.text-button{display:inline-block;background:none;border:0;color:#704b88;padding:12px 8px;min-height:46px;font-size:16px;text-decoration:underline;text-underline-offset:4px}.secondary-link,.quiet-link,.back-link{display:inline-block;font-size:17px;padding:12px 0;min-height:46px;text-decoration:none}.secondary-link:hover,.quiet-link:hover{text-decoration:underline}.back-link{margin-bottom:20px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px}.section-title h2{margin:0}.section-title>a{font-size:16px;white-space:nowrap;text-decoration:none}.app-nav{position:sticky;top:0;z-index:20;max-width:1160px;margin:auto;padding:10px 18px;display:flex;align-items:center;justify-content:flex-start;gap:20px;border-block:1px solid var(--line);background:#fbf8fcf0;backdrop-filter:blur(18px)}.app-nav a{display:flex;align-items:center;gap:8px;color:#796484;min-height:48px;font-size:17px;font-weight:600;padding:10px 15px;text-decoration:none;border-radius:13px}.app-nav a[aria-current=page]{color:var(--purple);background:#eee3f5}.app-nav a>span{font-size:24px;font-weight:400;line-height:1}.daily-widget{padding:32px;background:linear-gradient(115deg,#efe4f6,#f8eaf2);border:1px solid #e5d5eb;border-radius:24px;position:relative;margin-bottom:26px}.daily-widget h2{font-size:34px;margin:0 0 10px;max-width:650px}.daily-widget p{max-width:650px;margin:0;font-size:19px;color:#70537d}.daily-widget .widget-heart{position:absolute;inset-inline-end:30px;top:28px;color:#c69ac9;font-size:65px;animation:float-heart 8s ease-in-out infinite}.clean-progress{display:flex;gap:8px;margin-top:25px}.clean-progress span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fdf9ff;color:#745385;font-size:15px;border:1px solid #d8c3e5}.clean-progress span.done{background:#8962a1;color:#fff;border-color:transparent}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 32px}.quick-actions button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:86px;padding:18px;border:1px solid #e5d8eb;background:#fffdfef2;border-radius:18px;color:#624078;font-size:19px;font-weight:650;box-shadow:0 8px 20px -24px #5d267f}.quick-actions button>span{font-size:30px;font-weight:400;color:#ad79b4}.home-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.attention{border-radius:15px;padding:18px 22px;margin-top:22px;background:#f3eaf7;font-size:17px;line-height:1.7;display:flex;justify-content:space-between;gap:12px}.attention a{font-weight:600;white-space:nowrap}.upcoming-row{display:flex;align-items:center;gap:16px;padding:18px 0;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}.upcoming-row:last-child{border:0}.upcoming-row .event-dot{width:12px;height:36px;border-radius:6px;flex-shrink:0}.upcoming-row strong{display:block;font-size:19px;font-weight:650}.upcoming-row small{display:block;font-size:16px;color:var(--muted);margin-top:3px}.empty-state{padding:22px 0;font-size:18px;color:#7d6588}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px}.calendar-toolbar h2{font-size:31px;margin:0 0 5px}.calendar-toolbar p{font-size:16px;margin:0}.calendar-nav{display:flex;gap:6px}.calendar-nav button{min-width:46px;min-height:48px;border:1px solid #e2d5e9;background:#f3edf7;color:#68457e;padding:10px 12px;border-radius:12px;font-size:18px}.calendar-options{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:22px}.calendar-options select{max-width:210px;font-size:17px;min-height:48px}.segmented{display:flex;gap:4px;background:#f1eaf5;padding:4px;border-radius:13px}.segmented button{background:none;border:0;color:#735183;min-height:42px;min-width:65px;border-radius:10px;padding:6px 12px;font-size:17px}.segmented button[aria-pressed=true]{background:#fff;box-shadow:0 2px 8px #65407814;color:#593271;font-weight:650}.legend{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 18px}.chip{display:inline-flex;align-items:center;padding:5px 10px;border-radius:8px;font-size:15px;font-weight:600;line-height:1.5;color:#51315e;background:#efe5f4}.weekdays,.calendar-grid.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{font-size:16px;text-align:center;color:#796384;padding:4px 0 13px}.calendar-grid.month{border-top:1px solid var(--line);border-inline-start:1px solid var(--line);border-radius:12px;overflow:hidden}.calendar-day{color:var(--ink);text-decoration:none;display:flex;flex-direction:column;gap:9px;min-width:0;min-height:172px;padding:12px 8px;background:#fff;border-inline-end:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-day:hover{background:#faf4fd}.calendar-day.today{box-shadow:inset 0 0 0 2px #9469ae;z-index:1}.calendar-day.outside{background:#f5f0f7;color:#8c7a98}.day-numbers{display:flex;flex-direction:column;gap:3px;margin-bottom:4px}.day-numbers b{font-size:24px;font-weight:650;line-height:1.15}.day-numbers small{font-size:15px;color:#7b6387}.onah-lane{display:flex;flex-direction:column;gap:5px}.onah-label{color:#806a8c;font-size:13px}.day-badge{padding:4px 5px;font-size:13px;line-height:1.45;border-radius:5px;overflow-wrap:anywhere}.more-events{font-size:14px;color:#765284}.color-strip{display:none}.calendar-hint{font-size:15px;margin-bottom:0}.calendar-grid.week{display:flex;flex-direction:column;gap:12px}.week .calendar-day{min-height:108px;border:1px solid var(--line);border-radius:16px;display:grid;grid-template-columns:135px 1fr;padding:20px;gap:10px 20px}.week .day-numbers{grid-row:1/3;justify-content:center}.week .day-numbers b{font-size:23px}.week .day-numbers .weekday-name{font-size:15px;color:#70557e}.week .onah-lane{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:7px}.week .onah-label{font-size:15px;min-width:42px}.week .day-badge{font-size:16px;padding:5px 9px}.week .calendar-day.empty-day{min-height:85px}.day-details{max-width:850px;margin:auto}.day-details>h1{font-size:38px;margin-bottom:8px}.day-details .civil-date{font-size:18px}.detail-event{padding:22px 0;border-bottom:1px solid var(--line)}.detail-event .chip{font-size:17px}.detail-event strong{font-size:17px;margin-inline-start:10px}.detail-event p{font-size:18px;margin:8px 0 0}.detail-actions{display:flex;gap:10px;margin-top:25px;flex-wrap:wrap}.detail-event .text-button{display:block;font-size:15px}.reason-niddah,.reason-forbidden{background:#f6d6e3;color:#74334f}.reason-clean,.reason-check{background:#e8dcf5;color:#4c3269}.reason-month{background:#dddff7;color:#383c73}.reason-interval{background:#f3d9ee;color:#6c3264}.reason-average{background:#e4d1f1;color:#593072}.reason-oz{background:#f4e7cf;color:#644719}.reason-mikveh,.reason-immersion{background:#dceceb;color:#255651}.reason-period{background:#f0b8cf;color:#682b43}.reason-hefsek,.reason-flow_end,.reason-bleeding_end,.reason-note{background:#e9e5ed;color:#55455f}.reason-review,.reason-fixed,.reason-stain{background:#f5e4cd;color:#754a18}.event-dot.reason-month{background:#858bc5}.event-dot.reason-interval{background:#bb80af}.event-dot.reason-average{background:#a67bc1}.event-dot.reason-oz{background:#c4a15e}.event-dot.reason-mikveh{background:#74a7a0}.settings{max-width:720px;margin:auto}.settings-secondary{max-width:720px;margin:24px auto}.settings>p{font-size:18px}label{display:block;font-weight:600;font-size:18px;line-height:1.5;margin:21px 0 8px}input,select,textarea{display:block;width:100%;max-width:100%;padding:13px 15px;border:1px solid #d9cce1;border-radius:12px;background:#fcf9fd;color:var(--ink);font-size:19px;min-height:52px}textarea{resize:vertical;line-height:1.7}input[type=checkbox]{display:inline-block;width:22px;min-height:22px;height:22px;margin:3px 0;flex-shrink:0;accent-color:var(--purple)}.check{display:flex;gap:12px;align-items:flex-start;font-size:17px;line-height:1.7;font-weight:400}.disclosure{border-top:1px solid var(--line);margin-top:22px;padding-top:12px}.disclosure summary{cursor:pointer;min-height:48px;line-height:1.6;font-size:18px;font-weight:600;padding:10px 0;color:#68447b}.disclosure[open] summary{margin-bottom:12px}.settings button[type=submit],#entryForm button[type=submit],#noteForm button[type=submit]{width:100%;margin-top:24px}.field-help{font-size:16px;line-height:1.65;color:#775e84}.settings #planningIssues p{font-size:17px;border-bottom:1px solid var(--line);padding:14px 0}.notes-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}#notesScreen>.card{max-width:760px}.note-card{padding:24px;border-radius:18px;background:#f4eaf6;border:1px solid #e7d9ed}.note-card:nth-child(2n){background:#f9ebf1}.note-card p{font-size:19px;color:#634a70;white-space:pre-wrap;overflow-wrap:anywhere}.note-card small{font-size:15px;color:#786080}.entry{padding:22px 0;border-bottom:1px solid var(--line)}.entry strong{font-size:21px;font-weight:650}.entry p{font-size:18px;margin:5px 0}.entry small{font-size:16px;color:#7a6286}.entry-actions{display:flex;gap:16px}.entry-actions button{font-size:16px}.status:empty{display:none}.status{font-size:18px;line-height:1.7}.error,#entryStatus:not(:empty){color:#8a3154;background:#fce9f0;border:1px solid #ebc7d8;padding:13px 16px;border-radius:12px;margin:14px 0}#boot{font-size:17px;color:#806a8c;text-align:center}.welcome{display:grid;grid-template-columns:1fr 440px;gap:70px;align-items:start;max-width:1050px;margin:40px auto 60px}.welcome-copy{position:relative;padding-top:20px}.welcome h1{font-size:83px;letter-spacing:-2px;line-height:1.05;margin:20px 0 25px}.welcome h1 em{font-style:normal;color:#8758a0;position:relative}.welcome h1 em:after{content:'';position:absolute;inset-inline:0;bottom:-4px;height:10px;border-bottom:3px solid #d39bbd;border-radius:50%;transform:rotate(-4deg)}.welcome-copy>p{font-size:23px;line-height:1.7}.welcome-heart{display:block;width:145px;height:145px;object-fit:contain;margin:26px 100px 0 0;transform:rotate(-12deg);animation:float-heart 8s ease-in-out infinite}.welcome .quiet-link{font-size:16px;margin-top:16px}.auth h2{font-size:31px;margin-bottom:9px}.auth>p{font-size:18px}.auth{padding:32px}.auth #googleButton{display:flex;justify-content:center;min-height:48px;margin:24px 0}.auth details>summary{font-size:16px;cursor:pointer;min-height:44px;line-height:44px;color:#7c5c8e;text-align:center}.tabs{display:flex;gap:12px;border-bottom:1px solid var(--line);margin:15px 0}.tabs button{background:none;border:0;border-radius:0;flex:1;min-height:46px;font-size:16px;color:#8a7297;padding:8px 0}.tabs button[aria-selected=true]{border-bottom:2px solid #84559c;color:#69407e;font-weight:650}.auth label{font-size:17px}.auth button[type=submit]{width:100%;margin-top:22px}.auth small{display:block;font-size:14px;color:#786180;line-height:1.6;margin-top:6px}.privacy{font-size:15px!important;line-height:1.7!important;color:#796183}.auth .check{font-size:15px}.notice{padding:24px;background:#f1e7f6;border-radius:18px;line-height:1.8}.notice p{font-size:18px}.notice code{display:block;direction:ltr;overflow-wrap:anywhere;background:white;border:1px dashed #b696c8;padding:18px;margin:15px 0;font-size:18px;user-select:all}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:24px 0 8px;margin-top:45px;color:#7b6487;font-size:15px}.site-footer b{color:#bb82a9;font-size:19px}.site-footer>div{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.site-footer a{color:#786080;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.site-footer .text-button{font-size:15px}.demo-banner{padding:15px 20px;background:#f1e6f7;border:1px dashed #c5a7d4;border-radius:15px;font-size:16px;line-height:1.7;display:flex;gap:10px 20px;flex-wrap:wrap;margin:0 0 25px}.demo-banner a{margin-inline-start:auto}.demo-banner span{color:#796084}dialog{width:min(92vw,520px);max-height:90dvh;overflow-y:auto;border:1px solid #dbc8e5;border-radius:24px;padding:28px;background:#fffdfd;color:var(--ink);box-shadow:0 20px 80px #3e1c5940}dialog::backdrop{background:#2f163554;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-heading h2{margin:0;font-size:29px}.icon-button{display:grid;place-items:center;border:0;background:#f3eaf7;color:#704c83;width:46px;height:46px;min-height:46px;border-radius:50%;font-size:30px}.date-preview{padding:12px 15px;background:#f2eaf6;border-radius:12px;font-size:19px;font-weight:650;color:#69457d}.dialog-heading+form>label:first-of-type{margin-top:20px}#entryDialog .field-help{font-size:16px}#entryForm>.text-button{width:100%}.a11y-tools{max-width:1240px;margin:auto;padding:0 36px;display:flex;justify-content:flex-end}.a11y-tools summary{font-size:15px;color:#795b8b;cursor:pointer;min-height:40px;line-height:40px}.a11y-tools details[open]{border:1px solid var(--line);background:white;padding:12px 18px;border-radius:15px;max-width:360px}.a11y-tools button{width:100%;margin:6px 0;font-size:17px}.a11y-tools p{font-size:15px}.skip-link{position:fixed;top:-100px;right:15px;z-index:100;background:#382546;color:white;padding:12px 22px}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#mainContent:focus{outline:none}.legal main{max-width:820px;padding-top:35px}.legal h1{font-size:43px}.legal h2{font-size:27px;margin:35px 0 10px}.legal p,.legal li{font-size:19px;line-height:1.9}.legal nav{display:flex;flex-wrap:wrap;gap:20px;padding:25px 0}.legal .help-item{padding:24px 0;border-top:1px solid var(--line)}.help-item h2{margin:0 0 10px!important}.app-shell.preview-phone{width:390px;max-width:100%;margin:auto;border-inline:1px solid #e5d9ec}.app-shell.preview-phone .app-nav{max-width:390px}.app-shell.preview-small{width:360px}.app-shell.preview-small .app-nav{max-width:360px}html[data-large-text=true] :is(p,label,input,select,textarea,.field-help,.chip,.day-badge,.upcoming-row small){font-size:1.16em}html[data-high-contrast=true]{--ink:#250c35;--muted:#43304d;--line:#796087;--paper:#fff}html[data-high-contrast=true] :is(p,small,a,summary,label){color:#35203f}html[data-high-contrast=true] :is(.chip,.day-badge){color:#210b30;border:1px solid #81618f}html[data-reduce-motion=true] *,html[data-reduce-motion=true] *:before,html[data-reduce-motion=true] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@keyframes float-heart{0%,100%{transform:rotate(-10deg) translateY(0)}50%{transform:rotate(-5deg) translateY(-7px)}}@keyframes screen-in{from{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@container app (max-width:900px){.welcome{gap:30px;grid-template-columns:1fr 390px}.welcome h1{font-size:65px}.quick-actions{grid-template-columns:1fr 1fr}.calendar-card{padding:23px}.day-badge{font-size:13px}.home-columns{gap:18px}}
@container app (max-width:700px){.site-header{padding:18px 20px;gap:10px}.brand img{width:42px;height:42px}.brand strong{font-size:33px}.brand>span{display:none}.accountbar{gap:8px;font-size:14px}.accountbar>span{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#logout{font-size:15px;min-height:44px;padding:8px 12px}.a11y-tools{padding:0 20px}.a11y-tools summary{font-size:15px}.app-nav{position:fixed;inset-inline:0;bottom:0;top:auto;max-width:700px;justify-content:space-around;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid #e1d4e9;border-bottom:0;border-radius:20px 20px 0 0;gap:3px;box-shadow:0 -8px 35px #603a7e0a;background:#fffdfcf5}.app-nav a{flex:1;flex-direction:column;gap:4px;padding:7px 4px;font-size:14px;min-height:58px;border-radius:12px}.app-nav a>span{font-size:25px}main{padding:20px 20px 100px}.page-heading{margin:5px 0 23px;gap:12px}.eyebrow{font-size:15px}h1{font-size:37px;letter-spacing:-1px;line-height:1.2}h2{font-size:25px}p{font-size:18px}.card{padding:23px 20px;border-radius:21px}.page-heading .compact{font-size:16px;min-height:48px;padding:10px 13px}.floating-heart{font-size:62px;padding:0}.daily-widget{padding:26px 23px;border-radius:22px;margin-bottom:20px}.daily-widget h2{font-size:29px;padding-inline-end:20px;line-height:1.35}.daily-widget p{font-size:18px;line-height:1.7}.daily-widget .widget-heart{font-size:47px;top:21px;inset-inline-end:17px;opacity:.6}.quick-actions{grid-template-columns:1fr 1fr;gap:11px;margin-bottom:24px}.quick-actions button{flex-direction:column;gap:7px;min-height:108px;padding:15px 10px;font-size:18px;border-radius:18px}.quick-actions button>span{font-size:30px}.home-columns{grid-template-columns:1fr;gap:18px}.home-columns .soft-card{padding-block:23px}.section-title>a{font-size:15px}.upcoming-row{gap:13px;padding:19px 0}.upcoming-row strong{font-size:19px}.upcoming-row small{font-size:16px}.attention{display:block;padding:18px;font-size:17px}.attention a{display:block;padding-top:8px}.calendar-card{padding:20px 12px}.calendar-toolbar{gap:8px;align-items:flex-start}.calendar-toolbar h2{font-size:26px}.calendar-toolbar p{font-size:15px;line-height:1.55}.calendar-nav{gap:4px}.calendar-nav button{min-width:42px;min-height:46px;padding:9px 8px;font-size:16px}.calendar-options{gap:8px;margin-top:20px}.calendar-options select{font-size:16px;max-width:148px;min-height:48px;padding-inline:10px}.segmented button{min-width:56px;min-height:42px;font-size:16px;padding-inline:9px}.legend{gap:7px;margin-block:20px 16px}.chip{font-size:14px;padding:5px 8px}.weekdays{font-size:15px}.calendar-grid.month{border-radius:10px}.month .calendar-day{min-height:94px;padding:10px 3px;gap:4px;align-items:center}.month .day-numbers{align-items:center;gap:5px}.month .day-numbers b{font-size:19px;white-space:nowrap}.month .day-numbers small{font-size:14px;direction:ltr}.month .onah-lane{display:none}.month .color-strip{display:flex;gap:3px;flex-wrap:wrap;justify-content:center}.month .color-strip span{width:7px;height:13px;border-radius:3px;border:1px solid #78548b25}.month .color-strip .reason-niddah{background:#d594ad}.month .color-strip .reason-clean{background:#a98bbb}.month .color-strip .reason-month{background:#7e87bf}.month .color-strip .reason-interval{background:#bf80b1}.month .color-strip .reason-average{background:#9c76b8}.month .color-strip .reason-oz{background:#c9ac6f}.calendar-grid.week{gap:12px}.week .calendar-day{grid-template-columns:85px minmax(0,1fr);gap:8px 13px;min-height:115px;padding:18px 14px;border-radius:15px}.week .day-numbers b{font-size:21px}.week .day-numbers small{font-size:15px}.week .day-numbers .weekday-name{font-size:15px}.week .onah-lane{gap:6px}.week .onah-label{font-size:14px;min-width:34px}.week .day-badge{font-size:15px;line-height:1.5;padding:5px 7px}.calendar-hint{font-size:15px}.day-details{padding:26px 23px}.day-details>h1{font-size:33px}.detail-event .chip{font-size:17px}.detail-event strong{font-size:16px}.detail-event p{font-size:18px}.detail-actions .primary{width:100%}.settings>p{font-size:18px}.settings h2{font-size:27px}label{font-size:18px;margin-top:22px}input,select,textarea{font-size:19px;min-height:54px;padding:14px}.check{font-size:17px;gap:12px}.disclosure summary{font-size:18px;min-height:52px}.notes-list{grid-template-columns:1fr}.note-card p{font-size:19px}.entry strong{font-size:21px}.entry p{font-size:18px}.entry small{font-size:16px}.entry-actions button{font-size:17px}.welcome{display:flex;flex-direction:column;gap:27px;margin:5px auto 25px}.welcome-copy{padding:0 4px;position:relative;width:100%}.welcome h1{font-size:50px;letter-spacing:-1.6px;line-height:1.1;margin:15px 0 17px}.welcome h1 br{display:none}.welcome-copy>p{font-size:21px;line-height:1.6;max-width:255px}.welcome .eyebrow{font-size:15px}.welcome-heart{position:absolute;width:82px;height:82px;inset-inline-end:0;bottom:40px;margin:0}.welcome .quiet-link{font-size:16px;margin-top:8px}.auth{width:100%;padding:27px 23px}.auth h2{font-size:29px}.auth>p{font-size:18px}.auth details>summary{font-size:16px;min-height:48px}.auth small{font-size:15px}.auth .privacy{font-size:15px!important}.site-footer{display:block;text-align:center;margin-top:35px;padding-top:23px;font-size:15px}.site-footer>div{justify-content:center;gap:8px 18px;margin-top:10px}.site-footer .text-button{width:100%;font-size:16px}.site-footer a{font-size:15px}.demo-banner{font-size:16px;line-height:1.65;padding:15px;margin-bottom:25px}.demo-banner span{display:none}.demo-banner a{margin:0}.legal main{padding-inline:23px}.legal h1{font-size:35px}.legal h2{font-size:25px}.legal p,.legal li{font-size:18px;line-height:1.85}.legal nav{gap:12px;font-size:16px}dialog{width:calc(100vw - 24px);max-width:520px;max-height:91dvh;padding:25px 22px;border-radius:24px}.dialog-heading h2{font-size:27px}#entryDialog .field-help{font-size:17px}.date-preview{font-size:19px}.field-help{font-size:17px}.clean-progress{gap:7px}.clean-progress span{width:31px;height:31px;font-size:15px}.calendar-hint{line-height:1.7}}
@media print{.app-nav,.site-header,.site-footer,.a11y-tools,dialog,.quick-actions,.calendar-options,.calendar-nav{display:none!important}main{padding:0}.card{box-shadow:none}.calendar-day{break-inside:avoid}.calendar-grid.month .color-strip{display:none}}

/* Full-color month overview: labels stay visible on phones as well as desktop. */
.month-overview-link{display:flex;align-items:center;gap:15px;padding:19px 23px;margin:0 0 24px;background:#fff;border:1px solid #d9c3e8;border-radius:18px;text-decoration:none;color:#63437c}.month-overview-link>span:first-child{font-size:37px;color:#a36daa}.month-overview-link strong{display:block;font-size:22px;font-weight:650}.month-overview-link small{display:block;font-size:17px;color:#7a6486;margin-top:3px}.month-overview-link>b{margin-inline-start:auto;font-size:25px;font-weight:400}
.calendar-options .segmented{display:grid;grid-template-columns:1fr 1fr;width:330px;padding:5px;gap:5px}.calendar-options .segmented button{font-size:19px;min-height:52px}.calendar-options .segmented button[aria-pressed=true]{background:#76518f;color:#fff;box-shadow:0 3px 9px #6e3d8925}.calendar-options select{max-width:270px}
.month .onah-lane,.month .color-strip{display:none}.month-events{display:flex;flex-direction:column;gap:5px;width:100%}.week .month-events{display:none}.month-event{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;gap:1px;border-radius:7px;padding:6px 3px;font-size:15px;line-height:1.25;font-weight:650;min-height:42px;border:1px solid #5a2d7612}.month-event-onah{font-size:12px;font-weight:500;opacity:.9}.month .calendar-day{min-height:178px;padding:12px 7px;background:#fff;gap:8px;transition:background .2s ease,box-shadow .2s ease}.month .calendar-day.stage-niddah{background:#fff0f5}.month .calendar-day.stage-clean{background:#f5edfc}.month .calendar-day.stage-period,.month .calendar-day.stage-forbidden{background:#fde5ef}.month .calendar-day.outside{opacity:.6}.month .calendar-day.today{box-shadow:inset 0 0 0 2px #7b4a98}.month .day-numbers{align-items:center;text-align:center}.month .day-numbers b{font-size:22px}.month .day-numbers small{font-size:15px}.month .month-event.reason-month{background:#d4d8f7;color:#333b78}.month .month-event.reason-interval{background:#eec5e6;color:#652658}.month .month-event.reason-average{background:#d6b9eb;color:#4d2567}.month .month-event.reason-oz{background:#f1dfb9;color:#62441a}.month .month-event.reason-clean{background:#e2cff5;color:#503168}.month .month-event.reason-niddah{background:#f2c9db;color:#70324c}.month .month-event.reason-period{background:#eaa7c3;color:#64263e}.month .month-event.reason-mikveh{background:#cee9e4;color:#245c53}
@container app (max-width:700px){.calendar-card{padding-inline:8px}.calendar-options{flex-direction:column;align-items:stretch;gap:12px}.calendar-options .segmented{width:100%}.calendar-options .segmented button{font-size:18px;min-height:53px}.calendar-options select{width:100%;max-width:none;font-size:18px}.calendar-toolbar{padding-inline:8px;flex-wrap:wrap;gap:12px}.calendar-toolbar h2{font-size:27px}.calendar-toolbar p{font-size:16px}.calendar-nav{margin-inline-start:auto}.legend{padding-inline:3px;gap:6px}.legend .chip{font-size:14px}.weekdays{font-size:16px;font-weight:650;padding-block:8px 12px}.month .calendar-day{padding:9px 2px;min-height:137px;gap:7px}.month .day-numbers{gap:5px;margin-bottom:2px}.month .day-numbers b{font-size:19px;white-space:nowrap}.month .day-numbers small{font-size:14px}.month-events{gap:5px}.month-event{font-size:14px;padding:5px 1px;border-radius:5px;min-height:39px;overflow-wrap:normal;word-break:normal}.month-event-title{max-width:100%}.month-event-onah{font-size:11px;white-space:nowrap}.month-overview-link{padding:17px;gap:12px;margin-bottom:20px}.month-overview-link strong{font-size:21px}.month-overview-link small{font-size:16px}.calendar-hint{padding-inline:7px}}
@media(prefers-reduced-motion:reduce){.month .calendar-day{transition:none}}
html[data-high-contrast=true] .month-event{color:#210b30;border:1px solid #765486}
@media print{.month-events{display:flex!important}.month .calendar-day{break-inside:avoid}}

.month-name{font-size:13px;color:#765188;font-weight:600;line-height:1.2}

.calendar-toolbar .calendar-hebrew-month{font-size:21px;font-weight:650;color:#79508f;margin:0 0 7px;line-height:1.35}#calendarSubtitle{direction:ltr;text-align:right;font-variant-numeric:tabular-nums}@container app (max-width:700px){.calendar-toolbar .calendar-hebrew-month{font-size:20px}}

.reason-flow,.month .month-event.reason-flow,.month .month-event.reason-bleeding_end{background:#f1c0d4;color:#6f2a49}.month .calendar-day.stage-flow,.month .calendar-day.stage-bleeding_end{background:#fff0f5}.calendar-extras{margin:18px 4px 0;font-size:16px}.calendar-state-notice{margin-top:18px;padding:15px 18px;border:1px solid #e2d7e9;border-radius:14px;background:#f6f2f8}.calendar-state-notice strong{font-size:19px}.calendar-state-notice p{font-size:17px;line-height:1.65;margin:8px 0}.calendar-state-notice a{display:inline-block;min-height:44px;padding-top:8px;font-size:17px}

.calendar-grid{touch-action:pan-y pinch-zoom}.calendar-swipe-hint{font-size:15px;line-height:1.5;color:#796584;margin:17px 4px 0}.forecast-notice{border-color:#d9c2e5;background:#f4edf9}.forecast-notice a{font-weight:650}@container app (min-width:901px){.calendar-swipe-hint{display:none}}

/* Action feedback remains visible even when a dialog closes or a route changes. */
.action-toast{position:fixed;z-index:10000;bottom:calc(90px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);width:max-content;max-width:min(92vw,460px);padding:13px 22px;border-radius:14px;background:#382443;color:#fff;box-shadow:0 9px 30px #38244345;text-align:center;font-size:19px;line-height:1.45;direction:rtl;pointer-events:auto;display:flex;align-items:center;gap:14px;text-align:right}.action-toast-dismiss{appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-size:27px;line-height:1;cursor:pointer;flex:none;padding:0 3px;opacity:.9}.action-toast-dismiss:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:4px}
.action-toast-error{background:#8d2949}
@media(min-width:800px){.action-toast{bottom:32px}}

.site-footer{flex-wrap:wrap}.site-footer .halacha-disclaimer{flex:0 0 100%;margin:0 0 8px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(112,69,144,.045);color:#66526f;font-size:14px;line-height:1.7;text-align:center}

/* Keep a visible word gap in the RTL welcome headline even with tight letter spacing. */
.welcome h1 em{display:inline-block;margin-inline-start:.18em;white-space:nowrap}

/* Keep the month name and navigation visible while scrolling through the long calendar. */
#calendarSection .calendar-toolbar{position:sticky;top:0;z-index:20;background:#fffdfef7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:12px 10px;margin:-12px -10px 10px;border-radius:12px;border-bottom:1px solid #e9deed}
@container app (max-width:700px){#calendarSection .calendar-toolbar{gap:8px;padding:9px 7px;margin:-9px -7px 8px}#calendarSection .calendar-toolbar h2{font-size:23px}#calendarSection .calendar-toolbar p{font-size:13px}#calendarSection .calendar-nav button{min-width:35px;min-height:40px;padding:6px 7px;font-size:16px}}

/* Month name is the primary heading; the generic period label is secondary. */
#calendarSection .calendar-hebrew-month{font-size:clamp(25px,5vw,34px)!important;font-weight:750;line-height:1.25;color:#382443;margin-bottom:4px}
#calendarSection #calendarTitle{font-size:16px!important;font-weight:500;line-height:1.3;color:#7c6985;margin:0 0 4px}
#calendarSection #calendarSubtitle{font-size:13px;color:#8b7d91}
@container app (max-width:700px){#calendarSection .calendar-hebrew-month{font-size:27px!important}#calendarSection #calendarTitle{font-size:14px!important}}

/* Calm animated editorial message instead of a redundant cycle-status card. */
.daily-widget.daily-inspiration{position:relative;isolation:isolate;overflow:hidden;min-height:174px;padding:30px 36px;background:linear-gradient(120deg,#f6edf9 0%,#fbf4fa 48%,#f0e4f4 100%);border:1px solid #e7d7ed;border-radius:28px;box-shadow:0 12px 35px -30px #77528d}
.daily-inspiration:before{content:'';position:absolute;z-index:-1;width:250px;height:250px;inset-inline-end:-90px;top:-110px;border-radius:50%;background:radial-gradient(circle,#e9cbe8a6,transparent 70%);animation:inspiration-breathe 8s ease-in-out infinite alternate}
.daily-inspiration .inspiration-eyebrow{display:block;font-size:14px;font-weight:600;letter-spacing:.04em;color:#966fa4;margin-bottom:12px}
.daily-inspiration h2{font-size:clamp(25px,4.5vw,37px);font-weight:700;line-height:1.3;color:#493052;margin:0 0 10px;animation:inspiration-appear .8s ease-out both}
.daily-inspiration p{font-size:18px;line-height:1.6;color:#806b88;margin:0;animation:inspiration-appear 1s .12s ease-out both}
.daily-inspiration .inspiration-heart{position:absolute;inset-inline-end:35px;top:34px;font-size:53px;line-height:1;color:#b985c5;opacity:.7;animation:inspiration-float 6s ease-in-out infinite;pointer-events:none}
@keyframes inspiration-breathe{from{transform:scale(.85);opacity:.6}to{transform:scale(1.2);opacity:1}}
@keyframes inspiration-float{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-8px) rotate(7deg)}}
@keyframes inspiration-appear{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@container app (max-width:700px){.daily-widget.daily-inspiration{padding:26px 25px;min-height:155px}.daily-inspiration .inspiration-heart{inset-inline-end:22px;top:17px;font-size:40px;opacity:.45}.daily-inspiration p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.daily-inspiration:before,.daily-inspiration h2,.daily-inspiration p,.daily-inspiration .inspiration-heart{animation:none!important}}

/* Unboxed kinetic typography: an editorial interlude, not another dashboard card. */
#dailyWidget.daily-editorial{position:relative;display:block;isolation:isolate;overflow:hidden;min-height:250px;padding:34px 8px 36px;margin:0 0 25px;background:transparent;border:0;border-radius:0;box-shadow:none;text-align:start}
.daily-editorial .editorial-kicker{display:block;font-size:14px;font-weight:650;letter-spacing:.025em;color:#a27bac;margin:0 0 18px;animation:editorial-rise .7s both}
.daily-editorial .editorial-headline{font-size:clamp(35px,6vw,66px);font-weight:760;letter-spacing:-.045em;line-height:1.16;margin:0;max-width:none;color:#382443}
.daily-editorial .editorial-line{display:block;max-width:none;animation:editorial-rise .8s both}
.daily-editorial .editorial-line-second{animation-delay:.14s}
.daily-editorial .editorial-accent{position:relative;display:inline-block;color:#9256a6;white-space:nowrap}
.daily-editorial .editorial-accent:after{content:'';position:absolute;right:0;bottom:-8px;width:100%;height:9px;border-bottom:3px solid #d8a4c6;border-radius:50%;transform:rotate(-2deg) scaleX(0);transform-origin:right;animation:editorial-underline .9s .65s ease-out forwards}
.daily-editorial .editorial-bottom{display:flex;align-items:center;gap:13px;margin-top:32px;animation:editorial-rise .8s .35s both}
.daily-editorial .editorial-rule{display:block;width:38px;min-width:38px;height:1px;background:#bb91c2}
.daily-editorial .editorial-bottom p{font-size:16px;line-height:1.5;color:#826d88;margin:0;max-width:none}
.daily-editorial .editorial-ornament{position:absolute;left:5%;top:14%;font-size:82px;line-height:1;color:#c9a1d0;opacity:.55;pointer-events:none;animation:editorial-orbit 12s ease-in-out infinite}
@keyframes editorial-rise{from{opacity:0;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}
@keyframes editorial-underline{to{transform:rotate(-2deg) scaleX(1)}}
@keyframes editorial-orbit{0%,100%{transform:translateY(0) rotate(-12deg) scale(.95)}50%{transform:translateY(-15px) rotate(20deg) scale(1.06)}}
@container app (max-width:700px){#dailyWidget.daily-editorial{min-height:214px;padding:22px 2px 26px;margin-bottom:12px}.daily-editorial .editorial-headline{font-size:clamp(33px,7.8vw,52px)}.daily-editorial .editorial-ornament{font-size:47px;left:2%;top:18%;opacity:.35}.daily-editorial .editorial-bottom{margin-top:26px}.daily-editorial .editorial-bottom p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.daily-editorial .editorial-kicker,.daily-editorial .editorial-line,.daily-editorial .editorial-bottom,.daily-editorial .editorial-ornament{animation:none!important}.daily-editorial .editorial-accent:after{animation:none!important;transform:rotate(-2deg) scaleX(1)}}

:root{--purple:#79409f;--pink:#d15394;--paper:#fff9fd;--soft:#f2e4fa;--line:#ead8ec}
body{background:radial-gradient(ellipse at 95% 12%,#e5c7f488,transparent 50%),radial-gradient(ellipse at 4% 55%,#ffc9e266,transparent 50%),#fff9fd}
#homeScreen .page-heading h1{background:linear-gradient(100deg,#42234f,#9845a7,#d45a9b);-webkit-background-clip:text;background-clip:text;color:transparent}
.month-overview-link{background:linear-gradient(110deg,#fffafe,#f5e4f9 62%,#ffe9f3);border-color:#e3c5e9}
.quick-actions button{background:linear-gradient(155deg,#fffaff,#f9eaf7);border-color:#e5d1e9;transition:transform .2s ease,box-shadow .2s ease}
.quick-actions button:nth-child(2n){background:linear-gradient(155deg,#fff8fb,#f7e6f3)}
.quick-actions button:active{transform:scale(.98)}
.daily-editorial .editorial-accent{background:linear-gradient(95deg,#8d46b1,#d6509a);-webkit-background-clip:text;background-clip:text;color:transparent}
.boot-splash{position:fixed;z-index:9000;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(circle at 70% 30%,#f3d9f6 0,transparent 46%),radial-gradient(circle at 22% 72%,#ffe0ee 0,transparent 48%),#fff9fd;color:#75418e}
.boot-splash img{width:92px;height:92px;object-fit:contain;animation:boot-pulse 2.1s ease-in-out infinite}
.boot-splash-name{font-size:35px;font-weight:700}.boot-splash-caption{font-size:15px;color:#967b9d}
@keyframes boot-pulse{0%,100%{transform:scale(.94);opacity:.8}50%{transform:scale(1.04);opacity:1}}
@media(prefers-reduced-motion:reduce){.boot-splash img{animation:none}}

/* Home v2: editorial typography, compact rhythm, purposeful pink/violet accents. */
#homeScreen .page-heading{margin:8px 0 4px;align-items:center}
#homeScreen .page-heading h1{font-size:clamp(34px,5vw,49px);letter-spacing:-.045em;margin:0;font-weight:730}
#homeScreen .page-heading .eyebrow{font-size:13px;letter-spacing:.02em;color:#9b759e;margin-bottom:5px}
#homeScreen .floating-heart{font-size:42px;color:#d481b2;opacity:.7;padding:0 12px;animation:none}
#dailyWidget.daily-editorial{min-height:0;margin:0 0 21px;padding:20px 0 24px;border:0;border-bottom:1px solid #eadce9;border-radius:0;background:none;box-shadow:none;overflow:visible}
.daily-editorial .editorial-kicker{margin:0 0 10px;color:#a15b9b;font-size:13px;font-weight:700;letter-spacing:.02em;animation:editorial-rise .6s both}
.daily-editorial .editorial-headline{font-size:clamp(30px,5.4vw,53px);line-height:1.19;letter-spacing:-.045em;font-weight:740;margin:0;max-width:none}
.daily-editorial .editorial-line{display:block;animation:editorial-rise .65s both}
.daily-editorial .editorial-line:nth-child(2){animation-delay:.12s}
.daily-editorial .editorial-accent{color:#b84b94;background:linear-gradient(95deg,#8249a4,#d64b96);background-clip:text;-webkit-background-clip:text;color:transparent;white-space:nowrap}
.daily-editorial .editorial-accent:after{bottom:-5px;height:5px;border-bottom:2px solid #d98fb8;animation:editorial-underline .65s .55s ease-out forwards}
.daily-editorial .editorial-bottom{display:block;margin:15px 0 0;font-size:15px;color:#7f7087;line-height:1.5;animation:editorial-rise .7s .23s both}
#homeScreen .quick-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}
#homeScreen .quick-actions button{display:flex;flex-direction:column;gap:8px;min-height:110px;padding:15px 8px;border:1px solid #e7d8e8;border-radius:19px;background:#fff;color:#583462;font-size:16px;font-weight:700;box-shadow:0 8px 25px -25px #7c467d;transition:transform .18s ease,box-shadow .18s ease}
#homeScreen .quick-actions button:first-child{background:#773e8c;color:#fff;border-color:#773e8c}
#homeScreen .quick-actions button:first-child>span{color:#f5c1dc}
#homeScreen .quick-actions button:nth-child(2){background:#fff0f6;border-color:#f2d6e4}
#homeScreen .quick-actions button>span{font-size:28px;line-height:1;color:#b96aaf}
#homeScreen .quick-actions button:active{transform:scale(.97)}
#homeScreen .month-overview-link{padding:16px 20px;margin:0 0 24px;border:1px solid #eadbe9;border-radius:18px;background:#fff;color:#583462;box-shadow:none}
#homeScreen .month-overview-link strong{font-size:19px;font-weight:720}
#homeScreen .month-overview-link small{font-size:14px;color:#827388}
#homeScreen .month-overview-link>span:first-child{font-size:30px;color:#a46baa}
#homeScreen .month-overview-link>b{font-size:22px;color:#a15c9e}
#homeScreen .home-columns .card{border-radius:21px;border-color:#ecdfec;box-shadow:none}
#homeScreen .home-columns .soft-card{background:linear-gradient(130deg,#f7ecf9,#fff1f7)}
@media(max-width:700px){#homeScreen .page-heading{margin:4px 0 0}#homeScreen .page-heading h1{font-size:36px}#homeScreen .floating-heart{font-size:34px}#dailyWidget.daily-editorial{padding:15px 0 19px;margin-bottom:18px}#dailyWidget .editorial-headline{font-size:clamp(31px,7.5vw,44px)}#dailyWidget .editorial-bottom{font-size:14px;margin-top:14px}#homeScreen .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}#homeScreen .quick-actions button{min-height:96px;flex-direction:row;justify-content:flex-start;padding:14px 16px;font-size:16px;gap:12px}#homeScreen .quick-actions button>span{font-size:25px}#homeScreen .month-overview-link{padding:14px 16px}#homeScreen .month-overview-link strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){#dailyWidget .editorial-kicker,#dailyWidget .editorial-line,#dailyWidget .editorial-bottom,#dailyWidget .editorial-accent:after{animation:none!important}#dailyWidget .editorial-accent:after{transform:scaleX(1)}}

/* Interactive affordances: raised actions, unmistakable link rows, restrained expressive motion. */
#homeScreen .quick-actions button{position:relative;cursor:pointer;overflow:hidden;border:1.5px solid #d9bbdf;box-shadow:0 5px 0 #e9d7ed,0 13px 24px -22px #73417b;transform:translateY(0);transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease,filter .18s ease}
#homeScreen .quick-actions button:before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,#ffffff66 48%,transparent 70%);transform:translateX(130%);pointer-events:none}
#homeScreen .quick-actions button:hover:before{animation:action-sheen .7s ease-out}
#homeScreen .quick-actions button:hover{transform:translateY(-3px);box-shadow:0 8px 0 #e9d7ed,0 19px 25px -20px #73417b}
#homeScreen .quick-actions button:active{transform:translateY(4px);box-shadow:0 1px 0 #e9d7ed,0 5px 12px -10px #73417b}
#homeScreen .quick-actions button:first-child{background:linear-gradient(130deg,#693583,#9442a2);box-shadow:0 5px 0 #502565,0 14px 22px -18px #70347d;border-color:#693583}
#homeScreen .quick-actions button:first-child:hover{box-shadow:0 8px 0 #502565,0 18px 22px -16px #70347d}
#homeScreen .quick-actions button:first-child:active{box-shadow:0 1px 0 #502565}
#homeScreen .quick-actions button:nth-child(2){background:linear-gradient(130deg,#fff1f8,#f9dce9);border-color:#eab9d0;box-shadow:0 5px 0 #eec9da}
#homeScreen .quick-actions button:nth-child(2):active{box-shadow:0 1px 0 #eec9da}
#homeScreen .month-overview-link{position:relative;cursor:pointer;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;border:1.5px solid #cda9da;background:linear-gradient(120deg,#fff,#fbf1ff);box-shadow:0 4px 0 #e6d6ed}
#homeScreen .month-overview-link:hover{transform:translateY(-2px);box-shadow:0 6px 0 #e6d6ed;border-color:#aa75c1}
#homeScreen .month-overview-link:active{transform:translateY(3px);box-shadow:0 1px 0 #e6d6ed}
#homeScreen .month-overview-link>b{transition:transform .25s ease}
#homeScreen .month-overview-link:hover>b{transform:translateX(-5px)}
#homeScreen .home-columns .card{background:#fff;box-shadow:0 2px 10px #68477b08}
#homeScreen .home-columns .soft-card{background:linear-gradient(135deg,#f5e8f9,#ffeff5);border-color:#ead3e9}
#homeScreen .page-heading .floating-heart{animation:heart-arrive 1.2s cubic-bezier(.2,.8,.2,1) both}
#dailyWidget .editorial-accent:after{border-bottom-color:#ec77b0}
#homeScreen :is(button,a):focus-visible{outline:3px solid #bd4e9c;outline-offset:4px}
@keyframes action-sheen{to{transform:translateX(-130%)}}
@keyframes heart-arrive{0%{opacity:0;transform:translateY(10px) rotate(-25deg) scale(.7)}100%{opacity:.7;transform:translateY(0) rotate(-12deg) scale(1)}}
@media(prefers-reduced-motion:reduce){#homeScreen .quick-actions button,#homeScreen .month-overview-link,#homeScreen .month-overview-link>b{transition:none}#homeScreen .quick-actions button:hover:before,#homeScreen .page-heading .floating-heart{animation:none}}

/* Calendar date jump */
.jump-date-form{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:14px 0 18px;border-bottom:1px solid #eadde9;margin-bottom:14px}.jump-date-form[hidden]{display:none}.jump-date-form label{font-size:14px;font-weight:600;display:grid;gap:6px}.jump-date-form input{font:inherit;padding:10px;border:1px solid #d5c6d9;border-radius:10px;background:white;color:#42314a;min-height:44px}.jump-date-form button{min-height:44px}#jumpDateButton{white-space:nowrap}@media(max-width:550px){.jump-date-form>*{flex:1 1 100%}.jump-date-form input{width:100%}.calendar-nav{flex-wrap:wrap}}

/* Fixed-cycle markers, notifications, and check acknowledgments */
.notification-bell{position:relative;min-width:44px;min-height:44px;border:1px solid #d8b7e0;border-radius:50%;background:#fff6fd;font-size:23px;cursor:pointer}.notification-bell span{position:absolute;top:-5px;left:-5px;background:#a23478;color:white;border-radius:20px;min-width:20px;padding:2px 5px;font-size:12px}.notification-panel{margin:8px auto;padding:18px;max-width:760px;border:1px solid #e4cce7;border-radius:18px;background:#fff9fe;box-shadow:0 8px 25px #4d205119}.notification-panel[hidden]{display:none}.notification-panel h2{font-size:20px;margin:0 0 12px}.notification-item{padding:12px;border-bottom:1px solid #eedfeb;line-height:1.6}.check-reminder{margin:20px 0;padding:18px;border:1px solid #d8b6e4;border-radius:16px;background:#fff4fc}.check-reminder p{line-height:1.7}.check-reminder button{margin-top:8px}.month-event.reason-fixed,.day-badge.reason-fixed,.chip.reason-fixed{background:#6e3688!important;color:#fff!important;border:2px solid #f3c8df!important;box-shadow:0 0 0 2px #f5e2f2}.calendar-day:has(.reason-fixed){outline:2px solid #8c4aa1;outline-offset:-2px}


/* Source-linked halachic uncertainty markers in calendar cells */
.calendar-day{position:relative}
.halachic-question-marker{position:absolute;top:5px;left:5px;z-index:2;display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#fff4d8;color:#69451b;border:1px solid #ba873a;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 1px 3px #0002}
/* A dedicated left-hand gutter keeps the question icon completely clear of
   the centered Hebrew and Gregorian dates even in seven-column mobile grids. */
#calendarGrid.month .calendar-cell.has-halachic-question .day-numbers{
 box-sizing:border-box;width:100%;padding-left:27px;
}
#calendarGrid.month .halachic-question-marker{
 top:5px;left:2px;width:19px;height:19px;font-size:13px;
}
.halachic-question-marker:focus-visible{outline:3px solid #176f73;outline-offset:2px}
.halachic-question-popup{position:fixed;z-index:9999;box-sizing:border-box;width:min(328px,calc(100vw - 24px));max-height:65vh;overflow:auto;padding:20px 18px 16px;background:#fff;color:#293c3b;border:1px solid #bdc9c5;border-radius:15px;box-shadow:0 10px 35px #0003;text-align:right;direction:rtl;line-height:1.6}
.halachic-question-popup strong{display:block;padding-left:24px;font-size:1.05rem}
.halachic-question-popup p{margin:10px 0}
.halachic-question-popup small{display:block;color:#526866}
.halachic-question-close{position:absolute;top:6px;left:9px;border:0;background:transparent;color:inherit;font-size:25px;cursor:pointer}


/* Simple, accessible Vesta usage guide */
.help-guide{max-width:900px;margin:0 auto;padding:18px 12px 60px;direction:rtl}
.help-guide .help-intro{font-size:1.08rem;line-height:1.85;max-width:65ch}
.help-guide .help-toc{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 28px}
.help-guide .help-toc a{display:inline-block;padding:9px 14px;border-radius:999px;background:#edf5f2;color:#21554f;text-decoration:none;font-weight:600}
.help-guide .card{margin:16px 0;padding:22px;scroll-margin-top:18px}
.help-guide .card h2{margin-top:0}
.help-guide .card p,.help-guide .card li{line-height:1.9}
.help-guide .card li{margin:6px 0}
.help-guide details{border-top:1px solid #dce7e3;padding:12px 0}
.help-guide summary{cursor:pointer;font-weight:700}
.help-guide .help-caution{padding:18px;border:1px solid #e2c58a;border-radius:12px;line-height:1.8}
.help-guide .help-footer{display:flex;flex-wrap:wrap;gap:18px;margin-top:24px}
@media(max-width:600px){.help-guide .card{padding:16px}.help-guide .help-toc a{font-size:.9rem}}

.halachic-question-section+.halachic-question-section{border-top:1px solid #dfe8e5;margin-top:15px;padding-top:15px}
.halachic-question-popup{max-height:75vh}

.notification-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.notification-panel-heading h2{margin:0}.notification-panel-close{appearance:none;border:1px solid #d9c7db;border-radius:50%;background:transparent;color:#65436f;width:38px;height:38px;display:grid;place-items:center;font-size:29px;line-height:1;cursor:pointer;flex:none}.notification-panel-close:focus-visible{outline:2px solid #78438e;outline-offset:3px}

/* Keep the original icon compact and prevent the mobile header from widening the page. */
.site-header .brand{min-width:0;flex-shrink:1}
.site-header .brand img{width:50px;height:50px;max-width:none;flex-shrink:0;object-fit:contain}
.site-header .brand strong{white-space:nowrap}
.site-header .accountbar{min-width:0;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:600px){.site-header{padding:16px 14px;gap:8px}.site-header .brand{gap:6px}.site-header .brand img{width:38px;height:38px}.site-header .brand strong{font-size:26px}.site-header .accountbar{gap:6px;font-size:14px}.site-header #logout{padding:7px 10px}}


/* Mobile viewport containment: prevent the app shell and its grid children from expanding the page. */
html{width:100%;max-width:100%;overflow-x:clip}
body{width:100%;max-width:100%;min-width:0;overflow-x:clip}
.app-shell{width:100%;max-width:100%;min-width:0;overflow-x:clip}
#mainContent,#welcome,#journal,.screen,.welcome-copy,.home-columns,.quick-actions,.page-heading,.site-header{min-width:0;max-width:100%}
.quick-actions>button,.home-columns>*,.site-header>*{min-width:0}
@media(max-width:600px){.site-header{width:100%;box-sizing:border-box;flex-wrap:nowrap}.site-header .brand{flex:0 1 auto;min-width:0}.site-header .brand img{width:38px;height:38px}.site-header .brand strong{font-size:24px}.site-header .accountbar{flex:0 1 auto;min-width:0}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.home-columns{grid-template-columns:minmax(0,1fr)}}



/* Clean vector viewport crops: no clipping artifacts, oversized heart and small adjacent wordmark. */
.site-header .brand{gap:2px;display:flex;align-items:center}
.site-header .brand>svg{display:block;flex:none;border:0!important;padding:0!important;margin:0!important;background:none!important;overflow:hidden}
.site-header .brand .brand-heart{width:83px;height:73px}
.site-header .brand .brand-wordmark{width:99px;height:36px}
.boot-heart{display:block;width:112px;height:98px;overflow:hidden;animation:boot-pulse 2.1s ease-in-out infinite}
.boot-wordmark{display:block;width:132px;height:43px;overflow:hidden}
.welcome-heart{display:block;width:145px;height:145px;overflow:hidden;margin:26px 100px 0 0;transform:rotate(-12deg);animation:float-heart 8s ease-in-out infinite}
@media(max-width:600px){.site-header .brand .brand-heart{width:62px;height:55px}.site-header .brand .brand-wordmark{width:76px;height:28px}}
@media(prefers-reduced-motion:reduce){.boot-heart,.welcome-heart{animation:none}}

/* Seam-free artwork over gradient surfaces: original PNG has a near-white matte. */
.site-header .brand>svg,.boot-heart,.boot-wordmark,.welcome-heart{mix-blend-mode:multiply;isolation:auto}
/* Give the gradient headline's Hebrew glyphs room at both inline edges. */
#homeScreen .hero h1,#homeScreen .hero-title,#homeScreen .welcome-heading{overflow:visible;line-height:1.25;padding-inline:0.12em}

/* Fix actual home heading (not the editorial hero): protect the first Hebrew glyph. */
#homeScreen .page-heading h1{display:block;max-width:none;width:max-content;overflow:visible;padding:0;margin:0;white-space:nowrap}

/* Preserve one-line desktop greeting; allow normal responsive wrapping on narrow screens. */
#homeScreen .page-heading>div{flex:1 1 auto;min-width:0}
#homeScreen .page-heading h1{font-size:clamp(34px,4vw,49px);line-height:1.35;letter-spacing:-.035em;white-space:nowrap;max-width:none}
@media(max-width:600px){#homeScreen .page-heading h1{font-size:clamp(28px,8vw,36px);white-space:normal;width:auto}}

/* Official brand header: original heart image, compact text, no SVG cropping. */
.site-header .brand{display:inline-flex;flex-direction:row;align-items:center;gap:4px;white-space:nowrap;flex:none}
.site-header .brand .brand-heart-official{display:block;width:74px;height:74px;object-fit:contain;flex:none;mix-blend-mode:normal;background:none;border:0}
.site-header .brand .brand-name{display:block;font-size:26px;line-height:1;font-weight:800;color:#b95091;letter-spacing:-.04em;white-space:nowrap;border:0}
@media(max-width:600px){.site-header .brand .brand-heart-official{width:54px;height:54px}.site-header .brand .brand-name{font-size:22px}}

/* Official Vesta branding: the heart is the primary logo; the name is a small companion. */
.site-header .brand{display:inline-flex;align-items:center;gap:5px;flex-direction:row;white-space:nowrap}
.site-header .brand .brand-heart-official{display:block;width:74px;height:74px;object-fit:contain;flex:none}
.site-header .brand .brand-name{display:inline-block!important;border:0!important;margin:0!important;padding:0!important;font:700 22px/1.2 Heebo,Assistant,sans-serif;color:#bf528f;white-space:nowrap}
@media(max-width:700px){.site-header .brand .brand-heart-official{width:57px;height:57px}.site-header .brand .brand-name{font-size:18px}}
/* Keyboard focus and minimum usable target size for the accessibility widget. */
.a11y-tools :is(button,summary,a):focus-visible{outline:3px solid #44205f;outline-offset:3px}

/* Accessible disclosure menu: keyboard, touch, and narrow screens. */
.a11y-tools{position:relative;z-index:25}
.a11y-menu{position:relative;min-width:116px}
.a11y-menu>summary{display:list-item;cursor:pointer;min-height:44px;line-height:44px;touch-action:manipulation}
.a11y-menu[open]{max-width:min(360px,calc(100vw - 32px));box-shadow:0 12px 32px #40204a24}
.a11y-menu .a11y-heading{font-size:18px;line-height:1.4;margin:4px 0 12px}
.a11y-menu button{min-height:44px;text-align:center;white-space:normal}
.a11y-menu a{display:inline-block;min-height:44px;line-height:1.5;padding-block:9px}
@media(max-width:700px){.a11y-tools{padding-inline:20px}.a11y-menu[open]{max-width:calc(100vw - 40px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}

/* Restore the original hand-drawn wordmark; never substitute a system font. */
.site-header .brand{display:inline-flex;flex-direction:row;align-items:center;gap:3px;white-space:nowrap}
.site-header .brand .brand-heart-official{width:74px;height:74px;object-fit:contain;flex:none}
.site-header .brand .brand-lettering{display:block!important;width:103px;height:37px;flex:none;overflow:hidden;border:0!important;background:none!important;padding:0!important;margin:0!important;mix-blend-mode:multiply}
@media(max-width:700px){.site-header .brand .brand-heart-official{width:57px;height:57px}.site-header .brand .brand-lettering{width:82px;height:30px}}

/* Floating accessibility control: isolated from page layout and mobile navigation. */
.a11y-tools.a11y-floating{position:fixed!important;inset:auto auto 24px 24px!important;z-index:10000!important;display:block!important;width:auto!important;max-width:none!important;padding:0!important;margin:0!important;overflow:visible!important;direction:rtl}
.a11y-floating .a11y-trigger{display:grid;place-items:center;width:58px;height:58px;min-width:58px;min-height:58px;padding:0;border:2px solid #fff;border-radius:50%;color:#fff;background:linear-gradient(145deg,#8b4ca8,#673b91);box-shadow:0 5px 20px #58307745;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.a11y-floating .a11y-trigger:hover{transform:translateY(-2px);box-shadow:0 8px 24px #58307760}
.a11y-floating .a11y-trigger:focus-visible{outline:3px solid #311144;outline-offset:4px}
.a11y-floating .a11y-panel{position:absolute;bottom:70px;left:0;width:min(320px,calc(100vw - 32px));max-height:min(75vh,560px);overflow:auto;box-sizing:border-box;background:#fff;border:1px solid #dac3e5;border-radius:20px;padding:20px;box-shadow:0 12px 44px #43234d38;color:#2d1938}
.a11y-floating .a11y-panel[hidden]{display:none!important}
.a11y-floating .a11y-heading{font-size:20px;margin:0 0 12px;line-height:1.4}
.a11y-floating .a11y-panel button{display:block;width:100%;min-height:44px;margin:8px 0;padding:10px 12px;font-size:16px;border-radius:12px}
.a11y-floating .a11y-panel button[aria-pressed=true]{border:2px solid #633183;background:#f0e4f5;color:#321344}
.a11y-floating .a11y-panel a{display:inline-block;padding:8px 0;color:#51246d;text-decoration:underline}
.a11y-floating .a11y-panel :is(button,a):focus-visible{outline:3px solid #482164;outline-offset:3px}
@media(max-width:700px){.a11y-tools.a11y-floating{bottom:calc(88px + env(safe-area-inset-bottom))!important;left:14px!important}.a11y-floating .a11y-trigger{width:54px;height:54px;min-width:54px;min-height:54px}.a11y-floating .a11y-panel{bottom:66px}}
@media(prefers-reduced-motion:reduce){.a11y-floating .a11y-trigger{transition:none}}
/* Optional reading aids: never change account data or calculation settings. */
html[data-readable-font=true] body,html[data-readable-font=true] :is(button,input,select,textarea){font-family:Arial,sans-serif!important}
html[data-text-spacing=true] :is(p,li,label,small,.field-help,.detail-event,.entry){line-height:1.8!important;word-spacing:.12em!important;letter-spacing:.03em!important}
html[data-underline-links=true] a{text-decoration:underline!important;text-underline-offset:.2em!important}
html[data-hide-images=true] :is(img,.brand-lettering,.welcome-heart,.boot-heart,.boot-wordmark){visibility:hidden!important}
html[data-reduce-motion=true] *,html[data-reduce-motion=true] *::before,html[data-reduce-motion=true] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.a11y-floating .a11y-panel .a11y-close{margin:0 0 12px;border:1px solid #6b4580;background:#fff;color:#382443;min-height:44px}
.a11y-floating .a11y-panel p{font-size:16px;line-height:1.6;color:#53465b}
.a11y-floating .a11y-panel button{white-space:normal;overflow-wrap:anywhere}

/* Keep the floating accessibility control clear of footer legal links. */
.a11y-tools.a11y-floating{bottom:112px!important;left:24px!important}
@media(max-width:700px){.a11y-tools.a11y-floating{bottom:calc(112px + env(safe-area-inset-bottom))!important;left:14px!important}}
.a11y-floating .a11y-trigger{position:relative}
.a11y-floating .a11y-trigger::after{content:'נגישות';position:absolute;left:calc(100% + 9px);top:50%;transform:translateY(-50%);background:#fff;color:#482164;border:1px solid #dac3e5;border-radius:9px;padding:5px 9px;font:600 13px/1.3 Assistant,Arial,sans-serif;white-space:nowrap;box-shadow:0 3px 12px #43234d1c;opacity:0;pointer-events:none;transition:opacity .12s ease}
.a11y-floating .a11y-trigger:is(:hover,:focus-visible)::after{opacity:1}


/* Approved navigation for desktop and mobile. */
.app-nav.nav-modern{width:max-content;max-width:calc(100% - 32px);margin-inline:auto;padding:7px;gap:4px;justify-content:center;border:1px solid var(--line);border-radius:23px;background:#fffdfd;box-shadow:0 10px 30px -12px #59316e12;backdrop-filter:none}
.app-nav.nav-modern a{gap:8px;min-height:48px;padding:11px 17px;border-radius:16px;color:#695675;font-size:16px;font-weight:600;white-space:nowrap;transition:background .16s,color .16s}
.app-nav.nav-modern a>span{display:none}
.app-nav.nav-modern a .nav-icon{display:block!important;width:20px;height:20px;flex-shrink:0;stroke-width:1.7}
.app-nav.nav-modern a:hover{background:var(--paper);color:var(--purple)}
.app-nav.nav-modern a[aria-current=page]{background:#efe4f6;color:#70438e}
@media(max-width:700px){
 .app-nav.nav-modern{position:fixed;top:auto;bottom:calc(12px + env(safe-area-inset-bottom));inset-inline:12px;width:calc(100% - 24px);max-width:390px;margin-inline:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:5px;border:1px solid var(--line);border-radius:23px;background:#fffdfd;box-shadow:0 8px 30px #59316e12}
 .app-nav.nav-modern a{min-width:0;min-height:66px;padding:8px 2px;gap:6px;flex-direction:column;border-radius:16px;font-size:13px;white-space:normal;text-align:center}
 .app-nav.nav-modern a .nav-icon{width:21px;height:21px}
}
@media(prefers-reduced-motion:reduce){.app-nav.nav-modern a{transition:none}}

/* Approved home heading alignment. */
#homeScreen .page-heading{position:relative;justify-content:center}
#homeScreen .page-heading>div{width:100%;text-align:center}
#homeScreen .page-heading h1{margin-inline:auto;max-width:100%;text-align:center}
#homeScreen .page-heading .floating-heart{position:absolute;inset-inline-end:0;top:50%;transform:translateY(-50%) rotate(-12deg)}
#homeScreen #dailyWidget.daily-editorial{text-align:center}
#homeScreen #dailyWidget .editorial-headline{text-align:center}
#homeScreen #dailyWidget .editorial-kicker,
#homeScreen #dailyWidget .editorial-bottom{margin-inline:auto;text-align:center}

/* Approved single-line editorial title. */
#homeScreen #dailyWidget .editorial-headline{display:flex;justify-content:center;align-items:baseline;gap:.2em;width:100%;padding-inline:0;margin-inline:0;white-space:nowrap;font-size:clamp(20px,5cqi,53px)}
#homeScreen #dailyWidget .editorial-line{display:inline}
#homeScreen #dailyWidget .editorial-line+.editorial-line::before{content:none}

/* Approved compact lower home cards. */
#homeScreen .home-columns{align-items:start;gap:18px}
#homeScreen .home-columns>.card{padding:18px 22px;min-height:0}
#homeScreen .home-columns h2{font-size:23px;margin-bottom:8px}
#homeScreen .home-columns .section-title{margin-bottom:4px;gap:12px}
#homeScreen .home-columns .section-title h2{margin:0}
#homeScreen .home-columns .upcoming-row{padding:9px 0;gap:12px}
#homeScreen .home-columns .upcoming-row strong{font-size:17px}
#homeScreen .home-columns .upcoming-row small{font-size:14px;margin-top:2px}
#homeScreen .home-columns .event-dot{height:28px;width:10px}
#homeScreen .home-columns .soft-card p{font-size:16px;line-height:1.65;margin:8px 0}
#homeScreen .home-columns .soft-card .secondary-link{font-size:16px;padding-block:8px;min-height:44px}
@media(max-width:700px){#homeScreen .home-columns>.card{padding:17px 18px}}

/* Approved opaque mobile navigation base. */
.nav-bottom-backdrop{display:none}
@media(max-width:700px){.nav-bottom-backdrop{display:block;position:fixed;inset-inline:0;bottom:0;height:calc(90px + env(safe-area-inset-bottom));background:var(--paper);z-index:19;pointer-events:none}}

/* Approved compact login layout. */
body:has(#welcome:not([hidden])) .site-header{justify-content:center;padding:24px 20px 12px}
body:has(#welcome:not([hidden])) main{padding:12px 20px 32px}
body:has(#welcome:not([hidden])) #welcome{display:block;max-width:440px;margin:12px auto 28px}
body:has(#welcome:not([hidden])) .welcome-copy{display:none}
body:has(#welcome:not([hidden])) #authPanel{width:100%;padding:30px 24px 22px;text-align:center;border-radius:24px;background:#fffdfef5;box-shadow:0 12px 40px -30px #71479040}
body:has(#welcome:not([hidden])) #authTitle{font-size:clamp(26px,6.6vw,32px);line-height:1.35;letter-spacing:-.6px;margin:0 0 8px}
body:has(#welcome:not([hidden])) #authPanel>p{font-size:17px;line-height:1.6;margin:0;color:var(--muted)}
body:has(#welcome:not([hidden])) #authPanel #googleButton{margin:26px 0 14px;min-height:44px}
body:has(#welcome:not([hidden])) #passwordLogin{border-top:1px solid var(--line);padding-top:10px;margin-top:14px}
body:has(#welcome:not([hidden])) #passwordLogin>summary{font-size:15px;line-height:1.5;padding:12px 0;min-height:44px}
body:has(#welcome:not([hidden])) #authForm{text-align:start}
body:has(#welcome:not([hidden])) #authPanel .privacy{font-size:13px!important;line-height:1.6;margin-top:18px}
body:has(#welcome:not([hidden])) #authPanel>.quiet-link{display:block;margin:12px 0 0;padding:12px 0 0;border-top:1px solid var(--line);font-size:15px;min-height:44px}

/* Reading modes must override component styles, not just change root variables. */
html[data-large-text=true] :is(p,label,input,select,textarea,button,summary,.field-help){font-size:22px!important}
html[data-large-text=true] :is(small,.chip,.day-badge,.upcoming-row strong){font-size:19px!important}
html[data-large-text=true] :is(.month-event-title,.month-event-onah,.onah-label){font-size:16px!important}
html[data-large-text=true] .a11y-panel :is(button,p,small){font-size:18px!important}
html[data-high-contrast=true] body{background:#fff!important;color:#111!important}
html[data-high-contrast=true] :is(.card,.soft-card,.app-nav,.a11y-panel,.notification-panel,.note-card,.calendar-day,.editorial-card,.editorial-hero,.calendar-state-notice,dialog){background:#fff!important;border-color:#111!important;box-shadow:none!important}
html[data-high-contrast=true] :is(h1,h2,h3,p,small,a,summary,label,span,strong,b){color:#111!important;-webkit-text-fill-color:currentColor!important}
html[data-high-contrast=true] :is(input,select,textarea){background:#fff!important;color:#111!important;border-color:#111!important}
html[data-high-contrast=true] :is(button,.primary){background:#111!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#111!important}
html[data-high-contrast=true] :is(button,.primary) *{color:inherit!important;-webkit-text-fill-color:inherit!important}
html[data-high-contrast=true] :is(.calendar-day.outside,.month-event-onah){opacity:1!important}
html[data-high-contrast=true] :is(.editorial-headline,.editorial-headline em,#homeScreen h1){background:none!important;-webkit-text-fill-color:#111!important}


.calendar-cell{position:relative;display:flex;min-width:0}
.calendar-cell>.calendar-day{width:100%;height:100%}
.calendar-day .day-numbers small{color:#66506f}
.calendar-day.outside{opacity:1!important;background:#f5f1f7!important}

html{scroll-padding-block:90px 160px}
:is(input,select,textarea,button,a,summary){scroll-margin-block:90px 160px}

/* Default-mode contrast fixes: reading must not require opening an overlay. */
:root{--muted:#66536f}
#homeScreen #homeDate{color:#76517e}
#homeScreen .editorial-kicker{color:#92377f}
#homeScreen .editorial-bottom{color:#66506f}
#homeScreen .month-overview-link small,#calendarSection #calendarSubtitle{color:#66506f}
.calendar-day.outside .day-numbers b{color:#66506f}
.tabs button{color:#6b507a}
.site-footer a{color:#634276}
#homeScreen .page-heading h1{background-image:linear-gradient(110deg,#743783,#b43a8e)}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:#8b719b}

/* Compact, centered desktop calendar; natural row height keeps every event visible. */
@container app (min-width:901px){
 #calendarScreen{max-width:1280px;margin-inline:auto}
 #calendarScreen .calendar-card{padding:18px}
 #calendarGrid.month .calendar-day{min-height:142px;padding:9px 6px;gap:5px}
 #calendarGrid.month .month-events{gap:3px}
 #calendarGrid.month .month-event{min-height:34px;padding:4px 3px;font-size:14px}
 #calendarGrid.month .month-event-onah{font-size:12px}
 #calendarGrid.month .day-numbers{gap:3px}
 #calendarGrid.month .day-numbers b{font-size:20px}
 #calendarGrid.month .day-numbers small{font-size:14px}
}

/* Small, isolated encouragement in secondary spaces; no ticker or controls. */
.quiet-encouragement{max-width:34ch;margin:28px auto 14px;padding:8px 14px;text-align:center;color:#795184;font-size:17px;line-height:1.65;font-weight:500;animation:quiet-encouragement-in 1.2s ease-out both}
#homeScreen .soft-card .quiet-encouragement{margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}
@keyframes quiet-encouragement-in{from{transform:translateX(-16px)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.quiet-encouragement{animation:none}}
html[data-reduce-motion=true] .quiet-encouragement{animation:none!important}
html[data-high-contrast=true] .quiet-encouragement{color:#111}
html[data-large-text=true] .quiet-encouragement{font-size:21px}


/* Vesta approved home hero 2026-11-03 — isolated layout/motion */
:root,body,button,input,select,textarea{font-family:Heebo,Arial,sans-serif}
#homeScreen{font-family:Heebo,Arial,sans-serif}
#homeScreen .page-heading{display:flex!important;margin:7px auto 12px!important;max-width:1080px;justify-content:stretch!important}
#homeScreen .page-heading>div{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:12px;width:100%!important;text-align:right!important}
#homeScreen .page-heading h1{order:0!important;flex:0 1 auto;font-family:Heebo,Arial,sans-serif!important;font-size:clamp(20px,2.3vw,27px)!important;font-weight:700!important;letter-spacing:-.025em!important;line-height:1.25!important;margin:0!important;color:#382443!important;background:none!important;-webkit-text-fill-color:currentColor!important}
#homeScreen .page-heading #homeDate{order:1!important;flex:0 0 auto;padding:7px 14px!important;border:1px solid #ead5ec;border-radius:999px;background:#fffafd;color:#76517e;font-size:13px!important;font-weight:550!important}
#homeScreen .page-heading .floating-heart{display:none!important}
#homeScreen #dailyWidget.vesta-approved-hero{
 position:relative!important;isolation:isolate;overflow:hidden;
 width:100%;max-width:1080px;min-height:260px;margin:0 auto 23px!important;
 padding:45px clamp(30px,6vw,80px)!important;
 border:1px solid #7e4a9c!important;border-radius:31px!important;
 background:linear-gradient(130deg,#34143e 5%,#592269 58%,#703184 100%)!important;
 box-shadow:0 19px 34px -18px #4e1b6291,inset 0 1px #ffffff22!important;
 text-align:right!important;display:flex!important;flex-direction:column!important;
 align-items:flex-start!important;justify-content:center!important;gap:8px!important;
 color:#fff!important;
}
#homeScreen #dailyWidget.vesta-approved-hero::before{
 content:"";position:absolute;z-index:-1;left:-80px;bottom:-150px;width:350px;height:350px;
 background:radial-gradient(circle,#c16db570 0%,#a3448d2e 44%,transparent 73%);
 pointer-events:none;
}
#homeScreen .vesta-approved-hero .hero-orbits{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none}
#homeScreen .vesta-approved-hero .hero-orbit{
 position:absolute;left:-140px;bottom:-214px;border:1px solid #e5badf55;border-radius:50%;
 width:410px;height:410px;animation:vesta-orbit-drift 13s ease-in-out infinite alternate;
 transform-origin:50% 50%;will-change:transform;
}
#homeScreen .vesta-approved-hero .hero-orbit-2{width:315px;height:315px;left:-92px;bottom:-167px;border-color:#e5badf38;animation-duration:17s;animation-delay:-5s}
#homeScreen .vesta-approved-hero .hero-orbit-3{width:220px;height:220px;left:-45px;bottom:-115px;border-color:#f3c3e761;background:radial-gradient(circle,#e8a6d927,transparent 70%);animation-duration:11s;animation-delay:-8s}
@keyframes vesta-orbit-drift{0%{transform:translate3d(-6px,6px,0) scale(.985)}50%{transform:translate3d(13px,-8px,0) scale(1.045)}100%{transform:translate3d(-5px,-16px,0) scale(1.01)}}
#homeScreen #dailyWidget.vesta-approved-hero .editorial-headline{
 display:flex!important;flex-direction:column!important;align-items:flex-start!important;
 justify-content:center!important;gap:0!important;margin:0!important;padding:0!important;
 width:auto!important;max-width:100%!important;min-height:0!important;text-align:right!important;
 color:#fff!important;font-family:Heebo,Arial,sans-serif!important;
 font-size:clamp(35px,4.6vw,62px)!important;line-height:1.1!important;
 letter-spacing:-.038em!important;font-weight:760!important;white-space:normal!important;
 animation:none!important;
}
#homeScreen .vesta-approved-hero .editorial-line{display:block!important;white-space:normal!important;color:#fff!important;animation:none!important}
#homeScreen .vesta-approved-hero .editorial-line::before{content:none!important}
#homeScreen .vesta-approved-hero .editorial-accent{
 position:relative!important;width:max-content;max-width:100%;
 color:#f4bce4!important;background:none!important;-webkit-text-fill-color:#f4bce4!important;
 animation:none!important;
}
#homeScreen .vesta-approved-hero .editorial-accent::after{
 content:""!important;position:absolute!important;left:1%!important;bottom:-8px!important;
 height:13px!important;width:99%!important;border:0!important;
 background:no-repeat center/100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 14' preserveAspectRatio='none'%3E%3Cpath d='M2 10.5 Q157 5.7 318 9.1' fill='none' stroke='%23f3bee3' stroke-width='2.3' stroke-linecap='round'/%3E%3C/svg%3E")!important;
 transform:none!important;animation:none!important;
}
#homeScreen #dailyWidget.vesta-approved-hero .editorial-bottom{
 display:block!important;align-self:flex-start!important;margin:22px 0 0!important;padding:0!important;
 width:auto!important;max-width:100%!important;line-height:1.5!important;text-align:right!important;
 color:#f2d6ed!important;font-size:clamp(15px,1.8vw,19px)!important;
 font-weight:400!important;animation:none!important;
}
#homeScreen .quick-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:930px;margin:0 auto 20px!important;gap:12px 16px!important}
#homeScreen .quick-actions button{
 background:linear-gradient(145deg,#fff9fc,#f6eafa)!important;color:#382443!important;
 border:1px solid #fff!important;border-radius:21px!important;
 min-height:79px!important;padding:15px 18px!important;flex-direction:row!important;
 font-family:Heebo,Arial,sans-serif!important;font-size:19px!important;font-weight:650!important;
 box-shadow:0 9px 18px #8c4ca025,0 3px 0 #b66ec31b,inset 0 2px 0 #fff!important;
 transform:none!important;transition:top .2s ease,box-shadow .2s ease!important;position:relative;top:0;
}
#homeScreen .quick-actions button:first-child{background:linear-gradient(145deg,#fff6fb,#fbe8f3)!important}
#homeScreen .quick-actions button>span{font-size:26px!important;font-weight:400!important;color:#ba4baf!important}
@media(hover:hover) and (pointer:fine){
 #homeScreen .quick-actions button:hover{top:-3px!important;transform:none!important;box-shadow:0 15px 23px #8c4ca02e,0 3px 0 #b66ec31b,inset 0 2px 0 #fff!important}
}
#homeScreen .month-overview-link{
 max-width:1080px;margin:0 auto 16px!important;border:1px solid #dcb9e4!important;border-radius:22px!important;
 background:linear-gradient(130deg,#fffaff,#f5e6fa)!important;box-shadow:0 4px 0 #e6d6ed!important;
}
#homeScreen .home-columns{max-width:1080px;margin-inline:auto;grid-template-columns:1fr 1fr;gap:18px}
#homeScreen .home-columns>.card{background:#fffdfef9!important;border:1px solid #eee0ee!important;border-radius:22px!important;box-shadow:0 8px 18px #7c3f8d12!important}
#homeScreen .home-columns>.soft-card{background:linear-gradient(130deg,#fffafd,#fbeef7)!important}
@media(max-width:700px){
 #homeScreen .page-heading{margin:5px 0 10px!important}
 #homeScreen .page-heading>div{flex-wrap:nowrap!important}
 #homeScreen .page-heading h1{font-size:20px!important;white-space:nowrap}
 #homeScreen .page-heading #homeDate{font-size:11px!important;padding:6px 9px!important}
 #homeScreen #dailyWidget.vesta-approved-hero{min-height:235px!important;padding:29px 23px 32px!important;border-radius:25px!important;margin-bottom:22px!important}
 #homeScreen #dailyWidget.vesta-approved-hero .editorial-headline{font-size:clamp(30px,7.8vw,43px)!important}
 #homeScreen #dailyWidget.vesta-approved-hero .editorial-bottom{font-size:13px!important;margin-top:22px!important}
 #homeScreen .vesta-approved-hero .hero-orbit{left:-155px;bottom:-235px;width:370px;height:370px}
 #homeScreen .vesta-approved-hero .hero-orbit-2{left:-105px;bottom:-185px;width:280px;height:280px}
 #homeScreen .vesta-approved-hero .hero-orbit-3{left:-50px;bottom:-126px;width:190px;height:190px}
 #homeScreen .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 #homeScreen .quick-actions button{min-height:94px!important;flex-direction:column!important;justify-content:center!important;padding:9px 8px!important;font-size:15px!important;gap:4px!important}
 #homeScreen .quick-actions button>span{font-size:24px!important}
 #homeScreen .home-columns{grid-template-columns:1fr!important;gap:12px}
 #homeScreen .home-columns>.card:first-child{order:0}
 #homeScreen .home-columns>.card:last-child{order:1}
}
@media(prefers-reduced-motion:reduce){#homeScreen .vesta-approved-hero .hero-orbit{animation:none!important}}
html[data-reduce-motion=true] #homeScreen .vesta-approved-hero .hero-orbit{animation:none!important}

/* Keep the approved components responsive to the existing reading controls. */
html[data-large-text=true] #homeScreen #dailyWidget.vesta-approved-hero .editorial-bottom{font-size:22px!important}
html[data-large-text=true] #homeScreen .quick-actions button{font-size:22px!important}
html[data-high-contrast=true] #homeScreen #dailyWidget.vesta-approved-hero{background:#fff!important;border-color:#111!important;box-shadow:none!important}
html[data-high-contrast=true] #homeScreen .vesta-approved-hero :is(.editorial-headline,.editorial-line,.editorial-bottom){color:#111!important;-webkit-text-fill-color:#111!important}
html[data-high-contrast=true] #homeScreen .quick-actions button{background:#111!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#111!important}
html[data-high-contrast=true] #homeScreen .quick-actions button *{color:inherit!important;-webkit-text-fill-color:inherit!important}

/* Approved check-result choices: same card, three balanced choices and separate review action. */
#dayScreen .check-reminder:has(>button[data-check-outcome]){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:7px;row-gap:8px;align-items:stretch}
#dayScreen .check-reminder:has(>button[data-check-outcome])>strong,#dayScreen .check-reminder:has(>button[data-check-outcome])>p{grid-column:1/-1}
#dayScreen .check-reminder:has(>button[data-check-outcome])>button[data-check-outcome]{min-width:0;margin:0;min-height:62px;padding:9px 6px;border-radius:14px;white-space:normal;font-family:Heebo,Arial,sans-serif;font-size:clamp(12px,3.6vw,16px);line-height:1.35;font-weight:650;box-shadow:none}
#dayScreen .check-reminder:has(>button[data-check-outcome])>button[data-check-outcome="clean"]{background:linear-gradient(125deg,#794594,#98528f);color:#fff;border:1px solid #86529a}
#dayScreen .check-reminder:has(>button[data-check-outcome])>button[data-check-outcome="not_clean"]{background:#f9d7e3;color:#923750;border:1px solid #efacc1}
#dayScreen .check-reminder:has(>button[data-check-outcome])>button[data-check-outcome="missed"]{background:#ece5f3;color:#684a75;border:1px solid #ddd0e7}
#dayScreen .check-reminder:has(>button[data-check-outcome])>button[data-check-outcome="uncertain"]{grid-column:2/4;min-height:43px;background:#f7eef8;color:#775f84;border:1px solid #ebddeb}
#dayScreen .check-reminder:has(>button[data-check-outcome])>button[data-check-outcome]:disabled{opacity:.8;box-shadow:inset 0 0 0 2px #ffffffa8}
#withdrawalCheckPrompt button[data-check-outcome]{margin:5px 4px;min-height:44px}
#withdrawalCheckPrompt button[data-check-outcome="not_clean"]{background:#f9d7e3;color:#923750;border-color:#efacc1}
@media(max-width:410px){#dayScreen .check-reminder:has(>button[data-check-outcome]){padding:14px;column-gap:5px}#dayScreen .check-reminder:has(>button[data-check-outcome])>button[data-check-outcome]{font-size:12px;padding:8px 4px}}


/* Home-only: restore approved visible motion and modern notification bell. */
.notification-bell{display:inline-flex;align-items:center;justify-content:center;color:#8651a1;background:linear-gradient(145deg,#fffaff,#f6eafa);border:1px solid #e6d3ed;box-shadow:0 3px 9px #75468b12;font-size:inherit}
.notification-bell-icon{width:23px;height:23px;display:block;flex-shrink:0}
#homeScreen .vesta-approved-hero .hero-orbits{z-index:0;opacity:1}
#homeScreen #dailyWidget.vesta-approved-hero :is(.editorial-headline,.editorial-bottom){position:relative;z-index:1}
#homeScreen .vesta-approved-hero .hero-orbit{border-width:2px;border-color:#f1c5e388}
#homeScreen .vesta-approved-hero .hero-orbit-2{border-color:#edb7e078}
#homeScreen .vesta-approved-hero .hero-orbit-3{border-color:#f9c8e69c}
#homeScreen .quick-actions button>span[aria-hidden="true"]{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;transform-origin:center;animation:vesta-quick-icon-breathe 4.8s ease-in-out infinite}
#homeScreen .quick-actions button:nth-child(2)>span[aria-hidden="true"]{animation-delay:-1.2s}
#homeScreen .quick-actions button:nth-child(3)>span[aria-hidden="true"]{animation-delay:-2.4s}
#homeScreen .quick-actions button:nth-child(4)>span[aria-hidden="true"]{animation-delay:-3.6s}
@keyframes vesta-quick-icon-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.08)}}
@media(prefers-reduced-motion:reduce){#homeScreen .quick-actions button>span[aria-hidden="true"]{animation:none!important}}
html[data-reduce-motion=true] #homeScreen .quick-actions button>span[aria-hidden="true"]{animation:none!important}

/* Four home quick actions: vector icons, smooth motion, existing cards unchanged. */
#homeScreen .quick-actions button>span[aria-hidden="true"] .quick-icon{display:block;width:30px;height:30px;overflow:visible;stroke:currentColor;stroke-width:1.8;filter:drop-shadow(0 2px 2px #ad6bab20)}
#homeScreen .quick-actions button[data-kind="period"] .quick-icon{color:#ba4b86}
#homeScreen .quick-actions button[data-kind="bleeding_end"] .quick-icon{color:#9565af}
#homeScreen .quick-actions button[data-kind="hefsek"] .quick-icon{color:#8c5bb1}
#homeScreen .quick-actions button[data-kind="check"] .quick-icon{color:#b45d98}
#homeScreen .quick-actions button .quick-icon .icon-drop{transform-origin:center;animation:vesta-icon-drop 4.7s ease-in-out infinite}
#homeScreen .quick-actions button .quick-icon .icon-shine{animation:vesta-icon-sheen 4.7s ease-in-out infinite}
#homeScreen .quick-actions button .quick-icon-end .icon-line{stroke-dasharray:17;animation:vesta-icon-line 4.7s ease-in-out infinite}
#homeScreen .quick-actions button .quick-icon .icon-check{stroke-dasharray:23;animation:vesta-icon-check 4.7s ease-in-out infinite}
#homeScreen .quick-actions button .quick-icon-hefsek .icon-ring{transform-origin:center;animation:vesta-icon-ring 4.7s ease-in-out infinite}
@keyframes vesta-icon-drop{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@keyframes vesta-icon-sheen{0%,100%{opacity:.38}50%{opacity:1}}
@keyframes vesta-icon-line{0%,15%,100%{stroke-dashoffset:0}55%{stroke-dashoffset:17}}
@keyframes vesta-icon-check{0%,15%,100%{stroke-dashoffset:0}45%{stroke-dashoffset:23}70%{stroke-dashoffset:0}}
@keyframes vesta-icon-ring{0%,100%{transform:scale(1)}50%{transform:scale(1.055)}}
@media(prefers-reduced-motion:reduce){#homeScreen .quick-actions .quick-icon *{animation:none!important}}
html[data-reduce-motion=true] #homeScreen .quick-actions .quick-icon *{animation:none!important}

/* Context for a not-clean examination during already-running bleeding. */
#dayScreen .check-reminder .bleeding-context{grid-column:1/-1;margin-top:8px;padding:10px 12px;border-radius:13px;background:#fffafd;border:1px solid #ebd9ed}
.check-reminder .bleeding-context label,#withdrawalCheckPrompt .bleeding-context label{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-weight:550;color:#66446f}
.check-reminder .bleeding-context input,#withdrawalCheckPrompt .bleeding-context input{width:18px;height:18px;flex-shrink:0;accent-color:#88499a;margin:4px 0 0}
.check-reminder .bleeding-context p,#withdrawalCheckPrompt .bleeding-context p{font-size:13px;line-height:1.55;color:#775c79;margin:7px 0 0}

/* Language selection: retain Vesta brand, visual palette and existing components. */
#settingsScreen .interface-language-picker{
 display:grid;gap:9px;margin:0 0 22px;padding:14px 16px;
 border:1px solid rgba(136,73,154,.2);border-radius:16px;
 background:rgba(249,244,253,.65)
}
#settingsScreen .interface-language-picker label{font-weight:650}
#settingsScreen .interface-language-picker select{width:100%;max-width:460px}
#settingsScreen .interface-language-picker .field-help{margin:0;font-size:.85rem}
html[dir="ltr"]{text-align:left}
html[dir="ltr"] .app-shell{direction:ltr}
html[dir="ltr"] #settingsScreen .interface-language-picker{direction:ltr;text-align:left}

/* Non-Hebrew mobile layout: preserve the approved logo/account positions while
   preventing longer translated bottom-navigation labels from colliding. */
html[dir="ltr"] .site-header{
 direction:rtl; /* official logo stays on the right; account controls on the left */
}
html[dir="ltr"] .site-header .brand{
 direction:rtl; /* preserve the official heart on the right of its illustrated wordmark */
}
html[dir="ltr"] .site-header .accountbar{direction:rtl}
@media(max-width:700px){
 html[dir="ltr"] .app-nav.nav-modern{
  direction:ltr;
  grid-template-columns:repeat(5,minmax(0,1fr));
 }
 html[dir="ltr"] .app-nav.nav-modern a{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  width:100%;
  min-height:82px;
  gap:6px;
  padding:7px 1px;
  font-size:clamp(10px,2.65vw,12px);
  line-height:1.16;
  font-weight:600;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
  text-align:center;
 }
 html[dir="ltr"] .app-nav.nav-modern a .nav-icon{
  width:21px;height:21px;flex:none;
 }
 html[dir="ltr"] .nav-bottom-backdrop{
  height:calc(105px + env(safe-area-inset-bottom));
 }
 html[dir="ltr"] .a11y-tools.a11y-floating{
  left:8px!important;
  bottom:calc(118px + env(safe-area-inset-bottom))!important;
 }
 html[dir="ltr"] .a11y-floating .a11y-trigger{
  width:46px;height:46px;min-width:46px;min-height:46px;
 }
 html[dir="ltr"] #mainContent{padding-bottom:145px}
}

/* Private rabbinic report: uses existing Vesta colors, fonts, and card system. */
.rabbi-export-card{margin-bottom:18px}
.rabbi-export-card h2{margin:0 0 8px}
.rabbi-export-card>p{margin:8px 0 12px}
.rabbi-export-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}
.rabbi-export-range label{margin:0;font-weight:600;font-size:16px}
.rabbi-export-range input{margin-top:7px;max-width:none;min-width:0;width:100%;direction:ltr;text-align:left}
.rabbi-export-count{font-size:15px;font-weight:600;color:var(--purple);margin:10px 0}
.rabbi-preview{border:1px solid var(--line);border-radius:13px;overflow:hidden;margin:8px 0 15px}
.rabbi-preview:empty{display:none}
.rabbi-preview-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:10px 13px;font-size:14px;line-height:1.5;color:var(--ink)}
.rabbi-preview-row:nth-child(even){background:var(--soft)}
.rabbi-preview-row span{min-width:0;overflow-wrap:anywhere}
.rabbi-export-buttons{display:flex;gap:12px;flex-wrap:wrap}
.rabbi-export-buttons button{min-height:44px;min-width:160px}
.rabbi-export-buttons button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:540px){.rabbi-export-card{padding:20px 16px}.rabbi-export-range{gap:10px}.rabbi-export-buttons button{flex:1;min-width:120px}.rabbi-preview-row{gap:8px;padding:9px;font-size:13px}}

/* Calendar side navigation: controls stay outside, not on top of day cells. */
.calendar-side-stage{position:relative;isolation:isolate}
.calendar-side-content{min-width:0}
.calendar-side-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:48px;height:48px;display:grid;place-items:center;cursor:pointer;border:1px solid #e6d6ef;border-radius:50%;background:linear-gradient(145deg,#ffffffed,#f4e9f9c9);color:#87549d;font-family:inherit;font-size:32px;font-weight:300;line-height:1;box-shadow:0 8px 22px #6540781c,inset 0 1px 0 #fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .2s ease,box-shadow .2s ease,transform .2s ease,border-color .2s ease}
.calendar-side-arrow svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.calendar-side-arrow:hover{background:linear-gradient(145deg,#fff,#eadcf5);border-color:#c9abd9;box-shadow:0 11px 24px #65407829,inset 0 1px 0 #fff;transform:translateY(-50%) scale(1.06)}
.calendar-side-arrow:active{transform:translateY(-50%) scale(.97)}
.calendar-side-arrow:focus-visible{outline:3px solid #8052a8;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.calendar-side-arrow{transition:none}.calendar-side-arrow:hover,.calendar-side-arrow:active{transform:translateY(-50%)}}
.calendar-side-prev{left:calc(100% + 8px)}
.calendar-side-next{right:calc(100% + 8px)}
/* Keep manual date and its native calendar-picker icon close together. */
.jump-date-form{column-gap:10px;row-gap:8px}
.jump-date-form label{min-width:0}
.jump-date-form input[type=date]{width:185px;max-width:100%;box-sizing:border-box;direction:ltr;text-align:center}
@media(max-width:850px){.calendar-side-arrow{width:44px;height:44px;font-size:29px}.calendar-side-prev{left:calc(100% + 2px)}.calendar-side-next{right:calc(100% + 2px)}}
@media(max-width:550px){.calendar-side-arrow{width:44px;height:44px;font-size:29px}.calendar-side-prev{left:calc(100% + 1px)}.calendar-side-next{right:calc(100% + 1px)}.jump-date-form>*{flex:0 1 auto}.jump-date-form input[type=date]{width:175px}.jump-date-form button{max-width:100%}}

/* Approved desktop-only home quick-actions variant 2.
   Mobile layout and all other design components remain unchanged. */
@media(min-width:701px){
 #homeScreen .quick-actions{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  max-width:800px!important;
  gap:16px!important;
  margin:0 auto 20px!important;
 }
 #homeScreen .quick-actions button{
  width:100%!important;
  aspect-ratio:1 / 1;
  min-height:0!important;
  padding:12px!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:11px!important;
  text-align:center!important;
  font-size:17px!important;
  border-radius:26px!important;
 }
 #homeScreen .quick-actions button>span{font-size:35px!important}
}

/* Calendar side arrows belong to desktop only; touch/mobile use existing swipe navigation. */
@media (max-width:700px), (pointer:coarse){
 #calendarSection .calendar-side-arrow{display:none!important}
}


/* Vesta landscape glass preview: full scenery without hard side bars.
   A softly tinted cover image fills the viewport, while the full-size contained
   artwork preserves the blossoms, water and lotus without stretching. */
body{background:#f5eafa!important;isolation:isolate}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-color:#f5eafa;
  background-image:
    linear-gradient(180deg,rgba(255,247,253,.18),rgba(246,234,253,.28)),
    url('/vesta-landscape-desktop.png'),
    url('/vesta-landscape-desktop.png');
  background-size:100% 100%,contain,cover;
  background-repeat:no-repeat;
  background-position:center center;
}
#homeScreen .quick-actions button,
#homeScreen .month-overview-link,
#homeScreen .home-columns .card{
  background:linear-gradient(135deg,rgba(255,255,255,.83),rgba(255,246,254,.73));
  border:1px solid rgba(255,255,255,.86);
  box-shadow:0 12px 28px rgba(80,35,106,.11),inset 0 1px rgba(255,255,255,.75);
  -webkit-backdrop-filter:blur(15px);
  backdrop-filter:blur(15px);
}
#homeScreen .quick-actions button{border-radius:24px}
#homeScreen .month-overview-link{border-radius:22px}
#homeScreen .home-columns .card{border-radius:24px}
@media(max-width:700px){
  body::before{
    background-image:
      linear-gradient(180deg,rgba(255,248,253,.22),rgba(246,234,253,.34)),
      url('/vesta-landscape-mobile.png'),
      url('/vesta-landscape-mobile.png');
    background-size:100% 100%,contain,cover;
    background-position:center center;
  }
  #homeScreen .quick-actions button{background:rgba(255,250,255,.78)}
}
@media(prefers-reduced-transparency:reduce){
  #homeScreen .quick-actions button,#homeScreen .month-overview-link,#homeScreen .home-columns .card{background:rgba(255,250,255,.94);-webkit-backdrop-filter:none;backdrop-filter:none}
}
