/* ============================================================
   עו״ד שאול חלפון · admin.css  (v2, loaded after v2.css)
   same product as the public site: paper ground, ink sidebar with grain,
   Suez One display titles, pill controls, hairline lists, v2 chips.
   Density above the public site. 14px floor. 44px targets.
   ============================================================ */
:root{--side-w:272px;--tab-h:68px;--tab-gap:14px;--mtop-h:60px}

/* ---------- shell ---------- */
[hidden]{display:none !important}
body.admin{background:var(--paper);color:var(--text);font-size:15px;line-height:1.6;padding-top:var(--mtop-h);padding-bottom:calc(var(--tab-h) + var(--tab-gap)*2 + 8px)}
@media (min-width:1024px){body.admin{padding:0}}
.main{max-width:1040px;padding:24px var(--gutter) 40px;position:relative}
@media (min-width:1024px){.main{margin-inline-start:var(--side-w);padding:48px 48px 96px}}
body.has-actbar .main{padding-bottom:140px}
@media (min-width:1024px){body.has-actbar .main{padding-bottom:150px}}

/* ---------- sidebar (desktop, inline-start = right in RTL) ---------- */
.side{display:none}
@media (min-width:1024px){
  .side{display:flex;flex-direction:column;position:fixed;top:0;inset-inline-start:0;width:var(--side-w);height:100vh;background:var(--ink);color:var(--on-ink);z-index:40;padding:28px 18px 22px;isolation:isolate;overflow-y:auto}
}
.side.grain::before{opacity:.09}
.side-brand{padding:0 8px 24px;border-bottom:1px solid var(--on-ink-line);margin-bottom:16px}
.side-word{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.side-name{font-family:var(--display);font-size:26px;line-height:1;color:var(--white);letter-spacing:-.005em}
.side-tag,.mtop-tag,.login-tag{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:var(--r-pill);background:var(--gold);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1;font-weight:800;letter-spacing:.06em;flex:none}
.side-nav{flex:1}
.side-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.side-nav a{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 16px;border-radius:var(--r-pill);color:var(--on-ink);font-size:15.5px;font-weight:600;line-height:1;transition:background-color var(--t-ui) var(--ease-out),color var(--t-ui) var(--ease-out)}
@media (hover:hover){.side-nav a:hover{background:rgba(255,255,255,.08);color:var(--white)}}
.side-nav a[aria-current="page"]{background:var(--gold);color:var(--ink)}
.side-foot{padding-top:14px;border-top:1px solid var(--on-ink-line);display:grid;gap:2px}
.side-foot a{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 16px;border-radius:var(--r-pill);color:var(--on-ink-muted);font-size:15px;font-weight:600;transition:color var(--t-ui) var(--ease-out),background-color var(--t-ui) var(--ease-out)}
@media (hover:hover){.side-foot a:hover{color:var(--white);background:rgba(255,255,255,.06)}}

/* ---------- phone: top bar + floating tab bar ---------- */
.mtop{position:fixed;top:0;inset-inline:0;height:var(--mtop-h);z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 var(--gutter);background:rgba(246,243,236,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.mtop-brand{font-family:var(--display);font-size:22px;line-height:1;color:var(--ink);display:inline-flex;align-items:center;min-height:44px}
.tabbar{position:fixed;inset-inline:16px;bottom:var(--tab-gap);z-index:40;height:var(--tab-h);background:var(--ink);color:var(--white);display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:6px;border-radius:var(--r-pill);box-shadow:0 12px 40px rgba(15,32,56,.28)}
.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:var(--r-pill);color:var(--on-ink-muted);font-size:14px;line-height:1;font-weight:600;transition:background-color var(--t-ui) var(--ease-out),color var(--t-ui) var(--ease-out)}
.tabbar a .ico{width:20px;height:20px}
.tabbar a[aria-current="page"]{background:var(--gold);color:var(--ink)}
@media (min-width:1024px){.mtop,.tabbar{display:none}}

/* ---------- page head, section titles ---------- */
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:0;margin-bottom:24px}
@media (min-width:1024px){.page-head{margin-bottom:32px}}
.page-head h1{font-family:var(--display);font-size:clamp(32px,8.5vw,40px);line-height:1.05;letter-spacing:-.01em;color:var(--ink);font-weight:400}
.head-chips{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sec-title{font-family:var(--display);font-size:26px;line-height:1.15;font-weight:400;letter-spacing:0;color:var(--ink);display:flex;align-items:center;gap:12px;margin:0 0 14px;scroll-margin-top:calc(var(--mtop-h) + 16px)}
@media (min-width:1024px){.sec-title{scroll-margin-top:24px}}
.sec-title .chip{font-family:var(--sans)}
.backlink{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--muted);font-size:15px;font-weight:600;transition:color var(--t-ui) var(--ease-out)}
.backlink:hover{color:var(--ink)}
.legend{display:flex;align-items:flex-start;gap:10px;margin:0 0 20px}
.legend .ico{margin-top:2px}
.empty{color:var(--muted);padding:24px 0;font-size:15px}
li.empty{list-style:none}

/* ---------- controls (admin density on top of v2 pills) ---------- */
.pill-sm{min-height:44px;font-size:15px;padding:4px 16px 4px 4px}
.pill-sm .dot{width:36px;height:36px}
.pill-block .dot{order:2}
.icon-btn,.rte-btn,.faq-row .drag{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ink);flex:none;transition:background-color var(--t-ui) var(--ease-out),color var(--t-ui) var(--ease-out),border-color var(--t-ui) var(--ease-out)}
.icon-btn{border:1px solid var(--line-2);background:var(--white)}
@media (hover:hover){.icon-btn:hover{border-color:var(--ink);background:var(--paper-2)}}
.input-sm{min-height:48px;padding:10px 16px}
textarea.input.input-md{min-height:110px}
.flabel{font-size:15px;font-weight:700;color:var(--ink)}
.field-hint{font-size:14px;line-height:1.55;color:var(--muted)}
.grid-2{display:grid;gap:16px}
@media (min-width:640px){.grid-2{grid-template-columns:1fr 1fr}}
.seg{margin-bottom:20px;scrollbar-width:none}
.seg::-webkit-scrollbar{display:none}
.seg.seg-inline{margin:0}
.seg-sm button{padding:0 16px}

/* ---------- status chips + source badge ---------- */
.chip-outline{background:transparent;border-color:var(--line-2);color:var(--ink)}
.src{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--muted);font-weight:500;white-space:nowrap}
.ai-badge{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 7px;border-radius:6px;background:var(--notice-bg);color:var(--notice-fg);font-size:14px;line-height:1;font-weight:800;letter-spacing:.04em}

/* ---------- dashboard: stat rows + pending list ---------- */
.stat-rows > li{padding:0}
.stat{display:flex;align-items:center;gap:20px;min-height:84px;padding:12px 0;color:var(--ink)}
.stat-num{font-family:var(--display);font-size:40px;line-height:1;font-variant-numeric:tabular-nums;min-width:56px;color:var(--ink)}
.stat-label{flex:1;font-size:17px;font-weight:500;transition:color var(--t-ui) var(--ease-out)}
.stat .ico{order:2;width:40px;height:40px;padding:10px;border-radius:50%;background:var(--ink);color:var(--white);transition:transform var(--t-ui) var(--ease-out)}
@media (hover:hover){.stat:hover .stat-label{color:var(--gold-ink)}.stat:hover .ico{transform:translateX(-4px)}}
.stat-rev .stat-label{flex:0 0 auto}
.stat-rev .stat-num{order:1;flex:1;min-width:0;font-size:28px}
@media (max-width:639px){.stat-rev{flex-wrap:wrap;row-gap:0}.stat-rev .stat-label{flex:1 1 calc(100% - 60px)}.stat-rev .stat-num{order:3;flex:1 0 100%;margin-top:-6px}}
.pend > .pend-row{display:grid;gap:10px;padding:16px 0}
@media (min-width:1024px){.pend > .pend-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:14px 0}}
.pend-chips{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pend-title{font-size:17px;line-height:1.4;font-weight:600;color:var(--ink)}
.pend-actions{display:flex;gap:8px;flex-wrap:wrap}

/* ---------- articles table (hairlines) ---------- */
.tbl-wrap{width:100%}
.tbl{width:100%;border-collapse:collapse}
@media (min-width:1024px){
  .tbl th{font-size:14px;font-weight:700;color:var(--muted);letter-spacing:.04em;text-align:start;padding:10px 12px;border-bottom:1px solid var(--line-2);white-space:nowrap}
  .tbl td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:15px}
  .tbl th:first-child,.tbl td:first-child{padding-inline-start:0}
  .tbl th:last-child,.tbl td:last-child{padding-inline-end:0}
  .tbl .c-title{min-width:220px}
  .tbl .c-actions{justify-content:flex-end}
}
@media (min-width:1280px){.tbl .c-actions{flex-wrap:nowrap}}
@media (max-width:1023px){
  .tbl thead{display:none}
  .tbl,.tbl tbody{display:block}
  .tbl{border-top:1px solid var(--line)}
  .tbl tr{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:16px 0;border-bottom:1px solid var(--line)}
  .tbl td{display:block;padding:0;border:0}
  .tbl .c-title,.tbl .c-actions{flex:1 0 100%}
}
.c-title a{display:flex;align-items:center;min-height:44px;margin:-10px 0;font-weight:600;color:var(--ink);font-size:17px;line-height:1.4;transition:color var(--t-ui) var(--ease-out)}
@media (hover:hover){.c-title a:hover{color:var(--gold-ink)}}
.c-cat{display:block;margin-top:2px}
.c-date{color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
.c-actions{display:flex;gap:8px;flex-wrap:wrap}

/* ---------- article editor ---------- */
.edit-form{display:grid;gap:20px;max-width:820px}
.rte{border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--white);overflow:hidden;transition:border-color var(--t-ui) var(--ease-out),box-shadow var(--t-ui) var(--ease-out)}
.rte:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px rgba(201,162,39,.35)}
.rte-bar{display:flex;gap:4px;padding:8px 10px;background:var(--paper-2);border-bottom:1px solid var(--line)}
.rte-btn{background:transparent}
@media (hover:hover){.rte-btn:hover{background:var(--paper-3)}}
.rte-btn[aria-pressed="true"]{background:var(--ink);color:var(--white)}
.rte-area{min-height:320px;padding:20px 22px;font-size:17px;line-height:1.75;color:var(--text)}
.rte-area:focus{outline:none}
.rte-area:empty::before{content:attr(data-placeholder);color:var(--muted)}
.rte-area h3{font-family:var(--display);font-size:24px;line-height:1.2;font-weight:400;color:var(--ink);margin:22px 0 8px}
.rte-area h3:first-child{margin-top:0}
.rte-area p{margin:0 0 12px}
.rte-area ul{margin:0 0 12px;padding-inline-start:22px}
.rte-area a{color:var(--gold-ink);border-bottom:1px solid var(--gold)}
.preview{max-width:820px}
.pv-note{margin-bottom:12px}
.pv-page{background:var(--white);border:1px solid var(--line);border-radius:var(--r-xl);padding:28px 22px}
@media (min-width:1024px){.pv-page{padding:44px}}
.pv-title{font-family:var(--display);font-size:clamp(30px,4vw,40px);line-height:1.08;font-weight:400;margin:14px 0 10px}
.pv-meta{margin-bottom:20px}
.pv-page .lede{margin-top:20px}
.pv-body{margin-top:20px;font-size:17px;line-height:1.75}
.pv-body a{color:var(--gold-ink);border-bottom:1px solid var(--gold)}

/* ---------- sticky bottom action bar ---------- */
.actbar{position:fixed;bottom:0;inset-inline:0;z-index:30;background:rgba(246,243,236,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:12px var(--gutter) calc(var(--tab-h) + var(--tab-gap)*2 + 2px);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
@media (min-width:1024px){.actbar{inset-inline-start:var(--side-w);padding:16px 48px;gap:12px}}
.actbar .spacer{flex:1}

/* ---------- FAQ rows ---------- */
.faq-group + .faq-group{margin-top:44px}
.faq-hint{margin-bottom:20px}
.faq-list > .faq-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:14px 0;transition:opacity var(--t-ui) var(--ease-out)}
@media (min-width:1024px){.faq-list > .faq-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;gap:16px}}
.faq-row .drag{color:var(--muted);cursor:grab;touch-action:none;background:transparent}
.faq-row .drag:active{cursor:grabbing}
@media (hover:hover){.faq-row .drag:hover{color:var(--ink);background:var(--paper-2)}}
.faq-main{flex:1 1 200px;min-width:0}
.faq-q{font-size:17px;line-height:1.4;font-weight:600;color:var(--ink)}
.faq-a{margin-top:4px}
.faq-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.faq-actions{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:1023px){.faq-actions{flex:1 0 100%;padding-inline-start:56px}}
.faq-row.is-dragging{opacity:.45}
.faq-list > .faq-row.is-editing{display:block;padding:14px 0}
.faq-edit{display:grid;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px}
.faq-edit .actions{margin-top:2px}

/* ---------- leads ---------- */
.leads > .lead-row{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;padding:18px 0;transition:opacity var(--t-ui) var(--ease-out),transform var(--t-ui) var(--ease-out)}
.lead-main{min-width:0;flex:1}
.lead-head{display:flex;flex-wrap:wrap;gap:0 20px;align-items:center}
.lead-name{font-size:17px;font-weight:700;color:var(--ink)}
.lead-phone{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums;transition:color var(--t-ui) var(--ease-out)}
@media (hover:hover){.lead-phone:hover{color:var(--gold-ink)}}
.lead-text{margin-top:2px;font-size:16px;line-height:1.65}
.lead-date{display:block;margin-top:4px}
.lead-row.is-done .lead-name,.lead-row.is-done .lead-text{color:var(--muted)}
.lead-row .check{flex:none}
.lead-row.is-leaving{opacity:0;transform:translateX(-8px)}

/* ---------- settings ---------- */
.set-layout{display:grid;gap:40px}
@media (min-width:1024px){.set-layout{grid-template-columns:minmax(0,720px) 200px;gap:56px;align-items:start}}
.set-section + .set-section{margin-top:48px;padding-top:40px;border-top:1px solid var(--line)}
.set-section{scroll-margin-top:calc(var(--mtop-h) + 16px)}
@media (min-width:1024px){.set-section{scroll-margin-top:32px}}
.set-section .sec-title{margin-bottom:20px}
.set-stack{display:grid;gap:16px}
.set-grid{display:grid;gap:16px}
@media (min-width:640px){.set-grid{grid-template-columns:1fr 1fr}.set-grid .span-2{grid-column:1 / -1}}
.set-index{display:none}
@media (min-width:1024px){.set-index{display:grid;gap:4px;position:sticky;top:40px}}
.set-index a{display:flex;align-items:center;min-height:44px;padding:0 16px;border-radius:var(--r-pill);color:var(--muted);font-size:15px;font-weight:600;transition:color var(--t-ui) var(--ease-out),background-color var(--t-ui) var(--ease-out)}
@media (hover:hover){.set-index a:hover{color:var(--ink);background:rgba(15,32,56,.06)}}
.set-index a.is-active{background:var(--ink);color:var(--white)}
.rowed{display:grid;gap:8px}
.rowed-rows{display:grid;gap:8px}
.rowed-row{display:grid;grid-template-columns:110px minmax(0,1fr) 44px;gap:8px;align-items:center}
@media (min-width:640px){.rowed-row{grid-template-columns:150px minmax(0,1fr) 44px}}
.rowed > .pill{justify-self:start}
.media-grid{display:grid;gap:24px}
@media (min-width:640px){.media-grid{grid-template-columns:1fr 1fr}}
.media-item{display:grid;gap:10px;align-content:start}
.slot{position:relative;display:flex;align-items:flex-end;border:1px dashed var(--line-2);border-radius:var(--r-lg);background:var(--paper-2);padding:16px 18px;color:var(--muted);font-size:14px;line-height:1.5;font-weight:500}
.slot::after{content:"";position:absolute;inset:10px;border-radius:calc(var(--r-lg) - 8px);border:1px solid rgba(15,32,56,.08);pointer-events:none}
.slot-portrait{aspect-ratio:3/4;max-width:240px}
.slot-video{aspect-ratio:16/9}
.slot-images{min-height:140px}
.slot-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.lang-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.reset-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}

/* ---------- confirm sheet (dialog): white card, two pills ---------- */
.sheet{border:0;padding:0;background:transparent;width:100%;max-width:100%;max-height:100%;margin:auto 0 0;inset:0;color:var(--text)}
.sheet::backdrop{background:rgba(10,22,40,.55)}
.sheet-panel{margin:0;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg) var(--r-lg) 0 0;padding:28px var(--gutter) 32px}
@media (min-width:640px){
  .sheet{margin:auto;width:min(460px,calc(100% - 40px))}
  .sheet-panel{border-radius:var(--r-lg);padding:36px}
}
.sheet-title{font-family:var(--display);font-size:26px;line-height:1.15;font-weight:400;letter-spacing:0;color:var(--ink);margin:0 0 10px}
.sheet-text{font-size:16px;line-height:1.65;color:var(--text);margin:0}
.sheet-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:26px;flex-wrap:wrap}
.sheet[open] .sheet-panel{animation:sheet-in var(--t-ui) var(--ease-out) both}
@keyframes sheet-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* ---------- toast ---------- */
.toast{position:fixed;inset-inline-start:var(--gutter);bottom:calc(var(--tab-h) + var(--tab-gap)*2);z-index:45;max-width:calc(100% - var(--gutter)*2);border-radius:var(--r-pill);padding:12px 20px;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity var(--t-ui) var(--ease-out),transform var(--t-ui) var(--ease-out)}
body.has-actbar .toast{bottom:calc(var(--tab-h) + var(--tab-gap)*2 + 130px)}
@media (min-width:1024px){.toast{inset-inline-start:calc(var(--side-w) + 48px);bottom:24px}body.has-actbar .toast{bottom:96px}}
.toast.is-on{opacity:1;transform:none}

/* ---------- login: ink ground with grain, centered white card ---------- */
body.login-body{min-height:100vh;margin:0;background:var(--ink);color:var(--on-ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px;font-size:15px;line-height:1.6}
.login-card{width:100%;max-width:440px;background:var(--white);color:var(--text);border-radius:var(--r-xl);padding:36px 28px}
@media (min-width:640px){.login-card{padding:44px}}
.login-brand{display:flex;flex-direction:column;gap:12px;align-items:flex-start;margin-bottom:28px}
.login-name{font-family:var(--display);font-size:32px;line-height:1;color:var(--ink)}
.login-form{display:grid;gap:16px}
.login-form .pill{margin-top:8px}
.login-foot{font-size:15px}
.login-foot .textlink{color:var(--on-ink);min-height:44px}
.login-foot .textlink::after{background:var(--gold)}

/* ---------- motion (transform/opacity only, 45ms stagger) ---------- */
.enter{animation:enter var(--t-ui) var(--ease-out) both;animation-delay:calc(var(--i,0) * 45ms)}
@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .enter{animation:none}
  .sheet[open] .sheet-panel{animation:none}
  .toast,.lead-row,.faq-row,.stat .ico{transition:none}
}

/* ---------- utilities (after component rules so they win) ---------- */
.mt-12{margin-top:12px}.mt-40{margin-top:40px}
