:root{color-scheme:light;
  /* palette: deep green (the other side), cream page, orange (mine, actions, always with black text), black */
  --page:#F4EDE2; --bg:#FFFFFF; --ink:#161616; --muted:#5E594F; --line:#D9CFBF; --field:#EFE7D9;
  --mine:#F26A21; --mine-soft:#FBE3D2; --other:#205E4E; --other-soft:#DCE9E3; --seek:#2F7A5F; --seek-soft:#E1EFE8;
  --green:#205E4E; --cream:#F4EDE2; --soft:#2B2723;
  --btn:#F26A21; --onbtn:#161616; --bad:#B3321F;
}
*{box-sizing:border-box}
body{margin:0;background:var(--page);color:var(--ink);font-family:Rubik,Arial,sans-serif;font-size:16px;line-height:1.5}
a{color:inherit}
button{font:inherit;color:inherit}
.hidden{display:none !important}
.page{max-width:480px;margin:0 auto;padding-bottom:110px}
.hero{background:var(--green);color:var(--cream);padding:16px 16px 22px;position:relative;overflow:hidden}
.hero>*{position:relative;z-index:1}
/* the signature: a big circle cropped by the header's left and bottom edges (about a quarter shows), same size and place in every header */
.hero::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:var(--mine);left:-80px;bottom:-130px;z-index:0}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tb-start{display:flex;align-items:center;gap:12px}
.brand{font-weight:700;font-size:22px;display:flex;align-items:center}
.brand::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent,var(--mine));margin-inline-start:3px;align-self:flex-end;margin-bottom:6px}
.homeback{display:inline-flex;align-items:center;gap:4px;color:var(--cream);font-weight:700;font-size:14px;text-decoration:none;border:1px solid rgba(244,237,226,.45);border-radius:4px;padding:3px 10px;background:none;cursor:pointer}
.pill{font-size:12px;color:rgba(244,237,226,.85);border:1px solid rgba(244,237,226,.45);border-radius:999px;padding:2px 10px}
.hero h1{font-weight:700;font-size:32px;line-height:1.1;letter-spacing:-.01em;margin:18px 0 6px}
.hero p{margin:0;color:rgba(244,237,226,.85);font-size:15px}
.btn{display:block;width:100%;text-align:center;background:var(--btn);color:var(--onbtn);border:0;border-radius:4px;padding:13px;font-weight:700;font-size:16px;cursor:pointer;text-decoration:none}
.btn.light{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.btn.wa{background:#1FA855;color:#fff}
.btn:disabled{opacity:.5;cursor:wait}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent,var(--mine));outline-offset:1px}
.btn:focus-visible,.chip:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--accent,var(--mine));outline-offset:2px}
.a11yl{display:block;text-align:center;font-size:13px;color:var(--muted);text-decoration:underline;padding:16px 0 96px;cursor:pointer}
.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}
.tag{display:inline-block;font-size:12.5px;background:var(--field);border-radius:4px;padding:2px 8px}
.tags{display:flex;flex-wrap:wrap;gap:4px}
.muted{color:var(--muted)}
.toast{position:fixed;bottom:92px;left:50%;transform:translateX(-50%);background:var(--green);color:var(--cream);padding:12px 18px;border-radius:4px;font-weight:700;z-index:70;max-width:90%;width:max-content;text-align:center;box-shadow:0 8px 20px -8px rgba(0,0,0,.35)}
.toast.err{background:var(--bad);color:#fff}
.loading{padding:40px 16px;text-align:center;color:var(--muted)}
.errbox{margin:16px;background:var(--mine-soft);border-radius:4px;padding:12px;font-weight:700}
input[type=text],input[type=tel],textarea,select{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--field);border:1.5px solid transparent;border-radius:4px;padding:12px 14px;outline:none}
input:focus,textarea:focus,select:focus{border-color:var(--accent,var(--mine))}
nav.tabs{position:fixed;bottom:0;left:0;right:0;background:var(--soft);z-index:20}
nav.tabs .in{max-width:480px;margin:0 auto;display:flex;justify-content:space-around;align-items:center;padding:6px 8px 10px}
nav.tabs a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;font-weight:500;color:rgba(244,237,226,.7);padding:4px 10px;text-decoration:none;cursor:pointer}
nav.tabs a.on{color:var(--mine);font-weight:700}
nav.tabs svg{width:24px;height:24px}
nav.tabs .plus{width:48px;height:48px;border-radius:50%;background:var(--mine);display:grid;place-items:center;margin-top:-22px;box-shadow:0 0 0 4px var(--soft)}
nav.tabs .plus svg{stroke:var(--ink)}
.badge-n{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:9px;background:var(--mine);color:var(--ink);font-size:11px;font-weight:700;padding:0 5px;margin-inline-start:4px}
@media (prefers-reduced-motion: reduce){*{transition:none !important;animation:none !important}}

/* last-known data shown while the fresh copy loads: visible, but not clickable */
body.stale::after{content:'מתעדכן...';position:fixed;bottom:84px;left:50%;transform:translateX(-50%);background:#fff;color:#141414;border:1.5px solid #141414;box-shadow:0 4px 14px rgba(0,0,0,.18);font-size:13px;font-weight:700;padding:6px 14px;border-radius:4px;z-index:60}

/* tap feedback: every button and link answers the finger */
*{-webkit-tap-highlight-color:rgba(255,106,26,.18)}
button,a,.chip,.oc,[data-p]{transition:transform .08s,filter .08s}
button:active:not(:disabled),a:active,.chip:active,.oc:active{transform:scale(.97);filter:brightness(.88)}
button:disabled{opacity:.55}
nav.tabs a.busy{opacity:.5}
.arange{display:flex;gap:10px}
.arange .stp{flex:1;border:1.5px solid var(--line);border-radius:4px;padding:6px 8px;text-align:center;background:var(--bg)}
.arange .stp small{display:block;font-size:12px;color:var(--muted);font-weight:700}
.arange .stp>div{display:flex;align-items:center;justify-content:space-between}
.arange .stp b{font-size:22px;font-weight:700;min-width:36px}
.arange button{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--ink);background:var(--bg);color:var(--ink);font-size:24px;font-weight:700;line-height:1;cursor:pointer;padding:0}

/* ---------- design tokens: one place for sizes. Screens use these, not loose numbers.
   Radius stays 4 everywhere until the style direction is chosen (then only these three lines change). ---------- */
:root{
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-12:48px;
  --r-ctl:4px;--r-card:4px;--r-pill:999px;
  --fs-display:32px;--fs-title:24px;--fs-heading:18px;--fs-body:16px;--fs-secondary:14px;--fs-caption:12px;
  --tap:44px;--tabs-h:76px;
}
/* touch targets: every link-like control is at least 44 tall (the text may stay small) */
.editlink,.report,.repbtn,.linkbtn,.statlink,.homeback,.linkish{min-height:var(--tap)}
.report,.repbtn,.linkbtn,.statlink,.editlink,.linkish{display:inline-flex;align-items:center;justify-content:center}
.ico{display:inline-block;vertical-align:-4px;flex:none}

/* loading skeleton: the shape of the cards instead of a spinner */
.skels{padding:var(--sp-4);display:grid;gap:var(--sp-3)}
.skel{height:92px;border-radius:var(--r-card);background:linear-gradient(90deg,var(--field) 25%,#F7F1E6 50%,var(--field) 75%);background-size:200% 100%;animation:skel 1.3s linear infinite}
@keyframes skel{to{background-position:-200% 0}}

/* a bottom sheet with a short list of actions (the "more" menu) */
.mn-bg{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:60;display:flex;align-items:flex-end;justify-content:center}
.mn-box{background:var(--bg);width:100%;max-width:480px;border-radius:8px 8px 0 0;padding:var(--sp-4) var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom,0px));display:grid;gap:var(--sp-2)}
.mn-box h2{margin:0 0 var(--sp-1);font-size:var(--fs-heading)}
.mn-box button{min-height:var(--tap);text-align:start;border:0;background:var(--field);border-radius:var(--r-ctl);padding:0 var(--sp-4);font-size:var(--fs-body);font-weight:500;cursor:pointer}
.mn-box button.danger{color:var(--bad);font-weight:700}
.mn-box .mn-x{background:transparent;box-shadow:inset 0 0 0 2px var(--ink);font-weight:700;text-align:center}

/* the bottom bar of every tab screen: label on every item, the active one is marked by more than color */
nav.tabs .in{padding:6px 8px calc(8px + env(safe-area-inset-bottom,0px))}
nav.tabs a{position:relative;min-width:60px}
nav.tabs a.on::before{content:"";position:absolute;top:-6px;width:28px;height:3px;border-radius:2px;background:var(--mine)}
nav.tabs .ni{position:relative;display:inline-flex}
nav.tabs .nbadge{position:absolute;top:-6px;inset-inline-end:-10px;min-width:18px;height:18px;border-radius:9px;background:var(--mine);color:var(--ink);font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 5px}
nav.tabs a.plusl{padding-top:0}
nav.tabs a.plusl .lbl{margin-top:2px}
