/* =========================================================
   El Burrito Owner Portal styles (catering, email, jobs, reservations, drawers),
   in Watusi colors. The Watusi-only screens are in portal.css, loaded after this.
   ========================================================= */
:root{
  --ink:#2A1907; --ink2:#5C3913; --mute:#8A6A4B; --line:#EADCC9; --bg:#F7F0E6; --card:#fff;
  --red:#F5595E; --red2:#E2474C; --gold:#FDA92A; --green:#2F8A3E; --blue:#2A7FD4;
  --r:16px; --shadow:0 1px 2px rgba(42,25,7,.06), 0 8px 24px rgba(42,25,7,.06);
}
*{ box-sizing:border-box; margin:0; padding:0; }
[hidden]{ display:none !important; }
body.p-body{ font-family:'DM Sans', system-ui, sans-serif; color:var(--ink); background:var(--bg); -webkit-font-smoothing:antialiased; }
button, input, select, textarea{ font:inherit; color:inherit; }
button{ cursor:pointer; }
a{ color:var(--red); }
:focus-visible{ outline:2px solid var(--blue); outline-offset:2px; }

/* ---------- buttons + fields ---------- */
.p-btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.7rem 1.15rem; border-radius:11px; border:1px solid transparent; font-weight:700; font-size:.9rem; text-decoration:none; transition:background .15s ease, transform .15s ease, box-shadow .15s ease; white-space:nowrap; }
.p-btn:active{ transform:scale(.98); }
.p-btn-primary{ background:var(--red); color:#fff; box-shadow:0 4px 12px rgba(194,59,59,.25); }
.p-btn-primary:hover{ background:var(--red2); }
.p-btn-primary:disabled{ background:#d9d3cb; color:#8b8177; box-shadow:none; cursor:default; }
.p-btn-ghost{ background:#fff; border-color:var(--line); color:var(--ink); }
.p-btn-ghost:hover{ border-color:#cfc6bb; background:#fbfaf8; }
.p-btn-danger{ background:#fff; border-color:#f0c9c9; color:var(--red); margin-right:auto; }
.p-btn-danger:hover{ background:#fdf2f2; }
.p-btn-sm{ padding:.45rem .8rem; font-size:.8rem; }
.p-btn.busy{ opacity:.75; pointer-events:none; }
.f-label{ display:block; font-size:.8rem; font-weight:700; color:var(--ink2); margin:1rem 0 .4rem; }
.f-label small{ font-weight:500; color:var(--mute); }
.f-input{ width:100%; padding:.72rem .85rem; border:1.5px solid var(--line); border-radius:11px; background:#fff; font-size:.95rem; transition:border-color .15s ease, box-shadow .15s ease; }
.f-input:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(42,127,212,.15); }
.f-input:disabled{ background:#f6f4f1; color:var(--mute); }
.f-input.bad{ border-color:var(--red); box-shadow:0 0 0 3px rgba(194,59,59,.12); }
textarea.f-input{ resize:vertical; min-height:84px; }
.f-help{ font-size:.8rem; color:var(--mute); margin-top:.45rem; line-height:1.45; }
.linkish{ background:none; border:none; color:var(--blue); font-weight:600; font-size:.85rem; padding:.3rem 0; }
.linkish:hover{ text-decoration:underline; }
.switch{ position:relative; display:inline-block; width:44px; height:26px; flex:0 0 44px; }
.switch input{ position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; z-index:1; }
.switch i{ position:absolute; inset:0; border-radius:26px; background:#d6cfc6; transition:background .2s ease; }
.switch i::after{ content:''; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.25); transition:transform .2s ease; }
.switch input:checked + i{ background:var(--green); }
.switch input:checked + i::after{ transform:translateX(18px); }
.switch input:focus-visible + i{ box-shadow:0 0 0 3px rgba(42,127,212,.3); }
.mini-switch{ display:inline-flex; align-items:center; gap:.4rem; font-size:.82rem; color:var(--ink2); cursor:pointer; }
.mini-switch input{ width:16px; height:16px; accent-color:var(--red); }

/* ---------- app shell ---------- */
.app{ min-height:100vh; display:grid; grid-template-columns:220px 1fr; grid-template-rows:auto 1fr; }
.topbar{ grid-column:1/-1; position:sticky; top:0; z-index:40; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.7rem 1.4rem; background:rgba(255,255,255,.92); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.tb-left, .tb-right{ display:flex; align-items:center; gap:1rem; }
.tb-brand{ font-family:'Shrikhand', serif; font-size:1.35rem;  letter-spacing:.01em; }
.tb-brand em{ font-style:normal; color:var(--red); }
.tb-publish{ position:relative; min-width:120px; }
.tb-publish.done{ background:var(--green); }
.pub-count{ min-width:22px; height:22px; padding:0 6px; border-radius:11px; background:#fff; color:var(--red); font-size:.75rem; display:inline-flex; align-items:center; justify-content:center; }
.user{ position:relative; }
.avatar{ width:40px; height:40px; border-radius:50%; border:none; background:linear-gradient(135deg, var(--gold), var(--red)); color:#fff; font-weight:800; font-size:.85rem; }
.user-menu{ position:absolute; right:0; top:calc(100% + 8px); width:220px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 16px 40px rgba(27,23,18,.14); padding:.4rem; z-index:50; }
.um-who{ padding:.6rem .7rem .7rem; border-bottom:1px solid var(--line); margin-bottom:.3rem; display:flex; flex-direction:column; font-size:.9rem; }
.um-who span{ font-size:.8rem; color:var(--mute); }
.user-menu button{ display:block; width:100%; text-align:left; padding:.6rem .7rem; border:none; background:none; border-radius:9px; font-size:.9rem; }
.user-menu button:hover{ background:#f6f2ec; }
.sidenav{ padding:1.2rem .8rem; border-right:1px solid var(--line); background:#faf9f7; display:flex; flex-direction:column; gap:.25rem; position:sticky; top:62px; height:calc(100vh - 62px); }
.sn-item{ display:flex; align-items:center; gap:.7rem; padding:.72rem .8rem; border-radius:11px; border:none; background:none; font-weight:600; font-size:.93rem; color:var(--ink2); text-align:left; }
.sn-item svg{ width:20px; height:20px; flex:0 0 20px; }
.sn-item:hover{ background:#f0ece6; }
.sn-item.on{ background:#fff; color:var(--red); box-shadow:var(--shadow); }
.main{ padding:1.8rem 2rem 4rem; min-width:0; }
.main.fade{ animation:fade .3s ease; }
@keyframes fade{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
.pg-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:1rem; flex-wrap:wrap; margin-bottom:1.4rem; }
.pg-head h1{ font-family:'Shrikhand', serif; font-weight:400;  font-size:2.1rem; letter-spacing:.01em; line-height:1; }
.pg-head p{ color:var(--mute); margin-top:.35rem; font-size:.92rem; }
.pg-head .warn{ color:#b0610b; }
.pg-actions{ display:flex; gap:.6rem; align-items:center; }
.search{ display:flex; align-items:center; gap:.5rem; padding:0 .8rem; border:1.5px solid var(--line); border-radius:11px; background:#fff; }
.search:focus-within{ border-color:var(--blue); box-shadow:0 0 0 3px rgba(42,127,212,.15); }
.search svg{ width:18px; height:18px; color:var(--mute); }
.search input{ border:none; outline:none; padding:.68rem 0; width:200px; background:none; }
.card{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:1.4rem; box-shadow:var(--shadow); }
.card h2{ font-size:1.05rem; margin-bottom:.4rem; }

/* ---------- menu editor ---------- */
.menu-layout{ display:grid; grid-template-columns:270px 1fr; gap:1.4rem; align-items:start; }
.cats{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:.6rem; box-shadow:var(--shadow); position:sticky; top:80px; max-height:calc(100vh - 100px); overflow-y:auto; }
.cats-h{ font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--mute); padding:.5rem .6rem; }
.cat{ display:flex; align-items:center; gap:.5rem; width:100%; padding:.6rem .6rem; border:none; background:none; border-radius:9px; text-align:left; font-size:.9rem; font-weight:600; color:var(--ink2); }
.cat:hover{ background:#f6f2ec; }
.cat.on{ background:#fdeeee; color:var(--red); }
.cat-n{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cat-c{ font-size:.75rem; color:var(--mute); background:#f1ede7; border-radius:8px; padding:.1rem .45rem; }
.cat.on .cat-c{ background:#fff; color:var(--red); }
.grip{ color:#c7beb3; font-size:.8rem; letter-spacing:-2px; cursor:grab; }
.cat-add{ color:var(--blue); margin-top:.3rem; }
.items{ background:#fff; border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow); overflow:hidden; }
.items-head{ display:flex; justify-content:space-between; align-items:center; padding:1rem 1.2rem .6rem; }
.items-head h2{ font-size:1.2rem; }
.cat-note{ display:flex; flex-direction:column; gap:.35rem; padding:0 1.2rem 1rem; font-size:.76rem; font-weight:700; color:var(--mute); border-bottom:1px solid var(--line); }
.cat-note input{ border:1.5px dashed var(--line); border-radius:10px; padding:.55rem .75rem; font-size:.88rem; font-weight:500; color:var(--ink); }
.cat-note input:focus{ outline:none; border-style:solid; border-color:var(--blue); }
.item-list{ list-style:none; }
.item{ display:grid; grid-template-columns:auto 48px 1fr auto auto; gap:.9rem; align-items:center; padding:.75rem 1.2rem; border-bottom:1px solid #f1ece6; transition:background .15s ease, opacity .2s ease; }
.item:hover{ background:#fcfbf9; }
.item.is-hidden{ opacity:.55; }
.item.dragging{ opacity:.4; }
.item.over{ box-shadow:inset 0 3px 0 var(--blue); }
.thumb{ width:48px; height:48px; border-radius:11px; overflow:hidden; background:linear-gradient(135deg, #ffe2b5, #ffb4a0); display:flex; align-items:center; justify-content:center; font-family:'DM Sans', sans-serif; font-size:1.2rem; color:#8c3b1c;  font-weight:800;}
.thumb img{ width:100%; height:100%; object-fit:cover; }
.item-main{ display:flex; flex-direction:column; gap:.2rem; min-width:0; text-align:left; background:none; border:none; padding:0; }
.item-main b{ font-size:.97rem; display:flex; align-items:center; gap:.45rem; flex-wrap:wrap; }
.item-main span{ font-size:.84rem; color:var(--mute); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.item-main small{ font-size:.72rem; color:var(--blue); font-weight:700; }
.item-main:hover b{ color:var(--red); }
.fav{ font-size:.66rem !important; font-weight:800; color:#8a5a00 !important; background:#fff1cc; border-radius:6px; padding:.12rem .4rem; white-space:nowrap; }
.off{ font-size:.66rem !important; font-weight:800; color:#6b645d !important; background:#ece8e3; border-radius:6px; padding:.12rem .4rem; }
.price{ font-weight:800; font-variant-numeric:tabular-nums; font-size:.95rem; }
.empty{ padding:2.4rem; text-align:center; color:var(--mute); }

/* ---------- drawer ---------- */
.drawer-wrap{ position:fixed; inset:0; z-index:100; background:rgba(27,23,18,0); transition:background .3s ease; }
.drawer-wrap.open{ background:rgba(27,23,18,.35); }
.drawer{ position:absolute; top:0; right:0; bottom:0; width:min(480px, 100%); background:#fff; display:flex; flex-direction:column; box-shadow:-20px 0 50px rgba(27,23,18,.18); transform:translateX(100%); transition:transform .32s cubic-bezier(.2,.8,.2,1); }
.drawer-wrap.open .drawer{ transform:none; }
.dr-head{ display:flex; justify-content:space-between; align-items:center; padding:1.1rem 1.4rem; border-bottom:1px solid var(--line); }
.dr-head h2{ font-size:1.2rem; }
.dr-x{ width:36px; height:36px; border-radius:50%; border:none; background:#f3efe9; font-size:.9rem; }
.dr-body{ flex:1; overflow-y:auto; padding:1.2rem 1.4rem 1.6rem; }
.dr-foot{ display:flex; justify-content:flex-end; gap:.6rem; padding:1rem 1.4rem; border-top:1px solid var(--line); background:#faf9f7; }
.photo-drop{ border:2px dashed #ddd5ca; border-radius:14px; aspect-ratio:16/9; overflow:hidden; cursor:pointer; display:flex; align-items:center; justify-content:center; background:#fbfaf8; transition:border-color .15s ease, background .15s ease; }
.photo-drop:hover, .photo-drop.over{ border-color:var(--blue); background:#f3f8fe; }
.photo-drop img{ width:100%; height:100%; object-fit:cover; }
.pd-empty{ display:flex; flex-direction:column; align-items:center; gap:.3rem; text-align:center; padding:1rem; color:var(--mute); font-size:.84rem; }
.pd-empty svg{ width:34px; height:34px; color:#b9afa4; margin-bottom:.2rem; }
.pd-empty b{ color:var(--ink); }
.lang-tabs{ display:flex; gap:.3rem; margin-top:1.2rem; padding:.25rem; background:#f3efe9; border-radius:11px; width:max-content; }
.lt{ padding:.45rem .9rem; border-radius:8px; border:none; background:none; font-size:.84rem; font-weight:700; color:var(--mute); }
.lt.on{ background:#fff; color:var(--ink); box-shadow:0 1px 3px rgba(0,0,0,.08); }
.f-label-row{ display:flex; justify-content:space-between; align-items:center; margin:1.1rem 0 .4rem; }
.f-label-row .f-label{ margin:0; }
.money{ display:flex; align-items:center; border:1.5px solid var(--line); border-radius:11px; background:#fff; }
.money:focus-within{ border-color:var(--blue); box-shadow:0 0 0 3px rgba(42,127,212,.15); }
.money span{ padding-left:.85rem; color:var(--mute); font-weight:700; }
.money .f-input{ border:none; box-shadow:none !important; padding-left:.35rem; }
.opt{ display:grid; grid-template-columns:1fr 130px 34px; gap:.5rem; margin-bottom:.5rem; }
.opt-x{ border:none; background:#f3efe9; border-radius:9px; font-size:.75rem; color:var(--mute); }
.opt-x:hover{ background:#fdeeee; color:var(--red); }
.toggles{ margin-top:1.2rem; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.tog{ display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.85rem 1rem; cursor:pointer; }
.tog + .tog{ border-top:1px solid var(--line); }
.tog span:first-child{ display:flex; flex-direction:column; }
.tog b{ font-size:.92rem; }
.tog small{ font-size:.78rem; color:var(--mute); }

/* ---------- hours / info ---------- */
.info-cols{ display:grid; grid-template-columns:1.3fr 1fr; gap:1.4rem; align-items:start; }
.hours{ display:flex; flex-direction:column; gap:.45rem; margin-top:.8rem; }
.hr-row{ display:grid; grid-template-columns:48px 1fr auto 1fr auto; gap:.6rem; align-items:center; padding:.35rem 0; }
.hr-row b{ font-size:.9rem; }
.hr-row .f-input{ padding:.55rem .6rem; }
.hr-row .to{ color:var(--mute); font-size:.82rem; }
.hr-row.closed b{ color:var(--mute); }
.hr-actions{ margin-top:.6rem; }
.preview{ margin-top:1rem; padding:.9rem 1rem; border-radius:12px; background:#f7f4ef; }
.preview span{ font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--mute); }
.preview p{ margin-top:.3rem; font-size:.92rem; line-height:1.5; }
.notice{ margin-top:1.2rem; padding:.9rem 1rem; border-radius:12px; background:#fff8e6; border:1px solid #f4dfa6; display:flex; flex-direction:column; gap:.2rem; font-size:.86rem; }
.notice b{ color:#8a5a00; }

/* ---------- photos ---------- */
.tip{ padding:.85rem 1rem; border-radius:12px; background:#eef6ff; border:1px solid #cfe3fb; color:#1f4f82; font-size:.88rem; margin-bottom:1.2rem; line-height:1.5; }
.photo-grid{ list-style:none; display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr)); gap:1rem; }
.ph{ position:relative; background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; box-shadow:var(--shadow); cursor:grab; }
.ph:first-child{ grid-column:span 2; grid-row:span 2; }
.ph img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.ph:first-child img{ aspect-ratio:auto; height:calc(100% - 44px); }
.ph.dragging{ opacity:.4; }
.ph-title{ width:100%; border:none; border-top:1px solid var(--line); padding:.7rem .8rem; font-size:.88rem; font-weight:600; }
.ph-title:focus{ outline:none; background:#f7f4ef; }
.ph-x{ position:absolute; top:8px; right:8px; width:30px; height:30px; border-radius:50%; border:none; background:rgba(27,23,18,.7); color:#fff; font-size:.75rem; opacity:0; transition:opacity .15s ease; }
.ph:hover .ph-x, .ph:focus-within .ph-x{ opacity:1; }
.ph-star{ position:absolute; top:10px; left:10px; background:var(--gold); color:var(--ink); font-size:.7rem; font-weight:800; padding:.25rem .6rem; border-radius:999px; }
.ph-add{ display:flex; align-items:stretch; border-style:dashed; box-shadow:none; background:#fbfaf8; cursor:pointer; min-height:190px; }
.ph-add label{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.3rem; cursor:pointer; color:var(--mute); font-weight:600; }
.ph-add label span{ font-size:2rem; color:var(--blue); }

/* ---------- help ---------- */
.help-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(260px,1fr)); gap:1rem; }
.help p{ color:var(--ink2); font-size:.9rem; line-height:1.55; }
.hp-ic{ font-size:1.6rem; display:block; margin-bottom:.5rem; }

/* ---------- toast ---------- */
.p-toast{ position:fixed; left:50%; bottom:24px; transform:translate(-50%, 20px); opacity:0; pointer-events:none; z-index:200; background:#1b1712; color:#fff; padding:.8rem 1.2rem; border-radius:12px; font-size:.9rem; font-weight:600; box-shadow:0 12px 30px rgba(0,0,0,.25); transition:all .25s ease; max-width:calc(100vw - 32px); text-align:center; }
.p-toast.show{ opacity:1; transform:translate(-50%, 0); pointer-events:auto; }
.p-toast a{ color:var(--gold); margin-left:.4rem; }

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .menu-layout{ grid-template-columns:1fr; }
  .cats{ position:static; max-height:none; display:flex; overflow-x:auto; gap:.3rem; padding:.4rem; }
  .cats-h, .cat .grip{ display:none; }
  .cat{ flex:0 0 auto; width:auto; }
  .info-cols{ grid-template-columns:1fr; }
}
@media (max-width:760px){
  .app{ grid-template-columns:1fr; padding-bottom:70px; }
  .sidenav{ position:fixed; top:auto; bottom:0; left:0; right:0; height:auto; z-index:60; flex-direction:row; justify-content:space-around; padding:.4rem .4rem calc(.4rem + env(safe-area-inset-bottom)); border-right:none; border-top:1px solid var(--line); background:rgba(255,255,255,.96); }
  .sn-item{ flex-direction:column; gap:.2rem; font-size:.7rem; padding:.45rem .5rem; flex:1; }
  .sn-item.on{ box-shadow:none; background:#fdeeee; }
  .topbar{ padding:.55rem .8rem; flex-wrap:wrap; }
  .tb-brand, .tb-view{ display:none; }
  .tb-publish{ min-width:0; padding:.6rem .9rem; }
  .tb-publish span:first-child{ font-size:.82rem; }
  .main{ padding:1.2rem 1rem 3rem; }
  .pg-actions{ width:100%; }
  .search{ flex:1; }
  .search input{ width:100%; }
  .item{ grid-template-columns:40px 1fr auto; gap:.7rem; padding:.7rem .9rem; }
  .item .grip{ display:none; }
  .item .price{ grid-column:2; grid-row:2; font-size:.85rem; margin-top:-.4rem; }
  .item .switch{ grid-column:3; grid-row:1 / span 2; }
  .thumb{ width:40px; height:40px; grid-row:1 / span 2; }
  .hr-row{ grid-template-columns:40px 1fr 1fr; }
  .hr-row .to{ display:none; }
  .hr-row .mini-switch{ grid-column:2 / -1; }
  .ph:first-child{ grid-column:auto; grid-row:auto; }
  .ph:first-child img{ aspect-ratio:4/3; height:auto; }
  .drawer{ width:100%; }
}

@media (max-width:760px){
  .topbar{ flex-wrap:nowrap; }
  .tb-left{ min-width:0; flex:1; }
  .p-toast{ bottom:84px; }
}

/* =========================================================
   v0.8: single location portal
   ========================================================= */
.mode-pill{ font-size:.74rem; font-weight:700; padding:.3rem .7rem; border-radius:999px; }
.mode-pill.is-live{ background:#e3f5e8; color:#1f6b35; }
.src-card{ display:flex; gap:.9rem; align-items:flex-start; padding:1rem 1.1rem; margin-bottom:1rem; border-radius:14px; background:#fff8e6; border:1px solid #f4dfa6; }
.src-card.is-live{ background:#eaf7ee; border-color:#bfe5c9; }
.src-ic{ font-size:1.4rem; line-height:1; }
.src-card > div > b{ display:block; margin-bottom:.2rem; }
.src-card span{ font-size:.88rem; color:var(--ink2); line-height:1.5; }
.seg{ display:inline-flex; gap:.25rem; padding:.25rem; background:#ece7e0; border-radius:12px; margin-bottom:1rem; flex-wrap:wrap; }
.seg button{ border:none; background:none; padding:.5rem .9rem; border-radius:9px; font-weight:700; font-size:.84rem; color:var(--ink2); }
.seg button.on{ background:#fff; color:var(--ink); box-shadow:0 1px 3px rgba(0,0,0,.08); }
.seg-full{ display:flex; width:100%; }
.seg-full button{ flex:1; }
.menu-layout.no-cats{ grid-template-columns:1fr; }
.item2{ display:grid; grid-template-columns:48px 1fr auto auto auto; gap:.9rem; align-items:center; padding:.75rem 1.2rem; border-bottom:1px solid #f1ece6; }
.item2:hover{ background:#fcfbf9; }
.item2.is-hidden{ opacity:.55; }
.item2 .price{ display:inline-flex; align-items:center; gap:.3rem; color:var(--ink2); }
.item2 .price svg{ width:13px; height:13px; color:#b3a99e; }
.tg{ display:inline-block; font-style:normal; font-size:.7rem; font-weight:700; padding:.1rem .45rem; margin-right:.3rem; border-radius:6px; background:#f1ede7; color:var(--ink2); }
.star-btn{ width:36px; height:36px; border-radius:50%; border:1.5px solid var(--line); background:#fff; color:#cfc6bb; display:flex; align-items:center; justify-content:center; transition:all .15s ease; }
.star-btn svg{ width:18px; height:18px; }
.star-btn:hover{ color:var(--gold); border-color:#f4dfa6; }
.star-btn.on{ color:#fff; background:linear-gradient(140deg, #f6d283, #d9a33f); border-color:transparent; box-shadow:0 4px 12px rgba(217,163,63,.4); }
.drawer.wide{ width:min(1040px, 100%); }
.dr-split{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.05fr); gap:1.6rem; align-items:start; }
.dr-preview{ position:sticky; top:0; }
.pv-label{ display:flex; justify-content:space-between; align-items:center; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--mute); margin:1.1rem 0 .5rem; }
.dr-preview .pv-label{ margin-top:.2rem; }
.pv-lang{ display:inline-flex; gap:.2rem; }
.pv-lang button{ border:1px solid var(--line); background:#fff; border-radius:7px; padding:.15rem .5rem; font-size:.7rem; font-weight:800; }
.pv-lang button.on{ background:var(--ink); color:#fff; border-color:var(--ink); }
.pv-menu{ display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
.pv-menu .dish{ opacity:.6; }
.pv-hl{ position:relative; }
.pv-hl::after{ content:'New spot'; position:absolute; top:-9px; right:10px; font-size:.6rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; background:var(--gold); color:var(--ink); padding:.15rem .45rem; border-radius:6px; }
.pv .menu-promo{ height:100%; }
.pv-dish .dish{ max-width:360px; }
.toast-card{ position:relative; padding:1rem 1.1rem; border-radius:12px; background:#f7f4ef; border:1px dashed #d9d0c4; }
.tc-badge{ display:inline-flex; align-items:center; gap:.3rem; font-size:.68rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--mute); margin-bottom:.5rem; }
.tc-badge svg{ width:12px; height:12px; }
.tc-row{ display:flex; justify-content:space-between; gap:1rem; font-size:1rem; }
.toast-card p{ font-size:.88rem; color:var(--ink2); margin:.35rem 0 .5rem; line-height:1.5; }
.toast-card small{ font-size:.76rem; color:var(--mute); }
.tc-opts{ font-weight:600; }
.tag-box{ display:flex; flex-wrap:wrap; gap:.4rem; padding:.45rem; border:1.5px solid var(--line); border-radius:11px; background:#fff; }
.tag-box:focus-within{ border-color:var(--blue); box-shadow:0 0 0 3px rgba(42,127,212,.15); }
.tag-box input{ flex:1; min-width:140px; border:none; outline:none; padding:.35rem .3rem; font-size:.9rem; }
.tag-chip{ display:inline-flex; align-items:center; gap:.3rem; padding:.3rem .35rem .3rem .65rem; border-radius:999px; background:#1b1712; color:#fff; font-size:.8rem; font-weight:700; }
.tag-chip button{ width:20px; height:20px; border:none; border-radius:50%; background:rgba(255,255,255,.18); color:#fff; font-size:.6rem; }
.tag-sugs{ display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.5rem; }
.tag-sugs button{ border:1px dashed #cfc6bb; background:none; border-radius:999px; padding:.25rem .6rem; font-size:.76rem; font-weight:600; color:var(--ink2); }
.tag-sugs button:hover{ border-style:solid; border-color:var(--blue); color:var(--blue); }
.photo-drop{ position:relative; }
.photo-drop.busy{ opacity:.5; pointer-events:none; }
.pd-clear{ position:absolute; top:8px; right:8px; width:30px; height:30px; border-radius:50%; border:none; background:rgba(27,23,18,.72); color:#fff; font-size:.75rem; }
.swatches{ display:flex; gap:.5rem; flex-wrap:wrap; }
.sw{ width:40px; height:40px; border-radius:12px; border:3px solid #fff; box-shadow:0 0 0 1.5px var(--line); }
.sw.on{ box-shadow:0 0 0 2.5px var(--ink); }
.sw-red{ background:linear-gradient(140deg, #c23b3b, #e0561f); }
.sw-green{ background:linear-gradient(140deg, #1f8a3d, #12958f); }
.sw-gold{ background:linear-gradient(140deg, #f3a712, #e0561f); }
.sw-teal{ background:linear-gradient(140deg, #2fb3d9, #12958f); }
.sw-purple{ background:linear-gradient(140deg, #7b3fa0, #e8568f); }
.sw-rainbow{ background:linear-gradient(120deg, #c23b3b, #f2b705, #1f8a3d, #2fb3d9, #7b3fa0); }
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.co-list{ list-style:none; display:flex; flex-direction:column; gap:1rem; }
.co-row{ display:grid; grid-template-columns:minmax(260px, 340px) 1fr; gap:1.2rem; align-items:center; padding:1rem; background:#fff; border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow); }
.co-row.is-off{ opacity:.6; }
.co-pv{ padding:.8rem; }
.co-meta{ display:flex; flex-direction:column; gap:.3rem; }
.co-meta b{ font-size:1.05rem; }
.co-meta span{ color:var(--mute); font-size:.88rem; }
.co-acts{ display:flex; gap:1rem; align-items:center; margin-top:.5rem; flex-wrap:wrap; }
.empty-card{ text-align:center; padding:2.4rem; }
.empty-card p{ color:var(--mute); margin-top:.3rem; }
.warn{ color:#b0610b; }
.evr-list{ list-style:none; margin-top:.6rem; }
.evr{ display:grid; grid-template-columns:52px 1fr auto auto; gap:.9rem; align-items:center; padding:.7rem 0; border-top:1px solid #f1ece6; }
.evr-cal{ display:flex; flex-direction:column; align-items:center; border-radius:10px; overflow:hidden; background:#fff; border:1px solid var(--line); }
.evr-cal small{ width:100%; text-align:center; background:var(--red); color:#fff; font-size:.62rem; font-weight:800; text-transform:uppercase; padding:.1rem 0; }
.evr-cal b{ font-family:'DM Sans', sans-serif; font-weight:800; letter-spacing:-.02em; font-size:1.3rem; padding:.1rem 0; }
.evr-main{ display:flex; flex-direction:column; gap:.15rem; text-align:left; border:none; background:none; padding:0; }
.evr-main span{ font-size:.84rem; color:var(--mute); }
.evr-main:hover b{ color:var(--red); }
.kind{ font-size:.7rem; font-weight:800; padding:.22rem .55rem; border-radius:999px; background:#e3f5e8; color:#1f6b35; }
.kind.k-closed{ background:#fdeeee; color:var(--red); }
.kind.k-special{ background:#fff4dc; color:#8a5a00; }
.past{ margin-top:1rem; }
.past summary{ cursor:pointer; font-weight:700; }
.time-row{ display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.icon-grid{ display:grid; grid-template-columns:repeat(10, 1fr); gap:.3rem; }
.icon-grid button{ aspect-ratio:1; border:1.5px solid var(--line); border-radius:10px; background:#fff; font-size:1.2rem; }
.icon-grid button.on{ border-color:var(--ink); background:#fff4dc; }
.gal-grid{ list-style:none; display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:1rem; }
.gal{ background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; box-shadow:var(--shadow); }
.gal.dragging{ opacity:.4; }
.gal-img{ position:relative; aspect-ratio:4/3; background:#1b1712; cursor:grab; }
.gal-img img{ width:100%; height:100%; object-fit:cover; }
.gal:hover .ph-x, .gal:focus-within .ph-x{ opacity:1; }
.gal-swap{ position:absolute; left:8px; bottom:8px; padding:.3rem .6rem; border-radius:8px; background:rgba(27,23,18,.72); color:#fff; font-size:.72rem; font-weight:700; cursor:pointer; opacity:0; transition:opacity .15s ease; }
.gal:hover .gal-swap, .gal:focus-within .gal-swap{ opacity:1; }
.gal-body{ padding:.7rem; display:flex; flex-direction:column; gap:.45rem; }
.gal-body .f-input{ padding:.55rem .7rem; font-size:.88rem; }
.gal-body textarea.f-input{ min-height:58px; }
.gal-es summary{ font-size:.78rem; font-weight:700; color:var(--blue); cursor:pointer; margin-bottom:.4rem; }
.gal-es .f-input + .f-input{ margin-top:.4rem; }
.gal-add{ display:flex; border-style:dashed; box-shadow:none; background:#fbfaf8; min-height:260px; }
.gal-add label{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.3rem; cursor:pointer; color:var(--mute); font-weight:600; }
.gal-add label span{ font-size:2rem; color:var(--blue); }
.hrs-list{ display:flex; flex-direction:column; margin-top:.8rem; }
.hrs-list div{ display:flex; justify-content:space-between; padding:.5rem 0; border-top:1px solid #f1ece6; font-size:.94rem; }
.hrs-list dt{ font-weight:600; }
.hrs-list dd{ font-variant-numeric:tabular-nums; }
.card + .card{ margin-top:1rem; }
.info-cols .card + .card{ margin-top:0; }
@media (max-width:900px){ .dr-split{ grid-template-columns:1fr; } .dr-preview{ position:static; order:-1; } .co-row{ grid-template-columns:1fr; } }
@media (max-width:760px){
  .item2{ grid-template-columns:40px 1fr auto auto; gap:.6rem; padding:.7rem .9rem; }
  .item2 .price{ grid-column:2; grid-row:2; font-size:.82rem; margin-top:-.3rem; }
  .item2 .thumb{ width:40px; height:40px; grid-row:1 / span 2; }
  .item2 .star-btn{ grid-row:1 / span 2; }
  .item2 .switch{ grid-row:1 / span 2; }
  .sidenav{ overflow-x:auto; justify-content:flex-start; }
  .sn-item{ flex:0 0 auto; min-width:64px; }
  .mode-pill{ display:none; }
  .icon-grid{ grid-template-columns:repeat(5, 1fr); }
  .pv-menu{ grid-template-columns:1fr; }
}

/* =========================================================
   Catering orders + team
   ========================================================= */
.sn-item{ position:relative; }
.sn-badge{ position:absolute; top:4px; right:10px; min-width:19px; height:19px; padding:0 5px; border-radius:999px; background:var(--red); color:#fff; font-size:.68rem; font-weight:800; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 2px #fff; }
.stats{ display:grid; grid-template-columns:repeat(5, 1fr); gap:.8rem; margin-bottom:1rem; }
.stat{ text-align:left; display:flex; flex-direction:column; gap:.15rem; padding:1rem 1.1rem; border-radius:var(--r); background:#fff; border:1.5px solid var(--line); box-shadow:var(--shadow); transition:all .15s ease; }
.stat:hover{ border-color:#cfc6bb; transform:translateY(-1px); }
.stat.on{ border-color:var(--ink); box-shadow:0 0 0 2px var(--ink); }
.st-l{ font-size:.74rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--mute); }
.stat b{ font-family:'DM Sans', sans-serif; font-weight:800; letter-spacing:-.02em; font-size:2.3rem; line-height:1.05; }
.st-s{ font-size:.8rem; color:var(--ink2); }
.stat.alert{ background:linear-gradient(160deg, #fff, #fdeeee); border-color:#f3c4c4; }
.stat.alert b{ color:var(--red); }
.unpaid-bar{ width:100%; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.7rem 1rem; margin-bottom:1rem; border-radius:12px; border:1px solid #f4dfa6; background:#fff8e6; font-size:.9rem; text-align:left; }
.unpaid-bar span:last-child{ font-weight:700; color:var(--blue); white-space:nowrap; }
.unpaid-bar.on{ border-color:var(--ink); }
.strip{ display:flex; gap:.45rem; overflow-x:auto; padding:.2rem .1rem .6rem; margin-bottom:.6rem; scrollbar-width:thin; }
.sd{ flex:0 0 58px; display:flex; flex-direction:column; align-items:center; gap:.05rem; padding:.5rem 0 .4rem; border-radius:12px; border:1.5px solid var(--line); background:#fff; color:var(--mute); }
.sd span{ font-size:.66rem; font-weight:700; text-transform:uppercase; }
.sd b{ font-size:1.15rem; color:var(--ink); }
.sd i{ font-style:normal; min-width:20px; height:18px; border-radius:999px; font-size:.68rem; font-weight:800; display:flex; align-items:center; justify-content:center; }
.sd.has i{ background:var(--gold); color:var(--ink); }
.sd.on{ background:var(--ink); border-color:var(--ink); }
.sd.on span, .sd.on b{ color:#fff; }
.c-filters{ display:flex; justify-content:space-between; align-items:flex-start; gap:.8rem; flex-wrap:wrap; }
.c-filters .seg{ margin-bottom:.6rem; }
.cnt{ margin-left:.35rem; font-size:.7rem; font-weight:800; padding:.05rem .4rem; border-radius:999px; background:rgba(0,0,0,.07); }
.c-f2{ display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; }
.c-f2 .f-input{ width:auto; padding:.55rem .8rem; }
.c-scope{ font-size:.88rem; color:var(--ink2); margin:.2rem 0 .8rem; }
.c-group{ margin-bottom:1.3rem; }
.c-group h3{ display:flex; align-items:baseline; gap:.6rem; flex-wrap:wrap; font-size:1rem; margin-bottom:.55rem; }
.c-group h3 span{ font-size:.8rem; font-weight:600; color:var(--mute); }
.c-group.past-due h3{ color:#b0610b; }
.c-list{ list-style:none; display:flex; flex-direction:column; gap:.55rem; }
.c-row{ display:grid; grid-template-columns:70px minmax(0, 1fr) 150px auto 130px; gap:1rem; align-items:center; padding:.8rem 1rem; background:#fff; border:1px solid var(--line); border-left:5px solid #cfc6bb; border-radius:14px; box-shadow:var(--shadow); }
.c-row.st-sent{ border-left-color:var(--red); }
.c-row.st-reviewed{ border-left-color:#8a63d2; }
.c-row.st-accepted{ border-left-color:var(--blue); }
.c-row.st-ready{ border-left-color:var(--gold); }
.c-row.st-completed{ border-left-color:var(--green); opacity:.75; }
.c-row.st-canceled{ opacity:.55; }
.c-time{ display:flex; flex-direction:column; align-items:center; line-height:1; }
.c-time b{ font-family:'DM Sans', sans-serif; font-weight:800; letter-spacing:-.02em; font-size:1.55rem; }
.c-time small{ font-size:.7rem; font-weight:800; color:var(--mute); margin-top:.15rem; }
.c-main{ display:flex; flex-direction:column; gap:.2rem; text-align:left; border:none; background:none; padding:0; min-width:0; }
.c-main b{ font-size:1rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.c-main b em{ font-style:normal; font-weight:500; color:var(--mute); font-size:.86rem; }
.c-main > span{ font-size:.84rem; color:var(--ink2); }
.c-main:hover b{ color:var(--red); }
.c-num{ color:var(--mute); font-weight:700; }
.c-flags{ display:flex; gap:.35rem; flex-wrap:wrap; }
.c-flags:empty{ display:none; }
.c-flags i{ font-style:normal; font-size:.7rem; font-weight:700; padding:.1rem .45rem; border-radius:6px; background:#f1ede7; color:var(--ink2); }
.c-status{ display:flex; flex-direction:column; gap:.35rem; align-items:flex-start; }
.st-pill{ font-size:.72rem; font-weight:800; padding:.22rem .6rem; border-radius:999px; }
.s-sent{ background:#fdeeee; color:var(--red); }
.s-reviewed{ background:#f1ebfb; color:#6a44b3; }
.s-accepted{ background:#e6f0fb; color:#1f5fa5; }
.s-ready{ background:#fff4dc; color:#8a5a00; }
.s-completed{ background:#e3f5e8; color:#1f6b35; }
.s-canceled{ background:#eee; color:#666; }
.c-steps{ display:flex; gap:3px; }
.c-steps i{ width:22px; height:5px; border-radius:3px; background:#e7e1d9; }
.c-steps i.on{ background:var(--ink); }
.c-steps.canceled{ font-size:.72rem; color:var(--mute); }
.pay-pill{ padding:.4rem .75rem; border-radius:999px; font-size:.78rem; font-weight:800; border:1.5px solid; white-space:nowrap; }
.pay-pill.unpaid{ background:#fff; border-color:#f0b4a8; color:#b3402c; }
.pay-pill.paid{ background:#e3f5e8; border-color:#bfe5c9; color:#1f6b35; }
.c-next{ padding:.6rem .8rem; border-radius:10px; border:none; font-weight:800; font-size:.82rem; color:#fff; background:var(--ink); white-space:nowrap; transition:transform .12s ease, filter .12s ease; }
.c-next:hover{ filter:brightness(1.15); transform:translateY(-1px); }
.c-next.n-reviewed{ background:#6a44b3; }
.c-next.n-accepted{ background:var(--blue); }
.c-next.n-ready{ background:#c98a0a; }
.c-next.n-completed{ background:var(--green); }
.dr-sub{ font-size:.8rem; color:var(--mute); margin-top:.15rem; }
.stepper{ display:grid; grid-template-columns:repeat(5, 1fr); gap:.3rem; }
.stepper button{ display:flex; flex-direction:column; align-items:center; gap:.25rem; padding:.55rem .2rem; border-radius:10px; border:1.5px solid var(--line); background:#fff; font-size:.72rem; font-weight:700; color:var(--mute); }
.stepper i{ font-style:normal; width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#eee; color:var(--mute); font-size:.7rem; }
.stepper button.done{ color:var(--ink2); }
.stepper button.done i{ background:var(--ink); color:#fff; }
.stepper button.on{ border-color:var(--ink); background:var(--ink); color:#fff; }
.stepper button.on i{ background:var(--gold); color:var(--ink); }
.cancel-row{ font-size:.84rem; margin:.6rem 0 .2rem; display:flex; gap:.6rem; align-items:center; flex-wrap:wrap; }
.linkish.danger{ color:var(--red); }
.pay-row{ display:grid; grid-template-columns:auto 1fr; gap:1rem; align-items:end; }
.seg-pay{ margin:0; }
.seg-pay button[data-paid="1"].on{ background:#1f6b35; color:#fff; }
.money-in{ position:relative; }
.money-in span{ position:absolute; left:.8rem; top:50%; transform:translateY(-50%); color:var(--mute); font-weight:700; }
.money-in .f-input{ padding-left:1.6rem; }
.o-card{ margin-top:1rem; padding:.9rem 1rem 1rem; border-radius:12px; background:#faf8f5; border:1px solid var(--line); }
.o-card h3{ font-size:.95rem; margin-bottom:.1rem; }
.grid2{ display:grid; grid-template-columns:1fr 1fr; gap:0 .7rem; }
.contact-btns{ display:flex; gap:.4rem; flex-wrap:wrap; margin-top:.8rem; }
.contact-btns a{ text-decoration:none; }
.o-notes{ background:#fffdf7; }
.history{ margin-top:1.1rem; }
.history summary{ font-weight:800; font-size:.85rem; cursor:pointer; }
.history ol{ list-style:none; margin-top:.5rem; border-left:2px solid var(--line); padding-left:.9rem; }
.history li{ position:relative; padding:.3rem 0; display:flex; flex-direction:column; font-size:.84rem; }
.history li::before{ content:''; position:absolute; left:-1.23rem; top:.6rem; width:9px; height:9px; border-radius:50%; background:var(--ink); }
.history li span{ font-size:.74rem; color:var(--mute); }
.team-list{ list-style:none; margin-top:.6rem; }
.team-list li{ display:grid; grid-template-columns:38px 1fr auto auto; gap:.8rem; align-items:center; padding:.7rem 0; border-top:1px solid #f1ece6; }
.team-list li div{ display:flex; flex-direction:column; min-width:0; }
.team-list li div span{ font-size:.8rem; color:var(--mute); }
.tm-av{ width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#1b1712; color:#fff; font-weight:800; }
.role{ font-size:.7rem; font-weight:800; padding:.2rem .55rem; border-radius:999px; }
.r-owner{ background:#fff4dc; color:#8a5a00; }
@media (max-width:1100px){ .stats{ grid-template-columns:repeat(3, 1fr); } .c-row{ grid-template-columns:62px minmax(0, 1fr) auto auto; } .c-status{ display:none; } }
@media (max-width:760px){
  .stats{ grid-template-columns:1fr 1fr; }
  .stats .stat:last-child{ grid-column:1 / -1; }
  .c-row{ grid-template-columns:56px minmax(0, 1fr) auto; gap:.6rem; }
  .c-row .pay-pill{ grid-column:2; justify-self:start; }
  .c-row .c-next, .c-row .c-next-none{ grid-column:3; grid-row:1 / span 2; align-self:center; }
  .c-time{ grid-row:1 / span 2; }
  .stepper{ grid-template-columns:repeat(5, 1fr); }
  .stepper button{ font-size:.62rem; }
  .grid2, .pay-row{ grid-template-columns:1fr; }
}

/* =========================================================
   Email: list, subscribers, sign-up tools, mirrored editor
   ========================================================= */
.main.main-wide{ max-width:none !important; }
.stats4{ grid-template-columns:repeat(4, 1fr); }
.stat b small{ font-family:'DM Sans', sans-serif; font-size:.8rem; color:var(--mute); }
.nl-list{ list-style:none; display:flex; flex-direction:column; gap:.6rem; }
.nl-row{ display:grid; grid-template-columns:42px minmax(0, 1fr) auto auto; gap:1rem; align-items:center; padding:.9rem 1.1rem; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); }
.nl-ic{ font-size:1.6rem; text-align:center; }
.nl-main{ display:flex; flex-direction:column; gap:.1rem; min-width:0; }
.nl-main span{ font-size:.88rem; color:var(--ink2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nl-main small{ font-size:.76rem; color:var(--mute); }
.nl-metrics{ display:flex; gap:1.1rem; }
.nl-metrics span{ display:flex; flex-direction:column; align-items:center; font-size:.7rem; color:var(--mute); }
.nl-metrics b{ font-size:1.05rem; color:var(--ink); }
.nl-acts{ display:flex; gap:.4rem; align-items:center; }
.sub-card{ padding:0; overflow-x:auto; }
.sub-table{ width:100%; border-collapse:collapse; font-size:.86rem; }
.sub-table th{ text-align:left; font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--mute); padding:.8rem 1rem; border-bottom:1px solid var(--line); background:#faf8f5; }
.sub-table td{ padding:.65rem 1rem; border-bottom:1px solid #f1ece6; white-space:nowrap; }
.consent{ display:flex; gap:.6rem; align-items:flex-start; margin-top:1.2rem; padding:.8rem .9rem; border-radius:12px; background:#fff8e6; border:1px solid #f4dfa6; font-weight:600; font-size:.88rem; }
.qr-wrap{ display:flex; justify-content:center; padding:1rem 0; }
.qr-card{ width:300px; border-radius:22px; overflow:hidden; background:#14110d; color:#f7ede0; text-align:center; padding:0 1.4rem 1.3rem; box-shadow:0 20px 40px rgba(0,0,0,.25); font-family:'DM Sans', Arial, sans-serif; }
.qc-strip{ height:8px; margin:0 -1.4rem 1rem; background:linear-gradient(90deg, #E05781, #F5595E, #F7853A, #FDA92A); }
.qc-logo{ width:120px; height:auto; }
.qc-t{ display:flex; flex-direction:column; margin:.6rem 0 .8rem; }
.qc-t b{ font-family:'DM Sans', sans-serif; font-weight:800; font-size:1.7rem;  letter-spacing:.02em; line-height:1.1; }
.qc-t span{ font-size:.9rem; color:#f3a712; font-weight:700; }
.qc-qr{ background:#fff; border-radius:16px; padding:10px; width:190px; margin:0 auto; }
.qc-qr svg{ display:block; width:100%; height:auto; }
.qc-s{ font-size:.86rem; line-height:1.45; margin:.9rem 0 .4rem; }
.qc-s em{ color:#cbbfae; }
.qc-u{ font-size:.66rem; color:#9a8f82; letter-spacing:.04em; }
.qr-acts{ display:flex; gap:.5rem; justify-content:center; flex-wrap:wrap; }
.where{ list-style:none; display:flex; flex-direction:column; gap:.2rem; margin:.4rem 0 1rem; }
.where li{ display:flex; gap:.7rem; padding:.55rem 0; border-top:1px solid #f1ece6; }
.where li div{ display:flex; flex-direction:column; }
.where small{ color:var(--mute); font-size:.82rem; }
/* editor */
.ed-top{ display:flex; align-items:center; gap:.8rem; flex-wrap:wrap; margin-bottom:1rem; position:sticky; top:var(--top-h, 64px); z-index:20; background:var(--bg, #f6f3ef); padding:.6rem 0; }
.ed-name{ flex:1; min-width:180px; font-family:'Shrikhand', serif; font-size:1.5rem;  border:1.5px solid transparent; border-radius:10px; background:none; padding:.2rem .5rem; }
.ed-name:hover, .ed-name:focus{ border-color:var(--line); background:#fff; outline:none; }
.ed-saved{ font-size:.78rem; font-weight:700; color:var(--mute); }
.ed-saved.busy{ color:#b0610b; } .ed-saved.err{ color:var(--red); }
.ed-acts{ display:flex; gap:.4rem; flex-wrap:wrap; }
.ed-body{ display:grid; grid-template-columns:230px minmax(0, 1fr); gap:1.2rem; align-items:start; }
.ed-rail{ position:sticky; top:calc(var(--top-h, 64px) + 72px); max-height:calc(100vh - 150px); overflow:auto; background:#fff; border:1px solid var(--line); border-radius:16px; padding:1rem; box-shadow:var(--shadow); }
.rail-h{ font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--mute); margin:.2rem 0 .6rem; }
.ed-palette{ display:grid; grid-template-columns:1fr 1fr; gap:.35rem; }
.ed-palette button{ display:flex; flex-direction:column; align-items:center; gap:.2rem; padding:.55rem .3rem; border:1.5px solid var(--line); border-radius:12px; background:#fcfbf9; font-size:.7rem; font-weight:700; line-height:1.2; text-align:center; transition:all .12s ease; }
.ed-palette button span{ font-size:1.2rem; }
.ed-palette button:hover{ border-color:var(--ink); background:#fff; transform:translateY(-1px); }
#edSettings{ margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line); }
.set-empty{ font-size:.84rem; color:var(--mute); text-align:center; padding:1rem .4rem; border:1.5px dashed var(--line); border-radius:12px; }
.pick-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:.3rem; }
.pick-grid button{ aspect-ratio:1; padding:0; border:2px solid transparent; border-radius:8px; overflow:hidden; background:#eee; }
.pick-grid button.on{ border-color:var(--red); }
.pick-grid img{ width:100%; height:100%; object-fit:cover; display:block; }
.ed-cols{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; align-items:start; }
.ed-col-h{ display:flex; justify-content:space-between; align-items:center; margin-bottom:.4rem; font-size:1.05rem; }
.ed-miss{ font-size:.72rem; font-weight:800; padding:.22rem .6rem; border-radius:999px; }
.ed-miss.has{ background:#fdeeee; color:var(--red); } .ed-miss.ok{ background:#e3f5e8; color:#1f6b35; }
.ed-subj-meta{ display:flex; justify-content:space-between; gap:.5rem; font-size:.7rem; color:var(--mute); margin-top:.2rem; }
.ed-warn{ color:#b0610b; font-weight:700; }
.ed-mail{ margin-top:1rem; background:#fffaf3; border-radius:18px; overflow:hidden; box-shadow:0 18px 40px -18px rgba(0,0,0,.35); outline:10px solid #f3ebdf; }
.ed-blocks{ min-height:60px; }
.ed-empty{ padding:2.4rem 1rem; text-align:center; color:var(--mute); font-size:.9rem; }
.ed-block{ position:relative; outline:2px solid transparent; outline-offset:-2px; transition:outline-color .12s ease; cursor:default; }
.ed-block:hover{ outline-color:rgba(42,127,212,.35); }
.ed-block.sel{ outline-color:var(--blue); }
.ed-block.dragging{ opacity:.35; }
.ed-block.drop-above{ box-shadow:0 -4px 0 var(--red) inset; } .ed-block.drop-below{ box-shadow:0 4px 0 var(--red) inset; }
.ed-tools{ position:absolute; top:6px; right:6px; z-index:3; display:flex; align-items:center; gap:2px; padding:3px; border-radius:10px; background:rgba(27,23,18,.9); color:#fff; opacity:0; transform:translateY(-3px); transition:all .15s ease; pointer-events:none; }
.ed-block:hover .ed-tools, .ed-block.sel .ed-tools{ opacity:1; transform:none; pointer-events:auto; }
.ed-tools button{ width:26px; height:26px; border:none; border-radius:7px; background:none; color:#fff; font-size:.85rem; }
.ed-tools button:hover:not(:disabled){ background:rgba(255,255,255,.18); }
.ed-tools button:disabled{ opacity:.3; }
.ed-drag{ cursor:grab; padding:0 .3rem; font-size:1rem; }
.ed-bname{ font-size:.66rem; font-weight:700; padding:0 .4rem 0 .1rem; opacity:.85; white-space:nowrap; }
.em-edit{ outline:none; border-radius:6px; cursor:text; transition:background-color .12s ease, box-shadow .12s ease; min-height:1.2em; }
.em-edit:hover{ background:rgba(42,127,212,.07); }
.em-edit:focus{ background:rgba(42,127,212,.09); box-shadow:0 0 0 2px rgba(42,127,212,.45); }
.em-edit:empty::before{ content:attr(data-ph); color:rgba(58,50,42,.38); font-weight:400; }
span.em-edit:empty::before{ color:rgba(255,255,255,.65); }
.em-miss, .ed-subj.em-miss{ box-shadow:0 0 0 2px var(--red) !important; background:rgba(194,59,59,.07) !important; }
.em-edit.flash, .ed-subj.flash{ animation:missFlash 1.2s ease 2; }
@keyframes missFlash{ 50%{ background:rgba(243,167,18,.35); } }
.em-ph-img{ height:180px; display:flex; align-items:center; justify-content:center; background:repeating-linear-gradient(135deg, #efe6d8 0 12px, #f6efe4 12px 24px); color:#8a7f73; font-weight:700; font-size:.9rem; cursor:pointer; }
.em-ph-img.small{ height:140px; border-radius:16px; }
.ed-lang-tabs{ display:none; }
.miss-card{ padding:1rem 1.1rem; border-radius:12px; background:#fdeeee; border:1px solid #f3c4c4; display:flex; flex-direction:column; gap:.2rem; margin-bottom:.8rem; }
.miss-card b{ color:var(--red); }
.miss-card span{ font-size:.86rem; color:var(--ink2); }
.miss-list{ list-style:none; }
.miss-list li{ display:grid; grid-template-columns:28px 1fr auto; gap:.6rem; align-items:center; padding:.55rem 0; border-top:1px solid #f1ece6; font-size:.88rem; }
.send-sum{ display:grid; grid-template-columns:1fr 1fr; gap:.8rem; margin-bottom:1rem; }
.send-sum div{ display:flex; flex-direction:column; gap:.2rem; padding:1rem; border-radius:14px; background:#faf8f5; border:1px solid var(--line); }
.send-sum b{ font-family:'DM Sans', sans-serif; font-weight:800; letter-spacing:-.02em; font-size:2.2rem; line-height:1; }
.send-sum small{ font-size:.8rem; color:var(--ink2); }
.pv-bar{ display:flex; justify-content:space-between; gap:.6rem; flex-wrap:wrap; }
.inbox-line{ display:flex; gap:.5rem; align-items:baseline; padding:.7rem .9rem; margin:.3rem 0 .8rem; border-radius:10px; background:#fff; border:1px solid var(--line); font-size:.88rem; overflow:hidden; white-space:nowrap; }
.inbox-line span{ color:var(--mute); overflow:hidden; text-overflow:ellipsis; }
.pv-frame-wrap{ background:#e9e2d7; border-radius:14px; padding:12px; display:flex; justify-content:center; }
#pvFrame{ width:600px; max-width:100%; height:70vh; border:0; border-radius:10px; background:#f3ebdf; transition:width .3s ease; }
@media (max-width:1250px){
  .ed-lang-tabs{ display:inline-flex; gap:.25rem; padding:.25rem; background:#ece7e0; border-radius:12px; margin-bottom:.8rem; }
  .ed-lang-tabs button{ border:none; background:none; padding:.5rem 1rem; border-radius:9px; font-weight:700; }
  .ed-lang-tabs button.on{ background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.08); }
  .ed-cols{ grid-template-columns:1fr; }
  .ed-cols .ed-col[data-lang=es]{ display:none; }
  .ed-cols[data-show=es] .ed-col[data-lang=en]{ display:none; }
  .ed-cols[data-show=es] .ed-col[data-lang=es]{ display:block; }
}
@media (max-width:900px){
  .ed-body{ grid-template-columns:1fr; }
  .ed-rail{ position:static; max-height:none; }
  .ed-palette{ grid-template-columns:repeat(3, 1fr); }
  .stats4{ grid-template-columns:1fr 1fr; }
  .nl-row{ grid-template-columns:36px 1fr; }
  .nl-metrics, .nl-acts{ grid-column:2; }
  .send-sum{ grid-template-columns:1fr; }
}

/* ---------- Photos doors, menu banner, logo, jobs, team ---------- */
.doors{ display:flex; flex-direction:column; gap:.9rem; max-width:860px; }
.door{ display:grid; grid-template-columns:180px 1fr auto; gap:1.2rem; align-items:center; text-align:left; padding:1rem; background:#fff; border:1.5px solid var(--line); border-radius:18px; box-shadow:var(--shadow); transition:all .15s ease; }
.door:hover{ border-color:var(--ink); transform:translateY(-2px); box-shadow:0 14px 30px -14px rgba(0,0,0,.3); }
.door-pics{ display:grid; grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; gap:4px; height:110px; border-radius:12px; overflow:hidden; background:#f1ede7; }
.door-pics img{ width:100%; height:100%; object-fit:cover; display:block; }
.door-pics img:first-child{ grid-row:1 / span 2; }
.door-ic{ grid-column:1 / -1; grid-row:1 / -1; display:flex; align-items:center; justify-content:center; font-size:2.4rem; }
.door-txt{ display:flex; flex-direction:column; gap:.3rem; }
.door-txt b{ font-size:1.15rem; }
.door-txt span{ color:var(--ink2); font-size:.9rem; line-height:1.5; }
.door-go{ font-size:1.4rem; color:var(--mute); padding-right:.4rem; }
.back-btn{ margin-bottom:.8rem; }
.how-card{ max-width:620px; }
.how-steps{ list-style:none; counter-reset:s; display:flex; flex-direction:column; gap:.9rem; margin-bottom:1.3rem; }
.how-steps li{ counter-increment:s; display:grid; grid-template-columns:34px 1fr; column-gap:.8rem; }
.how-steps li::before{ content:counter(s); grid-row:1 / span 2; width:34px; height:34px; border-radius:50%; background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; }
.how-steps li span{ font-size:.86rem; color:var(--mute); }
.reel-grid .gal-img{ aspect-ratio:4/3; }
.logo-drop .photo-drop{ min-height:140px; background:#1b1712; }
.logo-drop .photo-drop img{ object-fit:contain; padding:1rem; }
.logo-now{ width:140px; height:auto; margin-bottom:.4rem; opacity:.9; }
.logo-drop .pd-empty{ color:#cbbfae; }
.tm-dev{ background:linear-gradient(140deg, #f3a712, #e8622a); }
.r-dev{ background:#fff0e0; color:#a14d0a; white-space:nowrap; }
.job-row{ grid-template-columns:44px minmax(0, 1fr) auto auto; }
.j-av{ width:44px; height:44px; border-radius:50%; background:#1b1712; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:1.1rem; }
.j-new{ background:#fdeeee; color:var(--red); } .j-reviewed{ background:#f1ebfb; color:#6a44b3; } .j-interview{ background:#e6f0fb; color:#1f5fa5; }
.j-hired{ background:#e3f5e8; color:#1f6b35; } .j-declined{ background:#eee; color:#666; }
.j-stepper{ grid-template-columns:repeat(4, 1fr); }
@media (max-width:760px){ .door{ grid-template-columns:1fr; } .door-go{ display:none; } .job-row{ grid-template-columns:40px 1fr auto; } .job-row .p-btn{ display:none; } }
.logo-drop .pd-empty .logo-now{ position:static !important; inset:auto; width:150px !important; height:auto !important; max-height:90px; object-fit:contain; padding:0 !important; margin:0 auto .5rem; display:block; }
.logo-drop .photo-drop{ max-height:200px; }
.sn-item span{ white-space:normal; line-height:1.2; }

/* ---------- which restaurant this portal manages ---------- */
.tb-left{ display:flex; align-items:center; gap:.4rem; }
.loc-tag{ display:inline-flex; align-items:center; gap:.55rem; margin-left:.6rem; padding:.3rem .75rem .3rem .35rem; border:1.5px solid var(--line); border-radius:12px; background:#fff; font-weight:700; font-size:.86rem; }
.loc-tag img{ height:30px; width:60px; object-fit:contain; background:#1b1712; border-radius:8px; padding:2px 5px; }
.loc-light .loc-tag img{ background:#fffaf2; }
@media (max-width:760px){ .tb-brand{ display:none; } .loc-tag{ margin-left:0; } .loc-tag span{ max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } }
.tm-acts{ display:flex; gap:.7rem; align-items:center; }
.r-manager{ background:#e9f6ee; color:#1f6b35; } .r-staff{ background:#e6f0fb; color:#1f5fa5; }
.team-list li{ grid-template-columns:38px 1fr auto auto; }
.loc-pick{ display:flex; flex-direction:column; gap:.4rem; }
.lp{ display:flex; align-items:center; gap:.6rem; padding:.5rem .7rem; border:1.5px solid var(--line); border-radius:12px; cursor:pointer; font-weight:600; font-size:.9rem; }
.lp:has(input:checked){ border-color:var(--ink); background:#faf8f5; }
.lp img{ width:58px; height:30px; object-fit:contain; background:#1b1712; border-radius:7px; padding:2px 5px; }
.lp input{ accent-color:var(--ink); width:17px; height:17px; }
.t-acts{ display:flex; gap:.5rem; margin-top:1rem; }
/* ---------- copy event ---------- */
.copy-box{ margin-top:1rem; padding-top:1rem; border-top:1px dashed var(--line); }
.copy-toggle{ width:100%; justify-content:center; }
.copy-panel{ display:flex; flex-direction:column; gap:.45rem; margin-top:.7rem; }
.copy-panel .p-btn{ align-self:flex-start; margin-top:.3rem; }
/* ---------- interview ---------- */
.iv-card{ border-color:#bcd6f1; background:#f3f8fd; }
.iv-acts{ display:flex; gap:.6rem; align-items:center; flex-wrap:wrap; margin-top:.6rem; }
.c-flags i.iv-flag{ background:#e6f0fb; color:#1f5fa5; }


/* =========================================================
   v1.6: sign-in, Team switches, email notices
   ========================================================= */
/* sign-in card */
.login-card.lc-in [data-state]:not([hidden]){ animation:lcIn .35s cubic-bezier(.2,.9,.3,1); }
@keyframes lcIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
.login-card .f-label:first-of-type{ margin-top:.2rem; }
.login-card .f-label-row{ margin:1rem 0 .4rem; }
.login-card .f-label-row .linkish{ font-size:.8rem; padding:0; }
.lc-gap{ margin-top:1.3rem; }
.lc-alt{ text-align:center; margin-top:1.1rem; font-size:.88rem; color:var(--mute); }
.lc-alt .linkish{ font-size:.88rem; padding:0 .15rem; }
.pw-wrap .f-input{ padding-right:4.2rem; }
.lc-done{ width:64px; height:64px; border-radius:20px; display:flex; align-items:center; justify-content:center; background:#e3f5e8; color:var(--green); margin:.4rem 0 1rem; animation:pop .5s cubic-bezier(.2,1.4,.4,1); }
.lc-done svg{ width:34px; height:34px; }
@keyframes pop{ from{ transform:scale(.6); opacity:0; } to{ transform:none; opacity:1; } }
.pw-meter{ height:5px; border-radius:5px; background:#eee8e1; margin:.55rem 0 0; overflow:hidden; }
.pw-meter i{ display:block; height:100%; width:0; border-radius:5px; background:#d6cfc6; transition:width .25s ease, background .25s ease; }
.pw-meter i[data-lv=weak]{ background:#e0864a; } .pw-meter i[data-lv=ok]{ background:var(--gold); } .pw-meter i[data-lv=strong]{ background:var(--green); }
.login-card .f-help{ margin-top:.45rem; }
.user-menu{ width:250px; }
.user-menu #signOutAll{ color:var(--mute); font-size:.84rem; }

/* "email isn't set up" / "didn't go out" notices */
.mail-off{ display:flex; gap:.8rem; align-items:flex-start; padding:.9rem 1rem; margin:0 0 1.2rem; border-radius:var(--r); background:#fff7e8; border:1px solid #f1dfb8; color:#5e4300; animation:fade .35s ease; }
.mail-off .mo-ic{ font-size:1.25rem; line-height:1.2; }
.mail-off div{ display:flex; flex-direction:column; gap:.15rem; font-size:.88rem; line-height:1.45; }
.mail-off b{ font-size:.92rem; color:#4a3500; }
.flag-mail{ background:#fff1d6 !important; color:#8a5a00 !important; }
.tc-mods{ margin-top:.6rem; display:flex; flex-direction:column; gap:.45rem; font-size:.84rem; color:var(--ink2); }
.tc-mods small{ color:var(--mute); font-weight:600; }

/* Team */
.team-list li.tm-row{ grid-template-columns:38px 1fr auto; align-items:start; padding:.95rem 0; }
.tm-row.is-me .tm-av{ box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--gold); }
.tm-main b{ font-size:.95rem; }
.tm-you{ font-style:normal; font-size:.66rem; font-weight:800; padding:.08rem .4rem; border-radius:999px; background:#f1ede7; color:var(--ink2); vertical-align:2px; margin-left:.25rem; }
.tm-mail{ font-size:.8rem; color:var(--mute); }
.tm-st{ font-size:.78rem; color:var(--mute); margin-top:.1rem; }
.tm-st.st-wait{ color:#8a5a00; font-weight:600; }
.tm-chips{ display:flex; flex-wrap:wrap; gap:.3rem; margin-top:.45rem; }
.perm-chip{ font-style:normal; font-size:.7rem; font-weight:700; padding:.15rem .55rem; border-radius:999px; background:#f1ede7; color:var(--ink2); }
.perm-chip.all{ background:#e3f5e8; color:#1f6b35; }
.tm-devs{ list-style:none; margin:.45rem 0 0; display:flex; flex-direction:column; gap:.1rem; }
.tm-devs li{ font-size:.76rem; color:var(--ink2); display:block !important; padding:0 !important; border:none !important; }
.tm-devs li::before{ content:'▸ '; color:var(--mute); }
.tm-devs small{ color:var(--mute); }
.team-list .tm-acts{ margin-top:.45rem; flex-wrap:wrap; gap:.2rem 1rem; }
.linkish.warn{ color:#a3302a; }
.tm-dev{ background:linear-gradient(135deg, var(--gold), #e0561f); }
.r-dev{ background:#fdeee3; color:#a3461a; }
.tab-presets{ gap:.45rem; margin:.1rem 0 .3rem; }
.preset{ display:inline-flex; align-items:center; gap:.4rem; padding:.48rem .8rem; border-radius:999px; border:1.5px solid var(--line); background:#fff; font-weight:700; font-size:.82rem; transition:border-color .15s ease, background .15s ease, transform .15s ease; }
.preset:hover{ border-color:#cfc6bb; }
.preset:active{ transform:scale(.97); }
.preset.on{ border-color:var(--ink); background:#faf8f5; }
.perm-groups{ margin-top:.8rem; display:flex; flex-direction:column; gap:.8rem; border-radius:var(--r); }
.perm-groups.flash{ animation:missFlash 1s ease; }
.perm-group{ border:1.5px solid var(--line); border-radius:var(--r); padding:.2rem 0; background:#fff; min-width:0; }
.perm-group legend{ margin-left:.8rem; padding:0 .4rem; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--ink2); }
.perm-group legend small{ text-transform:none; letter-spacing:0; font-weight:600; color:var(--mute); }
.tog.perm{ padding:.7rem 1rem; }
.tog.perm.locked{ cursor:default; }
.tog.perm.locked b{ color:var(--mute); }
.tog.perm.locked .switch input{ cursor:not-allowed; }
.tog.perm.locked .switch i{ opacity:.45; }
.perm-count{ margin-top:.7rem; font-size:.82rem; font-weight:700; color:var(--mute); }
#teamForm.flash{ animation:missFlash 1s ease; }
.team-cols{ grid-template-columns:1.15fr 1fr; }
.link-box{ display:flex; gap:.5rem; margin:.9rem 0 .6rem; }
.link-box .f-input{ font-size:.82rem; font-family:ui-monospace, SFMono-Regular, Menlo, monospace; }

/* newsletter sending progress */
.snd{ display:flex; flex-direction:column; align-items:center; gap:1.2rem; padding:.8rem 0 .4rem; }
.snd-ring{ position:relative; width:170px; height:170px; }
.snd-ring svg{ width:100%; height:100%; transform:rotate(-90deg); }
.snd-track{ fill:none; stroke:#eee8e1; stroke-width:10; }
.snd-arc{ fill:none; stroke:var(--red); stroke-width:10; stroke-linecap:round; transition:stroke-dashoffset .8s cubic-bezier(.2,.9,.3,1), stroke .4s ease; }
.snd.done .snd-arc{ stroke:var(--green); }
.snd-num{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.snd-num b{ font-family:'DM Sans', sans-serif; font-weight:800; letter-spacing:-.02em; font-size:2.4rem; line-height:1; }
.snd-num span{ font-size:.8rem; color:var(--mute); margin-top:.2rem; }
.snd-stats{ display:grid; grid-template-columns:repeat(3, 1fr); gap:.6rem; width:100%; }
.snd-stats div{ display:flex; flex-direction:column; align-items:center; padding:.7rem; border-radius:12px; background:#f7f5f2; }
.snd-stats b{ font-size:1.25rem; }
.snd-stats span{ font-size:.75rem; color:var(--mute); }
.snd .f-help{ text-align:center; }
.snd .mail-off{ width:100%; margin:0; }
@media (prefers-reduced-motion: reduce){ .login-card.lc-in [data-state]:not([hidden]), .lc-done, .mail-off{ animation:none; } }

/* Team: who gets emails */
.alert-block + .alert-block{ margin-top:1.1rem; padding-top:1.1rem; border-top:1px solid var(--line); }
.alert-block h3{ font-size:.95rem; }
.alert-list .al-empty{ background:#fff7e8; color:#7a5200; }
