:root{--bg:#f7f3f5;--card:#fff;--text:#2b2230;--muted:#7b6f80;--line:#e6dde3;--accent:#7a4d6e;--accent-soft:#f1e6ee;--nidda:#f6d5d8;--nidda-strong:#c4404f;--neki:#dcefe0;--neki-strong:#2f8a4a;--mikve:#2f6fb5;--mikve-soft:#dbe8f7;--onah:#e08a1e;--onah-soft:#fdebd2;--attente:#fbe3ec;--shabbat:#faf6fb;--radius:14px;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#17131a;--card:#221c26;--text:#efe8f1;--muted:#a99db0;--line:#362d3b;--accent:#d39cc4;--accent-soft:#3a2a37;--nidda:#4a2329;--nidda-strong:#ff7a88;--neki:#1f3a27;--neki-strong:#78d494;--mikve:#7ab3ff;--mikve-soft:#1d2d45;--onah:#ffb354;--onah-soft:#46331b;--attente:#3d2230;--shabbat:#1d1821;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.he{font-family:Frank Ruhl Libre,David,"Noto Serif Hebrew",serif}.top{position:-webkit-sticky;position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px;background:#7a4d6e;color:#fff}.top h1{font-size:18px;margin:0;font-weight:600;letter-spacing:.2px}.now-onah{font-size:13px;opacity:.92;text-align:right}main{max-width:560px;margin:0 auto;padding:12px 16px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:12px}.card h2,.card h3{margin:0 0 6px;font-size:16px}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--nidda-strong);font-size:14px}.status .state{font-size:20px;font-weight:650;margin:0 0 4px}.status.nidda{border-color:var(--nidda-strong);background:linear-gradient(var(--nidda),var(--card) 70%)}.status.neki{border-color:var(--neki-strong);background:linear-gradient(var(--neki),var(--card) 70%)}.status.mikve{border-color:var(--mikve);background:linear-gradient(var(--mikve-soft),var(--card) 70%)}.status.onah{border-color:var(--onah);background:linear-gradient(var(--onah-soft),var(--card) 70%)}.status p{margin:4px 0}.row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.btn{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;padding:8px 14px;font:inherit;font-size:14px;cursor:pointer}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--card)}.btn.danger,.btn.ghost{background:transparent}.btn.danger{color:var(--nidda-strong);border-color:var(--nidda-strong)}.btn.small{padding:4px 10px;font-size:13px}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.cal-head .title{text-align:center;flex:1 1}.cal-head .title b{display:block;font-size:17px;text-transform:capitalize}.cal-head .title span{font-size:14px;color:var(--muted)}.icon-btn{border:1px solid var(--line);background:var(--card);color:var(--text);width:38px;height:38px;border-radius:50%;font-size:18px;cursor:pointer}.grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:3px;gap:3px}.grid .dow{text-align:center;font-size:12px;color:var(--muted);padding:2px 0 4px}.day{position:relative;min-height:58px;padding:3px 4px;border-radius:9px;border:1px solid transparent;background:var(--card);font:inherit;color:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between}.day.out{opacity:.38}.day.sat{background:var(--shabbat)}.day .g{font-size:14px;font-weight:600}.day .h{font-size:12px;color:var(--muted);align-self:flex-end;direction:rtl}.day .marks{display:flex;gap:2px;font-size:11px;line-height:1;min-height:13px}.day.nidda{background:var(--nidda)}.day.seeing{box-shadow:inset 0 0 0 2px var(--nidda-strong)}.day.neki{background:var(--neki)}.day.attente{background:repeating-linear-gradient(135deg,var(--attente) 0 6px,var(--card) 6px 12px)}.day .neki-n{position:absolute;top:3px;right:5px;font-size:11px;color:var(--neki-strong);font-weight:700}.day.mikve{box-shadow:inset 0 0 0 2px var(--mikve)}.day.today{border-color:var(--accent);border-width:2px}.day.selected{outline:3px solid var(--accent);outline-offset:1px}.mk-onah{color:var(--onah);font-weight:700}.mk-mikve{color:var(--mikve)}.legend{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--muted);margin-top:10px}.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:4px}.onah-item{border-left:4px solid var(--onah);padding:8px 10px;margin:8px 0;background:var(--onah-soft);border-radius:8px}.onah-item.past{opacity:.6;border-left-color:var(--muted);background:transparent}.onah-item .when{font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.chip{font-size:12px;padding:2px 8px;border-radius:999px;background:var(--card);border:1px solid var(--line)}.chip.orZarua{border-style:dashed}.badge{display:inline-block;font-size:12px;padding:1px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.warn{border-color:var(--onah);background:var(--onah-soft)}.entry .top-line{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.entry .sub{display:grid;grid-template-columns:auto 1fr;grid-gap:6px 10px;gap:6px 10px;align-items:center;font-size:14px;margin-top:8px}.entry input[type=date]{font:inherit;font-size:14px;padding:3px 6px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text)}.bedikot{width:100%;border-collapse:collapse;font-size:14px;margin-top:8px}.bedikot td,.bedikot th{padding:4px;text-align:center;border-bottom:1px solid var(--line)}.bedikot td:first-child,.bedikot th:first-child{text-align:left}.bedikot input{width:20px;height:20px;accent-color:var(--neki-strong)}.bedikot tr.cur{background:var(--neki)}label.field{display:grid;grid-gap:4px;gap:4px;margin:10px 0;font-size:14px;color:var(--muted)}label.field input,label.field select,label.field textarea{font:inherit;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 10px;width:100%}.check{display:flex;gap:10px;align-items:flex-start;margin:10px 0;font-size:15px}.check input{width:20px;height:20px;margin-top:2px;accent-color:var(--accent);flex:none}.check small{display:block;color:var(--muted)}.overlay{position:fixed;inset:0;z-index:20;background:rgba(20,10,20,.45);display:flex;align-items:flex-end;justify-content:center}.sheet{border-radius:18px 18px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));width:100%;max-width:560px;max-height:92vh;overflow:auto;background:var(--card);color:var(--text)}.sheet h2{margin:0 0 12px;font-size:18px}.seg{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.seg button{padding:9px;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:var(--card);color:var(--text);font:inherit}.seg button.on{background:var(--accent);color:var(--card);border-color:var(--accent)}.moments{border:1px solid var(--line);border-radius:12px;padding:6px 12px;margin:10px 0}.moments legend{font-size:14px;color:var(--muted);padding:0 4px}.moments label{display:block;padding:6px 0}.moments small{color:var(--muted);display:block;margin-left:24px}.hint{font-size:13px;color:var(--muted);margin:6px 0 0}.preview{background:var(--accent-soft);border-radius:10px;padding:8px 10px;font-size:14px}.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.fab{right:18px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:6;width:56px;height:56px;border-radius:50%;border:none;background:#7a4d6e;color:#fff;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 6px 18px rgba(80,30,70,.35)}.fab,.tabs{position:fixed}.tabs{bottom:0;left:0;right:0;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabs button{border:none;background:none;color:var(--muted);font:inherit;font-size:12px;padding:8px 0 10px;display:grid;justify-items:center;grid-gap:2px;gap:2px;cursor:pointer}.tabs button.active{color:var(--accent);font-weight:600}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(150px + env(safe-area-inset-bottom));z-index:30;background:var(--text);color:var(--card);padding:8px 14px;border-radius:10px;font-size:14px;max-width:calc(100% - 32px)}.footer{display:grid;justify-items:center;grid-gap:8px;gap:8px;text-align:center;padding:8px 0 16px}.footer p{margin:0}.install-aide{max-width:320px}.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login .card{width:100%;max-width:400px}.login h1{margin:4px 0 2px;font-size:24px}.login .logo,.login h1{text-align:center;color:var(--accent)}.login .logo{font-size:42px}@media (max-width:380px){.day{min-height:50px;padding:2px 3px}.day .g{font-size:13px}.day .h{font-size:11px}}svg.lucide{flex:none}.ico{display:inline-flex;align-items:center;gap:6px}h2.ico,h3.ico{display:flex}.inline-icon{vertical-align:-2px}.btn,.seg button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.fab{display:grid;place-items:center}.top h1{display:flex;align-items:center;gap:8px}.top h1 svg{border-radius:7px;box-shadow:0 0 0 1px hsla(0,0%,100%,.35)}.now-onah .ico{gap:4px}.login .logo{display:flex;justify-content:center}.login .logo svg{border-radius:16px;box-shadow:0 6px 18px rgba(80,30,70,.25)}.status .state{display:flex;align-items:center;gap:10px}.state-icon{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.status.nidda .state-icon{background:var(--nidda);color:var(--nidda-strong)}.status.neki .state-icon{background:var(--neki);color:var(--neki-strong)}.status.mikve .state-icon{background:var(--mikve-soft);color:var(--mikve)}.status.onah .state-icon{background:var(--onah-soft);color:var(--onah)}.alerte{display:flex;gap:8px;align-items:flex-start}.alerte svg{color:var(--onah);margin-top:3px}.zmanim{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0}.badge,.zmanim span{display:inline-flex;align-items:center;gap:5px}.onah-item .when{display:flex;align-items:center;gap:7px}.onah-item .when svg{color:var(--onah)}.onah-item.past .when svg{color:var(--muted)}.legend span{display:inline-flex;gap:4px}.day .marks,.legend span,.moments label{align-items:center}.moments label{display:flex;gap:10px;padding:8px;margin:2px -4px;border-radius:10px;cursor:pointer}.moments label.on{background:var(--accent-soft)}.moments small{margin-left:0}.moment-icon{color:var(--accent)}.destinataires{list-style:none;padding:0;margin:4px 0 8px;display:grid;grid-gap:6px;gap:6px}.destinataires li{display:flex;align-items:center;gap:8px;font-size:14px;padding:6px 10px;border:1px solid var(--line);border-radius:10px}.destinataires li span{flex:1 1;overflow-wrap:anywhere}.destinataires li svg{color:var(--accent)}.icon-btn.small{width:28px;height:28px;display:grid;place-items:center}.ajout-dest{display:flex;gap:8px;margin-bottom:8px}.ajout-dest input{flex:1 1;min-width:0;font:inherit;font-size:14px;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 10px}