/* WA Platform console stylesheet - split out of admin.html on 2026-09-02 (same rules, own file) */
/* Heebo self-hosted (audit 2026-09-02): one variable woff2 per subset from our own origin - no third-party
     round trip before the first paint, cached by the service worker for the installed app */
  @font-face{font-family:"Heebo";font-style:normal;font-weight:400 900;font-display:swap;src:url("/fonts/heebo-hebrew.woff2") format("woff2");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
  @font-face{font-family:"Heebo";font-style:normal;font-weight:400 900;font-display:swap;src:url("/fonts/heebo-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
  @font-face{font-family:"Heebo";font-style:normal;font-weight:400 900;font-display:swap;src:url("/fonts/heebo-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
  :root{
    --bg:#faf9f5;--panel:#ffffff;--panel2:#f5f3ec;--ink:#2d2a26;--muted:#6d665b; /* 4.9:1 on the page ground - the old #8a8378 was 3.7:1, below AA for small text */
    --teal:#12a150;--teal-strong:#0f9048;--teal-soft:#e7f6ec;
    --line:#e8e5de;--line-soft:#f0eee7;--red:#c0492f;
    --amber:#b26a00;--amber-soft:#fbf1de;
    --bubble-in:#ffffff;--bubble-ai:#e7f6ec;
    --shadow:0 1px 2px rgba(45,42,38,.04),0 2px 8px rgba(45,42,38,.05);
    --focus:0 0 0 3px rgba(18,161,80,.18)
  }
  *{box-sizing:border-box}
  /* one visible focus ring for keyboard users (audit 2026-09-02) - mouse clicks keep the clean look */
  button:focus-visible,a:focus-visible,[tabindex]:focus-visible,.tab:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
  body{margin:0;background:#efeae2 url("/img/wa-wall.svg") fixed;background-size:380px 380px;color:var(--ink);font-family:"Heebo","Segoe UI",-apple-system,Roboto,Arial,sans-serif;height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}
  header{display:flex;align-items:center;gap:11px;padding:13px 22px;background:var(--panel);border-bottom:1px solid var(--line)}
  header .logo{width:30px;height:30px;border-radius:9px;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:900;font-size:.95rem;box-shadow:var(--shadow)}
  header h1{font-size:.98rem;margin:0;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
  header .env{color:var(--muted);font-size:.78rem;margin-inline-start:auto}
  .gate{margin:auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px 24px 18px;width:360px;box-shadow:0 8px 30px rgba(45,42,38,.08);text-align:center;max-height:calc(100dvh - 24px);overflow-y:auto}
  .gate .logo{width:40px;height:40px;border-radius:12px;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:900;font-size:1.3rem;margin:0 auto 8px}
  .gate h2{margin:0 0 4px;font-size:1.25rem;font-weight:700;letter-spacing:-.01em}
  .gate .sub{color:var(--muted);font-size:.85rem;margin:0 0 12px}
  .gate label{text-align:start}
  label{display:block;font-size:.82rem;font-weight:600;color:var(--ink);margin:16px 0 6px;letter-spacing:0}
  .help{font-size:.78rem;color:var(--muted);margin:-2px 0 6px;line-height:1.5}
  input,textarea,select{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--ink);padding:10px 13px;font:inherit;font-size:.92rem;transition:border-color .15s,box-shadow .15s}
  input:hover,textarea:hover,select:hover{border-color:#d9d5cb}
  input:focus,textarea:focus,select:focus{outline:none;border-color:var(--teal);box-shadow:var(--focus)}
  input::placeholder,textarea::placeholder{color:#b6afa2}
  textarea{min-height:130px;resize:vertical;line-height:1.55}
  select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a8378' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px}
  html[dir] select,body select{background-position:right 13px center}
  button{border:0;border-radius:10px;background:var(--teal);color:#fff;font-weight:600;padding:10px 18px;cursor:pointer;font:inherit;font-size:.9rem;transition:background .15s,box-shadow .15s;box-shadow:var(--shadow)}
  button:hover{background:var(--teal-strong)}
  button.sec{background:var(--panel);color:var(--ink);border:1px solid var(--line);box-shadow:none}
  button.sec:hover{background:var(--panel2);border-color:#d9d5cb}
  button:disabled{opacity:.5;cursor:default}
  .main{flex:1;display:grid;grid-template-columns:270px 1fr;grid-template-rows:minmax(0,1fr);min-height:0}
  .side{background:var(--panel);border-inline-end:1px solid var(--line);overflow:auto;padding:16px 12px}
  .side h3{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin:4px 8px 12px}
  .tenant{padding:11px 12px;border-radius:11px;cursor:pointer;margin-bottom:4px;border:1px solid transparent;transition:background .12s,border-color .12s}
  .tenant:hover{background:var(--panel2)} .tenant.active{background:var(--teal-soft);border-color:rgba(18,161,80,.25)}
  .tenant b{display:block;font-size:.92rem;font-weight:600;color:var(--ink)} .tenant span{font-size:.76rem;color:var(--muted)}
  .content{overflow:auto;min-height:0;padding:0;background:var(--bg)}
  .tabs{display:flex;gap:2px;padding:14px 16px 0;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:5;overflow-x:auto;scrollbar-width:none}
  .tab{padding:9px 10px;cursor:pointer;color:var(--muted);font-weight:600;font-size:.8rem;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .12s,border-color .12s;white-space:nowrap}
  .tab:hover{color:var(--ink)}
  .tab.active{color:var(--teal-strong);border-bottom-color:var(--teal)}
  /* two-level navigation (audit 2026-09-02): six groups on top, the group's screens as chips below */
  .tabs{display:block;padding:10px 16px 0}
  .gtabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
  .gtabs::-webkit-scrollbar{display:none}
  .gtabs .tab{display:inline-flex;align-items:center;gap:5px}
  .gtabs .tab.adm{color:#8a6d1a}
  .gtabs .tab.adm.active{color:#8a6d1a;border-bottom-color:#c9a84c}
  .subtabs{display:flex;gap:6px;flex-wrap:wrap;padding:8px 0 8px;align-items:center}
  .subtabs .glbl{display:none;font-size:.74rem;font-weight:800;color:var(--muted);margin-inline-end:4px}
  .subtab{font-size:.78rem;font-weight:700;padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;box-shadow:none;min-height:0}
  .subtab:hover{color:var(--ink);border-color:#d9d5cb;background:var(--panel)}
  .subtab.active,.subtab.active:hover{background:var(--teal);color:#fff;border-color:var(--teal)}
  .subtab.active .tab-ub{background:#fff;color:var(--teal-strong)}
  @media(min-width:901px){.mobile-only{display:none!important}}
  /* bot-setup accordion + sticky save bar */
  details.acc>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;margin:0}
  details.acc>summary::-webkit-details-marker{display:none}
  details.acc>summary::after{content:'⌄';margin-inline-start:auto;font-size:1.05rem;color:var(--muted);transition:transform .15s}
  details.acc[open]>summary::after{transform:rotate(180deg)}
  details.acc[open]>summary{margin-bottom:4px}
  /* nested accordions inside a setup card (auto-fill from site, files & links) */
  .subacc{margin:10px 0;border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:var(--panel2)}
  .subacc>summary{cursor:pointer;font-weight:700;font-size:.86rem;color:var(--teal-strong);list-style:none;display:flex;align-items:center;gap:6px}
  .subacc>summary::-webkit-details-marker{display:none}
  .subacc>summary::after{content:'⌄';margin-inline-start:auto;color:var(--muted);transition:transform .15s}
  .subacc[open]>summary::after{transform:rotate(180deg)}
  .subacc[open]>summary{margin-bottom:6px}
  #cfgSaveBar{position:sticky;bottom:0;z-index:4;background:var(--bg);padding:10px 0;margin-top:8px;display:flex;align-items:center;gap:14px;border-top:1px solid var(--line)}
  #waProfileBody .pane{padding:4px 0 0;max-width:none}
  #waProfileBody .pane>h3:first-child{margin-top:8px}
  @media(max-width:900px){
    /* owner 2026-09-06 19:05: the save bar no longer floats over the screen on phones/tablets - it sits at the end of the form */
    body.authed:not(.chat-open) #cfgSaveBar{position:static;left:auto;right:auto;bottom:auto;margin:8px 0 0;padding:14px 0 4px;background:var(--bg);border-top:1px solid var(--line);box-shadow:none;z-index:auto}
    body.authed:not(.chat-open) .pane:has(#cfgSaveBar){padding-bottom:18px}
  }
  /* mobile bottom bar - the four things a business owner opens all day; "עוד" = the drawer's screens list */
  #bnav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:58;background:var(--panel);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));justify-content:space-around;box-shadow:0 -6px 20px rgba(17,27,33,.08)}
  #bnav button{position:relative;background:none;border:0;box-shadow:none;color:var(--muted);font-size:.68rem;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 12px;min-height:0!important;border-radius:10px;width:auto}
  #bnav button span.ic{font-size:1.25rem;line-height:1}
  #bnav button.active{color:var(--teal-strong)}
  #bnav .tab-ub{position:absolute;top:0;inset-inline-start:calc(50% + 4px)}
  .wa-toast{bottom:26px}
  @media(max-width:900px){
    body.authed:not(.chat-open) #bnav{display:flex}
    body.authed:not(.chat-open) .content{padding-bottom:64px}
    body.authed:not(.chat-open) .inbox{height:calc(100dvh - 232px)}
    body.authed:not(.chat-open) .wa-toast{bottom:calc(84px + env(safe-area-inset-bottom))}
    .gtabs{display:flex;gap:4px;overflow-x:auto;padding-bottom:2px}
    .gtabs .tab{font-size:.78rem;padding:6px 9px;flex:none;white-space:nowrap}
    .subtabs{padding:6px 0 6px}
    .subtabs .glbl{display:none}
    .tabs{padding:6px 10px 0}
    .tabs.nosub{display:block}
  }
  .pane{padding:28px 24px;max-width:760px}
  .pane.hide{display:none}
  .pane>h3, .sec-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:var(--muted);margin:30px 0 4px;padding:0}
  .pane>h3:first-child{margin-top:4px}
  .pill{display:inline-block;font-size:.7rem;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--panel2);color:var(--muted);border:1px solid var(--line)}
  .pill.ok,.pill.approved{background:var(--teal-soft);color:var(--teal-strong);border-color:rgba(18,161,80,.2)}
  .pill.pending{background:var(--amber-soft);color:var(--amber);border-color:rgba(178,106,0,.2)}
  .pill.err,.pill.rejected{background:#fbecea;color:var(--red);border-color:rgba(192,73,47,.2)}
  .status{font-size:.85rem;margin-top:12px;min-height:1.2em}
  .ok{color:var(--teal-strong);font-weight:600} .err{color:var(--red);font-weight:600}
  .row{display:flex;gap:10px} .row>*{flex:1}
  .muted{color:var(--muted);font-size:.9rem}
  .pane p.muted{line-height:1.6}
  /* card sections inside panes */
  .card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow);margin-top:10px}
  /* ===== connections tab - channel cards ===== */
  .chgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px;margin-bottom:24px;align-items:stretch} /* 215 = four channel cards fit the 930px pane instead of 3 + one orphan */
  .chcard{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
  .chcard.conn{border-color:rgba(18,161,80,.45)}
  .chcard.conn .chcard-h{background:linear-gradient(180deg,rgba(18,161,80,.10),rgba(18,161,80,.02))}
  .chset{margin-top:6px;border-top:1px dashed var(--line-soft);padding-top:8px}
  .chset>summary{cursor:pointer;font-size:.78rem;font-weight:700;color:var(--teal);list-style:none;display:flex;align-items:center;gap:6px;user-select:none}
  .chset>summary::-webkit-details-marker{display:none}
  .chset>summary::after{content:'⌄';margin-inline-start:auto;transition:transform .15s;font-size:.9rem}
  .chset[open]>summary::after{transform:rotate(180deg)}
  .chset>*:not(summary){margin-top:8px}
  .chcard-h{display:flex;align-items:center;gap:11px;padding:13px 16px;border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,#fcfbf8,transparent)}
  .chcard-ico{width:42px;height:42px;border-radius:12px;background:var(--panel2);border:1px solid var(--line-soft);display:flex;align-items:center;justify-content:center;gap:5px;flex:none}
  .chcard-ico.duo{width:60px}
  .chcard-t{min-width:0;flex:1}
  .chcard-t b{display:block;font-size:.95rem;line-height:1.25}
  .chcard-t span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.73rem;color:var(--muted);overflow:hidden;line-height:1.35}
  .chcard-h .pill{flex:none}
  .chcard-b{padding:13px 16px 15px;flex:1;display:flex;flex-direction:column;min-width:0}
  .chcard-b .help{margin:0 0 8px}
  .chcard-foot{margin-top:auto;padding-top:10px}
  /* sub-panel inside a channel card (comment moderation etc.) */
  .chsub{border:1px solid var(--line);border-radius:12px;padding:13px 15px;margin-top:12px;background:#fcfbf8}
  .chsub-h{display:flex;align-items:center;gap:8px}
  .chsub-h b{font-size:.86rem}
  /* connected FB page row */
  .fbpage{border:1px solid var(--line);border-radius:13px;padding:11px 13px;margin-top:10px;background:var(--panel)}
  .fbpage-top{display:flex;align-items:center;gap:10px;min-width:0}
  .fbpage-av{width:34px;height:34px;border-radius:50%;background:var(--panel2);border:1px solid var(--line-soft);display:grid;place-items:center;flex:none}
  .fbpage-info{min-width:0;flex:1}
  .fbpage-info b{display:block;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .fbpage-info span{display:flex;align-items:center;gap:4px;font-size:.72rem;color:var(--muted)}
  .fbpage-ctl{display:flex;align-items:center;gap:2px 10px;flex-wrap:wrap;margin-top:9px;padding-top:9px;border-top:1px dashed var(--line-soft)}
  /* toggle switch (RTL: knob rests at the inline-start = right, slides left when on) */
  .tglbtn{display:inline-flex;align-items:center;gap:7px;background:none;border:0;box-shadow:none;padding:5px 7px;color:var(--ink);font-size:.78rem;font-weight:600;cursor:pointer;border-radius:9px}
  .tglbtn:hover{background:var(--panel2)}
  .tglbtn .tgl{width:33px;height:19px;border-radius:99px;background:#d5d1c8;position:relative;transition:background .18s;flex:none}
  .tglbtn .tgl i{position:absolute;top:2px;inset-inline-start:2px;width:15px;height:15px;border-radius:50%;background:#fff;transition:transform .18s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
  .tglbtn.on .tgl{background:var(--teal)}
  .tglbtn.on .tgl i{transform:translateX(-14px)}
  .tglbtn.dim{opacity:.55}
  button.sec.mini{font-size:.72rem;padding:4px 10px}
  /* business-system integration cards laid out as tiles per category */
  .intgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:10px}
  .intgrid>[data-iname]{min-width:0;display:flex;flex-direction:column}
  .intgrid .card{margin-top:0;flex:1}
  .intgrid>[data-iname].ifull{grid-column:1/-1}
  @media (max-width:760px){ .chcard.wide{grid-column:auto} }
  /* inbox - the list column is wide enough for 5+ channel chips AND unread badges (desktop) */
  .inbox{display:grid;grid-template-columns:340px 1fr;gap:0;height:calc(100vh - 118px);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow);margin-top:2px}
  .convlist{border-inline-end:1px solid var(--line);overflow:auto;background:var(--panel)}
  /* channel switcher: single scrollable row - any number of channels fits without wrapping */
  #chfilters{display:flex;flex-wrap:wrap;gap:5px;margin:0 8px 8px;padding-bottom:2px}
  #chfilters::-webkit-scrollbar{display:none}
  #chfilters button{flex:none;display:inline-flex;align-items:center;gap:4px}
  .chip-ub{background:#25d366;color:#fff;border-radius:99px;font-size:.62rem;font-weight:800;min-width:15px;padding:1px 4px;line-height:1.4;text-align:center}
  .tab-ub{display:inline-grid;place-items:center;background:#25d366;color:#fff;border-radius:99px;font-size:.62rem;font-weight:800;min-width:16px;height:16px;padding:0 4px;margin-inline-start:5px;line-height:1;vertical-align:middle}
  .conv{position:relative;padding:12px 16px;padding-inline-end:62px;border-bottom:1px solid var(--line-soft);cursor:pointer;transition:background .12s}
  /* unanswered rows: tinted band + bold text + green count (owner 2026-09-02 "האייקון לא ברור") */
  /* admin-only marker (owner 2026-09-02): anything the client never sees carries this tag */
  .adm-tag{display:inline-flex;align-items:center;gap:3px;font-size:.62rem;font-weight:800;line-height:1.5;padding:1px 7px;border-radius:99px;background:#fff3d6;color:#7a4b00;border:1px solid #f0c060;vertical-align:middle;margin-inline-start:6px;white-space:nowrap}
  .tab .adm-tag,.glbl .adm-tag,.navitem .adm-tag{font-size:.56rem;padding:0 5px;margin-inline-start:4px}
  /* admin cost/profit report tables (usage tab) */
  .tblwrap{overflow-x:auto;margin-top:10px}
  table.rep{width:100%;border-collapse:collapse;font-size:.86rem}
  table.rep th{text-align:start;font-size:.74rem;color:var(--muted);font-weight:800;padding:6px 8px;border-bottom:1px solid var(--line)}
  table.rep td{padding:7px 8px;border-bottom:1px solid var(--line-soft);vertical-align:top}
  table.rep .num{text-align:left;font-variant-numeric:tabular-nums;white-space:nowrap}
  table.rep tr.tot td{font-weight:800;background:var(--panel2)}
  table.rep td.muted{font-size:.78rem}
  .conv.unread{background:#f1faf4;box-shadow:inset 3px 0 0 #25d366}
  .conv:hover{background:var(--panel2)} .conv.active{background:var(--teal-soft)}
  .conv b{font-size:.9rem;font-weight:600;color:var(--ink)} .conv p{margin:3px 0 0;font-size:.8rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* WhatsApp-style meta column at the TOP-LEFT corner (RTL console, physical left on purpose -
     direction:ltr on the time span would flip inset-inline-end, so use left):
     last-message time on top, green unread count under it */
  .conv .tm{position:absolute;top:12px;left:14px;font-size:.67rem;color:var(--muted);direction:ltr;line-height:1}
  .conv .ub{position:absolute;top:28px;left:14px;min-width:21px;height:21px;border-radius:99px;background:#25d366;color:#fff;font-size:.74rem;font-weight:800;display:grid;place-items:center;padding:0 5px;line-height:1;box-shadow:0 1px 2px rgba(0,0,0,.12)}
  .conv.unread .tm{color:var(--teal-strong);font-weight:700}
  .conv.unread b{font-weight:800}
  .conv.unread p{color:var(--ink);font-weight:600}
  /* WhatsApp-Web-style row menu: a chevron fades in on hover over the time (desktop only -
     on mobile these actions live in the bot bar inside the open chat) */
  .conv .cmb{position:absolute;top:4px;left:8px;width:24px;height:24px;border-radius:50%;border:0;background:var(--panel);box-shadow:0 1px 4px rgba(0,0,0,.14);color:var(--muted);font-size:.8rem;line-height:1;padding:0;display:none;place-items:center;cursor:pointer}
  @media (min-width:901px){
    .conv:hover .cmb{display:grid}
    .conv:hover .tm{opacity:0}
  }
  .cmenu-it{display:flex;align-items:center;gap:8px;width:100%;text-align:start;background:none;border:0;box-shadow:none;color:var(--ink);font-size:.86rem;font-weight:600;padding:9px 12px;border-radius:8px;cursor:pointer}
  .cmenu-it:hover{background:var(--panel2)}
  /* archive entry row + archive-view header (WhatsApp: a pinned row above the chat list) */
  .archrow{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line-soft);cursor:pointer;font-size:.85rem;font-weight:700;color:var(--muted);user-select:none}
  .archrow:hover{background:var(--panel2)}
  .archrow .cnt{margin-inline-start:auto;font-size:.72rem;font-weight:600;color:var(--muted)}
  /* 24h-window gate: free-text is locked until the customer writes - templates only */
  #tplgate{padding:10px 16px;border-top:1px solid var(--line);background:var(--amber-soft);color:#6b4a10;font-size:.82rem;line-height:1.8}
  .cmp-ico{width:38px;height:38px;min-width:38px;border-radius:50%;position:relative;border:0;background:none;cursor:pointer;display:grid;place-items:center;padding:0}
  .cmp-ico:hover{background:var(--panel2)}
  .cmp-ico.cap-off{opacity:.38;cursor:not-allowed} /* the channel's API can't take it - tooltip says why (owner 2026-09-26) */
  #msgmenu .emo-b:hover{background:var(--panel2,#f2eeea)}
  .cmp-ico.rec{background:#ff3b30;animation:recblink 1.2s infinite;position:relative;z-index:7}
  .compose{position:relative}
  .recwave{position:absolute;top:6px;bottom:6px;right:8px;left:96px;background:#fff;border-radius:99px;display:none;align-items:center;gap:2.5px;padding:0 16px;z-index:6;box-shadow:0 1px 4px rgba(0,0,0,.12)}
  .recwave.on{display:flex}
  .recwave i{flex:1;max-width:5px;height:15%;border-radius:99px;background:#00a884;transition:height .08s}
  .recwave .recdot{width:10px;height:10px;border-radius:50%;background:#ff3b30;animation:blink 1s infinite;flex:none;margin-inline-end:6px}
  .recwave .rectime{font-size:.8rem;font-weight:700;color:#3b4a54;flex:none;margin-inline-end:8px}
  .cmp-ico.rec svg path{stroke:#fff}
  @keyframes recblink{50%{opacity:.6}}
  .thread{overflow-y:auto;overflow-x:hidden;padding:20px;display:flex;flex-direction:column;gap:8px;background:#efeae2 url('/img/wa-wall.svg');background-size:340px}
  /* mixed-language chats: LTR emails/messages align naturally inside their bubble without
     ever breaking the RTL layout around them */
  .msg{unicode-bidi:plaintext}
  .msg .ali{display:inline-block;padding-inline-start:6px}
  /* overflow-wrap:anywhere + min-width:0 are load-bearing: an email reply with long English
     lines/URLs grew the bubble past the viewport and got clipped on phones (2026-08-15) */
  .msg{max-width:75%;min-width:0;padding:9px 14px;border-radius:16px;font-size:.92rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;box-shadow:0 1px 1px rgba(45,42,38,.05)}
  .msg.in{background:#fff;border:0;align-self:flex-start;border-radius:10px;border-top-right-radius:2px;box-shadow:0 1px .5px rgba(0,0,0,.14)}
  .msg.ai{background:#d9fdd3;align-self:flex-end;border-radius:10px;border-top-left-radius:2px;color:#111b21;box-shadow:0 1px .5px rgba(0,0,0,.14)}
  .msg.typing{color:var(--muted);font-style:italic;background:var(--panel2);border:1px solid var(--line)}
  .typing .dots span{animation:blink 1.2s infinite}
  .typing .dots span:nth-child(2){animation-delay:.2s} .typing .dots span:nth-child(3){animation-delay:.4s}
  @keyframes blink{0%,60%,100%{opacity:.25}30%{opacity:1}}
  @media (prefers-reduced-motion:reduce){.typing .dots span{animation:none}}
  .empty{color:var(--muted);padding:40px 30px;text-align:center;font-size:.9rem}
  .threadcol{display:flex;flex-direction:column;min-height:0}
  .threadcol .thread{flex:1}
  .compose{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--panel);align-items:flex-end}
  .compose input{flex:1} .compose button{flex:none}
  /* WhatsApp-style composer: grows with the text (up to ~5 lines, then scrolls) so what you
     type is ALWAYS visible. Enter = new line; sending is ONLY via the send button (owner 2026-08-26). */
  /* min-width:0 is critical: a textarea's intrinsic min-content width blocks flex shrinking,
     which pushed the send button off-screen on narrow phones (owner report 2026-08-14) */
  .compose textarea{flex:1;min-width:0;min-height:42px;max-height:134px;resize:none;overflow-y:auto;line-height:1.5;padding:10px 13px;border-radius:20px;font-size:.92rem}
  .compose{max-width:100%;box-sizing:border-box}
  /* phone composer (owner 2026-09-02: "תיבת טקסט ההקלדה קטנה מאוד"): WhatsApp-style [+] [text] [mic] [send] -
     the draft / quick-replies / attach / template buttons fold into the + menu */
  #cmpPlus{display:none}
  @media(max-width:720px){
    .compose{gap:6px;padding:8px 8px calc(8px + env(safe-area-inset-bottom))}
    .compose .cmp-ico{width:36px;height:36px;min-width:36px}
    .compose .cmp-ico.mob-fold{display:none!important}
    #cmpPlus{display:grid}
    .compose #replySend{padding:9px 14px;font-size:.88rem;min-height:40px}
    .compose textarea{min-height:40px;padding:9px 12px;font-size:16px}
    /* placeholders fit the phone: smaller than the typed text (16px stays, so no zoom on focus) and cut with … (owner 2026-09-30) */
    .compose input,.compose textarea{font-size:16px}
    .compose input::placeholder,.compose textarea::placeholder{font-size:14px;text-overflow:ellipsis}
  }
  /* ✨ draft in progress: the button pulses until the text lands (owner 2026-09-02) */
  .cmp-ico.thinking{animation:aiPulse 1s ease-in-out infinite;background:rgba(18,161,80,.14)}
  @keyframes aiPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.18);opacity:.55}}
  @media(prefers-reduced-motion:reduce){.cmp-ico.thinking{animation:none}}
  .msg .who{display:block;font-size:.62rem;opacity:.7;margin-bottom:3px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
  /* WhatsApp-style time + ticks, bottom-left of the bubble (RTL page) */
  .msgmeta{display:flex;direction:ltr;justify-content:flex-start;align-items:center;gap:4px;font-size:.63rem;color:#667781;margin-top:3px;line-height:1;user-select:none}
  .msg.in .msgmeta{color:#8a8378}
  .tk{letter-spacing:-2.5px;font-weight:600}
  .tk.read{color:#53bdeb}
  .tk.fail{color:#c0492f;letter-spacing:0;font-weight:900}
  /* a reply that never reached the customer: a red, always-visible line with the reason + retry (audit 2026-09-26 #23) */
  .msgfail{margin-top:6px;padding:6px 9px;border-radius:8px;background:#fbecea;border:1px solid rgba(192,73,47,.3);color:#8f2d18;font-size:.76rem;line-height:1.5;white-space:normal}
  .msgfail .linkbtn{font-size:.74rem;padding:2px 8px;color:#8f2d18}
  /* --- WhatsApp-style message actions (reactions, reply, pin, tag, forward) --- */
  .msg{position:relative}
  /* ALWAYS-visible round action button on every bubble (user feedback 2026-08-12: the old
     hover-only chevron was invisible until you touched the message - undiscoverable). The whole
     bubble is also clickable / long-pressable / right-clickable to open the same menu. */
  .msgcaret{position:absolute;top:4px;inset-inline-end:5px;width:28px;height:26px;border:0;border-radius:13px;background:rgba(17,27,33,.08);cursor:pointer;color:#54656f;font-size:17px;line-height:24px;font-weight:700;opacity:.62;transition:opacity .12s,background .12s,transform .1s;padding:0;box-shadow:none}
  .msg.ai .msgcaret{background:rgba(11,80,42,.1);color:#1f7a4d}
  .msg:hover .msgcaret,.msgcaret:focus{opacity:1;background:rgba(17,27,33,.15);transform:scale(1.08)}
  .msg{cursor:pointer;padding-inline-end:38px} /* room for the button - content never hides under it */
  .msg.typing{cursor:default;padding-inline-end:14px}
  .msg .who{padding-inline-end:0}
  /* touch devices: long-press opens OUR menu - suppress native text-selection/callout on bubbles */
  @media(hover:none){
    .msgcaret{opacity:.75}
    .msg{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
  }
  /* quoted reply block inside a bubble */
  .qreply{border-inline-start:3px solid var(--teal,#12a150);background:rgba(0,0,0,.05);border-radius:5px;padding:4px 8px;margin-bottom:5px;font-size:.82rem;color:#4a5a52;cursor:pointer;max-height:56px;overflow:hidden}
  .msg.ai .qreply{background:rgba(0,0,0,.06)}
  .qreply b{display:block;font-size:.7rem;color:var(--teal,#12a150);margin-bottom:1px}
  .fwd{font-size:.7rem;color:#8a8378;font-style:italic;margin-bottom:3px;display:flex;align-items:center;gap:3px}
  /* reaction pill hanging off the bubble corner */
  .mrx{position:absolute;bottom:-11px;inset-inline-end:8px;background:#fff;border:1px solid var(--line,#e9e6de);border-radius:12px;padding:1px 5px;font-size:.8rem;box-shadow:0 1px 3px rgba(0,0,0,.16);display:flex;gap:1px;line-height:1.3;z-index:1}
  .mrx.mine{inset-inline-end:auto;inset-inline-start:8px}
  .mtags{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}
  .mtag{font-size:.66rem;background:rgba(18,161,80,.12);color:#0b6b43;border-radius:20px;padding:1px 8px;font-weight:600}
  .mstar{color:#e8a500}
  .mnote{font-size:.72rem;color:#7a6f00;background:#fff8db;border:1px solid #f0e2a0;border-radius:6px;padding:3px 7px;margin-top:4px}
  /* per-message action menu popup */
  #msgmenu{position:fixed;z-index:400;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 34px rgba(0,0,0,.2);padding:6px;min-width:186px;direction:rtl;animation:mmIn .13s ease}
  @keyframes mmIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
  #msgmenu .rxrow{display:flex;gap:2px;padding:3px 4px 7px;border-bottom:1px solid var(--line-soft,#eee);margin-bottom:4px;justify-content:space-between}
  #msgmenu .rxrow button{width:34px;height:34px;border:0;background:none;border-radius:50%;cursor:pointer;font-size:19px;padding:0;transition:background .12s,transform .1s}
  #msgmenu .rxrow button:hover{background:var(--panel2,#f2eeea);transform:scale(1.15)}
  #msgmenu .mi{display:flex;align-items:center;gap:9px;width:100%;background:none;border:0;text-align:right;padding:9px 11px;border-radius:8px;cursor:pointer;font:inherit;font-size:.86rem;color:var(--ink);box-shadow:none}
  #msgmenu .mi:hover{background:var(--panel2,#f2eeea)}
  #msgmenu .mi.danger{color:#c0492f}
  #msgmenu .mi span.ico{width:18px;text-align:center;flex:none}
  /* mobile: bigger touch targets in the menu (finger-sized, per WCAG ~44px) */
  @media(hover:none){
    #msgmenu{min-width:220px}
    #msgmenu .mi{padding:12px 13px;font-size:.95rem}
    #msgmenu .rxrow button{width:40px;height:40px;font-size:22px}
  }
  /* pinned bar at the top of the thread */
  /* hard one-line clamp (owner bug 2026-08-16: a pinned message stretched vertically down
     the screen) - whatever the content is, the bar is a single 40px-max strip */
  .pinbar{position:sticky;top:0;z-index:2;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:-8px 0 6px;display:flex;align-items:center;flex-wrap:nowrap;gap:9px;box-shadow:0 2px 8px rgba(0,0,0,.06);cursor:pointer;font-size:.83rem;max-height:40px;overflow:hidden;width:100%;align-self:stretch}
  .pinbar .pintxt{flex:1 1 0;min-width:0;max-width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3b4a42;unicode-bidi:plaintext}
  .pinbar .pinx{flex:none;background:none;border:0;cursor:pointer;color:var(--muted);font-size:15px;padding:2px 6px;width:auto;box-shadow:none}
  /* reply preview above the composer */
  #replybar{display:flex;align-items:center;gap:10px;padding:9px 14px;background:var(--panel2,#f2eeea);border-top:1px solid var(--line);border-inline-start:4px solid var(--teal,#12a150)}
  #replybar .rb-t{flex:1;min-width:0;font-size:.83rem}
  #replybar .rb-t b{display:block;color:var(--teal,#12a150);font-size:.72rem}
  #replybar .rb-t .rb-c{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4a5a52}
  #replybar .rb-x{flex:none;background:none;border:0;cursor:pointer;color:var(--muted);font-size:18px;padding:4px 8px;width:auto;box-shadow:none}
  .botbar{padding:11px 16px;border-bottom:1px solid var(--line);font-size:.82rem;color:var(--muted);display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--panel2)}
  /* mobile: the botbar is ONE slim line (status + פעולות popup) - never a 3-row wall */
  @media(max-width:720px){.botbar{flex-wrap:nowrap;white-space:nowrap;overflow:hidden;padding:7px 12px;font-size:.8rem}}
  .botbar b{color:var(--ink)}
  .prspin{width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--teal);border-radius:50%;display:inline-block;animation:prspin .8s linear infinite;flex:none}
  @keyframes prspin{to{transform:rotate(360deg)}}
  .linkbtn{background:var(--panel);border:1px solid var(--line);color:var(--teal-strong);border-radius:8px;padding:5px 11px;cursor:pointer;font:inherit;font-size:.78rem;font-weight:600;transition:border-color .12s,background .12s}
  .linkbtn:hover{border-color:var(--teal);background:var(--teal-soft)}
  .kv{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line-soft);font-size:.92rem}
  .kv span{color:var(--muted)} .kv b{color:var(--ink);font-weight:600}
  .hintbox{background:var(--teal-soft);border:1px solid rgba(18,161,80,.18);border-radius:12px;padding:14px 16px;font-size:.86rem;line-height:1.65;color:#2f5a41}
  .hintbox code, .pane code{background:var(--panel2);border:1px solid var(--line);padding:1px 6px;border-radius:5px;font-size:.85em}
  .hintbox code{background:#fff;border-color:rgba(18,161,80,.2)}
  input[type=file]{padding:8px 10px;font-size:.85rem}
  input[type=file]::file-selector-button{border:1px solid var(--line);background:var(--panel2);border-radius:7px;padding:5px 11px;margin-inline-end:10px;font:inherit;font-size:.82rem;font-weight:600;color:var(--ink);cursor:pointer}
  input[type=checkbox]{accent-color:var(--teal);width:auto}
  .tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:.88rem;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:12px}
  .tbl th{background:var(--panel2);text-align:start;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;padding:11px 14px;border-bottom:1px solid var(--line)}
  .tbl td{padding:11px 14px;border-bottom:1px solid var(--line-soft);color:var(--ink);vertical-align:top}
  .tbl tr:last-child td{border-bottom:0}
  .tbl tr:nth-child(even) td{background:#fcfbf8}
  @media (max-width:760px){
    header{padding:12px 12px;gap:7px;max-width:100vw}
    header h1{font-size:.9rem}
    /* mobile: the business name must not be crushed - logout moves into the settings menu,
       icon buttons tighten, the name keeps its ellipsis but gets real room */
    #signout{display:none!important}
    #bellBtn,#supBtn,#tourHdrBtn{padding:6px;margin-inline-start:2px;flex:none}
    #abiz{font-size:.9rem}
    /* NOTHING in the header may be pushed off-screen (owner screenshot 2026-08-15: the
       quota chip got clipped by the page-wide overflow guard). The title shrinks with an
       ellipsis; the chip and icon buttons never shrink or overflow. */
    /* Mobile header fit is GUARANTEED, not negotiated: the base #quota-chip rule appears
       LATER in the stylesheet and silently beat this override twice (equal specificity →
       source order wins) - hence !important. The title is hidden (the business name in
       #abiz is the identity); every icon tightens; the chip always renders whole. */
    body.authed header>a:first-of-type{display:none}
    /* the business name is redundant up top on mobile (owner request 2026-08-15) - the
       drawer and tab context already say where you are; the freed space keeps icons roomy */
    #abiz{display:none!important}
    header>a:first-of-type{min-width:0;overflow:hidden;flex:0 1 auto}
    header h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    header .env{display:none}
    header{gap:5px!important;padding-left:8px!important;padding-right:8px!important}
    #quota-chip{flex:none!important;font-size:.68rem!important;padding:3px 8px!important;margin-inline-start:2px!important}
    #asstBtn{font-size:1.22rem!important}
    #bellBtn,#asstBtn,#supBtn,#tourHdrBtn{padding:4px!important;margin-inline-start:0!important;height:34px!important}
    .main{grid-template-columns:1fr}
    .side{border-inline-end:none;border-bottom:1px solid var(--line);max-height:160px}
    .tabs{overflow-x:auto;white-space:nowrap;padding:12px 16px 0;-webkit-overflow-scrolling:touch}
    .pane{max-width:100%;padding:20px 16px}
    .inbox{grid-template-columns:1fr;height:auto;border-radius:12px}
    .convlist{border-inline-end:none;border-bottom:1px solid var(--line);max-height:180px}
    .threadcol .thread{min-height:46vh}
    .row{flex-direction:column}
    .gate{width:calc(100% - 32px)}
  }
  hr{border:0;border-top:1px solid var(--line);margin:24px 0}
  /* custom-subscription dial (same as homepage) */
  .dialwrap{max-width:560px;margin:0 auto;text-align:center}
  .dial{position:relative;width:min(240px,64vw);aspect-ratio:1/1;margin-inline:auto;touch-action:none;cursor:grab;user-select:none;outline:none}
  .dial:active{cursor:grabbing}
  .dial svg{width:100%;height:100%;display:block}
  .dial-knob{position:absolute;width:28px;height:28px;border-radius:50%;background:#fff;border:4px solid #00a884;box-shadow:0 3px 10px rgba(0,0,0,.25);left:50%;top:50%;pointer-events:none}
  .dial-center{position:absolute;inset:24%;border-radius:50%;background:#fff;box-shadow:0 6px 22px rgba(45,42,38,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;pointer-events:none}
  .dial-center b{font-size:1.7rem;font-weight:800;color:#0f766e;line-height:1}
  .dial-center span{font-size:.7rem;color:var(--muted);font-weight:600}
  .dial-btns{display:flex;justify-content:center;gap:66px;margin-top:-22px;position:relative;z-index:2}
  .dial-btns button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:1.4rem;font-weight:700;color:#0f766e;cursor:pointer;box-shadow:var(--shadow);padding:0}
  .dial-btns button:hover{background:var(--panel2)}
  .dial-rec{max-width:420px;margin:18px auto 0;background:#fff;border:2px solid var(--teal);border-radius:15px;padding:15px 18px}
  .dial-rec b{font-size:1rem;font-weight:800;display:block}
  .dial-rec .dr-sub{color:var(--muted);font-size:.84rem;margin:4px 0 10px;display:block}

  /* in-place drawer sub-menu (like the inbox master/detail: forward into the screens list, back out) */
  .side-nav{display:none}
  .side.nav-open #tenants,.side.nav-open>h3,.side.nav-open #navOpenBtn{display:none}
  .side.nav-open .side-nav{display:block;animation:snIn .18s ease;max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:20px}
  /* logout lives in the drawer header, far-left (owner 2026-09-07: a bottom row hid whenever a group was open) */
  .side-nav .navhead .nav-logout-top{margin-inline-start:auto;width:auto;min-height:0;background:transparent;border:1px solid var(--rail-line,var(--line));color:#f28b82;border-radius:8px;padding:5px 10px;font:inherit;font-size:.76rem;font-weight:700;line-height:1.3;cursor:pointer;box-shadow:none;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
  .side-nav .navhead .nav-logout-top:active{background:rgba(242,139,130,.12)}
  @keyframes snIn{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
  .side-nav .navhead{display:flex;align-items:center;gap:10px;font-weight:800;margin:2px 0 12px;font-size:1.02rem}
  .side-nav .navback{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);box-shadow:none;font-size:1.15rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none;padding:0}
  .side-nav .navback:active{background:rgba(15,118,110,.1)}
  .side-nav .navitem{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:11px;cursor:pointer;font-weight:600;font-size:.83rem;line-height:1.5}
  .side-nav .navitem:hover{background:rgba(15,118,110,.08)}
  .side-nav .navitem.active{background:var(--teal);color:#fff}
  /* grouped drawer menu: headers first, screens fold under them (owner 2026-09-02) */
  .side-nav details.navgrp{margin:2px 0}
  .side-nav .navgrp-head{list-style:none;display:flex;align-items:center;gap:8px;font-weight:800;font-size:.9rem;padding:9px 12px}
  .side-nav .navgrp-head::-webkit-details-marker{display:none}
  .side-nav .navgrp-chev{margin-inline-start:auto;font-size:1rem;opacity:.55;transition:transform .15s}
  .side-nav details.navgrp[open] .navgrp-chev{transform:rotate(180deg)}
  .side-nav .navgrp-one{font-weight:800;font-size:.9rem;padding:9px 12px}
  .side-nav .navitem.sub{padding-inline-start:30px;font-weight:500;font-size:.86rem}
  @media (prefers-reduced-motion: reduce){ .side.nav-open .side-nav{animation:none} }
  /* Desktop: the TOP tab bar never hides tabs - it wraps to a second row instead of the
     invisible-scrollbar cut (owner 2026-08-16: "המדריך נמצא בצד שמאל מוסתר"). */
  @media (min-width:901px){
    .tabs{flex-wrap:wrap;overflow-x:visible;row-gap:2px}
  }
  /* ===== APP SHELL - WhatsApp-native app experience (drawer, app-bar, responsive) ===== */
  :root{--appbar:#0f766e}
  body{height:100dvh}
  body:not(.authed) header{display:none} /* login screen keeps only the marketing top-nav */
  /* the marketing top-nav is FIXED - without top padding it overlaps the gate card and
     clips the logo (seen on mobile 2026-08-09) */
  body:not(.authed){padding-top:calc(60px + env(safe-area-inset-top))}
  body:not(.authed) .gate{max-height:calc(100dvh - 84px - env(safe-area-inset-top))}
  header{background:var(--appbar);border-bottom:0;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));gap:10px}
  header h1{color:#fff}
  header .env{color:rgba(255,255,255,.72)}
  #signout{color:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.35)}
  #signout:hover{background:rgba(255,255,255,.12)}
  /* sizing lives in CSS (NOT inline style) so the mobile override below can actually win -
     the old inline font/padding beat the media query and the chip kept clipping (2026-08-15) */
  #quota-chip{background:#fff;margin-inline-start:10px;font-size:.78rem;font-weight:800;border-radius:999px;padding:5px 13px;text-decoration:none;border:1px solid transparent;white-space:nowrap;flex:none}
  #menuBtn{display:none;background:none;border:0;box-shadow:none;padding:8px;margin-inline-start:-6px;border-radius:10px;cursor:pointer}
  #menuBtn:hover{background:rgba(255,255,255,.14)}
  #menuBtn:active{background:rgba(255,255,255,.22)}
  #abiz{display:none;color:#fff;font-weight:800;font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
  /* signature: business list = WhatsApp chat list */
  .tenant{display:flex;align-items:center;gap:11px;padding:10px}
  .t-av{width:42px;height:42px;border-radius:50%;background:var(--teal-soft);color:var(--teal-strong);display:grid;place-items:center;font-weight:800;font-size:1.05rem;flex:none;transition:background .15s,color .15s}
  .tenant.active .t-av{background:var(--teal);color:#fff}
  .t-info{flex:1;min-width:0}
  .t-info b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* the status pill (מנותק / לא מחובר) wraps under the number instead of being clipped by the narrow sidebar (owner 2026-09-26) */
  .t-info>span{display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px;white-space:nowrap}
  .t-info>span .pill{margin:0}
  .side-head{display:none}
  #scrim{position:fixed;inset:0;background:rgba(17,27,33,.5);z-index:55;opacity:0;pointer-events:none;transition:opacity .22s}
  body.drawer-open #scrim{opacity:1;pointer-events:auto}
  .tabs{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .tabs::-webkit-scrollbar{display:none}
  .tab{-webkit-tap-highlight-color:transparent;white-space:nowrap;border-bottom-width:3px}
  ::selection{background:rgba(18,161,80,.28)}
  @media (min-width:901px){ .main{grid-template-columns:300px 1fr} }
  @media (max-width:900px){
    /* Hard guarantee: NOTHING pushes the page wider than the phone screen. Wide content
       (tables, long ids, LTR emails) must scroll inside its own container, never the page. */
    html,body{max-width:100vw;overflow-x:hidden}
    .pane,.card{max-width:100%;min-width:0}
    header{position:sticky;top:0;z-index:50}
    header h1,header .env{display:none}
    #menuBtn{display:block}
    #abiz{display:block}
    .main{grid-template-columns:1fr}
    .side{position:fixed;top:0;bottom:0;left:auto;right:0;width:min(86vw,340px);max-height:none;z-index:60;transform:translateX(105%);transition:transform .28s cubic-bezier(.2,.8,.2,1);border-inline-end:0;border-bottom:0;padding:0;display:flex;flex-direction:column}
    body.drawer-open .side{transform:none;box-shadow:-18px 0 44px rgba(0,0,0,.28)}
    .side-head{display:flex;align-items:center;gap:10px;background:var(--appbar);color:#fff;padding:14px 16px;padding-top:calc(14px + env(safe-area-inset-top));font-weight:800;font-size:1rem;flex:none}
    .side-head .x{margin-inline-start:auto;background:none;border:0;box-shadow:none;color:#fff;font-size:1.15rem;cursor:pointer;padding:6px 8px}
    .side-nav{padding:8px}
    .side h3{display:none}
    #tenants{overflow:auto;flex:1;padding:8px}
    .tbl{display:block;overflow-x:auto}
    input,textarea,select{font-size:16px} /* prevents iOS focus-zoom */
    .pane{padding:16px 14px}
    /* key-value rows (billing, addons, usage, profile - the whole console): on phones the
       value+button block is one NON-BREAKING unit that drops to its own line under the label
       instead of squeezing beside it ("+40% לתשלום החודשי" wrapped mid-phrase, buttons floated
       ugly - user screenshots 2026-08-12). Short rows still fit on one line untouched. */
    .kv{flex-wrap:wrap;gap:4px 10px}
    .kv>span:first-child{flex:1 1 190px;min-width:0}
    .kv>b{display:flex;align-items:center;gap:8px;white-space:nowrap;margin-inline-start:auto;flex:none;max-width:100%}
    .kv>b button{flex:none}
    .card{padding:16px 14px}
    .card .sec-title{margin-top:0}
    .pane button:not(.cmp-ico):not(.linkbtn),.gate button{min-height:44px}
    /* master/detail needs a SINGLE column - the base 260px+1fr left an empty gap where the
       hidden thread was (broke at 760-900px = split-screen / half a monitor). List fills the
       column; tapping a conversation (body.chat-open) swaps it for the full-width thread. */
    .inbox{grid-template-columns:1fr;height:calc(100dvh - 168px);min-height:380px}
    .threadcol .thread{min-height:0}
    .compose{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
    /* WhatsApp master/detail: the LIST fills the screen; tapping a conversation opens the
       chat FULL-SCREEN (tabs hidden, chat-top with back). Exactly the app the user knows. */
    .convlist{max-height:none;border-bottom:0;height:100%}
    .inbox .threadcol{display:none}
    body.chat-open .inbox .convlist{display:none}
    body.chat-open .inbox .threadcol{display:flex}
    body.chat-open .tabs{display:none}
    body.chat-open #firstrun{display:none}
    body.chat-open .inbox{height:calc(100dvh - 54px - env(safe-area-inset-top));margin:0;border:0;border-radius:0;min-height:0}
    /* Scroll containment (owner 2026-08-16: dragging on the composer/thread nudged the whole
       page a little, plus a horizontal wiggle inside the chat). The page behind an open chat
       is LOCKED solid; scrolling exists only inside the thread, vertically, with no chaining. */
    /* BOTH axes: overscroll-behavior:none also kills the ~10px vertical rubber-band /
       pull-to-refresh preview when dragging on non-scrollable areas like the composer
       (owner video 2026-08-16 19:35, second 14 - x-only left the vertical elastic alive) */
    html,body{overflow-x:hidden;overscroll-behavior:none;max-width:100vw}
    .thread{overscroll-behavior:contain;touch-action:pan-y}
    .convlist{overscroll-behavior:contain}
    .compose textarea{overscroll-behavior:contain}
    .compose,.chat-top,.botbar{touch-action:none} /* dragging on the bars must move NOTHING */
    .compose textarea{touch-action:pan-y} /* its own internal scroll stays usable */
    body.chat-open{position:fixed;inset:0;width:100%;overflow:hidden}
    .threadcol{min-width:0;overflow-x:hidden}
  }
  .chat-top{display:none}
  @media (max-width:900px){
    .chat-top{display:flex;align-items:center;gap:8px;background:var(--appbar);color:#fff;padding:9px 10px;font-weight:800;font-size:.98rem;flex:none}
    .chat-top button{background:none;border:0;box-shadow:none;color:#fff;padding:6px;cursor:pointer;min-height:0;display:grid;place-items:center}
    .chat-top button:active{background:rgba(255,255,255,.18);border-radius:50%}
    .chat-top b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  }
  @media (prefers-reduced-motion:reduce){ .side,#scrim{transition:none} }

  /* ===== Notifications: push-style banner + bell center ===== */
  #topNotice{position:fixed;top:calc(10px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:99998;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:12px 40px 12px 14px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 18px 50px rgba(17,27,33,.22);width:min(440px,calc(100vw - 28px));animation:tnIn .38s cubic-bezier(.2,.9,.25,1.15);cursor:pointer;direction:rtl}
  #topNotice .tn-ico{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:1.05rem;flex:none}
  #topNotice.ok .tn-ico{background:var(--teal-soft)} #topNotice.info .tn-ico{background:var(--teal-soft)}
  #topNotice.warn .tn-ico{background:var(--amber-soft)} #topNotice.err .tn-ico{background:#fbecea}
  #topNotice .tn-tx{min-width:0}
  #topNotice .tn-tx b{display:block;font-size:.92rem}
  #topNotice .tn-tx span{display:block;font-size:.84rem;color:var(--muted);line-height:1.55;margin-top:2px}
  #topNotice .tn-x{position:absolute;top:9px;inset-inline-end:11px;font-weight:900;color:var(--muted);padding:5px;cursor:pointer}
  /* persistent connection-down strip (owner 2026-08-23): visible until reconnect OR the X */
  #connStrip{position:fixed;bottom:calc(14px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:99997;background:#fef3f2;border:1.5px solid #f0b3ad;color:#7a271a;border-radius:14px;padding:11px 38px 11px 14px;display:flex;gap:11px;align-items:center;box-shadow:0 14px 40px rgba(122,39,26,.25);width:min(520px,calc(100vw - 28px));direction:rtl}
  #connStrip .cs-tx{min-width:0;flex:1}
  #connStrip .cs-tx b{display:block;font-size:.9rem}
  #connStrip .cs-tx span{display:block;font-size:.8rem;color:#9a4a3f;line-height:1.5;margin-top:1px}
  #connStrip .cs-go{flex:none;background:#b42318;color:#fff;border:0;border-radius:10px;padding:8px 14px;font-size:.82rem;font-weight:700;cursor:pointer}
  #connStrip .cs-x{position:absolute;top:8px;inset-inline-end:10px;font-weight:900;color:#9a4a3f;padding:5px;cursor:pointer}
  @keyframes tnIn{from{opacity:0;transform:translate(-50%,-16px) scale(.97)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
  /* bell + robot share one box model so they sit on the SAME line (owner screenshot
     2026-08-15: the emoji baseline dropped the robot below the bell svg) */
  #bellBtn,#asstBtn,#supBtn,#tourHdrBtn{position:relative;background:none;border:0;box-shadow:none;padding:8px;border-radius:10px;cursor:pointer;margin-inline-start:6px;place-items:center;height:38px;line-height:1}
  #bellBtn:hover,#asstBtn:hover,#supBtn:hover,#tourHdrBtn:hover{background:rgba(255,255,255,.14)}
  /* the count badge floats on the bell's CORNER, never on top of the icon itself (owner
     report 2026-08-15: "ההתראות מופיעות ממש עליו") - the appbar-colored border lifts it */
  #bellBadge{display:none;position:absolute;top:-3px;inset-inline-end:-3px;min-width:18px;height:18px;border-radius:9px;background:#ff3b30;color:#fff;font-size:.62rem;font-weight:800;place-items:center;padding:0 3px;border:2px solid var(--appbar,#0f766e);text-align:center}
  /* own keyframes: tnIn is for the CENTERED banner (translateX -50%) - reusing it on the
     side-anchored panel made it open shifted and then snap into place */
  @keyframes bpIn{from{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:none}}
  #bellPanel{position:fixed;top:calc(54px + env(safe-area-inset-top));inset-inline-end:10px;z-index:99997;background:#fff;border-radius:16px;border:1px solid var(--line);box-shadow:0 22px 60px rgba(17,27,33,.28);width:min(360px,calc(100vw - 20px));max-height:min(68vh,460px);display:flex;flex-direction:column;overflow:hidden;animation:bpIn .22s cubic-bezier(.2,.9,.3,1.05);transform-origin:top;direction:rtl}
  #bellPanel .bp-head{display:flex;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line);font-weight:800;font-size:.92rem}
  #bellPanel .bp-clear{margin-inline-start:auto;background:none;border:0;box-shadow:none;color:var(--teal-strong);font-size:.8rem;font-weight:700;cursor:pointer;padding:4px 8px}
  #bellPanel .bp-list{overflow:auto;flex:1}
  #bellPanel .bp-row{display:flex;gap:11px;padding:12px 16px;border-bottom:1px solid var(--line-soft);cursor:pointer;align-items:flex-start}
  #bellPanel .bp-row:hover{background:var(--panel2)}
  #bellPanel .bp-row.unread{background:#f2fbf5}
  #bellPanel .bp-ico{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--teal-soft);font-size:.95rem}
  #bellPanel .bp-row.warn .bp-ico{background:var(--amber-soft)} #bellPanel .bp-row.err .bp-ico{background:#fbecea}
  #bellPanel .bp-tx{min-width:0} #bellPanel .bp-tx b{display:block;font-size:.87rem}
  #bellPanel .bp-tx span{display:block;font-size:.8rem;color:var(--muted);line-height:1.5;margin-top:1px}
  #bellPanel .bp-time{margin-inline-start:auto;font-size:.7rem;color:var(--muted);flex:none;padding-top:3px}
  #bellPanel .bp-dots{flex:none;background:none;border:0;box-shadow:none;color:var(--muted);font-size:1rem;font-weight:800;padding:2px 7px;border-radius:8px;cursor:pointer;align-self:flex-start}
  #bellPanel .bp-dots:hover{background:var(--panel2);color:var(--ink)}
  /* push enable button: loading ring + active state */
  .spinring{display:inline-block;width:13px;height:13px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spr .7s linear infinite;vertical-align:-2px;margin-inline-end:7px}
  @keyframes spr{to{transform:rotate(360deg)}}
  #pushOnBtn.on{background:var(--teal-soft,#e7f5ec);color:var(--teal-strong,#0f9048);border:1.5px solid rgba(18,161,80,.45);box-shadow:none;cursor:default}
  #bellPanel .bp-empty{padding:38px 20px;text-align:center;color:var(--muted);font-size:.86rem}
  @media (prefers-reduced-motion:reduce){ #topNotice,#bellPanel{animation:none} }
  @keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* analytics product-cost table (owner 2026-09-03): 8 columns must fit the pane on desktop; phones keep
   product · store cost · manual cost · sold - SKU / price / margin / period-COGS are secondary and would
   push the key columns behind a swipe. The manual-cost input keeps 16px on phones (iOS focus-zoom). */
#anProdTbl .tbl th,#anProdTbl .tbl td{padding:9px 9px}
#anProdTbl .tbl th{white-space:normal;line-height:1.25}
#anProdTbl .tbl input{font-size:.82rem}
@media (max-width:700px){
  .anp-sec{display:none!important}
  #anProdTbl .tbl td:first-child>div{min-width:108px}
  #anProdTbl .tbl th{font-size:.62rem;letter-spacing:0}
  #anProdTbl .tbl th,#anProdTbl .tbl td{padding:8px 5px}
  #anProdTbl .tbl td img{display:none}
  #anProdTbl .tbl input{width:70px!important;font-size:16px;padding:6px 5px}
}

/* Brand loader (owner 2026-09-03): the bubble+bolt mark breathing inside a spinning ring. .wload = centred
   in a freshly opened tab; .wload-overlay = laid over the current content during a soft refresh (the page
   never blanks); .wload-mini = small ring beside in-card "טוען…" texts. */
#pane{position:relative}
.wload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:64px 0 48px}
.wload-mark{position:relative;width:72px;height:72px}
.wload-ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(18,161,80,0) 0 55%,rgba(18,161,80,.35) 78%,#12a150 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));animation:wspin 1s linear infinite}
.wload-core{position:absolute;inset:11px;display:block;animation:wbreathe 1.4s ease-in-out infinite;filter:drop-shadow(0 6px 14px rgba(18,161,80,.28))}
.wload-core svg{width:100%;height:100%;display:block}
.wload-msg{font-size:.82rem;color:var(--muted)}
.wload-overlay{position:absolute;inset:0;z-index:4;background:color-mix(in srgb,var(--bg) 62%,transparent);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);display:flex;align-items:flex-start;justify-content:center;animation:wfade .18s ease-out}
.wload-overlay .wload{position:sticky;top:120px;padding:0}
.wload-mini{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid rgba(18,161,80,.22);border-top-color:#12a150;vertical-align:-2px;animation:wspin .8s linear infinite}
@keyframes wspin{to{transform:rotate(360deg)}}
@keyframes wbreathe{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.88);opacity:.78}}
@keyframes wfade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.wload-ring,.wload-core,.wload-mini{animation:none}}

/* analytics shipping-by-method table (owner 2026-09-03): method names wrap, numbers never; phones drop the customer-paid column (.anp-sec) */
#anShip .tbl th,#anShip .tbl td{padding:9px 9px;white-space:nowrap}
#anShip .tbl td:first-child{white-space:normal;min-width:180px}
#anShip .tbl th{white-space:normal;line-height:1.25}
#anShip .tbl input{font-size:.82rem}
@media (max-width:700px){
  #anShip .tbl td:first-child{min-width:118px}
  #anShip .tbl th{font-size:.62rem;letter-spacing:0}
  #anShip .tbl th,#anShip .tbl td{padding:8px 5px}
  #anShip .tbl input{width:66px!important;font-size:16px;padding:6px 5px}
}

/* analytics chips + accordion (owner 2026-09-03): every section is a <details> card; chips at the top open/close and jump */
.an-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 4px}
.an-chip{padding:6px 13px;border-radius:999px;border:1px solid var(--line);background:var(--panel);font-size:.8rem;font-weight:600;cursor:pointer;color:inherit;font-family:inherit;line-height:1.3}
.an-chip.on{background:var(--teal);color:#fff;border-color:var(--teal)}
.an-chip-all{color:var(--teal);font-weight:800;border-style:dashed}
.an-sec{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);margin-top:10px}
.an-sec>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:14px 18px;font-weight:700;user-select:none}
.an-sec>summary::-webkit-details-marker{display:none}
.an-sec>summary .an-sum{margin-inline-start:auto;font-weight:500;color:var(--muted);font-size:.8rem;white-space:nowrap}
.an-sec>summary::after{content:'⌄';font-size:1.1rem;color:var(--muted);transition:transform .15s;margin-inline-start:6px;line-height:1}
.an-sec[open]>summary::after{transform:rotate(180deg)}
.an-sec>.an-body{padding:0 18px 18px}
.an-sec .card{border:0;box-shadow:none;padding:0;margin:0;background:transparent}
.an-sec .card>.sec-title:first-child,.an-sec .card>div:first-child>.sec-title{display:none}
.pane .an-sec .card button:not(.cmp-ico):not(.linkbtn){min-height:0}
@media (max-width:700px){
  .an-sec>summary{padding:12px 14px;flex-wrap:wrap;gap:6px 10px}
  .an-sec>summary .an-sum{white-space:normal;font-size:.74rem;flex-basis:100%;margin-inline-start:0}
  .an-sec>.an-body{padding:0 14px 14px}
  .pane .an-sec .card button:not(.cmp-ico):not(.linkbtn){min-height:44px}
}

/* real connector logos (owner 2026-09-03): /img/conn/<key> - connections tab cards, analytics source strip + revenue table */
.conn-ic{display:inline-block;vertical-align:-5px;border-radius:6px;object-fit:contain;margin-inline-end:6px;background:#fff;flex:none}
.conn-ic-card{margin-inline-end:0;border-radius:8px;padding:2px;border:1px solid var(--line-soft,#eee)}
.an-srcstrip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 5px;border:1px solid var(--line);border-radius:999px;background:var(--panel)}
.an-srcstrip .conn-ic{margin-inline-end:0;vertical-align:0}

/* manual shipping profile (no shop): tier rows stay on one line on phones */
@media (max-width:700px){ #anShipFields input[type=number]{width:66px!important} }

/* connections tab: floating "+" (add a system with an API key) + the custom-API card (owner 2026-09-03) */
.int-fab{position:fixed;left:22px;right:auto;bottom:26px;z-index:70;width:54px;height:54px;border-radius:50%;border:0;background:var(--teal);color:#fff;font-size:30px;line-height:1;font-weight:400;cursor:pointer;box-shadow:0 8px 22px rgba(18,161,80,.38);display:grid;place-items:center;padding:0;transition:transform .12s,box-shadow .12s}
.int-fab:hover{transform:translateY(-1px) scale(1.04);box-shadow:0 10px 26px rgba(18,161,80,.45)}
.int-fab:active{transform:scale(.96)}
@media (max-width:700px){
  .int-fab{left:16px;right:auto;bottom:calc(84px + env(safe-area-inset-bottom));width:50px;height:50px;font-size:28px}
  /* the admin's 🛠️ report button shares the left corner - it steps up while the + is on screen */
  body:has(.int-fab) #techFab{bottom:calc(146px + env(safe-area-inset-bottom))!important}
  body.chat-open .int-fab{display:none}
  .int-add button{width:100%}
}

/* assistant: threads behind a ☰ drawer inside the panel; the strip shows the current thread's name with no <select> arrow (owner 2026-09-04) */
#asstPanel .asst-th{display:flex;align-items:center;gap:8px;padding:10px 10px;border-radius:10px;cursor:pointer;font-size:.86rem;line-height:1.4}
#asstPanel .asst-th:hover{background:var(--panel2,#f2eeea)}
#asstPanel .asst-th.on{background:#e7f6ec;font-weight:700}
#asstPanel .asst-th-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#asstPanel .asst-th-n{font-size:.72rem;color:var(--muted);flex:none;font-weight:400}
#asstPanel .asst-th-x{background:none;border:0;box-shadow:none;min-height:0;width:auto;padding:2px 4px;cursor:pointer;font-size:.9rem;opacity:.5;flex:none;color:inherit}
#asstPanel .asst-th-x:hover{opacity:1}
#asstMenuBtn:hover{background:rgba(255,255,255,.14)}
@keyframes asstDrIn{from{transform:translateX(28px);opacity:0}to{transform:none;opacity:1}}
@media (max-width:480px){ #asstPanel .asst-sub{display:none} }

/* connections: the card the client just connected/changed gets a short highlight after the tab re-renders */
@keyframes intflash{0%{box-shadow:0 0 0 4px rgba(18,161,80,.55)}100%{box-shadow:0 0 0 0 rgba(18,161,80,0)}}
.int-flash>.card{animation:intflash 1.8s ease-out}


/* ============================================================================================
   LUXE THEME (owner 2026-09-04: "עיצוב יותר מקצועי ויוקרתי" - design only, no logic touched).
   Direction: a private-banking console. Graphite frame (app bar + business rail), linen paper for
   the work area, ONE emerald action colour, a hairline of gold reserved for the admin layer, and
   Heebo only - the same face as the homepage (owner rule 2026-09-04). Appended LAST on purpose:
   equal-specificity rules here win over the originals above by source order. Homepage untouched.
   ============================================================================================ */
:root{
  --bg:#f3f0e8;--panel:#fcfbf8;--panel2:#ebe7dd;--ink:#16181c;--muted:#67625a;
  --teal:#0e7a45;--teal-strong:#0a6339;--teal-soft:#e3f1e8;
  --line:#dbd6ca;--line-soft:#e8e4da;--red:#a8381f;
  --amber:#8a5a00;--amber-soft:#f5ecd8;
  --bubble-in:#fcfbf8;--bubble-ai:#dfeee5;
  --shadow:none;--focus:0 0 0 3px rgba(14,122,69,.2);
  --appbar:#16181c;--rail:#1b1e24;--rail-ink:#f2efe8;--rail-dim:rgba(242,239,232,.55);--rail-line:rgba(242,239,232,.08);
  --gold:#b8963e
}
html{scrollbar-width:thin;scrollbar-color:#c7c1b4 transparent}
body{background:var(--bg);font-size:15px}
::selection{background:rgba(14,122,69,.22)}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible,.tab:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
/* ---- the graphite frame: app bar + business rail read as one piece ---- */
header{background:var(--appbar);border-bottom:1px solid var(--rail-line);padding:11px 22px;padding-top:calc(11px + env(safe-area-inset-top))}
header h1{font-weight:700;font-size:1rem;letter-spacing:-.01em;color:var(--rail-ink)}
header .env{color:var(--rail-dim);font-size:.72rem;letter-spacing:.08em}
#abiz{font-weight:800;font-size:1rem;letter-spacing:-.01em}
#quota-chip{border-radius:4px;font-weight:700;letter-spacing:.02em;padding:5px 11px}
.side{background:var(--rail);border-inline-end:1px solid var(--rail-line);padding:18px 10px}
.side h3{color:var(--rail-dim);letter-spacing:.16em;font-size:.6rem;margin:6px 12px 14px}
.side .muted,.side p.muted{color:var(--rail-dim)}
.tenant{border-radius:6px;border-color:transparent;padding:10px 12px}
.tenant:hover{background:rgba(242,239,232,.05)}
.tenant.active{background:rgba(242,239,232,.08);border-color:transparent;box-shadow:inset -3px 0 0 var(--gold)}
.tenant b{color:var(--rail-ink);font-weight:600}
.tenant span{color:var(--rail-dim)}
.t-av{background:rgba(242,239,232,.08);color:var(--rail-ink);font-weight:700;font-size:1rem}
.tenant.active .t-av{background:var(--teal);color:#fff}
.side .pill{background:rgba(242,239,232,.08);border-color:transparent;color:var(--rail-dim)}
.side .pill.ok{background:rgba(14,122,69,.28);color:#bfe6cf}
.side .pill.err{background:rgba(168,56,31,.3);color:#f2b8a8}
.side button{color:var(--rail-ink)!important;border-color:var(--rail-line)!important}
.side button:hover{background:rgba(242,239,232,.06)!important}
.side input{background:rgba(242,239,232,.06);border-color:var(--rail-line);color:var(--rail-ink)}
.side input::placeholder{color:var(--rail-dim)}
.side input:focus{border-color:rgba(242,239,232,.35);box-shadow:none}
.side-nav .navhead,.side-nav .navgrp-head,.side-nav .navgrp-one{color:var(--rail-ink)}
.side-nav .navitem{color:var(--rail-ink);border-radius:6px}
.side-nav .navitem:hover{background:rgba(242,239,232,.06)}
.side-nav .navitem.active{background:var(--teal);color:#fff}
.side-nav .navback{background:rgba(242,239,232,.08);border-color:transparent;color:var(--rail-ink)}
.side-nav .navgrp-chev{opacity:.7}
/* ---- the work area: linen paper, hairlines instead of shadows, weight-only hierarchy ---- */
.content{background:var(--bg)}
.tabs{background:var(--bg);border-bottom:1px solid var(--line);padding:12px 26px 0}
.tab{font-size:.8rem;font-weight:600;color:var(--muted);letter-spacing:.01em;padding:10px 12px;border-bottom-width:2px}
.tab:hover{color:var(--ink)}
.tab.active{color:var(--ink);border-bottom-color:var(--ink)}
.gtabs .tab.adm{color:#8a6d1a}
.gtabs .tab.adm.active{color:#6f5613;border-bottom-color:var(--gold)}
.subtabs{padding:10px 0 10px;gap:6px}
.subtab{border-radius:5px;border-color:var(--line);background:transparent;color:var(--muted);font-weight:600;padding:5px 12px}
.subtab:hover{background:var(--panel);border-color:#c9c3b6;color:var(--ink)}
.subtab.active,.subtab.active:hover{background:var(--ink);color:var(--rail-ink);border-color:var(--ink)}
.subtab.active .tab-ub{background:var(--teal);color:#fff}
.tab-ub,.chip-ub{background:var(--teal)}
.pane{padding:30px 28px 40px;max-width:820px}
.pane>h3,.sec-title{text-transform:none;letter-spacing:-.005em;font-size:.98rem;font-weight:800;color:var(--ink);margin:34px 0 8px}
.pane>h3:first-child{margin-top:2px}
.card{border-radius:8px;border:1px solid var(--line);box-shadow:none;padding:24px 26px;background:var(--panel)}
.card .sec-title{margin-top:20px}
.card .sec-title:first-child,.card>div:first-child>.sec-title{margin-top:0}
hr{border-top-color:var(--line)}
label{font-size:.8rem;letter-spacing:.01em}
input,textarea,select{border-radius:6px;background:#fff;border:1px solid var(--line);padding:10px 13px}
input:hover,textarea:hover,select:hover{border-color:#c9c3b6}
input:focus,textarea:focus,select:focus{border-color:var(--teal);box-shadow:var(--focus)}
input::placeholder,textarea::placeholder{color:#a9a294}
input[type=checkbox]{accent-color:var(--teal)}
button{border-radius:6px;background:var(--teal);font-weight:600;letter-spacing:.01em;box-shadow:none;padding:10px 18px;transition:background .15s,transform .08s}
button:hover{background:var(--teal-strong)}
button:active{transform:translateY(1px)}
button.sec{background:transparent;border:1px solid var(--line);color:var(--ink)}
button.sec:hover{background:var(--panel);border-color:#c9c3b6}
.linkbtn{border-radius:5px;background:transparent;color:var(--teal-strong)}
.linkbtn:hover{background:var(--teal-soft);border-color:rgba(14,122,69,.35)}
.pill{border-radius:4px;letter-spacing:.02em;font-weight:600;background:var(--panel2);border-color:transparent}
.pill.ok,.pill.approved{background:var(--teal-soft);color:var(--teal-strong);border-color:transparent}
.pill.pending{background:var(--amber-soft);color:var(--amber);border-color:transparent}
.pill.err,.pill.rejected{background:#f6e3de;color:var(--red);border-color:transparent}
.hintbox{background:var(--teal-soft);border:1px solid rgba(14,122,69,.18);border-radius:8px;color:#1f4d35}
.hintbox code{background:#fff;border-color:rgba(14,122,69,.2)}
.kv{border-bottom-color:var(--line-soft)}
.kv b,.num,.tbl td,table.rep td{font-variant-numeric:tabular-nums}
.tbl{border-radius:8px;border-color:var(--line)}
.tbl th{background:var(--panel2);letter-spacing:.08em;font-size:.68rem;color:var(--muted)}
.tbl tr:nth-child(even) td{background:transparent}
.tbl td{border-bottom-color:var(--line-soft)}
table.rep th{letter-spacing:.06em;font-weight:700}
table.rep tr.tot td{background:var(--panel2)}
.subacc{border-radius:6px;background:var(--panel2);border-color:var(--line)}
.subacc>summary{color:var(--ink)}
.chcard{border-radius:8px;box-shadow:none;border-color:var(--line)}
.chcard.conn{border-color:rgba(14,122,69,.5)}
.chcard.conn .chcard-h{background:linear-gradient(180deg,rgba(14,122,69,.08),rgba(14,122,69,0))}
.chcard-h{background:transparent;border-bottom-color:var(--line-soft)}
.chcard-ico{border-radius:8px;background:var(--panel2);border-color:transparent}
.chsub{border-radius:6px;background:var(--panel2);border-color:var(--line-soft)}
.fbpage{border-radius:6px}
.tglbtn .tgl{background:#cbc5b8}
.tglbtn.on .tgl{background:var(--teal)}
.an-sec{border-radius:8px;box-shadow:none}
.an-chip{border-radius:5px}
.an-chip.on{background:var(--ink);border-color:var(--ink);color:var(--rail-ink)}
.an-chip-all{color:var(--teal-strong)}
.int-fab{background:var(--ink);box-shadow:0 14px 28px -10px rgba(22,24,28,.55)}
.int-fab:hover{box-shadow:0 16px 30px -10px rgba(22,24,28,.6)}
/* ---- inbox ---- */
.inbox{border-radius:8px;border-color:var(--line);box-shadow:none}
.convlist{border-inline-end-color:var(--line)}
.conv{padding:13px 16px;padding-inline-end:62px;border-bottom-color:var(--line-soft)}
.conv:hover{background:var(--panel2)}
.conv.active{background:var(--panel2);box-shadow:inset -3px 0 0 var(--ink)}
.conv.unread{background:#f6f3ea;box-shadow:inset 3px 0 0 var(--teal)}
.conv.unread .tm{color:var(--teal-strong)}
.conv .ub{background:var(--teal);box-shadow:none}
.conv .cmb{box-shadow:0 1px 4px rgba(22,24,28,.2)}
.archrow{border-bottom-color:var(--line-soft)}
.botbar{background:var(--panel);border-bottom-color:var(--line)}
.thread{background:#e9e5db url('/img/wa-wall.svg');background-size:340px}
.msg.in{background:#fff;box-shadow:0 1px 1px rgba(22,24,28,.08)}
.msg.ai{background:#dfeee5;color:var(--ink);box-shadow:0 1px 1px rgba(22,24,28,.08)}
.msg.ai .msgcaret{background:rgba(10,99,57,.12);color:var(--teal-strong)}
.msgmeta{color:#6f7a74}
.tk.read{color:#2f8fbf}
.qreply{border-inline-start-color:var(--teal)}
.qreply b{color:var(--teal-strong)}
.mtag{background:rgba(14,122,69,.12);color:var(--teal-strong)}
.compose{background:var(--panel);border-top-color:var(--line)}
.compose textarea{border-radius:8px}
.cmp-ico:hover{background:var(--panel2)}
.cmp-ico.thinking{background:rgba(14,122,69,.14)}
.pinbar{border-radius:6px;box-shadow:none;border-color:var(--line)}
#replybar{border-inline-start-color:var(--teal);background:var(--panel2)}
#replybar .rb-t b{color:var(--teal-strong)}
#tplgate{background:var(--amber-soft);color:#5c3d05}
#msgmenu{border-radius:8px;box-shadow:0 18px 40px -12px rgba(22,24,28,.35)}
.cmenu-it:hover{background:var(--panel2)}
.recwave i{background:var(--teal)}
/* ---- mobile frame ---- */
#bnav{background:var(--appbar);border-top:1px solid var(--rail-line);box-shadow:none;padding-top:7px}
#bnav button{color:var(--rail-dim);font-size:.64rem;letter-spacing:.02em;gap:3px}
#bnav button.active{color:#fff}
#bnav button span.ic{font-size:1.15rem;line-height:0}
#bnav button span.ic svg{width:22px;height:22px;display:block}
#bnav .tab-ub{background:var(--teal)}
.chat-top{background:var(--appbar)}
.side-head{background:var(--appbar);border-bottom:1px solid var(--rail-line)}
body.drawer-open .side{box-shadow:-24px 0 60px rgba(0,0,0,.45)}
@media (max-width:900px){
  body.authed:not(.chat-open) #cfgSaveBar{background:var(--panel);border-top-color:var(--line);box-shadow:0 -8px 24px -12px rgba(22,24,28,.25)}
}
/* ---- overlays ---- */
#topNotice{border-radius:10px;box-shadow:0 24px 60px -20px rgba(22,24,28,.45)}
#bellPanel{border-radius:10px;box-shadow:0 30px 70px -24px rgba(22,24,28,.5)}
#bellPanel .bp-clear{color:var(--teal-strong)}
#bellPanel .bp-row.unread{background:#f3f7f2}
#bellPanel .bp-ico{background:var(--teal-soft)}
#pushOnBtn.on{background:var(--teal-soft);color:var(--teal-strong);border-color:rgba(14,122,69,.45)}
#connStrip{border-radius:10px}
#asstPanel .asst-th.on{background:var(--teal-soft)}
/* ---- login gate ---- */
body:not(.authed){background:var(--bg)}
.gate{border-radius:10px;border:1px solid var(--line);box-shadow:0 40px 80px -40px rgba(22,24,28,.4);padding:30px 32px 26px;width:min(392px,calc(100% - 24px))}
/* phones (owner 2026-09-07: card overflowed a 360px screen and sat off-centre) */
@media (max-width:480px){.gate{padding:26px 18px 22px}}
.gate h2{font-weight:800;font-size:1.45rem;letter-spacing:-.01em;margin:2px 0 4px}
.gate .sub{font-size:.86rem;margin-bottom:14px}
.gate .logo{margin-bottom:10px}
/* ---- loader ---- */
.wload-ring{background:conic-gradient(from 0deg,rgba(14,122,69,0) 0 55%,rgba(14,122,69,.35) 78%,var(--teal) 100%)}
.wload-core{filter:drop-shadow(0 6px 14px rgba(14,122,69,.22))}
.wload-mini{border-color:rgba(14,122,69,.2);border-top-color:var(--teal)}
@keyframes intflash{0%{box-shadow:0 0 0 4px rgba(14,122,69,.5)}100%{box-shadow:0 0 0 0 rgba(14,122,69,0)}}
/* monoline navigation icons (replaced the emoji, luxe theme pass 2) */
svg.nic{width:16px;height:16px;display:inline-block;vertical-align:-3px;flex:none}
.gtabs .tab svg.nic{width:15px;height:15px;margin-inline-end:3px;opacity:.75}
.gtabs .tab.active svg.nic{opacity:1}
.subtabs .glbl svg.nic{width:14px;height:14px}
.side-nav .navitem svg.nic,.side button svg.nic{margin-inline-end:6px;opacity:.85}
/* ---- inbox surface (owner 2026-09-05: "השיחות שלנו נבלעות בעיצוב - הקונטיינר שלהם"): the
   inbox is the one sheet of paper lying on the linen desk. Before this block it was #fcfbf8 on
   #f3f0e8 - a 1.06:1 step nobody can see. Now: white paper, a real frame one full step darker
   than --line, a printed header band for search + channel chips, and the ONLY lift in the
   console (one restrained shadow, nowhere else). Rows: visible hairlines, hover < unread < active. ---- */
:root{--paper:#ffffff;--frame:#bfb8a8;--row-line:#e0dbcf;--band:#f3f0e8}
.inbox{background:var(--paper);border:1px solid var(--frame);border-radius:10px;box-shadow:0 1px 2px rgba(22,24,28,.06),0 14px 34px -18px rgba(22,24,28,.32)}
.convlist{background:var(--paper);border-inline-end:1px solid var(--frame)}
.convlist>div:first-child{margin:0!important;padding:10px 10px 6px;background:var(--band)}
#chfilters{margin:0;padding:0 10px 10px;background:var(--band);border-bottom:1px solid var(--frame)}
#convsearch{background:#fff;border-color:#d3cdbf}
#convsearch:focus{border-color:var(--teal)}
.convlist>div:first-child button.sec{background:#fff;border-color:#d3cdbf}
#chfilters button.sec{background:#fff;border-color:#d3cdbf;font-weight:600}
#chfilters button.sec:hover{border-color:#b9b2a2}
.conv{border-bottom:1px solid var(--row-line)}
.conv:hover{background:#f6f4ee}
.conv.unread{background:#f1f6f1;box-shadow:inset 3px 0 0 var(--teal)}
.conv.active{background:#ebe7dd;box-shadow:inset -3px 0 0 var(--ink)}
.conv.active.unread{background:#e6ece3;box-shadow:inset -3px 0 0 var(--ink),inset 3px 0 0 var(--teal)}
.conv p{color:#6c675e}
.conv b{font-weight:700}
.conv .cmb{background:#fff}
.archrow{background:var(--paper)}
.botbar,.compose{background:var(--paper)}
.botbar{border-bottom:1px solid var(--frame)}
.compose{border-top:1px solid var(--frame)}
@media (max-width:900px){
  body.chat-open .inbox{box-shadow:none}
  .convlist{border-inline-end:0;border-bottom:1px solid var(--frame)}
}
/* ---- reply bubble (owner 2026-09-05: "בשיחה עצמה קשה לראות את רקע המענה שלנו ללקוח"): the luxe
   pass had desaturated our bubble to #dfeee5 on the #e9e5db wallpaper (1.03:1 - invisible). Our side
   is now a clear mint in the emerald family with a hairline of the same emerald; the customer stays
   white. Applies to bot + human replies alike (same .msg.ai) and to the console assistant panel. ---- */
.msg.ai{background:#d2efdb;border:1px solid rgba(14,122,69,.24);color:var(--ink);box-shadow:0 1px 1px rgba(22,24,28,.08)}
.msg.ai .msgmeta{color:#3f6b52}
.msg.ai .msgcaret{background:rgba(10,99,57,.12);color:var(--teal-strong)}
.msg.ai .qreply{background:rgba(10,99,57,.08)}
.msg.ai.typing{background:var(--panel2);border:1px solid var(--line);color:var(--muted)}
/* ---- connections: new-connection box + logo wall + my connections (owner 2026-09-05) ---- */
.int-new{padding:22px 24px 20px;margin:28px 0 0;border-color:var(--frame,#bfb8a8);background:var(--paper,#fff)}
.int-new-h{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}
.int-new-h>div{min-width:0}
.int-new-h>div>b{display:block;font-size:1.05rem;font-weight:800;letter-spacing:-.01em;line-height:1.2}
.int-new-h>div>span{display:block;font-size:.8rem;color:var(--muted);line-height:1.55;margin-top:3px}
.int-new-plus{width:40px;height:40px;border-radius:8px;background:var(--ink);color:var(--rail-ink,#f2efe8);display:grid;place-items:center;flex:none;font-size:24px;font-weight:300;line-height:1}
.int-new #intSearch{font-size:.95rem;padding:12px 14px;margin:0;background:#fff}
.int-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;margin-top:14px}
.int-new [hidden]{display:none!important}
.int-tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px 10px;min-height:0;border:1px solid var(--line-soft);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:.76rem;font-weight:600;line-height:1.25;text-align:center;cursor:pointer;box-shadow:none;transition:border-color .15s,transform .08s}
.int-tile:hover{background:#fff;border-color:var(--teal)}
.int-tile:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.int-tile:active{transform:translateY(1px)}
.int-tile-n{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%}
.int-tile small{display:block;font-size:.66rem;font-weight:500;color:var(--muted)}
.conn-logo.int-plus{background:var(--ink);color:var(--rail-ink,#f2efe8);border-color:transparent;font-size:34px;font-weight:300;line-height:1;padding-bottom:3px}
.int-tile-api{border-style:dashed;border-color:var(--line)}
.int-tile-api:hover{border-style:solid}
.int-none{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;font-size:.84rem}
.int-none .muted{font-size:.74rem}
.conn-logo{display:inline-grid;place-items:center;flex:none;border-radius:10px;background:#fff;border:1px solid var(--line-soft);overflow:hidden}
.conn-logo img{width:68%;height:68%;object-fit:contain;display:block}
.conn-logo.conn-logo-init{background:var(--panel2);color:var(--ink);font-weight:800;border-color:transparent}
.my-conns{margin-top:6px}
.my-conn{margin-top:10px}
.my-conn-h{display:flex;align-items:center;gap:12px;min-width:0}
.my-conn-t{min-width:0;flex:1}
.my-conn-t b{display:block;font-size:.98rem;font-weight:800;letter-spacing:-.01em;line-height:1.2}
.my-conn-t span{display:block;font-size:.74rem;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;unicode-bidi:isolate}
.my-conn-h .pill{flex:none}
.my-set{margin-top:12px}
.my-set>summary{font-size:.8rem}
.my-empty{border:1px dashed var(--line);border-radius:8px;padding:18px;text-align:center;color:var(--muted);font-size:.84rem;background:transparent}
@media (max-width:760px){
  .int-new{padding:18px 16px 16px}
  .int-wall{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px}
  .int-tile{padding:10px 6px 8px;font-size:.72rem}
}
/* ---- Critical top bar (owner 2026-09-05): Meta quota / credits exhausted - every tab, inside chats, no ✕ ---- */
#critBar{position:sticky;top:0;z-index:6;direction:rtl;background:var(--bg)}
.crit-row{display:flex;align-items:center;gap:12px;padding:10px 16px;padding-inline-end:44px;border-bottom:1px solid rgba(0,0,0,.08);font-size:.84rem;line-height:1.45}
.crit-row.amber{background:#fff3d6;color:#6b4e0a;border-bottom-color:#e8c66a}
.crit-row.red{background:#fde8e6;color:#7a271a;border-bottom-color:#f0b3ad}
.crit-ic{flex:none;font-size:1.05rem}
.crit-tx{min-width:0;flex:1}
.crit-tx b{display:block;font-size:.9rem}
.crit-tx span{display:block;font-size:.78rem;opacity:.92;margin-top:1px}
.crit-tx a{color:inherit;font-weight:700}
.crit-act{display:flex;gap:8px;flex:none;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.crit-go{background:#16181c;color:#fff!important;border:0;border-radius:8px;padding:8px 14px;font-size:.8rem;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap;box-shadow:none;min-height:0}
.crit-go:hover{background:#2a2d33}
.crit-row.red .crit-go{background:#b42318}
.crit-row.red .crit-go:hover{background:#9a1d13}
.crit-ok{background:transparent;color:inherit;border:1px solid currentColor;border-radius:8px;padding:7px 12px;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:none;opacity:.85;min-height:0}
.crit-ok:hover{opacity:1;background:rgba(255,255,255,.45)}
.crit-x{position:absolute;top:8px;inset-inline-end:12px;font-weight:900;padding:4px 7px;cursor:pointer;opacity:.7}
body.crit .tabs{top:var(--critH,0px)}
.crit-row.info{background:var(--teal-soft);color:#1f4d35;border-bottom-color:rgba(14,122,69,.25)}
.crit-row.info .crit-go{background:var(--teal)}
.crit-later{background:transparent;border:0;color:inherit;text-decoration:underline;font-size:.78rem;cursor:pointer;box-shadow:none;padding:6px 8px;min-height:0;opacity:.8}
.crit-later:hover{opacity:1;background:transparent}
.crit-target{animation:intflash 1.8s ease-out;scroll-margin-top:calc(var(--critH,0px) + 70px)}
@media (max-width:760px){
  /* phones: one compact line per notice; tap the text to expand (owner 2026-09-05: the bar ate the screen) */
  .crit-row{flex-wrap:nowrap;align-items:center;padding:6px 10px;gap:8px;min-height:42px}
  #critBar:has(.crit-x) .crit-row{padding-inline-end:46px} /* room for the ✕ only when it exists */
  .crit-ic{font-size:.95rem}
  /* owner 2026-09-16 ("נחתך ולא ברור שאפשר ללחוץ"): the one-line ellipsis cut the title mid-number
     ("...000,") and nothing said the text opens - now the title wraps to 2 lines and a chevron marks it */
  .crit-tx{cursor:pointer;position:relative;padding:4px 0;padding-inline-end:16px}
  .crit-tx::after{content:'▾';position:absolute;inset-inline-end:0;top:50%;transform:translateY(-50%);font-size:1.2rem;line-height:1;opacity:.8;transition:transform .2s}
  .crit-tx b{font-size:.8rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .crit-tx span{display:none}
  .crit-act{width:auto;flex:none;gap:6px}
  .crit-act .crit-go{padding:7px 11px;font-size:.76rem}
  .crit-act .crit-ok,.crit-act .crit-later{display:none}
  .crit-row.open{flex-wrap:wrap;padding:9px 12px 10px}
  .crit-row.open .crit-tx::after{transform:translateY(-50%) rotate(180deg)}
  .crit-row.open .crit-tx b{display:block;-webkit-line-clamp:unset;overflow:visible}
  .crit-row.open .crit-tx span{display:block;margin-top:4px}
  .crit-row.open .crit-act{width:100%;justify-content:stretch}
  .crit-row.open .crit-act .crit-go,.crit-row.open .crit-act .crit-ok,.crit-row.open .crit-act .crit-later{display:inline-block;flex:1;text-align:center}
  .crit-x{top:9px}
  body.chat-open #critBar{display:block}
  body.chat-open .inbox{height:calc(100dvh - 54px - var(--critH,0px) - env(safe-area-inset-top))}
}
/* ---- Agenda (customers tab): appointments, meetings, reminders (owner 2026-09-05) ---- */
.crm-views{padding:0 0 12px}
.ag-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:4px 0 12px}
.ag-add{display:flex;gap:8px;flex-wrap:wrap}
.ag-card{padding:14px 16px;margin-top:10px}
.ag-day{margin-top:16px}
.ag-daylbl{font-size:.74rem;font-weight:800;letter-spacing:.04em;color:var(--muted);margin:0 2px 6px}
.ag-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-top:6px;min-width:0}
.ag-row.ag-off{opacity:.55}
.ag-time{font-variant-numeric:tabular-nums;font-weight:800;font-size:.92rem;flex:none;min-width:44px;direction:ltr;text-align:right}
.ag-ic{flex:none;font-size:1rem}
.ag-main{flex:1;min-width:0;font-size:.88rem}
.ag-main b a{color:inherit;text-decoration:none}
.ag-main .muted{font-size:.78rem}
.ag-note{font-size:.78rem;color:var(--muted);margin-top:2px}
.ag-acts{display:flex;gap:6px;flex:none;flex-wrap:wrap;justify-content:flex-end}
.ag-acts .mini{padding:5px 10px;font-size:.74rem;min-height:0}
.ag-acts a.sec{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:transparent;font-weight:700;text-decoration:none}
.ag-acts a.sec:hover{background:var(--panel)}
.ag-req{border-color:rgba(178,106,0,.35);background:#fffaf0}
@media (max-width:760px){
  /* phone: a two-line card - time · icon · name on top, status + actions below (owner 2026-09-06) */
  .ag-row{display:grid;grid-template-columns:auto auto minmax(0,1fr);grid-template-areas:"time ic main" ". . st" "acts acts acts";gap:5px 8px;align-items:start;padding:10px}
  .ag-time{grid-area:time;font-size:.86rem;min-width:40px;line-height:1.5}
  .ag-ic{grid-area:ic;line-height:1.5}
  .ag-main{grid-area:main;font-size:.86rem;line-height:1.35}
  .ag-nm{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .ag-lbl{display:block;font-size:.74rem}
  .ag-row>.pill{grid-area:st;justify-self:start;align-self:center}
  .ag-row .ag-acts{grid-area:acts;width:auto;padding:0;justify-content:flex-start;justify-self:stretch;gap:5px;margin-top:2px}
  .ag-acts .mini{padding:4px 8px;font-size:.7rem}
  .cal-legend{font-size:.66rem;gap:4px 10px}
  .ag-head{flex-direction:column} .ag-add button{flex:1} .ag-add{width:100%}
}
/* ---- Agenda month calendar (owner 2026-09-05: "לוח תאריכים של חודש") ---- */
.cal-card{padding:14px 16px;margin-top:12px}
.cal-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.cal-head b{font-size:1rem;font-weight:800;margin:0 6px}
.cal-head .cal-today{margin-inline-start:auto}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;direction:rtl}
.cal-wd{text-align:center;font-size:.7rem;font-weight:700;color:var(--muted);padding:2px 0 4px}
.cal-cell{position:relative;min-width:0;min-height:62px;border:1px solid var(--line-soft);border-radius:8px;background:var(--panel);padding:5px 6px;cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:border-color .12s}
.cal-cell:hover{border-color:var(--teal)}
.cal-cell.past{background:transparent;color:var(--muted)}
.cal-cell.today .cal-n{color:var(--teal-strong);font-weight:800}
.cal-cell.today{border-color:var(--teal)}
.cal-cell.sel{background:var(--ink);color:#fff;border-color:var(--ink)}
.cal-cell.sel .cal-n{color:#fff}
.cal-cell.cal-blank{border:0;background:transparent;cursor:default}
.cal-n{font-size:.82rem;font-weight:700}
.cal-dots{display:flex;gap:3px;margin-top:auto}
.cal-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#bbb}
.cal-dot.pend{background:#d19a12}
.cal-dot.ok{background:var(--teal)}
.cal-dot.rem{background:#7a5cc7}
.cal-dot.req{background:#e07a1f}
.cal-cnt{position:absolute;top:4px;left:6px;font-size:.66rem;font-weight:700;color:var(--muted)}
.cal-cell.sel .cal-cnt{color:#ddd}
.cal-legend{display:flex;gap:6px 10px;align-items:center;flex-wrap:wrap;font-size:.7rem;color:var(--muted);margin-top:10px}
.cal-legend .cal-dot{margin-inline-start:4px}
.ag-daybar{display:flex;align-items:center;gap:10px;margin-top:14px}
.ag-daybar .mini{margin-inline-start:auto}
.ag-type{display:flex;gap:14px;margin:4px 0 8px;font-size:.88rem}
.ag-type label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.88rem}
.ag-type input{width:auto;margin:0}
@media (max-width:760px){ .cal-cell{min-height:46px;padding:3px 4px} .cal-n{font-size:.76rem} .cal-cnt{display:none} .cal-head{flex-wrap:wrap} .cal-head b{flex-basis:100%;text-align:center;order:-1} .cal-head .cal-today{margin-inline-start:0} }
/* ---- alert matrix in settings (owner 2026-09-05) ---- */
.nmx{display:grid;grid-template-columns:1fr repeat(4,max-content);gap:8px 18px;align-items:center;margin:8px 0 4px;font-size:.87rem}
.nmx-h,.nmx-r{display:contents}
.nmx-h b{font-size:.74rem;text-align:center;color:var(--muted)}
.nmx-r>span:first-child{min-width:0}
.nmx-r small{display:block;font-size:.72rem;color:var(--muted);font-weight:400}
.nmx-r input{justify-self:center}
.nmx-na{text-align:center;color:var(--muted);opacity:.6}
/* a business without WhatsApp (owner 2026-09-29): WhatsApp-only blocks stay in the DOM (saveCfg reads them, a later
   attach restores them) and are hidden by one switch on the pane root; !important beats inline display from gating */
.nowa .wa-only{display:none!important}
.nowa .nmx{grid-template-columns:1fr repeat(3,max-content)}
.cal-pick{display:inline-flex;gap:6px;margin:0 6px}
.cal-pick select{padding:6px 8px;font-size:.85rem;font-weight:700;min-height:0;width:auto}
@media (max-width:760px){ .nmx{gap:8px 10px;font-size:.8rem} .nmx-h b{font-size:.66rem} .cal-pick{order:-1;flex-basis:100%;justify-content:center} }
.ag-remind{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:.82rem;flex-wrap:wrap;font-weight:600}
.ag-remind select{width:auto;min-height:0;padding:5px 8px;font-size:.82rem;font-weight:700}
.ag-remind .muted{font-weight:400;font-size:.76rem}
/* Jewish holidays in the month grid (owner 2026-09-05) */
.cal-cell.hol{background:#f5efe0;border-color:#e6d9b8}
.cal-cell.hol.sel{background:var(--ink)}
.cal-hol{display:block;font-size:.6rem;line-height:1.15;color:#8a6d1f;font-weight:700;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-cell.sel .cal-hol{color:#f3e2b3}
.cal-sq{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:-1px;margin-inline-end:4px}
.cal-sq.hol{background:#f5efe0;border:1px solid #d9c690}
@media (max-width:760px){ .cal-hol{font-size:.52rem} }
#buildStrip{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:70;display:flex;align-items:center;gap:12px;background:var(--ink);color:#fff;padding:10px 14px 10px 18px;border-radius:999px;font-size:.86rem;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.25)}
#buildStrip button{background:var(--accent,#0f766e);color:#fff;border:0;border-radius:999px;padding:7px 14px;font:inherit;font-weight:700;min-height:0;width:auto;cursor:pointer}
@media (max-width:760px){ .cal-hol{white-space:normal;font-size:.5rem;line-height:1.1;max-height:2.3em;text-overflow:clip} }
.ag-hol{color:#8a6d1f;font-weight:700;margin-inline-start:6px}
/* ---- plan + credits card (reports tab, owner 2026-09-06) ---- */
.plan-card{margin:0 0 16px}
.plan-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.plan-name{text-align:left;display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.plan-name b{font-size:1.15rem}
.plan-name .muted{font-size:.78rem}
.plan-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:14px}
.plan-num{background:var(--panel);border:1px solid var(--line-soft);border-radius:10px;padding:10px 12px}
.plan-num span{display:block;font-size:.72rem;color:var(--muted);font-weight:700}
.plan-num b{display:block;font-size:1.35rem;margin-top:2px;font-variant-numeric:tabular-nums}
.plan-bar{height:10px;border-radius:99px;background:var(--line-soft);overflow:hidden;margin-top:14px}
.plan-bar i{display:block;height:100%;border-radius:99px;transition:width .4s}
.plan-barlbl{display:flex;justify-content:space-between;gap:10px;font-size:.74rem;color:var(--muted);margin-top:5px;flex-wrap:wrap}
.plan-kinds{display:flex;gap:8px 16px;flex-wrap:wrap;margin-top:12px;font-size:.8rem;color:var(--muted)}
.plan-kinds b{color:var(--ink)}
.plan-ledger{margin-top:12px}
.plan-ledger summary{cursor:pointer;font-weight:700;font-size:.84rem;list-style:none;display:flex;align-items:center;gap:6px}
.plan-ledger summary::before{content:'▸';font-size:.8rem;transition:transform .15s}
.plan-ledger[open] summary::before{transform:rotate(90deg)}
.plan-ledger .tbl-wrap{overflow-x:auto;margin-top:8px}
.plan-tbl{width:100%;border-collapse:collapse;font-size:.8rem}
.plan-tbl th{text-align:right;font-size:.7rem;color:var(--muted);font-weight:700;padding:6px 8px;border-bottom:1px solid var(--line)}
.plan-tbl td{padding:7px 8px;border-bottom:1px solid var(--line-soft);vertical-align:top}
@media (max-width:760px){ .plan-head{flex-direction:column} .plan-name{align-items:flex-start;text-align:right} .plan-nums{grid-template-columns:1fr 1fr} .plan-tbl{font-size:.74rem} .plan-tbl td,.plan-tbl th{padding:6px 5px} }
/* ---- account card (billing tab, 2026-09-06) ---- */
.acc-id{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.acc-mono{width:52px;height:52px;border-radius:14px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.35rem;flex:none}
.acc-who{flex:1;min-width:0}
.acc-name{font-weight:800;font-size:1.05rem}
.acc-sub{font-size:.8rem;color:var(--muted);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acc-pills{display:flex;gap:6px;flex-wrap:wrap}
.acc-plan{background:var(--ink);color:#fff}
.acc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;margin-top:16px}
.acc-sec{background:var(--panel);border:1px solid var(--line-soft);border-radius:12px;padding:12px 14px;min-width:0}
.acc-sec h4{margin:0 0 8px;font-size:.78rem;letter-spacing:.04em;color:var(--muted);text-transform:none}
.acc-sec .kv{padding:6px 0}
.acc-sec label{margin-top:8px}
.acc-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:6px}
.acc-row input{flex:1;min-width:140px}
.acc-btns .sec{padding:6px 14px;min-height:0}
.acc-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line-soft)}
.acc-actions .sec{padding:8px 14px;min-height:0;font-size:.84rem}
.acc-danger{color:var(--red);margin-inline-start:auto}
@media (max-width:760px){ .acc-grid{grid-template-columns:1fr} .acc-actions .sec{flex:1 1 45%} .acc-danger{margin-inline-start:0;flex-basis:100%} }
.acc-row input{min-width:120px}
.acc-danger{border-color:transparent;text-decoration:underline;text-underline-offset:3px;padding-inline:6px}
@media (max-width:760px){ .acc-id{gap:10px} .acc-who{flex:1 1 55%} .acc-name{font-size:1rem;line-height:1.25} .acc-sub{white-space:normal;overflow:visible} .acc-pills{flex-basis:100%;justify-content:flex-start} .acc-danger{flex-basis:auto;text-align:center} }
.acc-actions button.acc-danger{border-color:transparent;background:transparent;color:var(--red)}
.acc-actions button.acc-danger:hover{background:#fdecea;border-color:transparent}
.plan-bar.stack{display:flex;gap:0}
.plan-bar.stack i{display:block;height:100%;border-radius:0;min-width:2px}
.plan-bar.stack i:first-child{border-radius:99px 0 0 99px}
.plan-bar.stack i:last-child{border-radius:0 99px 99px 0}
[dir=rtl] .plan-bar.stack i:first-child,.plan-bar.stack i:first-child{border-radius:0 99px 99px 0}
[dir=rtl] .plan-bar.stack i:last-child,.plan-bar.stack i:last-child{border-radius:99px 0 0 99px}
.plan-bar.stack i:only-child{border-radius:99px}
.plan-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.8rem;margin-top:10px}
.plan-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:5px;vertical-align:-1px}
.plan-legend b{font-variant-numeric:tabular-nums}
.plan-meta{margin-top:16px;padding-top:12px;border-top:1px solid var(--line-soft)}
.plan-meta-h{display:flex;flex-direction:column;gap:2px;margin-bottom:8px;font-size:.86rem}
.plan-meta-h .muted{font-size:.76rem}
.plan-meta .plan-bar{margin-top:6px}
.us-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.us-top-l{font-weight:800;font-size:.9rem}
@media (max-width:760px){ .us-top select{flex:1} }
/* ---- switch + auto top-up box (billing, 2026-09-06) ---- */
.switch{position:relative;display:inline-block;width:44px;height:24px;flex:none;margin:2px 0 0}
.switch input{opacity:0;width:0;height:0;margin:0;position:absolute}
.switch .slider{position:absolute;inset:0;background:#cfc9bd;border-radius:99px;transition:.2s;cursor:pointer}
.switch .slider::before{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.switch input:checked+.slider{background:var(--teal-strong,#0f766e)}
.switch input:checked+.slider::before{transform:translateX(20px)}
.switch input:disabled+.slider{opacity:.45;cursor:not-allowed}
.ar-box{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--panel)}
.ar-head{display:flex;gap:12px;align-items:flex-start}
.ar-opts{display:flex;gap:8px;flex-wrap:wrap}
.ar-opt{display:flex;align-items:center;gap:6px;border:1.5px solid var(--line);border-radius:10px;padding:7px 12px;cursor:pointer;font-size:.84rem;margin:0;font-weight:500}
.ar-opt.on{border-color:var(--teal-strong);background:#eef7f4}
.ar-opt input{width:auto;margin:0}
.plan-line{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:12px 0 4px;font-size:.9rem;padding:10px 12px;border:1px solid var(--line-soft);border-radius:10px;background:var(--panel)}
.plan-line .sec.mini{min-height:0;padding:6px 14px;font-size:.8rem}
.plan-line a.btn-mini{background:var(--teal-strong,#0f766e);color:#fff;border-radius:9px;padding:7px 14px;text-decoration:none;font-weight:700;font-size:.84rem}
.card.folded{display:none!important}
/* ---- phone navigation v2 (2026-09-06) ---- */
#bizChip{display:none}
.subseg{display:none}
#moreSheet{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;justify-content:flex-end;direction:rtl}
#moreSheet .ms-scrim{position:absolute;inset:0;background:rgba(17,27,33,.5)}
#moreSheet .ms-panel{position:relative;background:var(--bg);border-radius:18px 18px 0 0;max-height:82dvh;overflow-y:auto;overscroll-behavior:contain;padding:8px 12px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -12px 40px rgba(0,0,0,.28);animation:msIn .2s ease}
@keyframes msIn{from{transform:translateY(28px);opacity:.5}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){ #moreSheet .ms-panel{animation:none} }
.ms-grab{width:40px;height:4px;border-radius:99px;background:var(--line);margin:4px auto 8px}
.ms-grp{display:flex;align-items:center;gap:8px;font-size:.74rem;font-weight:800;letter-spacing:.03em;color:var(--muted);margin:12px 8px 2px}
.ms-grp svg.nic{width:15px;height:15px;opacity:.7}
.ms-item{display:flex;align-items:center;gap:10px;width:100%;text-align:right;background:transparent;border:0;border-radius:12px;padding:11px 10px;font:inherit;font-weight:700;font-size:.95rem;color:var(--ink);min-height:0;box-shadow:none;cursor:pointer}
.ms-item.sub{font-weight:600;font-size:.92rem;padding-inline-start:30px}
.ms-item svg.nic{width:20px;height:20px;opacity:.8}
.ms-item.active{background:var(--ink);color:#fff}
.ms-item .tab-ub{margin-inline-start:auto}
.ms-util{border-top:1px solid var(--line);margin-top:12px;padding-top:10px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.ms-util button{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--panel);border:1px solid var(--line-soft);border-radius:12px;padding:10px 6px;font:inherit;font-size:.78rem;font-weight:700;color:var(--ink);min-height:0;box-shadow:none;cursor:pointer}
.ms-util button svg{width:20px;height:20px}
@media (max-width:760px){
  .tabs{display:none!important}
  #menuBtn{display:none!important}
  #hdrMid{display:flex;justify-content:center;align-items:center;min-width:0;flex:1}
  #bizChip{display:inline-flex;align-items:center;gap:6px;max-width:100%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-weight:700;font-size:.86rem;min-height:0;height:34px;box-shadow:none;cursor:pointer}
  #bizChip .bc-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:44vw}
  #bizChip svg{width:14px;height:14px;flex:none;opacity:.85}
  .subseg{display:flex;gap:6px;padding:12px 16px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .subseg::-webkit-scrollbar{display:none}
  .subseg button{flex:none;min-height:0;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-weight:700;font-size:.82rem;display:inline-flex;align-items:center;gap:6px;box-shadow:none}
  .subseg button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
  .subnav{position:static!important}
  body.sheet-open{overflow:hidden}
}
@media (max-width:760px){ #navOpenBtn{display:none!important} }
/* ---- phone navigation v3 (owner 2026-09-06 11:10): elegant, no bottom bar, hamburger = screens, name = businesses ---- */
.subtabs.incontent{display:none}
@media (max-width:760px){
  #bnav{display:none!important}
  /* no bottom bar since v3 → nothing to reserve under the inbox (owner 2026-09-08 "מרווח מוזר בתחתית") */
  body.authed:not(.chat-open) .content{padding-bottom:env(safe-area-inset-bottom)}
  #menuBtn{display:block!important}
  .subtabs.incontent{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:12px 16px 2px;position:static}
  .subtabs.incontent::-webkit-scrollbar{display:none}
  .subtabs.incontent .subtab{flex:none}
  #bizChip{background:transparent;border:0;border-radius:6px;padding:4px 6px;height:auto;font-size:.92rem;font-weight:700;gap:5px;box-shadow:none}
  #bizChip:active{background:rgba(255,255,255,.12)}
  #bizChip .bc-name{max-width:46vw}
  #bizChip svg{width:13px;height:13px;opacity:.75}
  .side.nav-open .navhead{margin-top:4px}
}
@media (max-width:760px){ .side.nav-open .side-head{display:none} }
/* owner 2026-09-06 10:25: no section chips on phones - the cards simply stack */
@media (max-width:760px){ .subnav{display:none!important} }
/* pending counts inside the phone menu (2026-09-06) */
.side-nav .nav-ub{display:inline-flex;margin-inline-start:auto;align-items:center}
.side-nav .nav-ub .tab-ub{position:static;margin:0}
.side-nav .navgrp-head .navgrp-chev{margin-inline-start:8px}
.side-nav .navitem.sub .nav-ub{margin-inline-end:4px}
/* phone fixes 2026-09-06 13:10 */
@media (max-width:760px){
  #cfgSaveBar{position:static;bottom:auto;padding:14px 0 4px}
  body.chat-open .subtabs.incontent{display:none}
}
/* ---- search inside a conversation (2026-09-06) ---- */
.th-search{display:flex;gap:6px;align-items:center;padding:6px 10px;background:var(--panel);border-bottom:1px solid var(--line);flex:none}
.th-search input{flex:1;min-width:0;min-height:0;padding:7px 10px;font-size:.9rem}
.th-search .muted{font-size:.76rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.th-search .sec.mini{min-height:0;padding:5px 9px;font-size:.78rem}
.th-search[hidden]{display:none!important}
mark.ths{background:#ffe9a8;color:inherit;border-radius:3px;padding:0 1px}
.msg.ths-cur mark.ths{background:#f5c542}
.msg.ths-cur{outline:2px solid #e9b949;outline-offset:2px}
/* ---- conversation summary mark + tip (2026-09-06) ---- */
.csum{display:inline-flex;align-items:center;vertical-align:-3px;margin-inline-start:5px;color:var(--muted);cursor:pointer;border-radius:6px;padding:1px;line-height:0}
.csum:hover,.csum:focus-visible{color:var(--teal-strong);outline:none}
#sumTip{position:fixed;z-index:200;max-width:min(320px,calc(100vw - 16px));background:var(--ink);color:#fff;border-radius:10px;padding:9px 12px;font-size:.8rem;line-height:1.55;box-shadow:0 8px 24px rgba(0,0,0,.22);direction:rtl;text-align:right;pointer-events:none}
/* ---- build strip on phones (owner 2026-09-06 19:05: the round pill wrapped into three lines over the inbox) ---- */
@media (max-width:760px){
  #buildStrip{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));transform:none;width:auto;justify-content:space-between;gap:10px;padding:10px 10px 10px 14px;border-radius:12px;font-size:.84rem;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.28)}
  #buildStrip span{min-width:0;overflow:hidden;text-overflow:ellipsis}
  #buildStrip button{flex:none;border-radius:8px;padding:7px 12px;font-size:.8rem}
}

/* ---- PWA install offer (owner 2026-09-08): strip under the app bar on phones + iPhone help sheet ---- */
#pwaStrip{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--teal-soft);color:var(--ink);border-bottom:1px solid var(--line);font-size:.85rem}
#pwaStrip .t{flex:1;min-width:0;line-height:1.3}
#pwaStrip .t b{display:block;font-weight:700}
#pwaStrip .t span{color:var(--muted);font-size:.78rem}
#pwaStrip .go{background:var(--teal);color:#fff;border:0;border-radius:999px;padding:7px 14px;font-weight:700;font-size:.85rem;cursor:pointer;white-space:nowrap;font-family:inherit}
#pwaStrip .x{background:none;border:0;color:var(--muted);font-size:1.05rem;padding:4px 6px;cursor:pointer;font-family:inherit}
@media (min-width:761px){#pwaStrip{display:none}}
.pwa-modal{position:fixed;inset:0;z-index:90;background:rgba(22,24,28,.55);display:flex;align-items:flex-end;justify-content:center}
.pwa-modal .box{background:var(--panel);color:var(--ink);border-radius:18px 18px 0 0;padding:16px 18px calc(22px + env(safe-area-inset-bottom));width:min(520px,100%);box-shadow:0 -10px 40px rgba(0,0,0,.25)}
.pwa-modal h3{margin:0 0 6px;font-size:1.05rem}
.pwa-modal ol{margin:6px 0 12px;padding-inline-start:20px;line-height:2;font-size:.92rem}
.pwa-modal .close{width:100%;padding:10px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);font-weight:700;cursor:pointer;font-family:inherit}
/* WA + Meta partnership lockup (owner 2026-09-07): locked console + connect wizard */
.wa-meta{display:flex;justify-content:center;align-items:center;gap:14px;margin:0 auto 18px;direction:rtl}
.wa-meta .wm-tile{width:64px;height:64px;border-radius:16px;background:#fff;border:1px solid var(--line,#e6e2d8);display:grid;place-items:center;box-shadow:0 1px 2px rgba(29,27,23,.05)}
.wa-meta .wm-tile svg{width:34px;height:34px;display:block}
.wa-meta .wm-plus{font-size:1.75rem;font-weight:300;color:var(--muted,#6b665e);line-height:1;transform:translateY(-1px)}
.wa-meta-cap{display:flex;justify-content:center;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:#1f4d35;margin:0 auto 18px;line-height:1.3}
.wa-meta-cap svg{width:14px;height:14px;flex:none}

/* =============================================================================================
   PAGEGEN STUDIO (admin) — the product-page generator bench.
   Coherent with the luxe theme rather than a new language: the launch bar is cut from the same
   graphite as the app bar and the business rail, so it reads as a control surface dropped onto
   the linen work area. Signature move: the four-stage rail under the bar, filling right-to-left
   in the one emerald. Hard rectangles, hairlines, no shadows, no second accent colour.
   ============================================================================================= */
.pg{padding:0;min-width:0}
.pg-launch,.pg-bench,.pg-opt,.pg-bar{min-width:0}
.pg-launch{background:var(--appbar);color:var(--rail-ink);padding:clamp(18px,2.4vw,30px) clamp(16px,3vw,34px);border:1px solid var(--rail-line);border-radius:8px}
.pg-head{max-width:62ch}
.pg-over{display:block;font-size:.6rem;font-weight:700;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}
.pg-head h2{margin:8px 0 0;font-size:clamp(1.25rem,2.2vw,1.7rem);font-weight:800;letter-spacing:-.03em;color:var(--rail-ink);line-height:1.15}
.pg-head p{margin:8px 0 0;font-size:.85rem;line-height:1.65;color:var(--rail-dim)}

/* ---- the bar: one hard rectangle, split by a hairline, never a rounded pill ---- */
.pg-bar{display:flex;margin-top:clamp(16px,2vw,22px);border:1px solid rgba(242,239,232,.16);border-radius:6px;overflow:hidden;background:rgba(242,239,232,.05)}
.pg-bar input{flex:1;min-width:0;background:transparent;border:0;color:var(--rail-ink);font:500 .95rem/1 Heebo,sans-serif;padding:15px 16px;border-radius:0}
.pg-bar input::placeholder{color:rgba(242,239,232,.38)}
.pg-bar input:focus{outline:0;background:rgba(242,239,232,.04);box-shadow:none}
.pg-go{flex:none;display:inline-flex;align-items:center;gap:9px;background:var(--teal);color:#fff;border:0;border-radius:0;
  font:700 .9rem/1 Heebo,sans-serif;letter-spacing:-.01em;padding:0 clamp(18px,2.4vw,30px);min-height:0;cursor:pointer;transition:background .2s ease}
.pg-go svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transform:scaleX(-1);transition:transform .25s cubic-bezier(.22,1,.36,1)}
.pg-go:hover{background:var(--teal-strong)}
.pg-go:hover svg{transform:scaleX(-1) translateX(3px)}
.pg-go:disabled{opacity:.5;cursor:default}
.pg-go:disabled svg{transform:scaleX(-1)}

/* ---- creative direction, folded away ---- */
.pg-adv{margin-top:12px}
.pg-adv summary{cursor:pointer;list-style:none;font-size:.78rem;font-weight:700;color:var(--rail-dim);display:inline-flex;align-items:center;gap:7px;padding:5px 0}
.pg-adv summary::-webkit-details-marker{display:none}
.pg-adv summary::before{content:"";width:7px;height:7px;border-inline-start:1.6px solid var(--gold);border-block-end:1.6px solid var(--gold);transform:rotate(-45deg);transition:transform .22s ease}
.pg-adv[open] summary::before{transform:rotate(45deg)}
.pg-adv summary i{font-style:normal;font-weight:400;opacity:.6}
.pg-adv summary:hover{color:var(--rail-ink)}
.pg-adv-g{display:grid;gap:12px 16px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-top:12px;padding-top:14px;border-top:1px solid var(--rail-line)}
.pg-adv-g label{display:flex;flex-direction:column;gap:6px;font-size:.72rem;font-weight:700;letter-spacing:.02em;color:var(--rail-dim)}
.pg-adv-g label.wide{grid-column:1/-1}
.pg-adv-g input,.pg-adv-g select,.pg-adv-g textarea{background:rgba(242,239,232,.06);border:1px solid var(--rail-line);color:var(--rail-ink);border-radius:4px;font:400 .84rem/1.5 Heebo,sans-serif;padding:9px 11px;width:100%}
.pg-adv-g textarea{resize:vertical}
.pg-adv-g input:focus,.pg-adv-g select:focus,.pg-adv-g textarea:focus{border-color:rgba(242,239,232,.34);box-shadow:none;outline:0}
.pg-adv-g input::placeholder,.pg-adv-g textarea::placeholder{color:rgba(242,239,232,.32)}
.pg-adv-g option{background:var(--appbar);color:var(--rail-ink)}

/* ---- THE RAIL: the tab's signature. Fills from the inline start (right, in RTL). ---- */
.pg-rail{margin-top:clamp(16px,2vw,22px);padding-top:16px;border-top:1px solid var(--rail-line)}
.pg-track{height:2px;background:rgba(242,239,232,.1);overflow:hidden}
.pg-track i{display:block;height:100%;background:var(--teal);transform:scaleX(0);transform-origin:100% 50%;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.pg-rail.err .pg-track i{background:#c05a3c}
.pg-steps{list-style:none;display:flex;flex-wrap:wrap;gap:6px 26px;margin:13px 0 0;padding:0;font-size:.74rem;font-weight:600;letter-spacing:.02em;color:rgba(242,239,232,.32);counter-reset:pg}
.pg-steps li{counter-increment:pg;display:inline-flex;align-items:center;gap:8px;transition:color .3s ease}
.pg-steps li::before{content:counter(pg,decimal-leading-zero);font-weight:800;font-size:.66rem;letter-spacing:.04em;opacity:.7}
.pg-steps li.done,.pg-steps li.ok{color:rgba(242,239,232,.62)}
.pg-steps li.now{color:#5fd191}
.pg-steps li.now::after{content:"";width:5px;height:5px;border-radius:50%;background:#5fd191;animation:pgpulse 1.4s ease-in-out infinite}
@keyframes pgpulse{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.pg-steps li.now::after{animation:none;opacity:1}.pg-track i{transition:none}}
.pg-msg{margin:10px 0 0;font-size:.78rem;color:var(--rail-dim);min-height:1.2em}
.pg-rail.err .pg-msg{color:#e6a390}

/* ---- the bench: ledger beside the live frame ---- */
.pg-bench{display:grid;gap:14px;grid-template-columns:minmax(0,300px) minmax(0,1fr);margin-top:14px;align-items:start}
@media (max-width:1040px){.pg-bench{grid-template-columns:1fr}}
.pg-ledger{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.pg-lh{display:flex;align-items:center;gap:10px;padding:12px 15px;border-bottom:1px solid var(--line);background:var(--panel2)}
.pg-lh b{font-size:.8rem;font-weight:800;letter-spacing:-.01em}
.pg-lh span{margin-inline-start:auto;font-size:.7rem;font-weight:700;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:2px 8px}
#pgList{max-height:min(58vh,560px);overflow:auto}
.pg-row{display:flex;align-items:center;gap:11px;width:100%;text-align:start;background:none;border:0;border-radius:0;
  border-bottom:1px solid var(--line-soft);padding:12px 15px;cursor:pointer;min-height:0;color:var(--ink);transition:background .16s ease}
.pg-row:hover{background:var(--panel2)}
.pg-row.on{background:var(--teal-soft);box-shadow:inset -3px 0 0 var(--teal)}
.pg-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--line);box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.pg-dot.live{background:var(--teal)}
.pg-row-t{flex:1;min-width:0;display:block}
.pg-row-t b{display:block;font-size:.82rem;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-row-m{display:block;font-size:.7rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:ltr;text-align:start}
.pg-row-w{flex:none;font-size:.66rem;color:var(--muted);white-space:nowrap}
.pg-none{padding:26px 18px;font-size:.8rem;line-height:1.7;color:var(--muted);text-align:center}

/* ---- preview ---- */
.pg-view{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden;min-height:420px}
.pg-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:11px 15px;border-bottom:1px solid var(--line);background:var(--panel2)}
.pg-tt{min-width:0;flex:1}
.pg-tt b{display:block;font-size:.85rem;font-weight:800;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-tt span{display:block;font-size:.7rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-tt a{color:var(--teal-strong);font-weight:700;text-decoration:none;direction:ltr;display:inline-block}
.pg-tt a:hover{text-decoration:underline}
.pg-tt a.off{color:var(--muted);font-weight:500;cursor:default;pointer-events:none}
.pg-seg{display:inline-flex;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:var(--panel)}
.pg-seg button{background:none;border:0;border-radius:0;font:600 .72rem/1 Heebo,sans-serif;color:var(--muted);padding:7px 13px;min-height:0;cursor:pointer}
.pg-seg button+button{border-inline-start:1px solid var(--line)}
.pg-seg button.on{background:var(--ink);color:var(--panel)}
.pg-acts{display:flex;gap:7px;flex-wrap:wrap}
.pg-acts .sec.mini.danger{color:var(--red);border-color:rgba(168,56,31,.3)}
.pg-pub{background:var(--teal);color:#fff;border:0;border-radius:5px;font:700 .74rem/1 Heebo,sans-serif;padding:8px 15px;min-height:0;cursor:pointer}
.pg-pub:hover{background:var(--teal-strong)}
.pg-pub.on{background:var(--panel);color:var(--teal-strong);box-shadow:inset 0 0 0 1.5px var(--teal)}
.pg-stage{background:var(--panel2);padding:0;height:min(72vh,780px)}
.pg-stage iframe{width:100%;height:100%;border:0;display:block;background:#faf8f5}
.pg-stage.phone{padding:16px 0;display:flex;justify-content:center}
.pg-stage.phone iframe{width:390px;max-width:100%;height:100%;border:1px solid var(--line)}
.pg-empty{height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--muted);text-align:center;padding:20px}
.pg-empty svg{width:44px;height:44px;fill:none;stroke:var(--line);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pg-empty b{font-size:.9rem;font-weight:800;color:var(--ink);letter-spacing:-.02em}
.pg-empty span{font-size:.78rem;max-width:30ch;line-height:1.6}
/* narrow pane (the console rail eats width on laptops, and the tab must survive a phone) */
@media (max-width:620px){
  .pg-bar{flex-wrap:wrap;border-radius:6px}
  /* flex-shrink MUST stay 1: with `0` the 100% basis is measured against a container whose own
     width depends on these children, so the pane inflated past the viewport on phones. */
  .pg-bar input{flex:1 1 100%;min-width:0;border-bottom:1px solid rgba(242,239,232,.16)}
  .pg-go{flex:1 1 100%;min-width:0;justify-content:center;padding:14px 0}
  .pg-steps{gap:6px 16px;font-size:.7rem}
}
@media (max-width:760px){
  .pg-stage{height:min(64vh,560px)}
  .pg-tools{gap:8px}
  .pg-tt{flex:1 0 100%}
}

/* ---- pagegen studio: template picker, image mode, logo ------------------------------------
   All of it lives inside the graphite launch panel, so the controls are cut from the rail's
   palette rather than the linen one. The template chips draw a live mini-mock from the tokens
   the API returns: a headline bar, a body bar, an accent block and an image block on the
   template's own surface, set in the template's own display face. No thumbnails to go stale. */
.pg-opt{margin-top:clamp(14px,1.8vw,20px);padding-top:14px;border-top:1px solid var(--rail-line)}
.pg-opt-h{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
.pg-opt-h b{font-size:.74rem;font-weight:800;letter-spacing:.06em;color:var(--rail-ink)}
.pg-opt-h span{font-size:.74rem;color:var(--rail-dim);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pg-opt-2{display:grid;gap:18px 28px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.pg-hint{margin:8px 0 0;font-size:.72rem;line-height:1.55;color:var(--rail-dim)}

.pg-chips{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;
  scrollbar-width:thin;scrollbar-color:rgba(242,239,232,.25) transparent}
.pg-chip{flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch;gap:7px;
  background:none;border:1px solid var(--rail-line);border-radius:8px;padding:8px 8px 9px;
  cursor:pointer;min-height:0;width:118px;
  transition:border-color .18s ease,background .18s ease,transform .18s ease}
.pg-chip:hover{background:rgba(242,239,232,.05);border-color:rgba(242,239,232,.28)}
.pg-chip.on{border-color:var(--teal);background:rgba(14,122,69,.14)}
.pg-chip b{font-size:.75rem;font-weight:700;color:var(--rail-ink);text-align:center;letter-spacing:-.01em}
.pg-chip.on b{color:#7fdaa6}
/* the construction names, so the thumbnail is readable rather than just decorative */
.pg-chip i{font-style:normal;font-size:.6rem;font-weight:600;letter-spacing:0;
  color:var(--rail-dim);text-align:center;line-height:1.35;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pg-chip.on i{color:rgba(127,218,166,.75)}

/* The thumbnail is a scale drawing of the template's real plan: every band painted with the
   ground the planner assigns it, and a wireframe of the construction inside. 190px of height
   is what it takes for a fourteen-band product page to stay legible. */
.pg-mock-w{display:block;height:190px;border:1px solid;border-radius:3px;overflow:hidden;
  position:relative}
.pg-mock{display:block;width:100%;height:100%}
@media (max-width:520px){
  .pg-chip{width:104px}
  .pg-mock-w{height:160px}
}

/* colour: the twelve grounded presets, an automatic option and a native picker.
   Each preset swatch shows the RESOLVED ground with the accent inset, because the palette
   engine moves an accent that would fail contrast and the chip has to tell the truth. */
.pg-pals{display:flex;flex-wrap:wrap;gap:8px}
.pg-pal{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;
  background:none;border:1px solid var(--rail-line);border-radius:7px;padding:7px 6px 8px;
  cursor:pointer;min-height:0;width:74px;flex:0 0 auto;
  transition:border-color .18s ease,background .18s ease}
.pg-pal:hover{background:rgba(242,239,232,.05);border-color:rgba(242,239,232,.24)}
.pg-pal.on{border-color:var(--teal);background:rgba(14,122,69,.14)}
.pg-pal b{font-size:.68rem;font-weight:700;color:var(--rail-ink);letter-spacing:-.01em;
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pg-pal.on b{color:#7fdaa6}
.pg-pal i{display:block;width:100%;height:26px;border-radius:4px;position:relative;overflow:hidden;
  font-style:normal}
.pg-pal i s{position:absolute;inset-block:0;inset-inline-start:0;width:38%;
  text-decoration:none;display:block}
.pg-pal-auto i{background:
  linear-gradient(135deg,#b4451f 0 25%,#2f5d43 25% 50%,#12507a 50% 75%,#c2a25e 75% 100%)}
.pg-pal-own{overflow:hidden}
.pg-pal-own input[type=color]{position:absolute;inset:0;opacity:0;width:100%;height:100%;
  cursor:pointer;border:0;padding:0;margin:0}
@media (max-width:520px){.pg-pal{width:calc(33.333% - 6px)}}

/* a build outcome the operator has to keep seeing, not a toast that vanishes */
.pg-warn{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;
  margin:0 0 10px;padding:9px 13px;border-radius:6px;
  background:rgba(232,163,61,.1);border:1px solid rgba(232,163,61,.32)}
.pg-warn b{font-size:.76rem;font-weight:800;color:#e8a33d}
.pg-warn span{font-size:.72rem;color:var(--rail-dim);min-width:0}

/* Shopify export dialog */
.pg-liq{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px;
  background:rgba(10,12,11,.66);backdrop-filter:blur(3px)}
.pg-liq-box{width:min(760px,100%);max-height:88vh;overflow:auto;background:var(--rail);
  border:1px solid var(--rail-line);border-radius:10px;padding:20px 20px 18px;
  display:flex;flex-direction:column;gap:12px}
.pg-liq-box h3{margin:0;font-size:.95rem;font-weight:800;color:var(--rail-ink)}
.pg-liq-steps{margin:0;padding-inline-start:20px;display:grid;gap:6px;
  font-size:.78rem;line-height:1.6;color:var(--rail-dim)}
.pg-liq-steps b{color:var(--rail-ink);font-weight:700}
.pg-liq-meta{margin:0;font-size:.72rem;color:var(--rail-dim)}
.pg-liq-meta b{color:var(--rail-ink)}
.pg-liq-meta code{font-size:.7rem;background:rgba(242,239,232,.07);border-radius:3px;padding:1px 5px}
.pg-liq-meta.warn{color:#e8a33d}
.pg-liq-box textarea{width:100%;min-height:220px;resize:vertical;background:var(--appbar);
  color:var(--rail-dim);border:1px solid var(--rail-line);border-radius:6px;padding:10px 12px;
  font:400 .68rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre}
.pg-liq-acts{display:flex;gap:8px;align-items:center}
@media (max-width:520px){.pg-liq-box{padding:14px}.pg-liq-box textarea{min-height:150px}}

/* image mode: a segmented control, not three radio dots */
.pg-seg2{display:inline-flex;border:1px solid var(--rail-line);border-radius:6px;overflow:hidden;max-width:100%}
.pg-seg2 button{flex:1;background:none;border:0;border-radius:0;min-height:0;cursor:pointer;white-space:nowrap;
  font:600 .76rem/1 Heebo,sans-serif;color:var(--rail-dim);padding:9px 13px;transition:background .16s ease,color .16s ease}
.pg-seg2 button + button{border-inline-start:1px solid var(--rail-line)}
.pg-seg2 button:hover{background:rgba(242,239,232,.05);color:var(--rail-ink)}
.pg-seg2 button.on{background:var(--teal);color:#fff}

.pg-logo{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pg-logo-p{width:64px;height:40px;flex:none;display:grid;place-items:center;background:rgba(242,239,232,.06);border:1px solid var(--rail-line);border-radius:5px;overflow:hidden}
.pg-logo-p img{max-width:56px;max-height:32px;width:auto;height:auto;object-fit:contain}
.pg-logo-p span{font-size:.68rem;color:var(--rail-dim)}
.pg-logo-b{cursor:pointer;display:inline-flex;align-items:center}
.pg-launch .sec.mini{background:rgba(242,239,232,.06);border:1px solid var(--rail-line);color:var(--rail-ink);border-radius:5px;font:600 .74rem/1 Heebo,sans-serif;padding:8px 13px;min-height:0}
.pg-launch .sec.mini:hover{background:rgba(242,239,232,.11)}

/* template swap inside the preview toolbar */
.pg-tplsel{flex:none;background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:5px;
  font:600 .74rem/1 Heebo,sans-serif;padding:7px 10px;min-height:0;max-width:140px}
.pg-tplsel:focus{border-color:var(--teal);box-shadow:none;outline:0}

@media (max-width:620px){
  .pg-chip{width:80px}
  .pg-mock{height:48px}
  .pg-seg2{width:100%}
  .pg-seg2 button{padding:9px 6px;font-size:.72rem}
}

/* ---- pagegen studio: build feedback -------------------------------------------------------
   Owner 2026-09-10: "אין טעינה או בר התקדמות... אין לי מושג אם הלחיצה שלי עבדה".
   The click now answers in three places at once: the button itself (spinner + label swap),
   the rail directly beneath it (no longer at the bottom of the panel), and a fill that keeps
   creeping between the 2.5s polls instead of freezing. */
.pg-go{position:relative}
.pg-go .pg-spin{display:none;width:15px;height:15px;flex:none;border-radius:50%;
  border:2px solid rgba(255,255,255,.3);border-top-color:#fff;animation:pgspin .7s linear infinite}
.pg-go.busy .pg-spin{display:block}
.pg-go.busy svg{display:none}
.pg-go:disabled{opacity:1;cursor:progress}
.pg-go.busy{background:var(--teal-strong)}
@keyframes pgspin{to{transform:rotate(360deg)}}

/* the rail now sits under the bar, so it gets a little air of its own */
.pg-rail{margin-top:12px;padding-top:14px}
.pg-track{position:relative}
/* a moving sheen over the filled part: proof of life even when the stage is long */
.pg-rail.run .pg-track::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);
  background-size:120px 100%;background-repeat:no-repeat;animation:pgsheen 1.5s linear infinite}
@keyframes pgsheen{from{background-position:-120px 0}to{background-position:calc(100% + 120px) 0}}
.pg-track i{transition:transform 1.1s cubic-bezier(.33,1,.68,1)}

@media (prefers-reduced-motion:reduce){
  .pg-go .pg-spin{animation:none}
  .pg-rail.run .pg-track::after{animation:none;background:none}
  .pg-track i{transition:none}
}

/* kind picker: same segmented control as the image mode, one row up */
.pg-kinds{width:100%}
.pg-kinds button{flex:1 1 auto}
.pg-legal{color:#e0c489;border-inline-start:2px solid var(--gold);padding-inline-start:10px;margin-top:10px}
#pgBriefWrap{border-radius:6px;transition:outline-color .2s ease}

/* ---- automations tab (2026-09-16) ---- */
.auto-card{margin-top:12px}
.auto-card.auto-off{opacity:.62}
.auto-switch{position:relative;display:inline-block;width:42px;height:24px;flex:none;margin-top:2px;cursor:pointer}
.auto-switch input{opacity:0;width:0;height:0}
.auto-switch span{position:absolute;inset:0;background:#c9c4b8;border-radius:24px;transition:.2s}
.auto-switch span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.auto-switch input:checked+span{background:#12a150}
.auto-switch input:checked+span::before{transform:translateX(18px)}
.auto-stats{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line,#e6e3db);font-size:.8rem;color:var(--muted,#6b6559)}
.auto-stats b{color:var(--ink,#1d1b17);font-size:.95rem;margin-inline-end:3px}
.auto-stats em{font-style:normal;color:var(--muted,#6b6559);font-size:.74rem}
.auto-stats .auto-buy b{color:#0f766e}
.auto-chk{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;cursor:pointer;margin:0;white-space:nowrap}
.auto-dur{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.auto-dur select{width:auto;flex:none;min-width:96px}
.auto-dur-n{display:inline-flex;align-items:center;gap:8px}
.auto-dur-n input{width:96px;flex:none;text-align:center}
/* the editor in three steps, edit mode, template-field pickers and a sticky save bar (owner 2026-10-02) */
.auto-step{border:1px solid var(--line);border-radius:12px;padding:14px 16px 6px;margin:14px 0 0;background:var(--panel)}
.auto-step-h{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:0 0 10px;border-bottom:1px solid var(--line-soft)}
.auto-step-n{flex:none;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--panel);font-size:.8rem;font-weight:800;display:grid;place-items:center;font-variant-numeric:tabular-nums}
.auto-step-t{display:flex;flex-direction:column;gap:1px;min-width:0}
.auto-step-t b{font-size:.95rem;color:var(--ink)}
.auto-step-t span{font-size:.78rem;color:var(--muted)}
#autoNewTitle{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.auto-edit-name{color:var(--teal-strong)}
.auto-edit-back{margin-inline-start:auto;width:auto}
#autoNew.editing #autoFreeBox,#autoNew.editing .auto-or,#autoNew.editing #autoRecipes{display:none}
.auto-savebar{position:sticky;bottom:0;z-index:4;margin:14px -26px -24px;padding:10px 26px 14px;background:var(--panel);border-top:1px solid var(--line);border-radius:0 0 8px 8px;box-shadow:0 -8px 18px -12px rgba(22,24,28,.22)}
.auto-savebtns{display:flex;gap:10px;flex-wrap:wrap}
.auto-savebtns #autoSave{flex:1 1 160px}
.auto-savebtns button.sec{width:auto}
.auto-cond-help{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 6px}
.auto-tplbody{margin-top:4px;padding:8px 10px;border-radius:10px;background:var(--panel2);line-height:1.6;white-space:pre-wrap}
.auto-tplp{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}
.auto-tplp-k{flex:none;font-size:.78rem;color:var(--muted);direction:ltr;unicode-bidi:isolate;min-width:34px;font-variant-numeric:tabular-nums}
.auto-tplp-sel{width:auto;flex:none;min-width:170px}
.auto-tplp-txt{flex:1 1 180px}
@media (max-width:900px){ .auto-step{padding:12px 12px 4px} .auto-savebar{margin:12px -14px -16px;padding:10px 14px 12px} .auto-tplp-sel{flex:1 1 140px} }
.auto-chk.auto-dis{opacity:.5;cursor:not-allowed}
.auto-tbl{width:100%;border-collapse:collapse;font-size:.8rem;min-width:640px}
.auto-tbl th,.auto-tbl td{padding:6px 8px;text-align:right;border-bottom:1px solid var(--line,#e6e3db);white-space:nowrap}
.auto-tbl th{color:var(--muted,#6b6559);font-weight:600}
.auto-tbl .auto-testrow td{color:var(--muted,#6b6559)}
@media(max-width:600px){.auto-stats{gap:6px 10px;font-size:.76rem}}
.auto-red{color:#b3261e;background:#fdecea;border:1px solid #f3c4c0;border-radius:9px;padding:7px 10px;font-size:.82rem;line-height:1.5;margin:4px 0}
.auto-ok{color:#0f766e;background:#e7f6ec;border:1px solid #bfe3cc;border-radius:9px;padding:7px 10px;font-size:.82rem;line-height:1.5;margin:4px 0}
.auto-bulb{border:0;background:transparent;cursor:pointer;font-size:1rem;padding:0 2px;line-height:1}
.auto-preview{margin-top:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;white-space:pre-wrap;font-size:.9rem;line-height:1.6}
.auto-preview-img{display:block;max-width:220px;width:100%;height:auto;border-radius:10px;margin:0 0 8px;border:1px solid var(--line)}
.auto-pill-gold{background:#fff8e6;border-color:#ecd9a8;color:#7a5b00}

/* automations: email to end customers is support-activated (owner 2026-09-17) */
.auto-mailnote{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-2px 0 12px;padding:10px 12px;border-radius:12px;background:var(--panel2);border:1px dashed var(--line);font-size:.82rem;line-height:1.45;color:var(--ink)}
.auto-mailnote>span{flex:1 1 220px;min-width:0}
.auto-mailact{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px}
.auto-mailnote button.sec{padding:7px 14px;font-size:.8rem;font-weight:700;border-radius:999px;white-space:nowrap}
.auto-mailact a{font-size:.72rem;color:var(--muted);text-decoration:underline;white-space:nowrap}
.auto-mailfrom{display:flex;align-items:center;gap:8px;margin:-2px 0 12px;font-size:.8rem;line-height:1.45;color:var(--muted)}
.auto-mailfrom b{color:var(--ink);font-weight:700;white-space:nowrap;unicode-bidi:isolate}

/* The card a notification pointed at: a short ring pulse so the owner sees WHICH question,
   action or reminder the alert was about (owner 2026-09-22). Respects reduced motion. */
.navflash{animation:navflash 1.3s ease-out 2;border-radius:12px}
@keyframes navflash{0%{box-shadow:0 0 0 0 rgba(0,168,132,.55)}70%{box-shadow:0 0 0 12px rgba(0,168,132,0)}100%{box-shadow:0 0 0 0 rgba(0,168,132,0)}}
@media (prefers-reduced-motion:reduce){.navflash{animation:none;outline:3px solid var(--teal,#00a884);outline-offset:3px}}

/* template gallery (owner 2026-09-26) */
.tg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.tg-card{border:1px solid var(--line);border-radius:12px;padding:11px 13px;background:var(--panel);display:flex;flex-direction:column}
.tg-top{display:flex;align-items:center;gap:7px;font-size:.86rem;flex-wrap:wrap}
.tg-top b{flex:1;min-width:0}
.tg-ic{font-size:1.15rem}
.tg-st{font-size:.72rem;font-weight:700}
.tg-prev{font-size:.78rem;line-height:1.55;color:var(--muted);margin-top:6px;background:var(--panel2,#f6f6f4);border-radius:9px;padding:7px 9px;flex:1}
/* team member session (body.is-team, audit 2026-09-26): owner-only controls are hidden - the server refuses them too */
.is-team [onclick^="intDisconnect("],.is-team [onclick^="intConnect("],.is-team [onclick^="intTgRebind("],
.is-team [onclick^="chDisconnectPage("],.is-team [onclick^="chWidgetDisconnect("],.is-team [onclick^="chGmailDisconnect("],
.is-team [onclick^="chConnect("],.is-team [onclick^="chConnectFb("],.is-team [onclick^="chAddPage("],.is-team [onclick^="chSetAdAcct("],
.is-team [onclick^="waDisconnect("],.is-team [onclick^="setModel("],.is-team [onclick^="crmBroadcast("],
.is-team [onclick^="autoSave("],.is-team [onclick^="autoDelete("],.is-team [onclick^="autoEdit("],
.is-team [onclick^="buyCredits("],.is-team [onclick^="upgradeCustom("],.is-team [onclick^="downgradePlan("],.is-team [onclick^="cancelSub("],
.is-team [onclick^="setOptout("],.is-team [onclick^="addTeamFull("],.is-team [onclick^="editTeamFull("],.is-team [onclick^="delTeamFull("]{display:none!important}
.is-team .auto-switch{pointer-events:none;opacity:.5}
/* owner 2026-09-26: while a brief waits for approval the approve button stays on screen on EVERY device - the save bar
   (which carries it) stays sticky on phones and tablets instead of sitting at the end of the form */
@media (max-width:900px){
  body.authed:not(.chat-open) #cfgSaveBar.brief-pending{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));z-index:4;flex-wrap:wrap;gap:8px 14px;padding:10px 0}
}
@media (max-width:760px){
  body.authed:not(.chat-open) #cfgSaveBar.brief-pending{bottom:0;padding:10px 0 calc(10px + env(safe-area-inset-bottom))}
}
/* admin-only minimize of the onboarding / status notices in a client's console (owner 2026-09-26) - clients never get it */
.adm-min-hidden{display:none!important}
.adm-min-btn{position:absolute;top:4px;inset-inline-end:6px;z-index:3;width:auto!important;min-height:0!important;height:auto!important;margin:0!important;padding:0 8px!important;border:1px solid rgba(0,0,0,.18)!important;border-radius:7px!important;background:rgba(255,255,255,.9)!important;color:#555!important;box-shadow:none!important;font:inherit;font-size:.8rem!important;font-weight:800;line-height:1.5;cursor:pointer}
#critBar:has(.crit-x) > .adm-min-btn{inset-inline-end:44px}
.adm-min-chip{display:inline-flex;align-items:center;gap:4px;width:auto!important;min-height:0!important;height:auto!important;margin:8px 16px 0!important;padding:3px 12px!important;border:1px dashed var(--line)!important;border-radius:999px!important;background:var(--panel)!important;color:var(--muted)!important;box-shadow:none!important;font:inherit;font-size:.76rem!important;font-weight:700;cursor:pointer;direction:rtl}
.adm-nudge-chip{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom));inset-inline-start:16px;z-index:70;margin:0!important;box-shadow:0 4px 14px rgba(0,0,0,.12)!important}
body.admmin-brief #cfgSaveBar.brief-pending{position:static!important}
body.admmin-brief #cfgBriefApprove{display:none!important}
/* phones (owner 2026-09-26): the full business name in the top bar again (the trial days left it) + a card at the bottom of the menu */
#bizChip .bc-av{display:none}
#sideNavBiz{display:none}
@media (max-width:760px){
  #bizChip .bc-name{max-width:58vw}
  #bizChip .bc-av{display:none;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-weight:800;font-size:.95rem;line-height:1}
  #sideNavBiz{display:block;border-top:1px solid var(--rail-line,var(--line));margin-top:12px;padding-top:12px}
  #sideNavBiz .snb-card{display:flex;align-items:center;gap:10px;width:100%;text-align:right;background:rgba(242,239,232,.08);border:1px solid var(--rail-line,var(--line));border-radius:10px;box-shadow:inset -3px 0 0 var(--gold,#c9a84c)!important;padding:10px 12px;font:inherit;min-height:0;cursor:pointer}
  #sideNavBiz .snb-info{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.35}
  #sideNavBiz .snb-info b{font-size:.92rem;overflow-wrap:anywhere;color:var(--rail-ink,var(--ink))}
  #sideNavBiz .snb-info span{font-size:.8rem;color:var(--rail-dim,var(--muted))}
  #sideNavBiz .snb-card .t-av{background:var(--teal);color:#fff}
  #sideNavBiz .snb-sw{flex:none;font-size:.78rem;font-weight:700;color:var(--rail-dim,var(--muted))}
  #sideNavBiz .snb-add{width:100%;margin-top:8px;background:transparent;border:1px dashed var(--line);color:var(--rail-dim,var(--muted));border-radius:10px;padding:9px;cursor:pointer;font:inherit;font-size:.85rem;min-height:0;box-shadow:none}
}
/* the customer's order numbers at the top of the open conversation (owner 2026-09-29) */
.ordbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;align-self:stretch;width:100%;box-sizing:border-box;padding:5px 12px;font-size:.78rem;background:rgba(18,161,80,.06);border-bottom:1px solid var(--line);direction:rtl;flex:none}
.ordbar[hidden]{display:none}
.ordbar .ordlbl{font-weight:700;color:var(--muted)}
.ordbar .ordchip{font-weight:800;color:var(--teal-strong);background:rgba(18,161,80,.12);border-radius:8px;padding:1px 7px;text-decoration:none;white-space:nowrap}
.ordbar a.ordchip:hover{text-decoration:underline}

/* Contradictions in the bot's settings (owner 2026-09-30): the card at the top of the bot settings, one at a time */
.cf-card{border:1.5px solid rgba(178,106,0,.45);background:var(--panel,#fff);padding:14px 18px}
.cf-card.cf-idle{border-color:var(--line);padding:10px 16px}
.cf-checking,.cf-done{font-size:.86rem;color:var(--muted)}
.cf-done{color:var(--teal-strong);font-weight:700}
.cf-head{display:flex;align-items:center;gap:8px;font-size:1rem}
.cf-ic{font-size:1.15rem;line-height:1}
.cf-sub{margin:4px 0 10px;font-size:.84rem;color:var(--muted);line-height:1.6}
.cf-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px;font-size:.84rem}
.cf-nav .cf-arrow{width:34px;height:34px;min-height:34px;padding:0;border-radius:50%;background:var(--panel,#fff);color:var(--ink);border:1px solid var(--line);box-shadow:none;font-size:1.25rem;line-height:1;display:grid;place-items:center}
.cf-nav .cf-arrow:disabled{opacity:.35;cursor:default}
.cf-pos{font-weight:700}
.cf-queue{margin-inline-start:auto;background:var(--amber-soft);color:var(--amber);border-radius:99px;padding:3px 11px;font-size:.78rem;font-weight:700}
.cf-item{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--bg,#fff);min-width:0}
.cf-item.cf-pop{animation:cfpop .35s ease-out}
@keyframes cfpop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.cf-topic{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:6px;font-size:.92rem}
.cf-contrast{font-size:.8rem;color:var(--muted)}
.cf-line{font-size:.86rem;line-height:1.7;overflow-wrap:anywhere;margin-top:2px}
.cf-where,.cf-k{color:var(--muted)}
.cf-quote{font-weight:600}
.cf-ask{margin-top:12px;font-size:.86rem;font-weight:700}
.cf-opt{display:block;margin-top:8px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;font-weight:400;transition:border-color .12s,background .12s;min-width:0}
.cf-opt:hover{border-color:var(--teal)}
.cf-opt.on{border:2px solid var(--teal);background:var(--teal-soft);padding:9px 11px}
.cf-opt-top{display:flex;align-items:center;gap:8px;font-size:.9rem}
.cf-opt-top input{width:auto;margin:0;flex:none}
.cf-opt-row{font-size:.84rem;line-height:1.7;margin-top:4px;padding-inline-start:24px;overflow-wrap:anywhere}
.cf-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.cf-acts button{width:auto;flex:none}
.cf-acts button:disabled{opacity:.45;cursor:default}
@media (max-width:560px){.cf-card{padding:12px 13px}.cf-item{padding:10px 11px}.cf-opt-row{padding-inline-start:0}.cf-acts button{flex:1 1 auto}}


/* Fix-and-learn under each answer of the test chat (owner 2026-09-30) */
.pt-fix{display:flex;gap:6px;flex-wrap:wrap;margin:-2px 0 6px;align-self:flex-end}
.pt-fix .linkbtn{font-size:.74rem;padding:3px 9px}
.pt-edit{align-self:stretch;border:1.5px solid var(--teal);background:var(--panel,#fff);border-radius:12px;padding:10px 12px;margin:0 0 10px;font-size:.84rem;min-width:0}
.pt-edit-q{color:var(--muted);margin-bottom:6px;overflow-wrap:anywhere}
.pt-edit textarea{width:100%;min-height:64px}
.pt-edit-acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
.pt-edit-acts button{width:auto;flex:none}
.pt-edit-acts .muted{font-size:.74rem}

/* The bot's default rules as toggles (owner 2026-09-30) */
#bdList{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.bd-row{display:flex;align-items:center;gap:10px 14px;padding:9px 2px;border-bottom:1px solid var(--line-soft,#eee);min-width:0}
.bd-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:.86rem}
.bd-txt .muted{font-size:.76rem}
.bd-row.changed .bd-txt b::after{content:' · שונה מברירת המחדל';font-weight:400;font-size:.74rem;color:var(--amber)}
.bd-sw{flex:none;width:auto;min-width:64px;min-height:0;padding:4px 12px;border-radius:99px;font-size:.78rem;background:var(--panel,#fff);color:var(--muted);border:1px solid var(--line);box-shadow:none}
.bd-sw.on{background:var(--teal-soft);color:var(--teal-strong);border-color:rgba(18,161,80,.35)}
.bd-row select,.bd-row input{flex:none;width:auto;max-width:48%;min-width:120px}
@media (max-width:560px){.bd-row{flex-wrap:wrap}.bd-row select,.bd-row input{max-width:100%;flex:1 1 100%}}
.cf-done.cf-err{color:var(--amber)}

/* "מה הבוט יודע" as one list of folders (owner 2026-09-30, a pilot per business) */
.fd-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}
.fd-head b{font-size:.95rem}
.fd-head button{width:auto;flex:none;margin-inline-start:auto}
.fd-list{display:flex;flex-direction:column;gap:6px;margin:4px 0 10px}
.fd{border:1px solid var(--line);border-radius:12px;background:var(--panel,#fff);min-width:0}
.fd>summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:10px 12px;font-size:.92rem;list-style:none}
.fd>summary::-webkit-details-marker{display:none}
.fd>summary::after{content:'▾';margin-inline-start:auto;color:var(--muted);transition:transform .15s}
.fd[open]>summary::after{transform:rotate(180deg)}
.fd[open]{border-color:var(--teal)}
.fd-ic{font-size:1.05rem;line-height:1}
.fd-meta{font-size:.76rem;color:var(--muted)}
.fd-body{padding:0 12px 12px;min-width:0}
.fd-body>label:first-child{margin-top:0}
.fd-topics{display:flex;flex-direction:column;gap:6px}
.fd-topic{border:1px solid var(--line-soft,#eee);border-radius:10px;background:var(--bg,#fff);min-width:0;margin:0}
.fd-topic>summary{cursor:pointer;padding:8px 10px;font-size:.86rem}
.fd-topic>summary .muted{font-size:.74rem;font-weight:400}
.fd-topic>textarea{margin:0 8px 8px;width:calc(100% - 16px)}
.fd-topic.fd-review{border-color:rgba(178,106,0,.45)}
.fd-add{display:flex;gap:8px;align-items:center;margin-top:4px}
.fd-add input{flex:1;min-width:0}
.fd-add button{flex:none;width:auto}
.fd-learn textarea{width:100%}
.fd-org{margin:0 0 8px}
.fd-prev{border:1.5px solid var(--teal);background:var(--teal-soft);border-radius:12px;padding:12px 14px;font-size:.86rem}
.fd-group{margin-top:8px}
.fd-group>summary{cursor:pointer;font-weight:700;font-size:.84rem}
.fd-move{display:flex;gap:8px;align-items:flex-start;padding:5px 0;border-top:1px solid var(--line-soft,#eee);font-weight:400;font-size:.82rem;overflow-wrap:anywhere;margin:0}
.fd-move input{width:auto;margin:3px 0 0;flex:none}
.fd-back{margin-top:6px;font-size:.8rem}
@media (max-width:560px){.fd-head button{margin-inline-start:0}.fd-add{flex-wrap:wrap}}
/* the conflict arrows as drawn chevrons (fonts mirror ‹ ›): the previous one on the right points right, the next one on the left points left */
.cf-nav .cf-arrow::before{content:'';display:block;width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor}
.cf-nav .cf-prev::before{transform:translateX(-2px) rotate(45deg)}
.cf-nav .cf-next::before{transform:translateX(2px) rotate(-135deg)}

/* The bot page pilot (owner 2026-09-30): the knowledge sources on top, cards dragged into the owner's order */
.src-card{padding:14px 18px}
/* "תענה כמוני" (owner 2026-10-01) */
.sl-card{padding:14px 18px;min-width:0}
.sl-head{display:flex;flex-direction:column;gap:4px}
.sl-head .help{margin:0}
.sl-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.sl-mode{display:flex;flex-direction:column;gap:3px;border:1.5px solid var(--line);border-radius:12px;padding:9px 11px;cursor:pointer;margin:0;font-weight:400;min-width:0}
.sl-mode input{width:auto;margin:0 0 2px}
.sl-mode b{font-size:.86rem}
.sl-mode span{font-size:.76rem;color:var(--muted);line-height:1.45}
.sl-mode:has(input:checked){border-color:var(--teal);background:var(--teal-soft,#e7f6ee)}
.sl-go{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.sl-go button{width:auto}
.sl-go .muted{font-size:.76rem}
.sl-body{margin-top:8px;min-width:0}
.sl-wait,.sl-note,.sl-done{font-size:.86rem;padding:9px 12px;border-radius:10px;background:var(--panel2)}
.sl-done{color:var(--teal-strong,#0a7)}
.sl-sum{font-size:.86rem;margin:6px 0 2px}
.sl-q{font-size:.8rem;color:var(--muted);margin:2px 0 6px}
.sl-imp{font-size:.82rem;background:var(--panel2);border-radius:10px;padding:8px 12px;margin:6px 0}
.sl-imp ul,.sl-det ul{margin:4px 0 0;padding-inline-start:18px}
.sl-imp li,.sl-det li{margin:2px 0;line-height:1.5}
.sl-det{margin:8px 0;font-size:.82rem}
.sl-det summary{cursor:pointer;font-weight:700;color:var(--teal-strong)}
.sl-pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.8rem;line-height:1.55;background:var(--panel2);border-radius:10px;padding:10px 12px;max-height:340px;overflow:auto;margin:6px 0}
.sl-fh{margin:12px 0 4px;font-size:.86rem}
.sl-faq{display:flex;flex-direction:column;gap:6px;max-height:520px;overflow:auto;padding-inline-end:2px}
.sl-item{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line-soft,#eee);border-radius:10px;padding:8px 10px;margin:0;font-weight:400;cursor:pointer;min-width:0}
.sl-item input{width:auto;margin:3px 0 0;flex:none}
.sl-item.off{opacity:.55}
.sl-tx{min-width:0;flex:1;font-size:.82rem;line-height:1.5}
.sl-tx b{font-size:.84rem}
.sl-meta{font-size:.72rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 8px;margin:2px 0}
.sl-tag{background:var(--panel2);border-radius:6px;padding:0 6px}
.sl-tag.warn{color:#9a5b00}
.sl-a{overflow-wrap:anywhere;margin-top:3px}
.sl-a.orig{color:var(--muted)}
.sl-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.sl-acts button{width:auto}
@media (max-width:560px){.sl-card{padding:12px 13px}.sl-modes{grid-template-columns:1fr}.sl-acts button{flex:1 1 auto}}
.src-head{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.src-head b{font-size:1rem}
.src-head .help{margin:0}
.src-row{display:flex;flex-direction:row!important;gap:8px;align-items:center;flex-wrap:wrap}
.src-row input[type=url]{flex:1 1 220px;min-width:0;height:auto}
.src-row button{flex:none;width:auto}
@media (max-width:560px){.src-row input[type=url]{flex:1 1 100%}.src-row button{flex:1 1 auto}}
.src-aud{margin:10px 0 2px}
.src-aud-t{font-weight:700;font-size:.86rem;margin-bottom:6px}
.src-aud-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.src-aud-opt{display:flex;flex-direction:column;gap:3px;margin:0;padding:10px 12px;border:1.5px solid var(--line);border-radius:12px;cursor:pointer;background:var(--panel,#fff);font-weight:400;position:relative;min-width:0}
.src-aud-opt input{position:absolute;opacity:0;pointer-events:none}
.src-aud-opt b{font-size:.9rem}
.src-aud-opt span{font-size:.78rem;color:var(--muted);line-height:1.5}
.src-aud-opt:has(input:checked){border:2px solid var(--teal);background:var(--teal-soft);padding:9px 11px}
.src-aud-opt:has(input:checked) b::after{content:' ✓';color:var(--teal-strong)}
@media (max-width:560px){.src-aud-cards{grid-template-columns:1fr}}
.src-opt{margin-top:10px}
.src-opt>summary{cursor:pointer;font-size:.8rem;color:var(--teal-strong);font-weight:700}
.bp-card{position:relative}
.bp-handle{display:inline-grid;place-items:center;width:30px;height:30px;margin-inline-end:8px;border-radius:8px;border:1px solid var(--line);background:var(--panel,#fff);color:var(--muted);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;font-size:1.05rem;line-height:1;vertical-align:middle}
.bp-handle:hover{background:var(--line-soft,#eee);color:var(--ink)}
div.bp-card>.bp-handle{position:absolute;top:10px;inset-inline-start:8px}
div.bp-card.src-card{padding-inline-start:46px}
div.bp-card#setupChecklist{padding-inline-start:46px!important}
.bp-placeholder{opacity:.35;outline:2px dashed var(--teal);outline-offset:3px}
.bp-ghost{position:fixed;z-index:9999;pointer-events:none;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;background:var(--panel,#fff);border:1.5px solid var(--teal);box-shadow:0 14px 34px rgba(0,0,0,.22),0 3px 8px rgba(0,0,0,.12);transform:rotate(-1.5deg) scale(1.02);font-weight:700;font-size:.92rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bp-ghost-h{color:var(--teal-strong)}
body.bp-dragging-page,body.bp-dragging-page *{cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important}
.bp-dropped{animation:bpdrop .7s ease-out}
@keyframes bpdrop{0%{box-shadow:0 0 0 3px var(--teal)}100%{box-shadow:0 0 0 0 rgba(18,161,80,0)}}
.bp-reset{margin:6px 0 2px;font-size:.78rem;text-align:center}

/* Uploads in the pilot (owner 2026-09-30): the progress, the result that stays, the list says where each file goes and what was learned */
.src-msg{margin:10px 0 0;padding:10px 12px;border-radius:12px;font-size:.86rem;line-height:1.55;display:flex;flex-wrap:wrap;gap:8px 10px;align-items:flex-start}
.src-msg[hidden]{display:none}
.src-msg.busy{background:var(--panel2);border:1px solid var(--line)}
.src-msg.ok{background:var(--teal-soft);border:1.5px solid var(--teal)}
.src-msg.err{background:#fbecea;border:1.5px solid var(--red)}
.src-msg.err b{color:var(--red)}
.src-msg .wload-mini{flex:none;margin-top:3px}
.src-msg-body{flex:1 1 200px;min-width:0}
.src-msg-body b{display:block}
.src-msg-body span{color:var(--muted)}
.src-msg-acts{display:flex;gap:6px;flex:none;align-items:center}
.src-msg-acts .sec{width:auto;padding:4px 10px;font-size:.78rem}
.src-msg-acts .linkbtn{font-size:1rem;padding:2px 6px}
.src-busy .src-row button,.src-busy .src-opt button{opacity:.5;cursor:wait}
.src-list{margin-top:12px}
.src-list-t{font-size:.78rem;color:var(--muted);font-weight:700;margin:0 0 2px}
.src-empty{font-size:.8rem}
.src-item{padding:9px 4px;border-bottom:1px solid var(--line-soft)}
.src-item.src-new{background:var(--teal-soft);border-radius:10px;padding-inline:8px}
.src-item-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0}
.src-item-main{flex:1 1 230px;min-width:0}
.src-item-n{display:block;font-size:.86rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.src-item-meta{display:flex;flex-wrap:wrap;gap:3px 8px;align-items:center;font-size:.74rem;margin-top:3px}
.src-who{padding:1px 8px;border-radius:999px;font-weight:700}
.src-who.cust{background:var(--teal-soft);color:var(--teal-strong)}
.src-who.int{background:var(--panel2);color:var(--ink)}
.src-item-top .sec{flex:none;width:auto;padding:4px 10px;font-size:.78rem}
.src-item-top .src-del{color:var(--red)}
.src-learn{margin:8px 0 2px;padding:10px 12px;border-radius:10px;background:var(--panel2);border:1px solid var(--line)}
.src-learn[hidden]{display:none}
.src-learn .help{margin:0}
.src-learn-txt{white-space:pre-wrap;font-size:.82rem;line-height:1.6;max-height:320px;overflow:auto;margin:6px 0;color:var(--ink)}

/* The files part of the sources card (owner 2026-09-30): who the file is for first, then the upload */
.src-files{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
.src-files-t{font-weight:700;font-size:.95rem;margin-bottom:2px}
.src-up{margin-top:10px}
.src-up-line{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.src-up-line button{flex:none;width:auto}
.src-up-line .muted{font-size:.76rem}
.src-aud.src-need .src-aud-opt{border-color:var(--red);animation:srcneed .5s ease-in-out 2}
@keyframes srcneed{0%,100%{transform:none}30%{transform:translateX(-4px)}70%{transform:translateX(4px)}}
@media (prefers-reduced-motion:reduce){.src-aud.src-need .src-aud-opt{animation:none}}

/* Remove a topic (owner 2026-09-30) */
.fd-topic>summary .fd-del{float:left;float:inline-end;padding:0 4px;font-size:.76rem;color:var(--red);text-decoration:none}
.fd-topic>summary .fd-del:hover{text-decoration:underline}

/* Templates in folders: a topic, inside it the states (owner 2026-09-30) */
.tpl-chip{flex:none;width:auto;padding:5px 14px;font-size:.8rem;border-radius:99px}
.tpl-chip.on{background:var(--teal);color:#fff;border-color:var(--teal)}
.tpl-fd{border:1px solid var(--line);border-radius:12px;margin:8px 0;background:var(--panel);min-width:0}
.tpl-fd>summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;cursor:pointer;padding:11px 14px;list-style:none;font-size:.92rem}
.tpl-fd>summary::-webkit-details-marker{display:none}
.tpl-fd>summary::after{content:'▾';margin-inline-start:auto;color:var(--muted);transition:transform .15s}
.tpl-fd[open]>summary::after{transform:rotate(180deg)}
.tpl-fd-n{background:var(--panel2);border-radius:99px;padding:0 8px;font-size:.74rem;color:var(--muted)}
.tpl-fd-st{display:flex;gap:8px;flex-wrap:wrap;font-size:.76rem;font-weight:600}
.tpl-st-wait{color:#9a5b00}.tpl-st-bad{color:var(--red)}.tpl-st-ok{color:var(--teal-strong)}
.tpl-fd-rn{padding:0 4px;font-size:.85rem}
.tpl-fd-body{padding:0 14px 6px}
.tpl-sub{border-top:1px dashed var(--line)}
.tpl-sub>summary{cursor:pointer;padding:9px 2px;font-weight:700;font-size:.84rem}
.tpl-sub-wait>summary{color:#9a5b00}.tpl-sub-bad>summary{color:var(--red)}.tpl-sub-ok>summary{color:var(--teal-strong)}
.tpl-sub>div:last-child{border-bottom:0!important}

/* The templates tab, tidy (owner 2026-09-30): closed folders, one-line rows that open */
.tg-fold{border:1px solid var(--line);border-radius:12px;margin:8px 0;background:var(--panel);min-width:0}
.tg-fold>summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;cursor:pointer;padding:11px 14px;list-style:none;font-size:.92rem}
.tg-fold>summary::-webkit-details-marker{display:none}
.tg-fold>summary::after{content:'▾';margin-inline-start:auto;color:var(--muted);transition:transform .15s}
.tg-fold[open]>summary::after{transform:rotate(180deg)}
.tg-fold-note{font-size:.76rem;font-weight:700;color:var(--red)}
.tg-fold-body{padding:0 14px 10px}
.tg-fold .tg-grid{display:flex;flex-direction:column;gap:0}
.tg-card-fold{padding:4px 6px!important}
.tg-card-fold>.tg-fold{border:0;margin:0}
.tg-row,.tpl-row{border-bottom:1px solid var(--line-soft)}
.tg-row:last-child,.tpl-row:last-child{border-bottom:0}
.tg-row>summary,.tpl-row>summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:9px 2px;list-style:none;min-width:0}
.tg-row>summary::-webkit-details-marker,.tpl-row>summary::-webkit-details-marker{display:none}
.tg-row>summary::after,.tpl-row>summary::after{content:'▾';flex:none;color:var(--muted);font-size:.8rem;transition:transform .15s}
.tg-row[open]>summary::after,.tpl-row[open]>summary::after{transform:rotate(180deg)}
.tg-row>summary .tg-top{flex:1;min-width:0}
.tpl-row>summary>div{flex:1;min-width:0;margin:0!important}
.tg-row-body,.tpl-row-body{padding:0 2px 12px}
.tpl-row-body>.help{margin:0 0 8px}

/* Gift search in the automation builder (owner 2026-09-30) */
.auto-gsearch{margin:4px 0 8px}
.auto-gsearch input{width:100%}
.auto-gsearch-st{margin:4px 0 0}
.auto-gsearch-res{max-height:300px;overflow:auto;border-radius:10px}
.auto-gsearch-res:empty{display:none}
.auto-gsearch-res{border:1px solid var(--line);margin-top:6px}
.auto-gsearch-row{display:flex;align-items:center;gap:10px;width:100%;text-align:start;background:var(--panel);border:0;border-bottom:1px solid var(--line-soft);border-radius:0;padding:7px 10px;color:var(--ink);font-weight:400;font-size:.84rem;cursor:pointer}
.auto-gsearch-row:hover{background:var(--teal-soft)}
.auto-gsearch-row img{width:36px;height:36px;object-fit:cover;border-radius:7px;flex:none}
.auto-gsearch-row span{flex:1;min-width:0}
.auto-gsearch-row b{flex:none;font-size:.8rem}

/* The new-automation card (owner 2026-09-30): free description first, ready automations in topic folders, variable buttons */
.auto-free textarea{width:100%}
.auto-free-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}
.auto-free-row button{flex:none;width:auto}
.auto-free-row .muted{font-size:.8rem}
.auto-or{display:flex;align-items:center;gap:10px;margin:18px 0 8px;font-size:.82rem;color:var(--muted);font-weight:700}
.auto-or::before,.auto-or::after{content:'';flex:1;border-top:1px solid var(--line)}
.auto-grp{border:1px solid var(--line);border-radius:12px;margin:6px 0;background:var(--panel);overflow:hidden}
.auto-grp>summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:11px 14px;list-style:none;font-size:.92rem}
.auto-grp>summary::-webkit-details-marker{display:none}
.auto-grp>summary::after{content:'▾';margin-inline-start:auto;color:var(--muted);transition:transform .15s}
.auto-grp[open]>summary::after{transform:rotate(180deg)}
.auto-rc{display:flex;flex-direction:column;align-items:stretch;gap:2px;width:100%;text-align:start;background:none;border:0;border-top:1px solid var(--line-soft);border-radius:0;padding:9px 14px;color:var(--ink);font-weight:400;cursor:pointer}
.auto-rc:hover,.auto-rc.on{background:var(--teal-soft)}
.auto-rc-t{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.auto-rc-t b{font-size:.88rem}
.auto-rc-need{font-size:.7rem;font-weight:700;color:#9a5b00;background:#fdf3e1;border-radius:99px;padding:1px 8px}
.auto-rc-d{font-size:.78rem;color:var(--muted);line-height:1.5}
.auto-vars{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 6px}
.auto-vars .muted{font-size:.76rem;width:100%}
.auto-var{flex:none;width:auto;padding:4px 11px;font-size:.78rem;border-radius:99px;background:var(--teal-soft);color:var(--teal-strong);border:1px solid rgba(18,161,80,.25);font-weight:700}
.auto-var-prev{margin:6px 0 0;padding:8px 10px;border-radius:10px;background:var(--panel2);font-size:.8rem;line-height:1.6;white-space:pre-wrap}
.auto-var-prev:empty{display:none}
.auto-sugg{margin-top:12px;display:flex;flex-direction:column;gap:6px}
.auto-sugg-b{width:100%;text-align:start;font-size:.82rem;padding:8px 12px}
.auto-flash{animation:bpdrop 1.7s ease-out}

/* The message editor: variables as tags inside the text (owner 2026-09-30) */
.auto-ed{min-height:96px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--panel,#fff);line-height:2;white-space:pre-wrap;word-break:break-word;font-size:.95rem;outline:none;color:var(--ink);text-align:start}
.auto-ed:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}
.auto-ed:empty::before{content:attr(data-ph);color:var(--muted)}
.auto-chip{display:inline-block;background:var(--teal-soft);color:var(--teal-strong);border:1px solid rgba(18,161,80,.35);border-radius:99px;padding:0 9px;margin:0 1px;font-size:.84rem;font-weight:700;line-height:1.7;cursor:default;user-select:all;-webkit-user-select:all;vertical-align:baseline}

/* The variables: one list that opens (owner 2026-09-30) */
.auto-var-open{flex:none;width:auto;font-size:.84rem;padding:7px 12px}
.auto-vars .muted{width:auto}
.auto-varlist{border:1px solid var(--line);border-radius:12px;background:var(--panel,#fff);box-shadow:0 10px 26px rgba(0,0,0,.12);margin:2px 0 8px;max-height:280px;overflow:auto}
.auto-varlist[hidden]{display:none}
.auto-varrow{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:start;background:none;border:0;border-bottom:1px solid var(--line-soft);border-radius:0;padding:10px 12px;color:var(--ink);font-weight:400;cursor:pointer}
.auto-varrow:last-child{border-bottom:0}
.auto-varrow:hover,.auto-varrow:focus{background:var(--teal-soft);outline:none}
.auto-varrow b{font-size:.88rem}
.auto-varrow .muted{font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:50%}

/* The templates tab on a phone (owner 2026-09-30 "בנייד נראה על הפנים"): the title and a small refresh on one line, the state
   chips small on one scrolling line, the chosen chip light, tighter cards and folders */
#tplListCard>.row{flex-direction:row!important;align-items:center;gap:8px}
#tplListCard>.row>.sec-title{flex:1;min-width:0}
#tplListCard>.row>button{flex:none!important;width:auto!important;padding:5px 12px;font-size:.8rem;min-height:32px!important;height:auto!important}
#tplFilter{flex-wrap:nowrap!important;overflow-x:auto;gap:6px!important;margin:10px 0 6px!important;padding-bottom:2px;scrollbar-width:none}
#tplFilter::-webkit-scrollbar{display:none}
.tpl-chip{flex:none;padding:4px 11px;font-size:.76rem;min-height:32px!important;height:auto!important;line-height:1.5}
.tpl-chip.on{background:var(--teal-soft);color:var(--teal-strong);border-color:var(--teal)}
@media (max-width:560px){
  #tplGalleryCard,#tplListCard{padding:14px 12px}
  .tg-fold>summary,.tpl-fd>summary{padding:10px 12px;font-size:.88rem}
  .tg-fold-body,.tpl-fd-body{padding:0 10px 6px}
  .tpl-fd-st{font-size:.72rem}
  .tg-row>summary,.tpl-row>summary{padding:8px 0}
  .tg-card-fold{padding:2px 4px!important}
}
/* a template line inside a state folder: the state is the folder's (shown again only under "לא מאושרות", where rejected /
   paused differ); the topic button small - one line per template */
.tpl-sub-wait .tpl-row>summary .pill.pending,.tpl-sub-ok .tpl-row>summary .pill.approved{display:none}
.tpl-row>summary .linkbtn,.tpl-row>summary .pill{min-height:0!important;height:auto!important;padding:2px 8px!important;font-size:.72rem!important}
.tpl-row>summary>div>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* the takeover time: a number and a unit on one line (owner 2026-09-30) */
.takeover-row{display:flex;gap:8px;align-items:center}
.takeover-row input{flex:0 0 110px;width:110px}
.takeover-row select{flex:0 0 auto;width:auto}

/* analytics: Meta ad spend card (owner 2026-10-01) - spend beside the store's revenue, daily bars, top campaigns */
.ads-card{padding:16px 18px;margin:0 0 12px}
.ads-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ads-title{display:flex;align-items:center;gap:9px;font-size:1rem}
.ads-mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#fff;border:1px solid var(--line);flex:none}
.ads-mark svg{width:20px;height:20px;display:block}
.ads-ctl{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ads-chips{margin:0}
.ads-acct{width:auto;max-width:220px;padding:5px 10px;font-size:.8rem;margin:0}
.ads-loading{font-size:.82rem;margin:12px 0 2px}
.ads-range{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px;font-size:.8rem}
.ads-range input{width:auto;padding:5px 8px;font-size:.8rem;margin:0}
.ads-range button{padding:5px 12px;font-size:.78rem}
.ads-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;margin-top:14px}
.ads-kpi{border:1px solid var(--line);border-radius:10px;padding:12px 12px 10px;background:var(--paper,#fcfbf8);min-width:0}
.ads-kpi .ads-v{font-size:1.25rem;font-weight:800;letter-spacing:-.01em;line-height:1.2}
.ads-kpi .ads-l{font-size:.8rem;font-weight:700;margin-top:3px}
.ads-kpi .ads-s{font-size:.72rem;color:var(--muted);margin-top:2px;line-height:1.35}
.ads-kpi.good .ads-v{color:var(--teal-strong,#0a6339)}
.ads-kpi.bad .ads-v{color:#c0492f}
.ads-facts{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:.8rem;color:var(--muted)}
.ads-facts b{color:var(--ink);font-weight:700}
.ads-chart{margin-top:14px}
.ads-chart svg{width:100%;height:150px;display:block;overflow:visible}
.ads-legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.74rem;margin-bottom:4px;align-items:center}
.ads-legend .muted{margin-inline-start:auto}
.ads-legend i{display:inline-block;vertical-align:middle;margin-inline-end:5px}
.ads-legend .lg-bar{width:10px;height:10px;border-radius:2px;background:var(--teal,#0e7a45)}
.ads-legend .lg-line{width:14px;height:0;border-top:2px solid #16181c}
.ads-bar{fill:var(--teal,#0e7a45);opacity:.85}
.ads-bar:hover{opacity:1}
.ads-line{fill:none;stroke:#16181c;stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.ads-base{stroke:var(--line,#ddd);stroke-width:1;vector-effect:non-scaling-stroke}
.ads-ax{font-size:11px;fill:var(--muted,#777)}
.ads-sub{font-weight:700;font-size:.86rem;margin-top:16px}
.ads-tblwrap{margin-top:6px}
.ads-tbl{margin-top:0}
.ads-tbl th,.ads-tbl td{white-space:nowrap;padding:9px 11px}
.ads-tbl td.ads-cname{max-width:260px;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.ads-note{font-size:.74rem;margin-top:8px;line-height:1.55}
.ads-state{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding:12px 14px;border-radius:10px;background:var(--panel2,#f2eeea);font-size:.86rem;line-height:1.5}
.ads-state.ads-st-permission{background:#fbf3e2}
@media (max-width:700px){
  .ads-card{padding:14px}
  .ads-kpis{grid-template-columns:1fr 1fr}
  .ads-kpis .ads-kpi:first-child:nth-last-child(odd){grid-column:1/-1}
  .ads-kpi .ads-v{font-size:1.1rem}
  .ads-chart svg{height:120px}
  .ads-ctl{width:100%}
  .ads-acct{flex:1 1 140px;max-width:none;font-size:16px}
  .ads-range input{font-size:16px;flex:1 1 130px}
  .ads-tbl td.ads-cname{max-width:150px}
  .pane .ads-card button.an-chip{min-height:36px}
}
/* "חיפוש באתר שלך כשהבוט לא יודע" (owner 2026-10-01) */
.ss-box{margin:14px 0 4px;padding:12px 14px;border:1px solid var(--line-soft,#e6e6e6);border-radius:12px;background:var(--card-soft,rgba(0,0,0,.015))}
.ss-sw{display:flex;align-items:center;gap:8px;margin:0;cursor:pointer}
.ss-sw input{width:auto;margin:0}
.ss-status{margin-top:8px;font-size:.82rem;line-height:1.6;min-width:0}
.ss-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0}
.ss-line bdi{font-weight:700;overflow-wrap:anywhere}
.ss-refresh{margin-inline-start:auto}
.ss-stats{margin-top:4px}

/* ---- "לידים ממומנים" (owner 2026-10-01): admin CRM sub-tab, the platform owner only ---- */
.pane.pl{max-width:1240px}
.pl-subbar{display:inline-flex;gap:2px;padding:3px;background:var(--panel2);border-radius:9px;margin:0 0 16px;max-width:100%}
.pl-subtab{background:transparent;border:0;box-shadow:none;color:var(--muted);font-weight:700;font-size:.84rem;padding:7px 16px;border-radius:7px;cursor:pointer;width:auto;min-height:0;white-space:nowrap}
.pl-subtab.on{background:var(--panel);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.pl-subtab:not(.on):hover{color:var(--ink)}
.pl-head{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;flex-wrap:wrap}
.pl-sub{font-size:.8rem;line-height:1.6;margin-top:4px;max-width:640px}
.pl-csv{flex:none;width:auto;padding:7px 14px;font-size:.82rem}
.pl-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:16px 0 8px}
.pl-kpi{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 14px;min-width:0}
.pl-kpi-v{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;line-height:1.15;font-variant-numeric:tabular-nums}
.pl-kpi-l{font-size:.78rem;color:var(--muted);margin-top:3px;font-weight:600}
.pl-kpi-s{font-size:.72rem;color:var(--muted);margin-top:2px}
.pl-note{font-size:.76rem;margin:0 0 8px}
.pl-funnel{display:flex;gap:0;border:1px solid var(--line);border-radius:8px;background:var(--panel);overflow-x:auto;margin:10px 0 14px}
.pl-fstep{flex:1 0 82px;padding:9px 10px;text-align:center;border-inline-start:1px solid var(--line-soft);display:flex;flex-direction:column;gap:2px}
.pl-fstep:first-child{border-inline-start:0}
.pl-fstep b{font-size:1.05rem;font-variant-numeric:tabular-nums}
.pl-fstep span{font-size:.7rem;color:var(--muted);white-space:nowrap}
.pl-filters{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}
.pl-presets{display:flex;gap:6px;flex-wrap:wrap}
.pl-chipbtn{width:auto;min-height:0;background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:99px;padding:6px 14px;font-size:.8rem;font-weight:600;cursor:pointer;box-shadow:none}
.pl-chipbtn.on{background:var(--ink);border-color:var(--ink);color:var(--panel)}
.pl-custom{display:flex;gap:10px;flex-wrap:wrap}
.pl-custom label{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--muted);margin:0}
.pl-custom input{width:auto;margin:0}
.pl-sel{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.pl-sel select,.pl-sel input{margin:0;width:100%;min-width:0}
.pl-count{font-size:.76rem;min-height:1em}
.pl-tbl th,.pl-tbl td{white-space:nowrap;vertical-align:middle;text-align:right;padding:9px 10px}
.pl-tbl td.pl-dt{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.82rem;text-align:right}
.pl-phone{width:auto;min-height:0;background:none;border:0;box-shadow:none;padding:0;color:var(--teal-strong);font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-variant-numeric:tabular-nums}
.pl-src{display:inline-flex;align-items:center;gap:7px;max-width:210px}
.pl-who{display:flex;flex-direction:column;min-width:0}
.pl-src>span{display:flex;flex-direction:column;min-width:0}
.pl-src .pl-ad,.pl-src .pl-mini{overflow:hidden;text-overflow:ellipsis}
.pl-ad{font-weight:600}
.pl-mini{font-size:.72rem;line-height:1.4}
.pl-tag{display:inline-block;border:1px solid var(--gold);color:#7a5f1c;background:#f8f1df;border-radius:99px;padding:2px 10px;font-size:.7rem;font-weight:700;white-space:nowrap;line-height:1.5}
.pl-tag-big{background:rgba(248,241,223,.95);border-color:#e3cd8c;padding:3px 12px;font-size:.72rem}
.pl-stage{display:inline-flex;align-items:center;gap:8px}
.pl-dots{display:inline-flex;gap:3px}
.pl-dots i{width:6px;height:6px;border-radius:50%;background:var(--line);display:block}
.pl-dots i.on{background:var(--teal)}
.pl-empty td{text-align:center;padding:18px}
@media (max-width:760px){
  .pl-subbar{display:flex}
  .pl-subtab{flex:1}
  .pl-wrap{overflow:visible}
  .pl-tbl,.pl-tbl tbody{display:block;width:100%}
  .pl-tbl thead{display:none}
  .pl-tbl tr{display:block;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:0 0 10px}
  .pl-tbl td{display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;padding:5px 0;white-space:normal;text-align:left;min-width:0}
  .pl-tbl td::before{content:attr(data-l);color:var(--muted);font-size:.72rem;font-weight:600;flex:none;text-align:right}
  .pl-tbl td>*{min-width:0}
  .pl-tbl td.pl-dt{text-align:left}
  .pl-tbl tr.pl-empty td{justify-content:center}
  .pl-tbl tr.pl-empty td::before{content:none}
  .pl-src{max-width:62vw}
  .pl-src>span{align-items:flex-start;text-align:right}
  .pl-who{align-items:flex-end;text-align:left}
  .pl-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pl-kpi:nth-child(5){grid-column:1/-1}
  .pl-funnel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}
  .pl-fstep{border-inline-start:0;border-top:1px solid var(--line-soft);padding:8px 4px}
  .pl-fstep:nth-child(-n+4){border-top:0}
  .pl-fstep span{white-space:normal;line-height:1.3}
}
