:root{
  /* "morning kitchen": stone-sage paper, deep slate ink, eucalyptus accent, honey for celebrations */
  --bg:#F1F3EF; --card:#FFFFFF; --ink:#2B3A40; --ink2:#4E5D63; --muted:#77848A; --line:#E3E8E3; --line2:#CDD5CF;
  --soft:#EDF1EC; --ok:#3F8A63; --okSoft:#E3F1E8; --bad:#B5483D; --dark:#142024;
  --accent:#3F7A6E; --accentSoft:#E2EEEA; --honey:#E2A93B; --honeySoft:#FBF1DC;
  --shadow:0 1px 2px rgba(43,58,64,.05),0 6px 18px rgba(43,58,64,.06);
  --fd:'Frank Ruhl Libre',Georgia,serif; --fb:'Assistant','Rubik',system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--fb);font-size:16px;direction:rtl;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.5}
h1,h2,h3{margin:0}
svg{flex-shrink:0}
.boot{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--muted)}
.hidden{display:none!important}

/* shared bits */
.card{background:var(--card);border-radius:20px}
.av{border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.btn{height:52px;padding:0 22px;border-radius:14px;border:none;background:var(--ink);color:#fff;font-size:17px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn.ghost{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line2)}
.btn.ok{background:var(--ok)}
.btn.sm{height:42px;padding:0 14px;font-size:15px;border-radius:12px}
.btn.block{width:100%}
.link{background:none;border:none;color:var(--accent);font-weight:600;padding:8px 4px;font-size:14px}
.pill{height:42px;padding:0 14px;border-radius:999px;font-size:15px;font-weight:600;white-space:nowrap;flex-shrink:0;border:1.5px solid var(--line2);background:var(--card);color:var(--ink)}
.pill.on{border-color:transparent;color:#fff}
.pills{display:flex;gap:6px;flex-wrap:wrap}
.pills.scroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.field{display:flex;flex-direction:column;gap:6px}
.field>label,.flabel{font-size:14px;color:var(--ink2);font-weight:500}
.input{height:50px;padding:0 14px;border-radius:12px;border:1.5px solid var(--line2);background:var(--card);font-size:17px;width:100%;min-width:0}
.input:focus{outline:2px solid var(--accent);outline-offset:1px}
.err{color:var(--bad);font-size:14px}
.muted{color:var(--muted)}
.row{display:flex;align-items:center;gap:10px}
.grow{flex:1;min-width:0}
.chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:14px;font-weight:700}
.empty{padding:18px 6px;text-align:center;color:var(--muted);font-size:15px}
.check{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.box{width:24px;height:24px;border-radius:7px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:2px solid #A9B2BF}
.box.on{background:var(--ok);border-color:var(--ok);color:#fff}
.sw{width:48px;height:28px;border-radius:999px;position:relative;background:var(--line2);flex-shrink:0}
.sw.on{background:var(--ok)}
.sw i{position:absolute;top:3px;left:23px;width:22px;height:22px;border-radius:50%;background:var(--card);box-shadow:0 1px 3px rgba(0,0,0,.25)}
.sw.on i{left:3px}

/* ===== setup ===== */
.setup{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.setup .inner{width:100%;max-width:560px;display:flex;flex-direction:column;gap:18px}
.setup h1{font-size:30px}
.who{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.who button{min-height:84px;border-radius:18px;border:1.5px solid var(--line);background:var(--card);display:flex;align-items:center;gap:12px;padding:12px 14px;text-align:right}
.who button b{display:block;font-size:18px}
.who button span{font-size:13px;color:var(--muted)}
.who .kiosk{grid-column:1/-1;background:var(--ink);color:#fff;border:none}
.who .kiosk span{color:#C3CAD5}

/* ===== kiosk ===== */
.k{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;position:relative}
.k-head{height:96px;flex-shrink:0;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--card);border-bottom:1px solid var(--line)}
.k-clock{font-size:56px;font-weight:600;letter-spacing:-1px;line-height:1;font-variant-numeric:tabular-nums;direction:ltr}
.k-date b{display:block;font-size:20px;font-weight:600}
.k-date span{font-size:16px;color:var(--muted)}
.tabs{display:flex;gap:6px;padding:6px;background:var(--soft);border-radius:999px}
.tabs button{height:48px;padding:0 26px;border-radius:999px;border:none;background:transparent;color:var(--ink2);font-size:18px;font-weight:500}
.tabs button.on{background:var(--ink);color:#fff;font-weight:600}
.k-body{flex:1;min-height:0;display:flex;gap:18px;padding:18px 28px 22px}
.k-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}
.k-side{width:290px;flex-shrink:0;display:flex;flex-direction:column;gap:14px;min-height:0;overflow:hidden}
.cols{flex:1;min-height:0;display:grid;gap:12px}
.col{background:var(--card);border-radius:20px;border-top:6px solid;display:flex;flex-direction:column;min-height:0;overflow:hidden;box-shadow:0 1px 2px rgba(20,30,50,.06)}
.col-head{padding:14px 12px 10px;display:flex;flex-direction:column;gap:10px}
.col-head h2{font-size:22px;font-weight:600;line-height:1.2}
.bar{height:8px;background:var(--soft);border-radius:999px;overflow:hidden}
.bar i{display:block;height:100%;border-radius:999px;transition:width .4s}
.col-list{flex:1;min-height:0;overflow-y:auto;padding:0 8px 12px;display:flex;flex-direction:column;gap:8px}
.task{width:100%;display:flex;align-items:center;gap:10px;padding:10px;min-height:62px;border-radius:14px;text-align:right;border:1.5px solid var(--line);background:var(--card)}
.task.done{border-color:transparent}
.task .tt{font-size:15.5px;font-weight:500;line-height:1.3}
.task.done .tt{text-decoration:line-through;color:var(--muted)}
.task .meta{font-size:13px;color:var(--muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.task.big .tt{font-size:17px}
.side-card{background:var(--card);border-radius:20px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.side-card h3{font-size:15px;font-weight:600;color:var(--ink2)}
.shabbat{background:var(--ink);color:#fff}
.notes{flex:1;min-height:0;overflow:hidden}
.note{padding:10px 12px;border-radius:12px;display:flex;flex-direction:column;gap:4px;font-size:15px;line-height:1.35}
.parent-btn{height:52px;padding:0 20px;display:flex;align-items:center;gap:10px;border-radius:14px;border:1.5px solid var(--line2);background:var(--card);font-size:17px;font-weight:600}
.week{flex:1;min-height:0;background:var(--card);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:8px;overflow:auto}
.wgrid{display:grid;grid-template-columns:110px repeat(7,minmax(0,1fr));gap:8px}
.wcell{padding:8px 10px;border-radius:12px;display:flex;flex-direction:column;gap:6px;min-height:64px;border:1.5px solid var(--line);font-size:14px}
.dots{display:flex;gap:4px;flex-wrap:wrap}
.dots i{width:11px;height:11px;border-radius:50%;border:2px solid}
.three{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.three>section{background:var(--card);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:12px;min-height:0;overflow:auto}
.shop-row{display:flex;align-items:center;gap:12px;min-height:46px;padding:6px 4px;border:none;background:transparent;text-align:right;width:100%}
.shop-row .nm{flex:1;font-size:17px}
.shop-row.done .nm{text-decoration:line-through;color:var(--muted)}
.cat{font-size:13px;font-weight:700;color:var(--ink2);margin-top:6px}
.meal{display:flex;gap:10px;padding:10px 12px;border-radius:12px;background:var(--soft);font-size:16px}
.meal.today{background:var(--ink);color:#fff}
.rewards{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;overflow:auto}
.rgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.rcard{background:var(--card);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:12px}
.overlay{position:fixed;inset:0;z-index:40;background:rgba(15,20,30,.6);display:flex;align-items:center;justify-content:center;padding:16px}
.dialog{width:100%;max-width:620px;max-height:92vh;overflow:auto;background:var(--card);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:16px}
.dialog h2{font-size:24px}
.dhead{display:flex;align-items:center;justify-content:space-between;gap:12px}
.x{width:44px;height:44px;border-radius:50%;border:none;background:var(--soft);display:flex;align-items:center;justify-content:center}
.pinpad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;direction:ltr}
.pinpad button{height:64px;border-radius:16px;border:none;background:var(--soft);font-size:26px;font-weight:600}
.pindots{display:flex;gap:14px;justify-content:center;direction:ltr}
.pindots i{width:18px;height:18px;border-radius:50%;border:2px solid var(--ink)}
.pindots i.on{background:var(--ink)}
.celebrate{text-align:center;align-items:center}
.star{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;animation:pop .5s ease}
@keyframes pop{0%{transform:scale(.4)}70%{transform:scale(1.1)}100%{transform:scale(1)}}
#toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:60;background:var(--ink);color:#fff;padding:14px 22px;border-radius:14px;font-size:16px;font-weight:500;box-shadow:0 8px 24px rgba(15,20,30,.25);max-width:92vw;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s}
#toast.on{opacity:1}

/* screensaver / night */
.saver{position:fixed;inset:0;z-index:30;background:var(--dark);color:#E6EAF0;display:flex;gap:48px;padding:48px 56px;cursor:pointer}
.saver .left{width:440px;flex-shrink:0;display:flex;flex-direction:column;gap:32px}
.saver .bigclock{font-size:140px;font-weight:300;line-height:1;letter-spacing:-4px;direction:ltr;text-align:right}
.saver .photo{flex:1;min-width:0;border-radius:28px;overflow:hidden;background:#1B2430;display:flex;align-items:center;justify-content:center}
.saver .photo img{max-width:100%;max-height:100%;object-fit:contain;transition:opacity 1s}
.saver.night{background:#000;color:#5c6470}
.saver.night .photo{display:none}
.saver.night .left{width:auto;margin:auto;align-items:center}

/* ===== phone ===== */
.p{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;max-width:560px;margin:0 auto;background:var(--bg)}
.p-head{position:sticky;top:0;z-index:5;padding:calc(14px + env(safe-area-inset-top)) 18px 12px;background:var(--card);display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}
.p-head h1{font-size:20px;font-weight:600}
.live{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink2)}
.live i{width:8px;height:8px;border-radius:50%;background:var(--ok)}
.live.off i{background:#C97A00}
.p-body{flex:1;padding:16px 14px calc(110px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}
.p-sec{background:var(--card);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:10px}
.p-sec h2{font-size:17px;font-weight:600}
.p-nav{position:fixed;bottom:0;left:0;right:0;z-index:6;background:var(--card);border-top:1px solid var(--line);display:grid;padding-bottom:env(safe-area-inset-bottom)}
.p-nav button{height:68px;border:none;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;color:var(--muted)}
.p-nav button.on{color:var(--ink);font-weight:700}
.fab{position:fixed;bottom:calc(84px + env(safe-area-inset-bottom));left:16px;z-index:7;height:56px;padding:0 22px;border-radius:999px;border:none;background:var(--ink);color:#fff;font-size:17px;font-weight:600;display:flex;align-items:center;gap:8px;box-shadow:0 8px 20px rgba(15,20,30,.25)}
@media (min-width:600px){.fab{left:calc(50% - 264px)}}
.prog{display:flex;align-items:center;gap:10px}
.prog .nm{width:48px;font-size:15px;font-weight:500}
.prog .n{width:40px;font-size:14px;color:var(--ink2);text-align:left;direction:ltr}
.feed{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.35}
.feed i{width:10px;height:10px;border-radius:50%;margin-top:6px;flex-shrink:0}
.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.days button{height:60px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1.5px solid var(--line);background:var(--card)}
.days button.today{border-color:var(--ink)}
.days button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.days b{font-size:17px}
.days span{font-size:12px}
.ptask{display:flex;align-items:center;gap:10px;min-height:58px;padding:8px 10px;border-radius:12px;background:#F8F9FB}
.ptask .stripe{width:5px;align-self:stretch;border-radius:999px;flex-shrink:0}
.ptask .tm{width:46px;flex-shrink:0;font-size:14px;color:var(--ink2);font-variant-numeric:tabular-nums}
.ptask .tt{font-size:15px;font-weight:500}
.ptask.done .tt{text-decoration:line-through;color:var(--muted)}
.ptask .who{font-size:12px;font-weight:600}
.ptask .cbtn{width:44px;height:44px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;padding:0}
.ptask .cbtn span{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--line2)}
.ptask .ebtn{width:40px;height:44px;border:none;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center}
.sheet-wrap{position:fixed;inset:0;z-index:40;background:rgba(15,20,30,.55);display:flex;flex-direction:column;justify-content:flex-end;align-items:center}
.sheet{width:100%;max-width:560px;max-height:92vh;overflow:auto;background:var(--card);border-radius:24px 24px 0 0;padding:20px 18px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}
.sheet h2{font-size:21px}
.wa{padding:14px;border-radius:14px;background:#E7F6EE;font-size:15px;line-height:1.5;white-space:pre-line;max-height:40vh;overflow:auto}
.list-row{display:flex;align-items:center;gap:10px;min-height:52px;border-bottom:1px solid var(--soft)}
.list-row:last-child{border-bottom:none}
.icon-btn{width:44px;height:44px;border:none;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;border-radius:12px}
.icon-btn:hover{background:var(--soft)}
.swatches{display:flex;gap:6px}
.swatches button{width:24px;height:24px;border-radius:50%;border:none;padding:0}
.swatches button.on{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ink)}
.photo-thumb{width:100%;max-height:260px;object-fit:contain;border-radius:12px;background:var(--soft)}
.album{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.album div{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--soft)}
.album img{width:100%;height:100%;object-fit:cover}
.album button{position:absolute;top:4px;left:4px;width:32px;height:32px;border-radius:50%;border:none;background:rgba(0,0,0,.55);color:#fff}

@media (max-width:1100px){
  .k-side{display:none}
  .k-head{padding:0 16px}
  .k-body{padding:14px 16px}
  .tabs button{padding:0 16px}
}
@media (max-width:820px){
  .k-clock{font-size:40px}
  .k-date{display:none}
  .three{grid-template-columns:1fr}
  .rgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* personal agenda */
.ag-sec { gap: 2px; }
.ag-row { display: flex; align-items: flex-start; gap: 10px; padding: 10px 2px; border-top: 1px solid var(--line, #E6E9EE); }
.ag-sec .ag-row:first-of-type { border-top: none; }
.ag-check { width: 26px; height: 26px; flex-shrink: 0; margin-top: 1px; border-radius: 50%; border: 2px solid #A9B2BF; background: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.ag-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; border: none; background: none; padding: 0; text-align: right; font: inherit; color: inherit; cursor: pointer; }
.ag-t { font-size: 16px; font-weight: 500; line-height: 1.35; }
.ag-meta { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 13px; color: var(--muted, #6B7584); align-items: center; }
.ag-tag { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; }
.ag-tag i { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.ag-note { font-size: 13px; color: var(--ink2, #3D4756); white-space: pre-wrap; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.ag-row.done .ag-t { text-decoration: line-through; color: var(--muted, #6B7584); }
.p-nav button span { font-size: 12px; }
.ag-row.urgent { background: #FFF3F5; border-radius: 12px; padding-inline: 8px; box-shadow: inset -4px 0 0 #C2305F; }
.ag-flag { border: none; background: none; padding: 4px; cursor: pointer; flex-shrink: 0; align-self: center; }
.ag-mic { width: 50px; height: 50px; border-radius: 14px; background: var(--soft, #EEF1F5); flex-shrink: 0; }
.ag-mic.on { background: #C2305F; color: #fff; animation: agpulse 1s infinite; }
@keyframes agpulse { 50% { box-shadow: 0 0 0 8px rgba(194,48,95,.18); } }
#nudge { position: fixed; z-index: 60; inset-inline: 12px; top: 12px; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 16px; background: #1B2430; color: #fff; font-size: 15px; box-shadow: 0 8px 24px rgba(0,0,0,.25); transform: translateY(-140%); transition: transform .35s ease; }
#nudge.on { transform: translateY(0); }
#nudge span { flex: 1; }
#nudge .btn { background: #fff; color: #1B2430; height: 36px; }
#nudge .x { background: transparent; color: #fff; }
#toast.act { pointer-events: auto; display: flex; align-items: center; gap: 14px; }
#toast .undo { background: #fff; color: var(--ink, #1B2430); border: none; border-radius: 10px; padding: 6px 14px; font: inherit; font-weight: 700; cursor: pointer; }
.ag-post { display: flex; gap: 8px; margin-top: 4px; }
.ag-post span { font-size: 13px; font-weight: 600; color: var(--accent); background: #E8EFFC; border-radius: 999px; padding: 3px 10px; cursor: pointer; }
.ag-list { display: flex; flex-direction: column; gap: 2px; padding: 4px 36px 8px 0; }
.ag-li { display: flex; align-items: center; gap: 8px; border: none; background: none; font: inherit; font-size: 15px; text-align: right; padding: 4px 0; cursor: pointer; color: inherit; }
.ag-li span { width: 20px; height: 20px; border-radius: 6px; border: 2px solid #A9B2BF; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ag-li.on { color: var(--muted, #6B7584); text-decoration: line-through; }
.ag-li.on span { background: #178A5E; border-color: #178A5E; color: #fff; }
.k-banner { display: flex; gap: 24px; justify-content: center; flex-wrap: wrap; background: linear-gradient(90deg, #FFE7B3, #FFD3E0); color: #3D2A00; font-size: 22px; font-weight: 700; padding: 12px 20px; }
.ag-sec .ag-row { border-top: none; }
.ag-wrap + .ag-wrap { border-top: 1px solid var(--line, #E6E9EE); }

/* ===== refined theme (layer) ===== */
h1,h2,.k-clock,.saver .bigclock,.col-head h2,.p-head h1,.setup h1,.dialog h2,.sheet h2{font-family:var(--fd);font-weight:600;letter-spacing:0}
.k-clock{font-weight:500;font-size:60px}
.saver .bigclock{font-weight:400}
.btn{font-weight:700;letter-spacing:.1px}
.btn:not(.ghost):not(.ok){background:var(--ink)}
.btn.ok{background:var(--accent)}
.card,.p-sec,.side-card,.col,.three>section,.week,.rcard{box-shadow:var(--shadow)}
.p-sec{border-radius:20px;padding:16px}
.p-head{background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.p-nav{background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.p-nav button.on{color:var(--accent)}
.p-nav button.on svg{stroke-width:2.4}
.fab{background:var(--accent);box-shadow:0 10px 24px rgba(63,122,110,.32)}
.tabs button.on{background:var(--accent)}
.days button.on{background:var(--accent);border-color:var(--accent)}
.days button.today{border-color:var(--accent)}
.meal.today{background:var(--accent)}
.shabbat{background:linear-gradient(160deg,#22343A,#2F4A4F)}
.k-head{background:transparent;border-bottom:none}
.k-body{padding-top:6px}
.col{border-top-width:0;border-radius:22px}
.ptask{background:var(--soft)}
.sheet{animation:sheetUp .28s cubic-bezier(.2,.8,.2,1)}
.dialog{animation:dlgIn .22s ease-out}
@keyframes sheetUp{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
@keyframes dlgIn{from{transform:scale(.97);opacity:.5}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.sheet,.dialog,.star{animation:none}}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* kiosk: progress ring, collapsed columns, next-up strip */
.ring{position:relative;flex-shrink:0}
.ring svg{display:block;transform:rotate(-90deg)}
.ring .av{position:absolute;inset:6px}
.col.done{background:linear-gradient(180deg,var(--honeySoft),var(--card) 180px)}
.col.done .col-head h2::after{content:" ⭐"}
.col.slim{align-items:center;justify-content:flex-start;padding-top:16px;gap:10px}
.col.slim .slim-name{font-family:var(--fd);font-size:17px;font-weight:600;text-align:center;line-height:1.2;padding:0 4px}
.col.slim .slim-free{font-size:13px;color:var(--muted);text-align:center}
.k-next{margin:0 28px 10px;display:flex;align-items:center;gap:14px;padding:12px 18px;border-radius:18px;background:var(--card);box-shadow:var(--shadow);font-size:20px}
.k-next .when{font-family:var(--fd);font-weight:600;color:var(--accent);white-space:nowrap}
.k-next .dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.k-next .in{margin-inline-start:auto;font-size:16px;color:var(--muted);white-space:nowrap}
.task .tt{font-size:17px}
.task.big .tt{font-size:19px}
.col-head h2{font-size:24px}
.k-banner{margin:0 28px 10px;border-radius:18px;background:linear-gradient(90deg,var(--honeySoft),#F6E6EA);color:#5A3E10;font-family:var(--fd)}

/* shabbat screen */
.saver.shab{background:radial-gradient(ellipse at 30% 20%,#2B4046,#142024 70%);color:#F1EBDD}
.saver.shab .candles{display:flex;gap:18px;color:#F2C46B}
.saver.shab .flame{animation:flick 2.4s ease-in-out infinite;transform-origin:50% 100%}
@keyframes flick{50%{transform:scale(1.06,.94) rotate(1deg)}}
@media (prefers-reduced-motion:reduce){.saver.shab .flame{animation:none}}

/* phone: summary tiles, quick add, grouped settings */
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tile{background:var(--card);border-radius:18px;padding:12px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:4px;border:none;text-align:right;font:inherit;color:inherit}
.tile b{font-family:var(--fd);font-size:26px;line-height:1.1}
.tile span{font-size:13px;color:var(--muted)}
.tile.warn b{color:var(--honey)}
.tile.next{grid-column:1/-1;flex-direction:row;align-items:center;gap:12px}
.tile.next b{font-size:18px}
.seg{display:flex;gap:4px;padding:4px;background:var(--soft);border-radius:999px;overflow-x:auto;scrollbar-width:none}
.seg button{flex:1;white-space:nowrap;height:40px;padding:0 12px;border-radius:999px;border:none;background:transparent;font-weight:600;color:var(--ink2)}
.seg button.on{background:var(--card);color:var(--accent);box-shadow:var(--shadow)}
.hint{font-size:14px;color:var(--muted);line-height:1.5;text-align:center;padding:14px 8px}

/* kid */
.goal{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:20px;background:linear-gradient(135deg,var(--honeySoft),#FFF);box-shadow:var(--shadow)}
.goal .bar{height:12px;background:#fff}
.kid .ptask{min-height:68px;border-radius:16px}
.kid .ptask .tt{font-size:17px}
.kid.small .ptask{min-height:84px}
.kid.small .ptask .tt{font-size:20px}
.kid .kicon{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ptask.done .cbtn span{animation:pop .35s ease}
.more{display:flex;flex-direction:column;gap:14px}
.more.g-family [data-g]:not([data-g=family]),.more.g-screen [data-g]:not([data-g=screen]),.more.g-settings [data-g]:not([data-g=settings]){display:none}
.more [data-g]:empty{display:none}
/* keep toasts clear of the bottom nav, and of a sheet's main button while a sheet is open */
body:has(.p-nav) #toast{bottom:calc(90px + env(safe-area-inset-bottom))}
body:has(.sheet-wrap) #toast{bottom:auto;top:calc(14px + env(safe-area-inset-top))}
.instbar{display:flex;align-items:center;gap:6px;background:var(--accentSoft);border-radius:16px;padding:6px 6px 6px 8px;margin:0 0 12px}
.instbar>button.grow{display:flex;align-items:center;gap:10px;border:none;background:none;text-align:right;color:var(--ink);padding:6px 8px;font:inherit;min-height:44px}
.instbar>button.grow svg{flex:none;color:var(--accent)}
.instbar span{display:flex;flex-direction:column;line-height:1.3}.instbar b{font-size:15px;color:var(--accent)}.instbar small{font-size:13px;color:var(--ink2)}
.instbar .x{width:36px;height:36px;flex:none}
