﻿
    :root{
      --accent:#e35c2b; --accent-dark:#c74a1e; --accent-soft:#fde9df; --accent-glow:rgba(227,92,43,.18);
      --ink:#1e2233; --muted:#6b7280; --line:#e6e2d8; --bg:#f5eee0; --card:#ffffff;
      --ok:#16a34a; --okbg:#e9f9ef; --danger:#e11d48; --dangerbg:#fdecef;
      --warn:#b45309; --warnbg:#fef6e7; --radius:18px;

      --body-bg:#f5eee0;
    }
    html[data-theme="dark"]{
      --accent:#f0743d; --accent-dark:#f7a06c; --accent-soft:#3a2418; --accent-glow:rgba(240,116,61,.24);
      --ink:#e7e9f5; --muted:#9ca0b5; --line:#2d3044; --bg:#17140f; --card:#1c1e2c;
      --ok:#4ade80; --okbg:#173021; --danger:#f87171; --dangerbg:#3a1a20;
      --warn:#fbbf24; --warnbg:#332508; --body-bg:#17140f;
    }

    html[data-theme="dark"] .demo-login { background:#2a1f08; border-color:#a16207; }
    html[data-theme="dark"] .hm-ph,
    html[data-theme="dark"] .mc-photo,
    html[data-theme="dark"] .sheet-photo,
    html[data-theme="dark"] .var-photo { background:linear-gradient(135deg,#23263a,#1a1c2a); }
    html[data-theme="dark"] .stats-banner { background:linear-gradient(135deg,var(--accent-soft),var(--card)); }
    html[data-theme="dark"] .saved-note { background:#0d2a22; border-color:#1c5546; color:#4ade80; }
    html[data-theme="dark"] .st-Preparing,
    html[data-theme="dark"] .ocm-btn.p,
    html[data-theme="dark"] .ocm-bd.b,
    html[data-theme="dark"] .oc-quick .qk-prep,
    html[data-theme="dark"] .sb-prep:not(.act) { background:#12283d; color:#93c5fd; }
    html[data-theme="dark"] .st-Cancelled,
    html[data-theme="dark"] .st-Blocked { background:var(--dangerbg); }

    .ic { width:22px; height:22px; flex-shrink:0; fill:none; stroke:currentColor;
          stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; display:block; }

    .ic-tile { width:29px; height:29px; border-radius:8px; display:flex; align-items:center;
               justify-content:center; flex-shrink:0; color:#fff; }
    .ic-tile .ic { width:17px; height:17px; stroke-width:2.1; }
    .ic-tile.em { font-size:15px; line-height:1; }

    .pf-orb { position:relative; width:29px; height:29px; flex-shrink:0; }
    .pf-orb-core { position:absolute; inset:0; border-radius:8px;
      background:linear-gradient(135deg,#f4b942,#e35c2b 45%,#c74a1e);
      background-size:200% 200%; animation:orbShift 4s ease infinite;
      display:flex; align-items:center; justify-content:center; font-size:15px; line-height:1; z-index:2; }
    .pf-orb-ring { position:absolute; inset:0; border-radius:8px;
      border:2px solid rgba(124,58,237,0.45); animation:orbPulse 2.4s ease-out infinite; z-index:1; }
    @media (prefers-reduced-motion: reduce){
      .pf-orb-core,.pf-orb-ring { animation:none; }
      .pf-orb-ring { opacity:0.3; }
    }
    .tile-blue   { background:#3E88F7; }
    .tile-orange { background:#F0932B; }
    .tile-green  { background:#31C05D; }
    .tile-red    { background:#E8474B; }
    .tile-purple { background:#8B5CF6; }
    .tile-teal   { background:#14B8A6; }

    * { margin:0; padding:0; box-sizing:border-box; }

    input, select, textarea, button { color:var(--ink); font-family:inherit; }
    html { overflow-x:hidden; }

    html, body { overflow-anchor:none; }
    body { font-family:'Manrope','Segoe UI', system-ui, -apple-system, sans-serif; background:var(--body-bg); min-height:100dvh; color:var(--ink); transition:background .2s; overflow-x:hidden; max-width:100%; }

    @media (max-width:520px){ body { background:var(--bg); } }

    .container { overflow-x:clip; }
    #homeMealRow { max-width:100%; scrollbar-width:none; }
    #homeMealRow::-webkit-scrollbar { display:none; }
    .container { max-width:480px; margin:0 auto; background:var(--bg); min-height:100dvh; position:relative; }

    .vbrand-logo { opacity:0; transition:opacity .18s ease; }
    .vbrand-logo.vb-ready { opacity:1; }

    img.vbrand-logo { object-fit:contain; }

    img.brand-ic.vbrand-logo,
    .logo img.vbrand-logo,
    .pub-logo img.vbrand-logo,
    .bl-logo img.vbrand-logo { border-radius:50%; object-fit:cover; }
    img.h1-logo.vbrand-logo,
    img.zo-avatar.vbrand-logo { object-fit:cover; }

    .cmp-ic.usi { border-radius:50%; overflow:hidden; }
    .cmp-ic.usi img { border-radius:50%; object-fit:contain; }


    .hero { background:var(--bg); padding:20px 20px 18px; text-align:center; color:var(--ink); position:relative; border-bottom:1px solid var(--line); }
    .hero.sub-hero { padding-top:52px; }
    .hero.sub-hero.no-title { padding-top:46px; padding-bottom:0; }

    .sub-tb { position:absolute; top:10px; left:0; right:0; display:flex; align-items:center; gap:10px; padding:0 14px; }
    .brand-ic { width:22px; height:22px; vertical-align:-5px;
                margin-right:7px; display:inline-block; }
    .sub-tb .sub-brand { flex:1; min-width:0; font-size:13.5px; font-weight:900; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:left; }
    .sub-tb select { padding:5px 7px; font-size:11px; border:1.5px solid var(--line); border-radius:9px; background:var(--card); color:var(--ink); font-weight:700; }
    .back-link { position:fixed; bottom:80px; left:16px; display:inline-flex; align-items:center; gap:5px; font-size:13.5px; font-weight:800; color:#fff; background:var(--accent); border:none; font-family:inherit; padding:11px 18px; border-radius:24px; cursor:pointer; z-index:120; box-shadow:0 6px 16px rgba(227,92,43,0.35); }
    .hero .logo { margin-bottom:10px; }
    .hero .logo img { width:88px; height:88px; display:block; margin:0 auto; }
    .hero h1 { font-size:21px; font-weight:900; margin-bottom:2px; color:var(--ink); letter-spacing:-0.3px; }
    .hero .tagline { font-size:13px; color:var(--muted); margin-bottom:8px; }
    .hero-badge { display:inline-block; background:var(--accent-soft); color:var(--accent-dark); padding:5px 13px; border-radius:50px; font-size:11.5px; font-weight:700; margin:3px; }
    .hero .logo, .logo { }
    .lang-switch { position:absolute; top:14px; right:14px; }
    .lang-switch select { background:var(--bg); border:1.5px solid var(--line); color:var(--ink); font-size:12px; font-weight:700; padding:6px 10px; border-radius:10px; outline:none; }
    .lang-switch select option { color:#333; }


    #adminKitchenGate .hero, #adminLogin .hero {
      background:linear-gradient(160deg,#e35c2b 0%,#d1501f 48%,#a83a15 100%);
      border-radius:0 0 32px 32px; border-bottom:none; padding:16px 20px 30px;
      box-shadow:0 14px 30px -12px rgba(67,56,202,.5); overflow:hidden; }
    #adminKitchenGate .hero .tagline { color:rgba(255,255,255,.88); }
    #adminKitchenGate .logo-spin, #adminLogin .logo-spin { border-color:rgba(255,255,255,.3); border-top-color:#fff; }

    #authPage .hero { border-bottom:none; padding:14px 20px 16px; }
    #authPage .hero .logo-wrap { position:relative; display:inline-flex;
      animation:logoFloat 5s ease-in-out infinite; will-change:transform; }
    #authPage .hero .logo-wrap > img { position:relative; z-index:1; }
    #authPage .hero .logo-wrap::before {
      content:''; position:absolute; inset:-5px; border-radius:50%; z-index:0;
      background:conic-gradient(from 0deg, transparent 0deg, var(--accent) 70deg, transparent 150deg,
                                transparent 210deg, var(--accent) 280deg, transparent 360deg);
      opacity:0.5; animation:logoRing 7s linear infinite; will-change:transform; }
    @media (prefers-reduced-motion: reduce){
      #authPage .hero .logo-wrap { animation:none; }
      #authPage .hero .logo-wrap::before { animation:none; opacity:0.28; }
    }
    .auth-kname { font-size:22px; font-weight:800; color:var(--ink); line-height:1.2;
      letter-spacing:-0.3px; margin-top:10px; }
    .auth-kloc { font-size:13px; color:var(--muted); font-weight:500; margin:4px 0 8px; }
    #adminKitchenGate .hero h1, #adminLogin .hero h1 { color:#fff; }

    .auth-back-btn { position:absolute; top:14px; left:14px; z-index:5;
      width:34px; height:34px; border-radius:50%; background:#fff;
      box-shadow:0 4px 10px rgba(0,0,0,.2); display:flex; align-items:center;
      justify-content:center; font-size:19px; font-weight:900; line-height:1;
      color:#c74a1e; cursor:pointer; }

    .hero-illus { display:flex; justify-content:center; margin:4px 0 8px;
      animation:heroIllusIn .6s cubic-bezier(.34,1.56,.64,1) both; }
    .hero-illus svg { width:180px; max-width:72%; height:auto; overflow:visible; display:block; }
    @keyframes heroIllusIn { from{ opacity:0; transform:translateY(10px) scale(.92); } to{ opacity:1; transform:none; } }
    .hi-tiffin { transform-box:fill-box; transform-origin:center; animation:hiFloat 3.2s ease-in-out infinite; }
    @keyframes hiFloat { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-7px); } }
    .hi-shadow { fill:rgba(0,0,0,.24); transform-box:fill-box; transform-origin:center; animation:hiShadow 3.2s ease-in-out infinite; }
    @keyframes hiShadow { 0%,100%{ transform:scale(1); opacity:.55; } 50%{ transform:scale(.8); opacity:.3; } }
    .hi-steam path { fill:none; stroke:rgba(255,255,255,.85); stroke-width:4; stroke-linecap:round;
      opacity:0; transform-box:fill-box; transform-origin:center; }
    .hi-steam .s1 { animation:hiSteam 2.6s ease-in-out infinite; }
    .hi-steam .s2 { animation:hiSteam 2.6s ease-in-out infinite .5s; }
    .hi-steam .s3 { animation:hiSteam 2.6s ease-in-out infinite 1s; }
    @keyframes hiSteam { 0%{ opacity:0; transform:translateY(6px) scaleY(.6); } 35%{ opacity:.9; } 100%{ opacity:0; transform:translateY(-16px) scaleY(1); } }
    .hi-sparkle .star, .hi-sparkle .dot { transform-box:fill-box; transform-origin:center; animation:hiTwinkle 1.9s ease-in-out infinite; }
    .hi-sparkle .dot { animation-delay:.5s; }
    @keyframes hiTwinkle { 0%,100%{ opacity:.3; transform:scale(.75); } 50%{ opacity:1; transform:scale(1.15); } }
    @media (prefers-reduced-motion: reduce) {
      .hero-illus, .hi-tiffin, .hi-shadow, .hi-steam path, .hi-sparkle .star, .hi-sparkle .dot { animation:none !important; }
    }

    .fresh-strip { background:var(--warnbg); border-bottom:1px solid #f0d9a8; padding:10px 16px; font-size:12.5px; font-weight:600; color:#7a5b00; text-align:center; line-height:1.45; }
    .profile-strip { background:var(--accent-soft); border-bottom:1px solid #e0e4ff; padding:10px 16px; font-size:13px; font-weight:700; color:var(--ink); display:flex; justify-content:space-between; align-items:center; }
    .logout-link { color:var(--danger); font-weight:800; font-size:12.5px; cursor:pointer; }
    .success-note { font-size:12px; color:var(--muted); line-height:1.5; margin:6px 0 14px; background:var(--okbg); border-radius:10px; padding:10px 12px; }
    .upi-pay-box { background:var(--accent-soft); border:2px solid var(--accent); border-radius:16px; padding:18px 16px; margin:4px 0 16px; box-shadow:0 6px 18px rgba(227,92,43,0.15); }
    .upi-pay-box .upb-title { font-size:12px; font-weight:800; color:var(--accent-dark); text-transform:uppercase; letter-spacing:0.5px; margin-bottom:5px; }
    .upi-pay-box .upb-amt { font-size:30px; font-weight:900; color:var(--ink); margin-bottom:14px; }
    .upi-pay-box .upb-qr { margin:0 auto; width:180px; height:180px; background:var(--card); border-radius:14px; padding:10px; border:1.5px solid var(--line); }
    .upi-pay-box .upb-qr img { width:100%; height:100%; }
    .upi-pay-box .upb-scan { font-size:12px; color:var(--muted); font-weight:700; margin-top:10px; }
    .upi-pay-box .upb-vpa { display:flex; align-items:center; justify-content:center; gap:8px; font-size:13.5px; font-weight:800; color:var(--ink); background:var(--card); border:1.5px solid var(--line); border-radius:11px; padding:12px; margin-top:12px; cursor:pointer; letter-spacing:0.3px; }
    .upi-pay-box .upb-vpa span { font-size:10.5px; font-weight:800; color:var(--accent-dark); background:var(--accent-soft); border-radius:7px; padding:4px 8px; }
    .upi-pay-box .upb-apps { display:flex; gap:7px; margin-top:11px; }
    .upi-pay-box .upb-apps a { flex:1; background:var(--card); border:1.5px solid var(--line); border-radius:10px; padding:10px 4px; font-size:11.5px; font-weight:800; color:var(--accent-dark); text-decoration:none; }
    .upi-pay-box .upb-ref { font-size:10.5px; color:var(--muted); margin-top:10px; letter-spacing:0.3px; }
    .upi-pay-box .upb-link { display:inline-block; margin-top:12px; font-size:12.5px; font-weight:800; color:var(--accent-dark); text-decoration:none; }
    .coupon-warn { background:var(--warnbg); border:1.5px solid var(--warn); color:var(--warn);
                   border-radius:12px; padding:12px 14px; font-size:12.5px; font-weight:700;
                   line-height:1.6; margin-bottom:12px; text-align:left; }
    .cod-note, .fresh-note { background:var(--okbg); border:1.5px dashed var(--ok); border-radius:13px; padding:14px; font-size:12.5px; font-weight:700; color:#166534; line-height:1.6; text-align:center; }
    .kitchen-avail-banner { border-radius:12px; padding:9px 13px; font-size:12.5px; font-weight:600; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
    .kitchen-avail-banner.kab-open { background:var(--okbg); color:#166534; }
    .kitchen-avail-banner.kab-closed { background:var(--dangerbg); color:var(--danger); }
    .kitchen-avail-banner .kab-sub { opacity:0.8; font-weight:600; }
    .upi-pay-box .upb-note { font-size:11px; color:var(--muted); margin-top:12px; line-height:1.5; }
    .spin { display:inline-block; width:13px; height:13px; border:2px solid rgba(255,255,255,0.45); border-top-color:#fff; border-radius:50%; animation:sp .7s linear infinite; vertical-align:-2px; }
    button.is-busy { opacity:0.75; cursor:progress; }
    button.is-busy .spin { border-color:rgba(0,0,0,0.18); border-top-color:currentColor; }

    .mc-add .spin { border-color:rgba(0,0,0,0.15); border-top-color:var(--accent); }
    @keyframes sp { to{ transform:rotate(360deg); } }
    .paid-badge { background:var(--okbg); color:var(--ok); font-size:9.5px; font-weight:800; padding:2px 8px; border-radius:9px; }
    .info-strip { display:flex; align-items:center; gap:8px; background:var(--accent-soft); border:1.5px solid var(--line); border-radius:11px; padding:9px 12px; font-size:11px; color:var(--accent-dark); font-weight:700; margin-bottom:10px; line-height:1.4; }
    .info-strip .is-x { margin-left:auto; cursor:pointer; color:var(--muted); font-weight:800; padding:0 4px; }
    .sub-push { background:var(--accent-soft); border:1px solid var(--line); border-radius:14px;
      padding:13px 15px; font-size:12.5px; font-weight:700; color:var(--accent-dark); margin:0 0 14px;
      cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:10px;
      transition:transform .15s cubic-bezier(.2,.8,.2,1); }
    .sub-push:active { transform:scale(0.985); }



    .ai-orb { position:relative; width:42px; height:42px; flex:0 0 auto; }
    .ai-orb .orb-core { position:absolute; inset:0; border-radius:50%;
      background:linear-gradient(135deg,#f4b942,#e35c2b 45%,#c74a1e);
      background-size:200% 200%; animation:orbShift 4s ease infinite;
      display:flex; align-items:center; justify-content:center; font-size:18px; z-index:2;
      box-shadow:0 3px 12px rgba(124,58,237,0.45); }
    .ai-orb .orb-ring { position:absolute; inset:0; border-radius:50%;
      border:2px solid rgba(124,58,237,0.5); animation:orbPulse 2.4s ease-out infinite; }
    .ai-orb .orb-ring:nth-child(2) { animation-delay:1.2s; }
    .ai-orb .spark { position:absolute; font-size:9px; animation:sparkFloat 3s ease-in-out infinite; }
    .ai-orb .spark.s1 { top:-3px; right:-2px; animation-delay:0s; }
    @keyframes orbShift { 0%,100%{background-position:0% 50%;} 50%{background-position:100% 50%;} }
    @keyframes orbPulse { 0%{transform:scale(1);opacity:0.7;} 100%{transform:scale(1.7);opacity:0;} }
    @keyframes sparkFloat { 0%,100%{transform:translateY(0) scale(1);opacity:0.5;} 50%{transform:translateY(-4px) scale(1.25);opacity:1;} }
    @media (prefers-reduced-motion: reduce) {
      .ai-orb .orb-core,.ai-orb .orb-ring,.ai-orb .spark { animation:none; }
      .ai-orb .orb-ring { opacity:0.35; }
    }
    .demo-bar { position:fixed; top:0; left:0; right:0; z-index:9000; background:linear-gradient(90deg,#f59e0b,#f97316);
      color:#fff; font-size:11.5px; font-weight:900; text-align:center; padding:6px 12px; letter-spacing:.2px; }
    body.demo-on { padding-top:26px; }
    body.demo-on .hd, body.demo-on .admin-topbar { top:26px; }
    .demo-login { background:#fff7ed; border:1.5px dashed #f59e0b; border-radius:13px; padding:13px; margin-bottom:14px; }
    .demo-login .dl-t { font-size:13px; font-weight:900; color:#b45309; }
    .demo-login .dl-s { font-size:11.5px; color:var(--muted); margin:3px 0 10px; line-height:1.5; }
    .demo-login button { width:100%; background:#f59e0b; color:#fff; border:none; padding:11px; border-radius:11px; font-size:13px; font-weight:900; cursor:pointer; font-family:inherit; }
    .demo-creds { background:var(--accent-soft); border-radius:9px; padding:9px 11px; font-size:11.5px; font-weight:700; color:var(--accent-dark); margin-top:9px; line-height:1.7; }


    #qaView { position:fixed; top:0; left:50%; transform:translateX(-50%);
              width:100%; max-width:480px; height:100dvh; z-index:100;
              display:flex; flex-direction:column; background:var(--bg); }
    .qa-top { background:var(--card); padding:12px 14px; display:flex; align-items:center; gap:11px; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; box-shadow:0 1px 8px -4px rgba(0,0,0,0.15); flex:0 0 auto; }
    .qa-top .qa-back { font-size:20px; color:var(--muted); cursor:pointer; padding:0 4px; }
    .qa-top .qa-t { font-size:13.5px; font-weight:900; color:var(--ink); }
    .qa-top .qa-s { font-size:10.5px; color:var(--ok); font-weight:700; }
    .qa-body { flex:1 1 auto; overflow-y:auto; overscroll-behavior:contain; padding:16px 14px 10px; -webkit-overflow-scrolling:touch; }
    .qa-msg { display:flex; margin-bottom:11px; align-items:flex-end; gap:7px; }
    .qa-msg.me { justify-content:flex-end; }
    .qa-msg.bot::before { content:""; width:26px; height:26px; border-radius:50%; flex:0 0 auto;
      background:linear-gradient(135deg,#f4b942,#e35c2b 45%,#c74a1e); align-self:flex-end; }
    .qa-bub { max-width:80%; padding:10px 13px; border-radius:16px; font-size:12.5px; line-height:1.55; box-shadow:0 1px 3px rgba(0,0,0,0.06); }
    .qa-msg.me .qa-bub { background:var(--accent); color:#fff; border-bottom-right-radius:5px; }
    .qa-msg.bot .qa-bub { background:var(--card); border:1px solid var(--line); border-bottom-left-radius:5px; color:var(--ink); }
    .qa-msg.bot .qa-bub.warn { background:var(--warnbg); border-color:#f0d9a8; color:var(--warn); }
    .qa-sug { display:flex; flex-wrap:wrap; gap:6px; padding:2px 14px 10px; flex:0 0 auto; }
    .qa-sug span { font-size:11px; font-weight:700; padding:7px 12px; border-radius:15px; border:1.5px solid var(--line); background:var(--card); color:var(--accent); cursor:pointer; transition:background .15s; }
    .qa-sug span:active { background:var(--accent-soft); }
    .qa-in { background:var(--card); border-top:1px solid var(--line); padding:10px 14px calc(10px + env(safe-area-inset-bottom)); display:flex; gap:9px; align-items:center; flex:0 0 auto; }

    .qa-in { padding-bottom:calc(90px + env(safe-area-inset-bottom)); }
    .qa-in input { flex:1; border:1.5px solid var(--line); border-radius:20px; padding:10px 15px; font-size:12.5px; background:var(--bg); color:var(--ink); font-family:inherit; }
    .qa-in input:focus { outline:none; border-color:var(--accent); }
    .qa-in .qa-send { width:38px; height:38px; border-radius:50%; background:var(--accent); color:#fff; border:none; display:flex; align-items:center; justify-content:center; font-size:16px; flex:0 0 auto; cursor:pointer; }
    .qa-in .qa-send:disabled { opacity:0.45; }
    .qa-typing span { display:inline-block; width:6px; height:6px; margin:0 1.5px; border-radius:50%; background:var(--muted); animation:qaDot 1.2s infinite; }
    .qa-typing span:nth-child(2){animation-delay:.2s;} .qa-typing span:nth-child(3){animation-delay:.4s;}
    @keyframes qaDot { 0%,60%,100%{opacity:.3;transform:translateY(0);} 30%{opacity:1;transform:translateY(-3px);} }

    .lp-sec-t { font-size:14px; font-weight:900; color:var(--ink); margin:18px 0 10px; }
    .hm-card { display:flex; align-items:center; gap:12px; background:var(--card); border:1.5px solid var(--line); border-radius:14px; padding:11px 13px; margin-bottom:9px; cursor:pointer; }
    .hm-ph { width:52px; height:52px; border-radius:12px; background:linear-gradient(135deg,#f0f2f8,#e2e6f0); display:flex; align-items:center; justify-content:center; font-size:26px; overflow:hidden; flex-shrink:0; }
    .hm-ph img { width:100%; height:100%; object-fit:cover; }
    .hm-mid { flex:1; min-width:0; }
    .hm-nm { font-size:14px; font-weight:800; color:var(--ink); }
    .hm-pr { font-size:12px; color:var(--muted); font-weight:700; margin-top:2px; }
    .hm-pill { font-size:9.5px; font-weight:800; padding:3px 9px; border-radius:10px; flex-shrink:0; }
    .hm-pill.open { background:var(--okbg); color:var(--ok); }
    .hm-pill.closed { background:var(--dangerbg); color:var(--danger); }

    .fmeal { position:relative; border-radius:20px; overflow:hidden; height:150px; margin-bottom:14px;
      box-shadow:0 5px 18px rgba(0,0,0,0.10); cursor:pointer; background:var(--card); }
    html[data-theme="dark"] .fmeal { box-shadow:0 5px 18px rgba(0,0,0,0.4); }


    .h1-top { display:flex; align-items:center; gap:12px; padding:14px 18px 12px; }
    .h1-logo { width:44px; height:44px; border-radius:50%; object-fit:cover; flex-shrink:0;
      box-shadow:0 2px 8px rgba(0,0,0,0.10); }
    .h1-tt { flex:1; min-width:0; }
    .h1-name { font-size:17px; font-weight:800; color:var(--ink); line-height:1.2; letter-spacing:-0.3px;
      white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .h1-loc { font-size:11.5px; color:var(--muted); font-weight:500; margin-top:2px;
      white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }


    .h1-top.h1-centered { flex-direction:column; align-items:center; text-align:center; gap:10px; padding:22px 18px 16px; position:relative; }
    .h1-top.h1-centered .h1-logo { width:96px; height:96px; box-shadow:0 4px 16px rgba(0,0,0,0.12); }

    .h1-logo-wrap { position:relative; display:inline-flex; flex-shrink:0; }
    .h1-logo-wrap > img { position:relative; z-index:1; }
    .h1-top.h1-centered .h1-logo-wrap { animation:logoFloat 5s ease-in-out infinite; will-change:transform; }
    .h1-top.h1-centered .h1-logo-wrap::before {
      content:''; position:absolute; inset:-5px; border-radius:50%; z-index:0;
      background:conic-gradient(from 0deg, transparent 0deg, var(--accent) 70deg, transparent 150deg,
                                transparent 210deg, var(--accent) 280deg, transparent 360deg);
      opacity:0.5; animation:logoRing 7s linear infinite; will-change:transform; }
    @keyframes logoFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-5px); } }
    @keyframes logoRing  { to { transform:rotate(360deg); } }
    @media (prefers-reduced-motion: reduce){
      .h1-top.h1-centered .h1-logo-wrap { animation:none; }
      .h1-top.h1-centered .h1-logo-wrap::before { animation:none; opacity:0.28; }
    }
    .h1-top.h1-centered .h1-tt { flex:none; width:100%; }


    .h1-rate { position:absolute; top:16px; left:16px; display:flex; flex-direction:column;
      align-items:center; gap:3px; z-index:2; }
    .h1-rate-pill { display:inline-flex; align-items:center; gap:4px; background:#267e3e; color:#fff;
      font-size:15px; font-weight:900; padding:5px 11px; border-radius:9px; line-height:1;
      box-shadow:0 2px 8px rgba(38,126,62,0.28); }
    .h1-rate-cnt { font-size:10.5px; font-weight:800; color:var(--muted);
      border-bottom:1.5px dotted var(--line); padding-bottom:1px; }
    .h1-top.h1-centered .h1-name { font-size:22px; white-space:normal; }
    .h1-top.h1-centered .h1-loc { font-size:13px; margin-top:4px; white-space:normal; }

    .h1-bell { position:absolute; top:16px; right:16px; z-index:2; width:38px; height:38px;
      border-radius:50%; background:var(--card); border:1.5px solid var(--line); display:flex;
      align-items:center; justify-content:center; font-size:17px; cursor:pointer;
      box-shadow:0 2px 8px rgba(0,0,0,0.08); }
    .h1-bell-badge { position:absolute; top:-4px; right:-4px; min-width:17px; height:17px; padding:0 4px;
      border-radius:9px; background:var(--danger); color:#fff; font-size:9.5px; font-weight:900;
      display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 2px var(--card); }


    .h1-picker { padding:0 18px 12px; position:sticky; top:0; z-index:6;
      background:var(--body-bg); transition:box-shadow .2s ease; }
    html[data-theme="dark"] .h1-picker { background:var(--bg); }
    .h1-picker.stuck { box-shadow:0 6px 16px -8px rgba(0,0,0,0.18); }
    html[data-theme="dark"] .h1-picker.stuck { box-shadow:0 6px 16px -8px rgba(0,0,0,0.6); }


    .h1-body { padding:2px 18px 18px; }

    .h1-body.with-bar { padding-bottom:152px; }


    .c1card { background:var(--card); border:1px solid var(--line); border-radius:18px; padding:12px;
      margin-bottom:12px; box-shadow:0 1px 3px rgba(0,0,0,0.04), 0 6px 16px -10px rgba(0,0,0,0.12);
      transition:transform .18s cubic-bezier(.2,.8,.2,1), box-shadow .18s ease; }
    html[data-theme="dark"] .c1card { box-shadow:0 1px 3px rgba(0,0,0,0.3), 0 6px 16px -10px rgba(0,0,0,0.5); }

    #mealPanel.mp-anim .c1card { animation:c1in .32s cubic-bezier(.2,.8,.2,1) both; }
    #mealPanel.mp-anim .c1card:nth-child(2) { animation-delay:.05s; }
    #mealPanel.mp-anim .c1card:nth-child(3) { animation-delay:.1s; }
    @keyframes c1in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
    .c1card.c1-open:active { transform:scale(0.985); box-shadow:0 1px 2px rgba(0,0,0,0.04); }
    .c1card.c1-closed { opacity:0.55; box-shadow:none; }

    .c1-top { display:flex; gap:13px; align-items:center; }
    .c1card.c1-open .c1-top { cursor:pointer; }
    .c1-img { width:76px; height:76px; border-radius:14px; object-fit:cover; flex-shrink:0;
      background:var(--accent-soft); display:flex; align-items:center; justify-content:center; font-size:32px;
      transition:transform .25s cubic-bezier(.2,.8,.2,1); }

    .c1-imgskel { background:linear-gradient(100deg, var(--accent-soft) 30%, rgba(255,255,255,.55) 50%, var(--accent-soft) 70%);
      background-size:200% 100%; animation:c1shimmer 1.1s ease-in-out infinite; }
    @keyframes c1shimmer { 0%{ background-position:200% 0; } 100%{ background-position:-200% 0; } }
    .c1-info { flex:1; min-width:0; }

    .c1-veg { width:13px; height:13px; border:1.5px solid var(--ok); border-radius:3px;
      display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
    .c1-veg::after { content:''; width:5.5px; height:5.5px; background:var(--ok); border-radius:50%; }
    .c1-h { display:flex; align-items:center; justify-content:space-between; gap:10px; }
    .c1-nw { display:flex; align-items:center; gap:7px; min-width:0; }
    .c1-name { font-size:15.5px; font-weight:800; color:var(--ink); letter-spacing:-0.2px;
      white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

    .c1-desc { font-size:11.5px; color:var(--muted); line-height:1.5; margin-top:5px; font-weight:400;
      white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

    .c1-cutoff { font-size:11px; color:var(--accent-dark); font-weight:700; margin-top:9px; }

    .c1-actions { display:flex; align-items:center; justify-content:space-between; gap:10px;
      margin-top:11px; padding-top:11px; border-top:1px solid var(--line); }
    .c1card.c1-closed .c1-actions { border-top-color:transparent; padding-top:6px; }
    .c1-cust { color:var(--accent-dark); font-weight:700; font-size:12.5px; cursor:pointer;
      padding:6px 2px; transition:opacity .15s; }
    .c1-cust:active { opacity:0.6; }
    .c1-cust-off { color:var(--muted); font-weight:600; cursor:default; }
    .c1-add { background:var(--accent); border:none; color:#fff; font-weight:800; font-size:13.5px;
      font-family:inherit; padding:10px 28px; border-radius:12px; cursor:pointer; white-space:nowrap;
      letter-spacing:0.2px; box-shadow:0 2px 8px -3px rgba(227,92,43,0.45);
      transition:transform .15s cubic-bezier(.2,.8,.2,1), box-shadow .15s ease; }
    .c1-add:active { transform:translateY(1px) scale(0.97); box-shadow:none; }
    .c1-add.off { background:transparent; color:var(--muted); box-shadow:none; border:1px solid var(--line);
      font-weight:700; padding:9px 20px; cursor:default; }

    html[data-theme="dark"] .c1-add { box-shadow:none; }

    .c1-step { display:inline-flex; align-items:center; justify-content:space-between;
      background:var(--accent); border-radius:12px; padding:2px; min-width:112px;
      box-shadow:0 2px 8px -3px rgba(227,92,43,0.45); animation:stepIn .18s cubic-bezier(.2,.8,.2,1); }
    html[data-theme="dark"] .c1-step { box-shadow:none; }
    .c1-st-btn { background:transparent; border:none; color:#fff; font-family:inherit;
      font-size:19px; font-weight:800; line-height:1; padding:8px 14px; cursor:pointer;
      border-radius:10px; transition:background .15s ease, transform .12s ease; }
    .c1-st-btn:active { background:rgba(255,255,255,0.22); transform:scale(0.9); }
    .c1-st-n { color:#fff; font-weight:900; font-size:14.5px; min-width:18px; text-align:center;
      font-variant-numeric:tabular-nums; }
    @keyframes stepIn { from{ transform:scale(0.86); opacity:0; } to{ transform:scale(1); opacity:1; } }
    @media (prefers-reduced-motion: reduce){ .c1-step { animation:none; } }
    .fmeal-img { position:absolute; inset:0; background-size:cover; background-position:center; }
    .fmeal-emoji { position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
      font-size:60px; background:var(--accent-soft); }
    .fmeal-fade { position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,0.78) 42%, rgba(0,0,0,0.15) 78%, transparent); }
    .fmeal-pill { position:absolute; top:12px; right:12px; z-index:3; background:rgba(255,255,255,0.95);
      font-size:10px; font-weight:800; padding:4px 11px; border-radius:14px; }
    .fmeal-pill.open { color:var(--ok); }
    .fmeal-pill.closed { color:#6b7280; }
    .fmeal-b { position:absolute; left:18px; top:50%; transform:translateY(-50%); right:18px; color:#fff; z-index:2; }
    .fmeal-t { font-size:19px; font-weight:900; }
    .fmeal-s { font-size:12px; opacity:0.9; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:170px; }
    .fmeal-row { display:flex; align-items:center; gap:12px; margin-top:9px; }
    .fmeal-p { font-size:21px; font-weight:900; }
    .fmeal-add { background:var(--accent); color:#fff; border:none; font-family:inherit; font-weight:900;
      font-size:12.5px; padding:8px 18px; border-radius:22px; cursor:pointer; box-shadow:0 4px 12px rgba(227,92,43,0.4); }
    .fmeal-add:active { transform:scale(0.96); }

    .fmeal-add.in-cart { background:var(--ok); }

    .mode-cards { display:flex; gap:10px; margin-top:16px; }
    .mode-card { flex:1; border:2px solid var(--line); background:var(--card); border-radius:15px; padding:16px 8px; cursor:pointer; }
    .mode-card:active, .mode-card.on { border-color:var(--accent); background:var(--accent-soft); }
    .mode-card .mc-i { font-size:26px; }
    .mode-card .mc-t { font-size:13.5px; font-weight:900; color:var(--ink); margin-top:5px; }
    .mode-card .mc-s { font-size:10px; color:var(--muted); margin-top:2px; }
    .mode-chip { display:flex; align-items:center; gap:9px; background:var(--card); border:1.5px solid var(--line); border-radius:13px; padding:11px 13px; margin-bottom:12px; }
    .mode-chip .mch-i { font-size:17px; }
    .mode-chip .mch-x { flex:1; min-width:0; }
    .mode-chip .mch-t { font-size:12.5px; font-weight:800; color:var(--ink); }
    .mode-chip .mch-s { font-size:10.5px; color:var(--muted); margin-top:1px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .mode-chip .mch-c { font-size:11.5px; font-weight:800; color:var(--accent-dark); cursor:pointer; white-space:nowrap; background:var(--accent-soft); border:1px solid var(--accent); border-radius:18px; padding:8px 14px; }
    .dtype-lbl { font-size:12.5px; font-weight:800; color:var(--ink); display:block; margin-bottom:7px; }
    .dtype { display:flex; gap:9px; margin-bottom:14px; }
    .dt { flex:1; border:2px solid var(--line); background:var(--card); border-radius:14px; padding:12px 8px; text-align:center; cursor:pointer; }
    .dt.on { border-color:var(--accent); background:var(--accent-soft); }
    .dt-i { font-size:21px; }
    .dt-t { font-size:12.5px; font-weight:900; margin-top:3px; color:var(--ink); }
    .dt.on .dt-t { color:var(--accent-dark); }
    .dt-s { font-size:9.5px; color:var(--muted); margin-top:2px; }
    .fld-hint { font-size:10.5px; color:var(--muted); margin-top:5px; line-height:1.45; }
    .cfg-chk { display:flex; align-items:center; gap:9px; background:var(--card); border:1.5px solid var(--line); border-radius:11px; padding:11px 13px; font-size:12.5px; font-weight:700; color:var(--ink); margin-bottom:8px; cursor:pointer; }
    .cfg-chk input { width:17px; height:17px; accent-color:var(--accent); }


    .pf-card { background:transparent; border-radius:0; padding:10px 18px 22px; text-align:center; color:var(--ink); }

    .pf-avwrap { position:relative; display:inline-block; }
    .pf-ava { width:92px; height:92px; border-radius:50%;
              background:linear-gradient(135deg,var(--accent),#8b93ff); color:#fff;
              display:flex; align-items:center; justify-content:center; font-size:36px; font-weight:900;
              overflow:hidden; }
    .pf-ava img { width:100%; height:100%; object-fit:cover; }
    .pf-cam { position:absolute; right:-1px; bottom:-1px; width:29px; height:29px; border-radius:50%;
              background:#3E88F7; border:3px solid var(--bg); display:flex; align-items:center;
              justify-content:center; cursor:pointer; }
    .pf-cam svg { width:14px; height:14px; fill:none; stroke:#fff; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
    .pf-avwrap.disabled .pf-cam { opacity:.45; cursor:not-allowed; }
    .pf-nm { font-size:19px; font-weight:900; margin-top:13px; color:var(--ink); }
    .pf-ph { font-size:13px; color:var(--muted); margin-top:3px; }
    .pf-box { background:var(--card); border:1.5px solid var(--line); border-radius:14px; padding:14px; }
    .pf-row { display:flex; align-items:center; gap:12px; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:13px 14px; margin-bottom:9px; cursor:pointer; font-size:13.5px; font-weight:700; color:var(--ink); transition:transform .15s cubic-bezier(.2,.8,.2,1); }
    .pf-row:active { transform:scale(0.985); }
    .pf-row i { margin-left:auto; font-style:normal; color:var(--muted); }
    .bulk-bar { display:flex; gap:8px; margin:0 0 12px; flex-wrap:wrap; }
    .bulk-bar button { flex:1; min-width:46%; padding:12px 8px; border-radius:11px; border:1.5px solid var(--line); font-size:12px; font-weight:800; cursor:pointer; }
    .bulk-bar .bb-prep { border-color:var(--accent); color:#fff; background:var(--accent); font-weight:900; box-shadow:0 3px 10px rgba(227,92,43,0.35); }
    .bulk-bar .bb-done { border-color:var(--ok); color:#fff; background:var(--ok); font-weight:900; box-shadow:0 3px 10px rgba(22,163,74,0.3); }
    .auth-vfail { text-align:center; background:var(--card); border:1.5px solid var(--line);
      border-radius:14px; padding:20px 16px; }
    .auth-vfail .avf-t { font-size:15px; font-weight:800; color:var(--ink); }
    .auth-vfail .avf-s { font-size:12.5px; color:var(--muted); font-weight:600; margin-top:6px; line-height:1.5; }
    .auth-vfail .avf-btn { margin-top:14px; width:100%; padding:13px 16px; border:none; border-radius:12px;
      background:var(--accent); color:#fff; font-size:14px; font-weight:800; cursor:pointer; }
    .promo-box { margin-top:12px; }
    .promo-input { display:flex; gap:8px; }
    .promo-input input { flex:1; padding:11px 12px; border:1.5px solid var(--line); border-radius:11px; font-size:13px; font-weight:700; text-transform:uppercase; }
    .promo-input select { flex:1; min-width:0; padding:11px 12px; border:1.5px solid var(--line); border-radius:11px; font-size:13px; font-weight:700; background:var(--card); color:var(--ink); }
    .promo-input button { background:var(--accent); color:#fff; border:none; border-radius:11px; padding:0 18px; font-weight:800; font-size:13px; cursor:pointer; }
    .promo-applied { display:flex; justify-content:space-between; align-items:center; background:var(--okbg); border:1.5px dashed var(--ok); border-radius:11px; padding:10px 13px; font-size:12.5px; font-weight:800; color:var(--ok); }
    .promo-applied small { display:block; font-size:9.5px; color:var(--muted); font-weight:600; margin-top:2px; }
    .pr-x { cursor:pointer; color:var(--muted); font-weight:900; padding:0 6px; font-size:15px; }
    .pm-row { display:flex; gap:8px; margin-top:8px; }
    .pm-row:first-child { margin-top:0; }
    .pm-sec-label { font-size:11px; font-weight:900; color:var(--accent-dark); text-transform:uppercase; letter-spacing:0.4px; margin:16px 0 8px; }
    .pm-sec-label:first-child { margin-top:0; }
    .pm-flabel { font-size:10.5px; font-weight:700; color:var(--muted); }
    .pm-check { display:flex; align-items:center; gap:10px; font-size:13px; font-weight:700; margin-top:10px; cursor:pointer; padding:8px 4px; }
    .pm-check input[type=checkbox] { width:20px; height:20px; flex-shrink:0; }
    .inp-mini { flex:1; padding:10px; border:1.5px solid var(--line); border-radius:10px; font-size:12.5px; background:var(--card); min-width:0; }
    .promo-chips { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:10px; }
    .promo-chip { background:var(--accent-soft); border:1.5px dashed var(--accent); color:var(--accent-dark); font-size:11px; font-weight:800; padding:7px 11px; border-radius:20px; cursor:pointer; }
    .policy-card { background:var(--card); border:1.5px solid var(--line); border-radius:14px; padding:16px; margin:16px; }
    .policy-t { font-size:14px; font-weight:900; color:var(--ink); margin-bottom:9px; }
    .policy-b { font-size:12px; color:var(--muted); line-height:1.8; }
    .loc-need { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
      background:var(--accent-soft); border:1.5px dashed var(--accent); border-radius:11px;
      padding:10px 12px; margin-top:10px; font-size:12px; font-weight:700; color:var(--accent-dark); }
    .loc-need button { border:none; border-radius:9px; padding:8px 12px; background:var(--accent);
      color:#fff; font-size:12px; font-weight:800; cursor:pointer; }
    .loc-need.out { background:var(--dangerbg); border-color:var(--danger); color:var(--danger); }
    .fld-hint { font-size:11px; color:var(--muted); font-weight:600; margin-top:5px; }
    .cart-deliv { display:flex; align-items:center; justify-content:space-between; gap:10px;
      background:var(--card); border:1.5px solid var(--line); border-radius:11px; padding:9px 12px; margin-top:10px; }
    .cart-deliv .cd-at { font-size:12px; font-weight:600; color:var(--muted); min-width:0; }
    .cart-deliv .cd-at b { color:var(--ink); font-weight:800; }
    .cart-deliv .cd-edit { font-size:12px; font-weight:800; color:var(--accent); cursor:pointer; white-space:nowrap; }
    .cart-break { margin-top:12px; border-top:1.5px solid var(--line); padding-top:10px; }
    .cart-break .cb-row { display:flex; justify-content:space-between; font-size:12.5px; color:var(--muted); font-weight:600; padding:3px 0; }
    .cart-break .cb-row.total { font-size:15px; color:var(--ink); font-weight:900; margin-top:4px; }
    .alert-toggle { float:right; font-size:12px; font-weight:800; color:var(--muted); border:1.5px solid var(--line); border-radius:20px; padding:5px 12px; cursor:pointer; background:var(--card); }
    .alert-toggle.on { color:var(--ok); border-color:var(--ok); background:var(--okbg); }
    .no-banner { position:fixed; inset:0; background:rgba(225,29,72,0.97); z-index:400; display:flex; align-items:center; justify-content:center; animation:nobPulse 1s infinite; }
    .no-banner.hidden { display:none !important; }
    @keyframes nobPulse { 0%,100%{background:rgba(225,29,72,0.97);} 50%{background:rgba(159,18,57,0.97);} }
    .nob-card { text-align:center; color:#fff; padding:24px; }
    .nob-ic { font-size:66px; animation:nobShake .5s infinite; display:inline-block; }
    @keyframes nobShake { 0%,100%{transform:rotate(-8deg);} 50%{transform:rotate(8deg);} }
    .nob-t { font-size:26px; font-weight:900; letter-spacing:1.5px; margin-top:8px; }
    .nob-name { font-size:20px; font-weight:800; margin-top:12px; }
    .nob-info { font-size:14px; opacity:0.92; margin-top:4px; }
    .nob-total { font-size:36px; font-weight:900; margin-top:12px; }
    .nob-btn { margin-top:24px; background:var(--card); color:#e11d48; border:none; border-radius:14px; padding:16px 32px; font-size:16px; font-weight:900; cursor:pointer; }
    /* Ek "Dismiss" ki jagah ab do jawaab: le liya / nahi le sakte. Ghanti inhi
       me se ek dabane par rukti hai, isliye dono thumb ke neeche full width. */
    .nob-btns { margin-top:24px; display:flex; flex-direction:column; gap:10px; }
    .nob-btns .nob-btn { margin-top:0; width:100%; }
    .nob-btn.no { background:transparent; color:#fff; border:2px solid rgba(255,255,255,0.55); }
    .nob-later { margin-top:16px; color:rgba(255,255,255,0.85); font-size:12.5px; text-decoration:underline; cursor:pointer; }

    .menu-topbar { display:flex; align-items:center; gap:10px; padding:12px 14px; background:var(--card); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; }
    .menu-topbar .mt-title { flex:1; min-width:0; }
    .menu-topbar .mt-name { font-size:15px; font-weight:900; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .menu-topbar .mt-user { font-size:11px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .menu-topbar .lang-switch select { padding:5px 7px; font-size:11px; }
    .menu-scroll { padding:12px 14px 152px; }
    .menu-dt { display:flex; gap:10px; margin-bottom:12px; }
    .menu-dt .mdt-cell { flex:1; }
    .menu-dt .mdt-cell + .mdt-cell { margin-top:12px; }
    .menu-dt .mdt-lbl { font-size:10px; font-weight:800; color:var(--accent-dark); text-transform:uppercase; letter-spacing:0.5px; margin-bottom:6px; display:block; }
    .menu-dt select { width:100%; padding:12px 12px; border:1px solid var(--line); border-radius:13px; font-size:13.5px; font-weight:700; background:var(--card); color:var(--ink); font-family:inherit; transition:border-color .18s ease; }
    .menu-dt select:focus { outline:none; border-color:var(--accent); }


    .mcard { background:var(--card); margin-bottom:12px; border-radius:16px; border:1.5px solid var(--line); padding:13px; cursor:pointer; }
    .mc-body { display:flex; gap:13px; }
    .mcard:active { box-shadow:0 4px 14px rgba(227,92,43,0.15); }
    .mc-left { flex:1; min-width:0; }
    .veg-mark { width:15px; height:15px; border:1.5px solid var(--ok); border-radius:3px; display:flex; align-items:center; justify-content:center; margin-bottom:6px; }
    .veg-mark::after { content:''; width:7px; height:7px; background:var(--ok); border-radius:50%; }
    .mc-name { font-size:15px; font-weight:800; color:var(--ink); margin-bottom:4px; }
    .mc-price { font-size:14.5px; font-weight:900; color:var(--ink); margin-bottom:5px; }
    .mc-price small { font-size:11px; color:var(--muted); font-weight:700; }
    .mc-desc { font-size:11.5px; color:var(--muted); line-height:1.45; }
    .mc-right { width:112px; flex-shrink:0; }
    .mc-photo { width:112px; height:104px; border-radius:14px; object-fit:cover; background:linear-gradient(135deg,#f0f2f8,#e2e6f0); display:flex; align-items:center; justify-content:center; font-size:38px; }
    .mc-actions { display:flex; align-items:center; justify-content:space-between; gap:10px;
                  margin-top:13px; padding-top:12px; border-top:1px solid var(--line); }

    .mc-add { background:var(--accent); border:none; color:#fff; font-weight:900; font-size:14px;
              font-family:inherit; padding:11px 30px; border-radius:12px; cursor:pointer;
              white-space:nowrap; box-shadow:0 4px 12px rgba(227,92,43,0.28); }
    .mc-add:active { transform:translateY(1px); }

    .mc-cust { background:none; border:none; font-family:inherit; font-size:12.5px; font-weight:800;
               color:var(--accent-dark); padding:10px 4px; cursor:pointer; white-space:nowrap; }
    .menu-closed { text-align:center; padding:40px 20px; color:var(--muted); font-size:13px; font-weight:600; background:var(--card); border-radius:14px; border:1.5px solid var(--line); }
    .already-card { text-align:center; padding:34px 20px; background:var(--card); border-radius:14px; border:1.5px solid var(--ok); }
    .already-card .ac-ic { font-size:38px; }
    .already-card .ac-t { font-size:14.5px; font-weight:900; color:var(--ink); margin-top:9px; line-height:1.45; }
    .already-card .ac-s { font-size:12px; font-weight:800; color:var(--ok); margin-top:5px; }


    .sheet-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.5); display:flex; align-items:flex-end; justify-content:center; z-index:200; }
    .sheet-overlay.hidden { display:none !important; }
    .sheet { background:var(--bg); width:100%; max-width:480px; border-radius:22px 22px 0 0; max-height:92vh; overflow-y:auto; animation:sheetUp .25s ease; }
    @keyframes sheetUp { from{transform:translateY(100%);} to{transform:translateY(0);} }
    .sheet-photo { width:100%; height:140px; background:linear-gradient(135deg,#f0f2f8,#e2e6f0); display:flex; align-items:center; justify-content:center; font-size:54px; border-radius:22px 22px 0 0; }
    .sheet-close { position:absolute; top:10px; right:12px; width:32px; height:32px; background:rgba(0,0,0,0.5); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:17px; z-index:2; cursor:pointer; }
    .sheet-body { padding:14px 16px 0; }
    .sh-name { font-size:19px; font-weight:900; color:var(--ink); }
    .sh-desc { font-size:11.5px; color:var(--muted); line-height:1.5; margin-top:3px; }
    .sh-block { background:var(--card); border-radius:14px; padding:14px; margin-top:12px; border:1.5px solid var(--line); }
    .sh-block-title { font-size:13.5px; font-weight:900; color:var(--ink); }
    .sh-block-sub { font-size:10.5px; color:var(--muted); margin:1px 0 10px; }
    .sh-opt { display:flex; align-items:center; justify-content:space-between; padding:11px; border:2px solid var(--line); border-radius:12px; margin-bottom:8px; cursor:pointer; }
    .sh-opt:last-child { margin-bottom:0; }
    .sh-opt.sel { border-color:var(--accent); background:var(--accent-soft); }
    .sh-opt .oi-name { font-size:14px; font-weight:800; color:var(--ink); }
    .sh-opt .oi-desc { font-size:10px; color:var(--muted); margin-top:2px; line-height:1.35; }
    .sh-opt-r { display:flex; align-items:center; gap:9px; flex-shrink:0; margin-left:10px; }
    .sh-opt-price { font-size:14px; font-weight:900; color:var(--ok); }
    .sh-radio { width:20px; height:20px; border:2px solid var(--accent); border-radius:50%; display:flex; align-items:center; justify-content:center; }
    .sh-radio.on::after { content:''; width:11px; height:11px; background:var(--accent); border-radius:50%; }
    .sh-lbl { font-size:12px; font-weight:700; color:var(--ink); margin:10px 0 5px; }
    .sh-lbl:first-child { margin-top:0; }
    .sh-select { width:100%; height:auto; min-height:48px; padding:14px 11px; line-height:1.8; border:1.5px solid var(--line); border-radius:11px; font-size:13px; font-weight:700; background:var(--card); color:var(--ink); }
    .sh-chips { display:flex; gap:8px; flex-wrap:wrap; }
    .sh-chip { padding:8px 13px; border:1.5px solid var(--line); border-radius:20px; font-size:12px; font-weight:700; color:var(--ink); background:var(--card); cursor:pointer; white-space:nowrap; }
    .sh-chip.on { border-color:var(--accent); background:var(--accent-soft); color:var(--accent-dark); }
    .sh-addons-row { display:flex; gap:8px; overflow-x:auto; padding-bottom:2px; -webkit-overflow-scrolling:touch; }
    .sh-addons-row::-webkit-scrollbar { display:none; }
    .sh-foot { position:sticky; bottom:0; background:var(--card); border-top:1.5px solid var(--line); padding:11px 14px; display:flex; gap:11px; align-items:center; margin-top:12px; }
    .sh-qty { display:flex; align-items:center; border:1.5px solid var(--accent); border-radius:12px; overflow:hidden; flex-shrink:0; }
    .sh-qty button { width:36px; height:44px; border:none; background:var(--card); color:var(--accent-dark); font-size:20px; font-weight:900; cursor:pointer; }
    .sh-qty .qn { width:30px; text-align:center; font-size:15px; font-weight:800; }
    .sh-add { flex:1; background:var(--accent); color:#fff; border:none; border-radius:12px; padding:14px; font-size:15px; font-weight:900; cursor:pointer; }


    .dt-chips { display:flex; gap:8px; }
    .dt-chip { flex:1; text-align:center; padding:9px 0; border:1.5px solid var(--line); border-radius:12px; font-size:12.5px; font-weight:800; color:var(--ink); background:var(--card); cursor:pointer; }
    .dt-chip.sel { border-color:var(--accent); background:var(--accent-soft); color:var(--accent-dark); }
    .dt-chip.off { opacity:0.4; cursor:not-allowed; }


    .var-meal-tabs { display:flex; gap:8px; margin-bottom:12px; }
    .var-meal-tabs button { flex:1; padding:9px 4px; border:1.5px solid var(--line); border-radius:10px; background:var(--card); font-size:12px; font-weight:800; color:var(--muted); cursor:pointer; }
    .var-meal-tabs button.on { border-color:var(--accent); background:var(--accent-soft); color:var(--accent-dark); }
    .var-card { background:var(--card); border:1.5px solid var(--line); border-radius:14px; padding:13px; margin-bottom:12px; }
    .var-card .vc-top { display:flex; gap:12px; }
    .var-photo { width:84px; height:84px; border-radius:12px; background:linear-gradient(135deg,#f0f2f8,#e2e6f0); display:flex; align-items:center; justify-content:center; font-size:30px; flex-shrink:0; overflow:hidden; position:relative; cursor:pointer; }
    .var-photo img { width:100%; height:100%; object-fit:cover; }
    .var-photo .vp-edit { position:absolute; bottom:0; left:0; right:0; background:rgba(0,0,0,0.55); color:#fff; font-size:8.5px; font-weight:700; text-align:center; padding:2px; }
    .var-fields { flex:1; min-width:0; }
    .var-fields input, .var-fields textarea { width:100%; padding:8px 10px; border:1.5px solid var(--line); border-radius:9px; font-size:12.5px; margin-bottom:6px; font-family:inherit; background:var(--card); color:var(--ink); }
    .var-fields textarea { resize:vertical; min-height:52px; }
    .var-row2 { display:flex; gap:8px; }
    .var-row2 input { flex:1; }
    .var-del { background:none; border:none; color:var(--danger); font-size:12px; font-weight:800; cursor:pointer; padding:4px 0; }
    .var-up-status { font-size:10px; color:var(--muted); margin-top:2px; }

    .date-tabs { display:flex; gap:8px; margin:4px 0 12px; }
    .date-tabs .dt-btn { flex:1; padding:10px 4px; border:1.5px solid var(--line); border-radius:11px; background:var(--card); font-size:12.5px; font-weight:800; color:var(--muted); cursor:pointer; }
    .date-tabs .dt-btn.active { border-color:var(--accent); background:var(--accent); color:#fff; }
    .oc { cursor:pointer; }
    .oc-tap-hint { font-size:10px; color:var(--accent-dark); font-weight:700; margin-top:6px; text-align:right; }

    .notif-row.unread { border-left:3px solid var(--accent); }

    .bulk-hist-table { width:100%; border-collapse:collapse; font-size:12.5px; }
    .bulk-hist-table th { text-align:left; color:var(--muted); font-size:11px; font-weight:800; padding:6px 8px; border-bottom:1.5px solid var(--line); white-space:nowrap; }
    .bulk-hist-table td { padding:9px 8px; border-bottom:1px solid var(--line); font-weight:700; color:var(--ink); white-space:nowrap; }
    .bulk-hist-table tr:last-child td { border-bottom:none; }
    .om-meal { background:var(--card); border:1.5px solid var(--line); border-radius:13px; padding:13px; margin-top:12px; }
    .om-meal .omm-head { display:flex; align-items:center; justify-content:space-between; font-size:14.5px; font-weight:900; color:var(--ink); margin-bottom:8px; }
    .om-meal .omm-badge { background:var(--accent-soft); color:var(--accent-dark); font-size:11px; font-weight:800; padding:3px 10px; border-radius:12px; }
    .om-line { display:flex; justify-content:space-between; font-size:12.5px; padding:4px 0; border-bottom:1px dashed var(--line); gap:12px; }
    .om-line:last-child { border-bottom:none; }
    .om-line .l { color:var(--muted); font-weight:600; flex-shrink:0; }
    .om-line .r { color:var(--ink); font-weight:700; text-align:right; }
    .om-addr { background:var(--bg); border-radius:12px; padding:12px; margin-top:12px; font-size:12.5px; line-height:1.7; }
    .om-total { display:flex; justify-content:space-between; align-items:center; margin-top:14px; padding:14px; background:var(--okbg); border-radius:12px; }
    .om-total .t-lbl { font-size:13px; font-weight:800; color:var(--ink); }
    .om-total .t-amt { font-size:20px; font-weight:900; color:var(--ok); }
    .om-status-btns { display:flex; gap:8px; margin-top:14px; }
    .om-status-btns button { flex:1; padding:12px 4px; border-radius:11px; border:1.5px solid var(--line); font-size:12px; font-weight:800; cursor:pointer; background:var(--card); }

    .ord-row { display:flex; align-items:center; gap:11px; background:var(--card); border:1.5px solid var(--line); border-radius:13px; padding:12px 13px; margin-bottom:9px; cursor:pointer; }
    .ord-row:active { box-shadow:0 3px 12px rgba(227,92,43,0.14); }
    .ord-row .or-date { flex:1; min-width:0; }
    .ord-row .or-d1 { font-size:13.5px; font-weight:800; color:var(--ink); }
    .ord-row .or-d2 { font-size:11px; color:var(--muted); margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .ord-row .or-right { text-align:right; flex-shrink:0; }
    .ord-row .or-total { font-size:14px; font-weight:900; color:var(--ink); }
    .ord-row .or-chev { color:var(--muted); font-size:16px; flex-shrink:0; }
    .ord-pill { display:inline-block; font-size:9.5px; font-weight:800; padding:2px 8px; border-radius:10px; margin-top:3px; }


    .bottom-nav { position:fixed; bottom:14px; left:50%; transform:translateX(-50%);
                  width:calc(100% - 26px); max-width:430px; background:var(--card);
                  border:1px solid var(--line); border-radius:26px; display:flex;
                  padding:6px 5px; z-index:150; box-shadow:0 8px 26px rgba(0,0,0,0.16); }
    .bn-item { flex:1; display:flex; flex-direction:column; align-items:center; gap:2px; padding:7px 3px 6px; cursor:pointer; position:relative; border:none; background:none; border-radius:20px; transition:background .18s; }
    .bn-item.active { background:var(--accent-soft); }

    .bn-av { width:23px; height:23px; border-radius:50%; display:flex; align-items:center;
             justify-content:center; font-size:11px; font-weight:900; color:#fff;
             background:linear-gradient(135deg,var(--accent),#8b93ff); flex-shrink:0; }
    .bn-item .bn-ic { width:23px; height:23px; color:var(--muted); transition:color .15s; }
    .bn-item .bn-lbl { font-size:9.5px; font-weight:700; color:var(--muted); }
    .bn-item.active .bn-ic { color:var(--accent); }
    .bn-item.active .bn-lbl { color:var(--accent-dark); }
    .bn-item .bn-badge { position:absolute; top:3px; right:calc(50% - 17px); background:var(--danger); color:#fff; font-size:9px; font-weight:800; min-width:15px; height:15px; border-radius:8px; display:flex; align-items:center; justify-content:center; padding:0 3px; }
    .bn-badge.zero { display:none; }
    .sticky-bar.no-nav { bottom:14px; }

    .admin-bottom-nav { position:fixed; bottom:14px; left:50%; transform:translateX(-50%);
                  width:calc(100% - 26px); max-width:430px; background:var(--card);
                  border:1px solid var(--line); border-radius:26px; display:flex;
                  padding:6px 5px; z-index:150; box-shadow:0 8px 26px rgba(0,0,0,0.16); }
    .abn-item { flex:1; display:flex; flex-direction:column; align-items:center; gap:2px; padding:7px 3px 6px; cursor:pointer; border-radius:20px; transition:background .18s; }
    .abn-item.active { background:var(--accent-soft); }
    .abn-item .abn-ic { position:relative; font-size:19px; line-height:1; }
    .abn-item span:last-child { font-size:9.5px; font-weight:800; color:var(--muted); }
    .abn-item.active span:last-child { color:var(--accent-dark); }
    .abn-item.danger span:last-child { color:var(--danger); }
    .abn-item .abn-badge { position:absolute; top:-6px; right:-9px; margin-left:0; min-width:15px; height:15px; font-size:8.5px; padding:0 3px; box-shadow:0 0 0 2px var(--card); }
    .admin-more-sheet { width:calc(100% - 26px); max-width:404px; margin-bottom:92px;
                  background:var(--card); border:1px solid var(--line); border-radius:18px;
                  box-shadow:0 -6px 24px rgba(0,0,0,0.16); padding:6px; }
    .admin-more-sheet .more-item { display:flex; align-items:center; gap:14px; padding:13px 14px; font-size:14px; font-weight:700; color:var(--ink); cursor:pointer; border-radius:12px; }
    .admin-more-sheet .more-item:active { background:var(--accent-soft); }
    .admin-more-sheet .more-item.danger { color:var(--danger); }
    .more-item-badge { margin-left:auto; background:var(--danger); color:#fff; font-size:11px; font-weight:800; min-width:20px; height:20px; border-radius:10px; display:flex; align-items:center; justify-content:center; padding:0 6px; }
    .has-bottom-nav { padding-bottom:88px; }
    .ps-right { display:flex; align-items:center; gap:14px; }
    .drawer { position:fixed; top:0; left:0; bottom:0; width:270px; max-width:80%; background:var(--card); z-index:201; transform:translateX(-100%); transition:transform .3s ease; box-shadow:4px 0 24px rgba(0,0,0,0.2); display:flex; flex-direction:column; }
    .drawer.open { transform:translateX(0); }


    .section { padding:20px 16px; }

    .section.pad-sticky { padding-bottom:152px; }
    .section-title { font-size:17px; font-weight:800; color:var(--ink); margin-bottom:12px; }

    label.fld { display:block; font-size:13px; font-weight:700; color:var(--ink); margin-bottom:7px; }
    select.big, input.big { width:100%; padding:13px 15px; border:2px solid var(--line); border-radius:12px; font-size:15px; font-weight:600; color:var(--ink); background:var(--card); outline:none; }
    select.big { border-color:var(--accent); background:var(--bg); font-weight:700; }
    .cutoff-note { margin-top:10px; font-size:12px; color:var(--warn); background:var(--warnbg); border:1px solid #f0d9a8; border-radius:12px; padding:12px 14px; font-weight:600; line-height:1.7; white-space:pre-line; }
    .stats-banner { background:linear-gradient(135deg,var(--accent-soft),#fff); border:1.5px solid var(--accent-soft); border-radius:14px; padding:12px 14px; margin:2px 0 12px; }
    .stats-trust { font-size:11.5px; font-weight:800; color:var(--accent-dark); margin-bottom:6px; }
    .stats-live { display:flex; align-items:center; gap:10px; font-size:12.5px; color:var(--ink); font-weight:700; }
    .stats-live .n { font-size:16px; font-weight:900; color:var(--accent-dark); }
    .stats-cap-bar { height:6px; background:var(--line); border-radius:6px; margin-top:8px; overflow:hidden; }
    .stats-cap-fill { height:100%; background:var(--accent); border-radius:6px; }
    .stats-cap-fill.hot { background:var(--danger); }
    .sold-out-box { text-align:center; padding:20px 14px; background:var(--dangerbg); border-radius:14px; margin-top:10px; }
    .sold-out-box .so-title { font-size:15px; font-weight:900; color:var(--danger); margin-bottom:4px; }
    .sold-out-box .so-sub { font-size:12.5px; color:var(--muted); }


    .meal-tabs { display:flex; gap:6px; margin:6px 0 12px; }
    .meal-tab { flex:1; padding:6px 4px; border:1.5px solid var(--line); border-radius:10px; background:var(--card); font-size:11.5px; font-weight:800; color:var(--muted); cursor:pointer; text-align:center; position:relative; }
    .meal-tab.active { border-color:var(--accent); background:var(--accent-soft); color:var(--accent); }
    .meal-tab.closed { opacity:0.5; }
    .meal-tab .emoji { font-size:15px; display:inline-block; margin-right:3px; vertical-align:-1px; }
    .meal-tab .dot { position:absolute; top:4px; right:6px; width:7px; height:7px; background:var(--ok); border-radius:50%; display:none; }
    .meal-tab.incart .dot { display:block; }
    .meal-banner { width:100%; height:120px; object-fit:cover; border-radius:12px; margin-bottom:10px; display:block; }
    .tiffin-opts { display:flex; gap:8px; margin:4px 0 12px; }
    .tiffin-card { flex:1; border:2px solid var(--line); border-radius:14px; background:var(--card); cursor:pointer; overflow:hidden; text-align:center; padding-bottom:8px; }
    .tiffin-card.sel { border-color:var(--accent); background:var(--accent-soft); box-shadow:0 4px 12px rgba(102,126,234,0.18); }
    .tiffin-card img { width:100%; height:74px; object-fit:cover; display:block; }
    .tiffin-card .tc-name { font-size:13px; font-weight:800; color:var(--ink); margin-top:6px; }
    .tiffin-card.sel .tc-name { color:var(--accent); }
    .tiffin-card .tc-price { font-size:12.5px; font-weight:800; color:var(--ok); }
    .dt-row { display:flex; gap:8px; margin:10px 0 4px; }
    .dt-cell { flex:1; }
    .dt-cell .dt-lbl { font-size:11px; font-weight:800; color:var(--accent); text-transform:uppercase; letter-spacing:0.4px; margin-bottom:5px; display:block; }
    .dt-cell select, .dt-cell input[type=date] { width:100%; padding:11px 12px; border:1.5px solid var(--line); border-radius:12px; font-size:13.5px; font-weight:700; background:var(--card); color:var(--ink); font-family:inherit; -webkit-appearance:none; appearance:none; }
    .dt-cell input[type=date]:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
    .dt-cell input[type=date]::-webkit-calendar-picker-indicator { filter:invert(0.45) sepia(1) saturate(4) hue-rotate(220deg); cursor:pointer; }

    .sub-qs-row { display:flex; gap:9px; overflow-x:auto; padding:2px 2px 8px; margin-bottom:2px;
      scrollbar-width:none; -ms-overflow-style:none; }
    .sub-qs-row::-webkit-scrollbar { display:none; }
    .sub-qs-card { flex:0 0 auto; width:104px; padding:14px 10px; border:1.5px solid var(--line);
      border-radius:14px; background:var(--card); text-align:center; cursor:pointer; }
    .sub-qs-card:active { background:var(--accent-soft); border-color:var(--accent); }
    .sub-qs-ic { width:38px; height:38px; margin:0 auto 8px; border-radius:50%; background:var(--accent-soft);
      display:flex; align-items:center; justify-content:center; font-size:18px; }
    .sub-qs-lbl { font-size:12.5px; font-weight:800; color:var(--ink); line-height:1.25; }
    .sub-qs-sub { font-size:10px; font-weight:600; color:var(--muted); margin-top:2px; line-height:1.3; }

    .sub-summary-pill { display:flex; align-items:center; gap:7px; background:var(--accent-soft);
      border-radius:11px; padding:10px 13px; font-size:13px; font-weight:800; color:var(--accent-dark);
      margin-bottom:10px; }

    .sub-daylist { border:1.5px solid var(--line); border-radius:14px; overflow:hidden; margin-bottom:4px; }
    .sub-dayrow { display:flex; align-items:center; justify-content:space-between; padding:12px 14px;
      border-bottom:1px solid var(--line); cursor:pointer; }
    .sub-dayrow:last-child { border-bottom:none; }
    .sub-dayrow.on { background:var(--accent-soft); }
    .sub-dayrow-full { display:block; font-size:14px; font-weight:800; color:var(--ink); }
    .sub-dayrow-short { display:block; font-size:11px; font-weight:600; color:var(--muted); margin-top:1px; }
    .sub-daycheck { width:24px; height:24px; border-radius:7px; border:2px solid var(--line);
      background:var(--card); flex-shrink:0; display:flex; align-items:center; justify-content:center;
      font-size:14px; font-weight:900; color:#fff; }
    .sub-daycheck.on { border-color:var(--accent); background:var(--accent); }
    .sub-meal-card { border:1.5px solid var(--line); border-radius:12px; padding:12px 14px; margin-bottom:10px; }
    .sub-meal-card.on { border-color:var(--accent); background:var(--accent-soft); }
    .sub-meal-head { display:flex; align-items:center; justify-content:space-between; }
    .sub-meal-head .nm { font-size:14px; font-weight:800; color:var(--ink); }
    .sub-meal-body { margin-top:10px; }
    .sub-active-card { background:var(--accent); color:#fff; border-radius:16px; padding:16px 18px; margin-bottom:14px; }
    .sub-active-card h3 { font-size:15px; font-weight:800; margin-bottom:6px; }
    .sub-active-card .row { font-size:12.5px; opacity:0.95; margin:3px 0; line-height:1.5; }
    .sub-skip-row { display:flex; gap:8px; margin-top:10px; }
    .sub-skip-row input { flex:1; padding:9px 10px; border:none; border-radius:9px; font-size:13px; }
    .sub-skip-row button { padding:9px 14px; border:none; border-radius:9px; background:var(--card); color:var(--accent); font-weight:800; font-size:12.5px; }
    .sub-badge { display:inline-block; background:rgba(255,255,255,0.22); padding:2px 9px; border-radius:10px; font-size:11px; font-weight:800; }

    .panel { background:var(--bg); border:1.5px solid var(--line); border-radius:16px; padding:14px; margin-bottom:14px; }
    .panel .p-price { font-size:13px; font-weight:800; color:var(--ok); background:rgba(0,184,148,0.1); padding:3px 10px; border-radius:20px; display:inline-block; margin-bottom:10px; }
    .closed-msg { font-size:13px; color:var(--danger); font-weight:700; background:var(--dangerbg); border:1px solid #f5b7b1; border-radius:10px; padding:12px; text-align:center; }
    .menu-list { list-style:none; display:flex; flex-wrap:wrap; gap:7px; margin-bottom:12px; padding:0; }
    .menu-list li { background:var(--card); border:1px solid var(--line); border-radius:20px; padding:6px 12px; font-size:13px; color:var(--muted); font-weight:600; }

    .cust-label { font-size:12px; font-weight:800; color:var(--accent); letter-spacing:0.5px; text-transform:uppercase; margin:12px 0 8px; }
    .cust-row { display:flex; align-items:center; justify-content:space-between; background:var(--card); border-radius:12px; padding:10px 12px; margin-bottom:8px; font-size:14px; font-weight:600; color:var(--ink); }
    .cust-row .sub { display:block; font-size:11px; color:var(--muted); font-weight:600; }
    .cust-row select { padding:9px 12px; border:1.5px solid var(--line); border-radius:10px; font-size:14px; font-weight:600; background:var(--card); outline:none; max-width:55%; }


    .cmp-table { border:1.5px solid var(--line); border-radius:14px; overflow:hidden; }
    .cmp-row { display:grid; grid-template-columns:1fr 1fr; }
    .cmp-row:not(:last-child) { border-bottom:1px solid var(--line); }
    .cmp-row > span { padding:10px 12px; font-size:12.5px; font-weight:600; line-height:1.4; }
    .cmp-row > span:first-child { color:var(--ok); font-weight:700; border-right:1px solid var(--line); }
    .cmp-row > span:last-child { color:var(--muted); }
    .cmp-row.cmp-head { background:var(--accent-soft); }
    .cmp-row.cmp-head > span { color:var(--ink); font-weight:800; }

    .stepper { display:flex; align-items:center; gap:10px; }
    .stepper button { width:32px; height:32px; border-radius:50%; border:none; background:var(--accent-soft); color:var(--accent); font-size:18px; font-weight:800; cursor:pointer; }
    .stepper .val { min-width:22px; text-align:center; font-weight:800; font-size:15px; }

    .toggle-switch { position:relative; width:44px; height:24px; background:var(--line); border-radius:12px; cursor:pointer; transition:background .3s; flex-shrink:0; }
    .toggle-switch.active { background:var(--accent); }
    .toggle-switch::after { content:''; position:absolute; top:2px; left:2px; width:20px; height:20px; background:var(--card); border-radius:50%; transition:transform .3s; box-shadow:0 2px 4px rgba(0,0,0,0.2); }
    .toggle-switch.active::after { transform:translateX(20px); }
    .tog-wrap { display:flex; align-items:center; gap:8px; }
    .tog-side { font-size:12px; font-weight:700; color:#aaa; }
    .tog-side.on { color:var(--accent); }

    .add-cart-btn { width:100%; padding:13px; background:var(--accent); color:#fff; border:none; border-radius:12px; font-size:14.5px; font-weight:800; cursor:pointer; margin-top:6px; }
    .add-cart-btn:disabled { opacity:0.5; }

    textarea { width:100%; padding:12px 14px; border:2px solid var(--line); border-radius:12px; font-size:14px; font-family:inherit; resize:none; outline:none; background:var(--card); color:var(--ink); }
    textarea:focus { border-color:var(--accent); }


    .cart-item { background:var(--card); border:1.5px solid var(--line); border-radius:12px; padding:11px 13px; margin-bottom:10px; }
    .ci-top { display:flex; justify-content:space-between; font-weight:800; font-size:14px; color:var(--ink); }
    .ci-price { color:var(--ok); }
    .ci-sub { font-size:12px; color:var(--muted); margin-top:3px; line-height:1.5; }
    .ci-remove { color:var(--danger); font-weight:800; font-size:12px; cursor:pointer; margin-top:6px; display:inline-block; }
    .cart-empty { color:var(--muted); font-size:13px; text-align:center; padding:16px; }

    .sticky-bar { position:fixed; bottom:82px; left:50%; transform:translateX(-50%); width:calc(100% - 26px); max-width:430px; background:var(--card); border:1px solid var(--line); border-radius:18px; padding:11px 14px; display:flex; align-items:center; gap:12px; box-shadow:0 8px 24px rgba(0,0,0,0.14); z-index:140; }

    #page1, #cartView { padding-bottom:130px; }
    .bar-total { flex:1; }
    .bar-total .amt { font-size:20px; font-weight:800; color:var(--ink); }
    .bar-total .lbl { font-size:11px; color:#888; font-weight:700; }
    .bar-btn { padding:14px 22px; background:var(--accent); color:#fff; border:none; border-radius:14px; font-size:15px; font-weight:800; cursor:pointer; }
    .bar-btn:disabled { opacity:0.45; }
    .bar-btn.green { background:linear-gradient(135deg,#25d366,#128c7e); }

    .sticky-bar.mini-added { gap:12px; align-items:center; cursor:pointer; padding:10px 14px; }
    .sticky-bar.mini-added:active { transform:translateX(-50%) scale(0.99); }
    .mb-thumb { width:38px; height:38px; border-radius:10px; object-fit:cover; flex-shrink:0; background:var(--line); }
    .mb-txt { flex:1; font-size:14.5px; font-weight:800; color:var(--ink); }
    .mb-go { display:flex; align-items:center; gap:3px; color:var(--accent-dark);
      font-size:14.5px; font-weight:900; white-space:nowrap; }


    #page2Bar { left:0; right:0; bottom:0; width:100%; max-width:480px; margin:0 auto;
      transform:none; border-radius:0; border:none; border-top:1.5px solid var(--line);
      box-shadow:0 -6px 18px rgba(0,0,0,0.08);
      padding:14px 18px calc(14px + env(safe-area-inset-bottom)); }

    .back-link { display:inline-flex; gap:6px; color:var(--accent); font-weight:800; font-size:14px; cursor:pointer; margin-bottom:12px; }
    .summary-card { background:var(--bg); border:1.5px solid var(--line); border-radius:16px; padding:16px; margin-bottom:18px; }
    .sum-row { display:flex; justify-content:space-between; font-size:14px; padding:6px 0; color:#333; }
    .sum-row .l { font-weight:700; }
    .sum-sub { font-size:12px; color:#777; padding:2px 0 6px 10px; line-height:1.5; }
    .sum-total { display:flex; justify-content:space-between; border-top:2px dashed #ccc; margin-top:8px; padding-top:10px; font-size:16px; font-weight:800; color:var(--ink); }

    .form-group { margin-bottom:16px; }
    .form-group label { display:block; font-size:13px; font-weight:700; color:var(--ink); margin-bottom:6px; }
    .form-group input, .form-group select { width:100%; padding:13px 15px; border:2px solid var(--line); border-radius:12px; font-size:15px; font-weight:600; color:var(--ink); background:var(--card); outline:none; }
    .form-group input.valid, .form-group select.valid { border-color:var(--ok); background:var(--okbg); color:var(--ink); }
    .form-group input.error, .form-group select.error { border-color:var(--danger); background:var(--dangerbg); color:var(--ink); }
    .form-group input[readonly] { background:var(--line); color:var(--muted); border-color:var(--line); }
    /* "Other" waala free-text box select ke bilkul sate hue tha — dono ek hi
       control lagte the. Gap de kar alag dikhaya. */
    /* display:block zaroori hai — inline-block rehta to margin line-box me
       kho jaata aur gap 0 hi dikhta. (.hidden ka display:none !important
       isse override karta hai, to toggle waise ka waisa kaam karta hai.) */
    #societyOther { display:block; margin-top:8px; }
    .field-error { display:none; color:var(--danger); font-size:12px; font-weight:600; margin-top:5px; }
    .field-error.show { display:block; }
    .saved-note { font-size:12px; color:#00a085; font-weight:700; background:#e8fff7; border:1px solid #b8f2e0; border-radius:8px; padding:8px 12px; margin-bottom:14px; display:none; }
    .saved-note.show { display:block; }

    .pay-opts { display:flex; gap:10px; }
    .pay-opt { flex:1; border:2px solid var(--line); border-radius:12px; padding:12px; text-align:center; font-size:13.5px; font-weight:800; color:var(--muted); cursor:pointer; background:var(--card); }
    .pay-opt.sel { border-color:var(--accent); color:var(--accent); background:var(--accent-soft); }
    .pay-opt .s { display:block; font-size:11px; font-weight:600; color:var(--muted); margin-top:2px; }

    .success-card { text-align:center; padding:34px 18px; }
    .success-card .big { font-size:56px; }
    .success-card h2 { font-size:20px; font-weight:800; color:var(--ink); margin:10px 0 8px; }
    .success-card p { font-size:14px; color:var(--muted); line-height:1.6; margin-bottom:16px; }
    .wa-fallback { display:inline-block; margin-top:4px; color:#128c7e; font-weight:800; text-decoration:underline; font-size:14px; }
    .wa-fallback.wa-btn { text-decoration:none; background:#25d366; color:#fff; padding:13px 24px; border-radius:12px; margin-top:12px; box-shadow:0 4px 12px rgba(37,211,102,.3); }
    .new-order { margin-top:22px; padding:13px 26px; background:var(--accent); color:#fff; border:none; border-radius:14px; font-size:15px; font-weight:800; cursor:pointer; }


    .footer { text-align:center; font-size:10.5px; color:var(--muted); font-weight:600;
      line-height:1.6; padding:16px 16px calc(16px + env(safe-area-inset-bottom));
      background:transparent; }


    /* auto margins login block ko screen ke beech (thumb-zone) me laate hain;
       content lamba ho to 0 ho jaate hain aur page scroll karta hai.
       hero static isliye ki back arrow uske saath neeche na khiske. */
    #authPage { display:flex; flex-direction:column; min-height:100dvh; position:relative; }
    #profileView { display:flex; flex-direction:column; min-height:100dvh; }
    #profileView .footer { margin-top:auto; }

    #authPage .hero { padding:14px 20px 12px; margin-top:auto; position:static; }
    #authPage .section { padding:14px 16px; margin-bottom:auto; }
    #authPage .center-hint { margin-top:6px; }
    #authPage .footer { padding-top:10px; }

    .has-bottom-nav #profileView { min-height:calc(100dvh - 88px); }
    /* Login page ka footer vendor ka copyright nahi, apne platform ki pehchan
       dikhata hai — har kitchen pe ek jaisa. */
    .footer .f-plat { display:inline-flex; align-items:center; gap:7px; font-size:13px;
      font-weight:900; color:var(--ink); letter-spacing:-0.2px; }
    .footer .f-plat-ic { width:18px; height:18px; border-radius:5px; }
    .footer .f-plat-sub { font-size:11px; color:var(--muted); font-weight:600; margin-top:4px; }
    .footer .f-brand { font-size:13px; font-weight:900; color:var(--ink); letter-spacing:-0.2px; }
    .footer .f-tag { font-size:10.5px; color:var(--muted); font-weight:500; margin-top:4px; line-height:1.45; }
    .footer .f-contact { display:inline-flex; align-items:center; gap:6px; margin-top:10px;
                 background:var(--accent-soft); color:var(--accent-dark); font-size:12px; font-weight:700;
                 padding:6px 14px; border-radius:20px; text-decoration:none; }
    .footer .f-div { height:1px; background:var(--line); margin:11px auto 0; max-width:150px; }
    .footer .f-links { margin-top:10px; display:flex; justify-content:center; gap:10px; align-items:center; }
    .footer .f-links .sep { color:var(--line); }
    .footer .fssai-line { font-size:10px; color:var(--muted); font-weight:500; margin-top:9px; line-height:1.45; }
    .footer .f-copy { font-size:10px; color:var(--muted); font-weight:600; margin-top:6px; }
    .about-slides { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:14px; padding:6px 16px 6px; -webkit-overflow-scrolling:touch; }
    .about-slide { scroll-snap-align:center; flex:0 0 80%; min-width:80%; border-radius:20px; padding:26px 20px 22px; color:#fff; box-shadow:0 10px 26px rgba(0,0,0,0.18); }
    .about-slide .as-icon { font-size:42px; margin-bottom:12px; }
    .about-slide h3 { font-size:16.5px; font-weight:800; margin-bottom:8px; line-height:1.3; }
    .about-slide p { font-size:13px; line-height:1.55; opacity:0.96; margin:0; }
    .about-hint { text-align:center; font-size:11.5px; color:var(--muted); margin:2px 0 18px; }
    .about-contact { margin:0 16px 18px; background:var(--accent-soft); border-radius:16px; padding:20px 18px; text-align:center; }
    .about-contact .ac-title { font-size:14px; font-weight:800; color:var(--ink); margin-bottom:14px; }
    .about-contact .ac-btns { display:flex; gap:10px; }
    .about-contact .ac-btn { flex:1; padding:13px 10px; border-radius:12px; font-weight:800; font-size:13.5px; text-decoration:none; display:block; }
    .about-contact .ac-call { background:var(--accent); color:#fff; }
    .about-contact .ac-wa { background:#25D366; color:#fff; }
    .otp-hint { font-size:12.5px; color:var(--muted); text-align:center; margin-top:10px; line-height:1.5; }
    .resend-link { display:block; text-align:center; margin-top:12px; color:var(--accent); font-weight:800; font-size:13.5px; cursor:pointer; }
    .resend-link.wait { color:#aaa; cursor:default; }
    .change-num { display:block; text-align:center; margin-top:8px; color:#888; font-weight:700; font-size:12.5px; cursor:pointer; text-decoration:underline; }

    .oc { background:var(--card); border:1.5px solid var(--line); border-radius:14px; padding:12px 14px; margin-bottom:12px; }
    .oc-name { font-size:15px; font-weight:800; color:var(--ink); }
    .oc-meal-box { background:var(--accent-soft); border-radius:11px; padding:10px 12px; margin:10px 0; font-size:13px; font-weight:600; color:var(--ink); line-height:1.55; }
    .oc-info { display:flex; justify-content:space-between; font-size:12.5px; color:var(--muted); padding:3px 0; }
    .oc-info a { color:var(--accent-dark); font-weight:700; text-decoration:none; }
    .sb-pend.act { background:var(--warn); color:#fff; } .sb-prep.act { background:var(--accent); color:#fff; } .sb-done.act { background:var(--ok); color:#fff; }
    .oc-top { display:flex; justify-content:space-between; align-items:center; font-weight:800; font-size:14.5px; color:var(--ink); gap:8px; }
    .oc-status { font-size:10.5px; font-weight:800; padding:3px 10px; border-radius:12px; white-space:nowrap; }
    .st-Pending { background:var(--warnbg); color:var(--warn); }
    .st-Preparing { background:#e3f2fd; color:#0d47a1; }
    .st-Delivered { background:var(--okbg); color:var(--ok); }
    .st-Cancelled { background:#fdecea; color:var(--danger); }
    .st-Active { background:var(--okbg); color:var(--ok); }
    .st-Blocked { background:#fdecea; color:var(--danger); }
    .oc-sub { font-size:12.5px; color:var(--muted); margin-top:4px; line-height:1.5; }
    .oc-sub a { color:var(--accent); font-weight:700; text-decoration:none; }
    .oc-meals { font-size:12.5px; color:var(--ink); background:var(--bg); border-radius:10px; padding:8px 10px; margin-top:8px; line-height:1.55; }
    .cancel-btn { margin-top:10px; width:100%; padding:10px; border:1.5px solid var(--danger); background:var(--card); color:var(--danger); border-radius:10px; font-size:12.5px; font-weight:800; cursor:pointer; }
    .ghost-badge { font-size:9.5px; font-weight:900; padding:3px 9px; border-radius:12px; background:var(--line); color:var(--muted); }
    .oc-orders-link { color:var(--accent-dark); font-weight:800; text-decoration:underline; cursor:pointer; }
    .cust-filter-bar { display:flex; justify-content:space-between; align-items:center; background:var(--accent-soft); border:1.5px dashed var(--accent); border-radius:12px; padding:10px 14px; margin-bottom:10px; font-size:12px; font-weight:800; color:var(--accent-dark); }
    .cust-filter-bar b { cursor:pointer; }


    #dscView { background:var(--body-bg); }
    html[data-theme="dark"] #dscView { background:var(--bg); }

    .dsc-loader { display:flex; flex-direction:column; align-items:center; justify-content:center;
      padding:70px 20px; text-align:center; gap:18px; min-height:300px; }
    .dsc-loader .dl-ring { width:56px; height:56px; position:relative; }
    .dsc-loader .dl-ring::before, .dsc-loader .dl-ring::after { content:''; position:absolute; inset:0;
      border-radius:50%; border:4px solid transparent; }
    .dsc-loader .dl-ring::before { border-top-color:var(--accent); border-right-color:var(--accent);
      animation:dlspin .8s linear infinite; }
    .dsc-loader .dl-ring::after { border-bottom-color:var(--accent-soft); border-left-color:var(--accent-soft);
      animation:dlspin 1.2s linear infinite reverse; }
    .dsc-loader .dl-emoji { position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
      font-size:22px; animation:dlpulse 1.1s ease-in-out infinite; }
    .dsc-loader .dl-t { font-size:15px; font-weight:900; color:var(--ink); }
    .dsc-loader .dl-s { font-size:12px; color:var(--muted); font-weight:600; margin-top:-8px; }
    @keyframes dlspin { to { transform:rotate(360deg); } }
    @keyframes dlpulse { 0%,100% { transform:scale(1); } 50% { transform:scale(1.18); } }

    .zo-head { position:sticky; top:0; z-index:40; padding:14px 15px;
      background:linear-gradient(160deg,#e35c2b 0%,#d1501f 55%,#a83a15 100%); border-radius:0 0 24px 24px;
      box-shadow:0 10px 24px -10px rgba(67,56,202,.45); border-bottom:none;
      display:flex; align-items:center; gap:10px;
      animation:zoBrandIn .5s cubic-bezier(.34,1.56,.64,1) both; }
    .zo-head-brand { display:flex; align-items:center; flex-shrink:0; }
    .zo-brand-name { font-size:16px; font-weight:900; letter-spacing:-0.2px; color:#fff; white-space:nowrap; }
    @keyframes zoBrandIn { from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }
    @media (prefers-reduced-motion: reduce) {
      .zo-head { animation:none; }
    }
    .zo-loc { display:flex; align-items:center; min-width:0; flex:1;
      justify-content:center; text-align:center; }
    .zo-loc-txt { min-width:0; }
    .zo-loc-label { font-size:14.5px; font-weight:900; color:#fff; line-height:1.15;
      white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .zo-loc-sub { font-size:10px; color:rgba(255,255,255,.8); font-weight:600; margin-top:1px;
      white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .zo-head-actions { display:flex; align-items:center; gap:9px; flex-shrink:0; }
    .zo-avatar { width:34px; height:34px; border-radius:50%; object-fit:cover; border:1.5px solid rgba(255,255,255,.5); }

    .zo-loc-retry { margin:10px 15px 0; display:flex; align-items:center; gap:8px; background:var(--accent-soft);
      border:1.5px dashed var(--accent); border-radius:12px; padding:10px 13px; font-size:12px; font-weight:800;
      color:var(--accent-dark); cursor:pointer; }

    .zo-search-wrap { padding:12px 15px 8px; background:var(--body-bg); }
    html[data-theme="dark"] .zo-search-wrap { background:var(--bg); }
    .zo-search { display:flex; align-items:center; gap:10px; background:var(--card); border:1px solid var(--line);
      border-radius:14px; padding:12px 14px; box-shadow:0 2px 10px rgba(0,0,0,0.04); }
    .zo-search-ic { font-size:16px; color:var(--danger); }
    .zo-search input { flex:1; border:none; outline:none; background:transparent; font-size:13.5px;
      font-weight:600; color:var(--ink); font-family:inherit; }
    .zo-search input::placeholder { color:var(--muted); font-weight:500; }

    .zo-chip-row { display:flex; gap:9px; overflow-x:auto; padding:6px 15px 12px; background:var(--body-bg); }
    html[data-theme="dark"] .zo-chip-row { background:var(--bg); }
    .zo-chip-row::-webkit-scrollbar { display:none; }
    .dsc-ac { flex:0 0 auto; padding:8px 15px; border-radius:22px; border:1px solid var(--line);
      background:var(--card); font-size:12.5px; font-weight:800; color:var(--ink); white-space:nowrap; cursor:pointer;
      display:inline-flex; align-items:center; gap:5px; box-shadow:0 1px 4px rgba(0,0,0,0.03); }
    .dsc-ac small { font-size:10.5px; color:var(--muted); font-weight:700; }
    .dsc-ac.on { background:var(--danger); color:#fff; border-color:var(--danger); }
    .dsc-ac.on small { color:rgba(255,255,255,0.85); }

    .zo-near-wrap { padding:6px 15px 4px; }

    .zo-radar-wrap { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:60px 24px 44px; gap:20px; }
    .zo-radar { position:relative; width:90px; height:90px; display:flex; align-items:center; justify-content:center; }
    .zo-radar-ring { position:absolute; inset:0; border-radius:50%; border:2px solid var(--accent); opacity:0; animation:zoRadarPulse 2.2s ease-out infinite; }
    .zo-radar-ring.r2 { animation-delay:1.1s; }
    .zo-radar-pin { position:relative; z-index:1; width:46px; height:46px; border-radius:50%; background:var(--accent); color:#fff; display:flex; align-items:center; justify-content:center; font-size:21px; box-shadow:0 5px 16px var(--accent-glow); animation:zoRadarBounce 1.4s ease-in-out infinite; }
    .zo-radar-text { font-size:13.5px; font-weight:800; color:var(--ink); text-align:center; }
    @keyframes zoRadarPulse { 0% { transform:scale(0.55); opacity:.65; } 100% { transform:scale(2); opacity:0; } }
    @keyframes zoRadarBounce { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-5px); } }
    @media (prefers-reduced-motion:reduce) { .zo-radar-ring, .zo-radar-pin { animation:none; } }

    .zo-empty-near { padding:60px 26px 44px; text-align:center; }

    .zo-body { padding:6px 15px 60px; }
    .zo-sec-title { font-size:15px; font-weight:900; color:var(--ink); margin:6px 2px 13px; }

    .zrc { background:var(--card); border:1px solid var(--line); border-radius:18px; overflow:hidden;
      margin-bottom:16px; box-shadow:0 4px 16px rgba(0,0,0,0.06); cursor:pointer; transition:transform .12s; }
    .zrc:active { transform:scale(0.99); }

    .zrc-head { display:flex; align-items:flex-start; gap:13px; }
    .zrc-av { flex:0 0 auto; width:62px; height:62px; border-radius:50%;
      background:var(--accent-soft); background-size:cover; background-position:center;
      border:2px solid var(--line); box-shadow:0 2px 8px rgba(0,0,0,0.08); }
    .zrc-hb { flex:1 1 auto; min-width:0; }
    .zrc-badge { display:inline-flex; align-items:center; color:#fff; font-size:10.5px; font-weight:900;
      padding:4px 10px; border-radius:7px; letter-spacing:0.3px; }
    .zrc-badge.top { background:#f59e0b; }
    .zrc-badge.new { background:var(--accent); }
    .zrc-time { display:inline-flex; align-items:center; background:var(--bg); color:var(--muted);
      border:1px solid var(--line); font-size:11px; font-weight:800; padding:4px 9px; border-radius:8px; }
    .zrc-chips { display:flex; flex-wrap:wrap; gap:7px; margin-top:11px; }
    .zrc-b { padding:14px; }
    .zrc-top { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
    .zrc-n { font-size:17px; font-weight:900; color:var(--ink); line-height:1.2; }
    .zrc-rate { flex:0 0 auto; display:inline-flex; align-items:center; gap:3px; background:#267e3e; color:#fff;
      font-size:12px; font-weight:900; padding:3px 8px; border-radius:7px; }
    .zrc-rate.none { background:var(--accent-soft); color:var(--accent-dark); }
    .zrc-c { font-size:12.5px; color:var(--muted); margin-top:4px; }
    .zrc-meta { font-size:11.5px; color:var(--muted); font-weight:700; margin-top:9px;
      border-top:1px dashed var(--line); padding-top:9px; }

    .zo-why { text-align:center; padding:18px 16px 6px; margin-top:6px; border-top:1px solid var(--line); }
    .zo-why-ic { font-size:30px; }
    .zo-why-t { font-size:16px; font-weight:900; color:var(--ink); margin-top:8px; }
    .zo-why-a { font-size:12.5px; color:var(--muted); margin-top:6px; line-height:1.55; }


    .rate-nudge { background:var(--warnbg); border:1.5px dashed var(--warn); border-radius:13px; padding:12px 14px; margin-bottom:12px; cursor:pointer; }
    .rate-nudge .rn-t { font-size:13px; font-weight:900; color:var(--warn); }
    .rate-nudge .rn-s { font-size:11.5px; color:var(--muted); margin-top:2px; line-height:1.45; }

    .rate-nudge.rated { background:var(--okbg); border-style:solid; border-color:var(--ok); }
    .rate-nudge.rated .rn-t { color:var(--ok); }
    .star-row { display:flex; gap:8px; justify-content:center; margin:14px 0 4px; }
    .star-row span { font-size:34px; color:var(--line); cursor:pointer; line-height:1; transition:transform .12s; }
    .star-row span.on { color:#f59e0b; }
    .star-row span:active { transform:scale(1.2); }
    .rate-done { font-size:12px; font-weight:800; color:var(--ok); text-align:center; padding:8px 0 2px; }
    .rate-cmt { width:100%; border:1.5px solid var(--line); border-radius:11px; padding:10px 12px; font-size:12.5px;
      background:var(--bg); color:var(--ink); font-family:inherit; margin-top:10px; }
    .vd-btn { flex:1; padding:7px 4px; border:1.5px solid var(--line); background:var(--card); color:var(--ink);
      border-radius:9px; font-size:10.5px; font-weight:800; cursor:pointer; font-family:inherit; }
    .vd-btn.danger { border-color:var(--danger); color:var(--danger); }
    .hist-row { display:flex; gap:10px; align-items:center; margin-top:6px; }
    .hist-row input[type=date] { flex:1; padding:11px 12px; border:2px solid var(--line); border-radius:10px; font-size:14px; font-weight:600; }

    .tabs { display:flex; gap:5px; margin:12px 0 16px; background:var(--line); padding:5px; border-radius:14px; }
    .tab-btn { flex:1; padding:9px 2px; border:none; border-radius:10px; font-size:11px; font-weight:800; cursor:pointer; background:transparent; color:var(--muted); }
    .tab-btn.active { background:var(--accent); color:#fff; }

    .admin-topbar { position:sticky; top:0; z-index:30;
      background:linear-gradient(160deg,#e35c2b 0%,#d1501f 55%,#a83a15 100%);
      border-radius:0 0 22px 22px; box-shadow:0 10px 22px -12px rgba(67,56,202,.45);
      color:#fff; padding:13px 15px 16px; display:flex; align-items:center; gap:13px; }
    .admin-topbar .atb-title { flex:1; font-size:16px; font-weight:900; }

    .atb-branded { gap:10px; }
    .admin-topbar .atb-logo { flex:none; width:30px; height:30px; border-radius:50%; object-fit:cover; }
    .atb-inline { flex:1; min-width:0; display:flex; align-items:baseline; gap:6px; }

    .atb-inline .atb-vname { flex:1 1 auto; min-width:0; font-size:15px; font-weight:900; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .atb-inline .atb-dot { flex:none; opacity:.55; }
    .atb-inline .atb-sect { flex:none; font-size:13px; font-weight:700; opacity:.85; white-space:nowrap; }

    .atb-vname:empty { display:none; }
    .atb-vname:empty + .atb-dot { display:none; }

    .cfg-acc { border:1px solid var(--line); border-radius:13px; background:var(--card); margin-bottom:9px; overflow:hidden; }
    .cfg-acc-hd { display:flex; align-items:center; gap:11px; padding:13px; cursor:pointer; user-select:none; }
    .cfg-acc-ic { font-size:17px; flex:none; }
    .cfg-acc-tx { flex:1; min-width:0; }
    .cfg-acc-tx b { display:block; font-size:13.5px; font-weight:900; }
    .cfg-acc-tx i { display:block; font-size:11px; font-style:normal; font-weight:600; color:var(--muted); margin-top:2px; }

    .cfg-acc-car { flex:none; position:relative; width:30px; height:30px; border-radius:10px; background:var(--bg);
      transition:background .22s ease, box-shadow .22s ease, transform .24s cubic-bezier(.34,1.56,.64,1); }
    .cfg-acc-car::before, .cfg-acc-car::after { content:''; position:absolute; top:50%; left:50%;
      width:13px; height:2.5px; border-radius:2px; background:var(--muted);
      transition:transform .26s cubic-bezier(.34,1.56,.64,1), background .22s ease, opacity .2s ease; }
    .cfg-acc-car::before { transform:translate(-50%,-50%); }
    .cfg-acc-car::after  { transform:translate(-50%,-50%) rotate(90deg); }
    .cfg-acc.open .cfg-acc-car { background:var(--accent); box-shadow:0 0 0 4px var(--accent-glow); transform:scale(1.06); }
    .cfg-acc.open .cfg-acc-car::before, .cfg-acc.open .cfg-acc-car::after { background:#fff; }
    .cfg-acc.open .cfg-acc-car::after { transform:translate(-50%,-50%) rotate(0deg); opacity:0; }

    .cfg-acc-hd:active .cfg-acc-car { transform:scale(.9); }
    .cfg-acc.open .cfg-acc-hd:active .cfg-acc-car { transform:scale(.98); }
    @media (prefers-reduced-motion: reduce){
      .cfg-acc-car, .cfg-acc-car::before, .cfg-acc-car::after { transition:none; }
      .cfg-acc.open .cfg-acc-car { transform:none; }
    }
    .cfg-acc.open .cfg-acc-hd { border-bottom:1px solid var(--line); }
    .cfg-acc-bd { padding:2px 13px 14px; }
    .cfg-flash { animation:cfgFlash 1.2s ease; }
    @keyframes cfgFlash { 0%,100%{ box-shadow:none; } 30%{ box-shadow:0 0 0 3px var(--danger); } }
    .admin-topbar .alert-toggle { float:none; font-size:10.5px; font-weight:800; background:rgba(255,255,255,.18); color:#fff; border-radius:16px; padding:6px 12px; cursor:pointer; }

    .admin-bell { position:relative; flex:none; width:30px; height:30px; border-radius:9px;
      background:rgba(255,255,255,.22); display:flex; align-items:center; justify-content:center;
      font-size:15px; cursor:pointer; }
    .admin-bell-badge { position:absolute; top:-4px; right:-4px; min-width:16px; height:16px; padding:0 3px;
      border-radius:8px; background:#fff; color:var(--danger); font-size:9px; font-weight:900;
      display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 2px var(--accent-dark); }

    #adminPanel .back-link, #adminPanel .alert-toggle { font-size:11px; }
    .chip { display:inline-block; padding:7px 12px; border-radius:20px; background:var(--line); color:var(--muted); font-size:11.5px; font-weight:800; cursor:pointer; margin:0 6px 8px 0; }
    .chip.sel { background:var(--accent); color:#fff; }
    #filterChips { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:0; padding-bottom:2px; }
    #filterChips .chip { flex:0 0 auto; white-space:nowrap; }
    #filterChips .chip[data-f="Pending"].sel { background:var(--warn); color:#fff; }
    #filterChips .chip[data-f="Preparing"].sel { background:#0d47a1; color:#fff; }
    #filterChips .chip[data-f="Delivered"].sel { background:var(--ok); color:#fff; }
    #filterChips .chip[data-f="Cancelled"].sel { background:var(--danger); color:#fff; }

    .oc.oc-done { opacity:0.55; }
    .oc.oc-done .oc-quick { display:none; }

    .oc-meals { margin-top:9px; }
    .ocm { display:flex; align-items:center; gap:8px; padding:7px 9px; border:1px solid var(--line); border-radius:10px; margin-bottom:6px; background:var(--card); }
    .ocm .ocm-t { flex:1; min-width:0; font-size:11.5px; font-weight:700; color:var(--ink); }
    .ocm .ocm-t small { display:block; font-size:10px; color:var(--muted); font-weight:600; margin-top:1px; }
    .ocm-btn { border:none; border-radius:9px; padding:6px 11px; font-size:10.5px; font-weight:900; cursor:pointer; flex:0 0 auto; }
    .ocm-btn.p { background:#e3f2fd; color:#0d47a1; }
    .ocm-btn.d { background:var(--okbg); color:var(--ok); }
    .ocm-bd { font-size:9.5px; font-weight:900; padding:3px 9px; border-radius:10px; flex:0 0 auto; }
    .ocm-bd.w { background:var(--warnbg); color:var(--warn); }
    .ocm-bd.b { background:#e3f2fd; color:#0d47a1; }
    .ocm-bd.g { background:var(--okbg); color:var(--ok); }
    .ocm-bd.r { background:var(--dangerbg); color:var(--danger); }
    .ks-cell { cursor:pointer; }
    .ks-cell.sel { outline:2px solid var(--accent); outline-offset:-2px; }
    .oc-quick { margin-top:10px; display:flex; gap:8px; }
    .oc-quick button { flex:1; border:none; border-radius:10px; padding:9px 6px; font-size:11.5px; font-weight:800; cursor:pointer; }
    .oc-quick .qk-prep { background:#e3f2fd; color:#0d47a1; }
    .oc-quick .qk-done { background:var(--okbg); color:var(--ok); }

    .oc-call { display:inline-flex; align-items:center; gap:5px; background:var(--accent-soft); color:var(--accent-dark); font-weight:800; padding:5px 11px; border-radius:14px; text-decoration:none; font-size:12px; }

    /* ── "Aaj Ka Kaam" — admin ka pehla screen ──────────────────────────────
       Pehle yahan seedha 7 control (date tabs, society dropdown, kitchen card,
       3 paise ke box, 5 filter chips) aur phir 6-line wale order card the — sab
       ek hi weight par. Screen batati thi ki KYA HAI, ye nahi ki AB KYA KARNA HAI.
       Ab sabse pehle ek hi sawaal ka jawab: abhi kitne tiffin banane hain. Poori
       list hati nahi hai — #ordersDetail me waisi ki waisi hai, bas ek tap neeche
       (aur vendor ne ek baar khol diya to khuli hi rehti hai, storeSet se yaad). */
    .th { background:var(--card); border:1.5px solid var(--line); border-radius:16px; padding:18px 16px 16px; margin:4px 0 14px; text-align:center; }
    .th-top { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; text-align:left; margin-bottom:14px; }
    .th-name { font-size:15px; font-weight:900; color:var(--ink); line-height:1.25; }
    .th-date { font-size:11.5px; font-weight:700; color:var(--muted); margin-top:2px; }
    .th-open { flex:none; font-size:11px; font-weight:800; padding:4px 11px; border-radius:20px; background:var(--okbg); color:var(--ok); white-space:nowrap; }
    .th-open.shut { background:var(--dangerbg); color:var(--danger); }
    /* Ye number hi poora point hai — isliye baaki har cheez se saaf bada. */
    .th-n { font-size:76px; font-weight:900; line-height:.9; letter-spacing:-.05em; color:var(--accent); font-variant-numeric:tabular-nums; }
    .th-l { font-size:16.5px; font-weight:900; color:var(--ink); margin-top:6px; }
    .th-s { font-size:12.5px; font-weight:700; color:var(--muted); margin-top:3px; }
    .th-meals { display:flex; gap:6px; justify-content:center; flex-wrap:wrap; margin:16px 0 0; }
    .th-pill { display:inline-flex; align-items:center; gap:5px; padding:6px 13px; border-radius:20px; font-size:12.5px; font-weight:800; background:var(--accent-soft); color:var(--accent-dark); border:1.5px solid transparent; cursor:pointer; }
    .th-pill.sel { border-color:var(--accent); }
    .th-go { display:block; width:100%; margin-top:18px; border:none; font-family:inherit; cursor:pointer; border-radius:14px; background:var(--accent); color:#fff; padding:16px 12px; font-size:16px; font-weight:900; line-height:1.3; }
    .th-go.done { background:var(--ok); }
    .th-go:disabled { opacity:.6; cursor:default; }
    .th-cash { font-size:13px; font-weight:800; color:var(--ink); margin-top:14px; }
    .th-cash b { color:var(--danger); font-variant-numeric:tabular-nums; }
    .th-more { display:inline-block; font-size:13px; font-weight:800; color:var(--accent-dark); margin-top:16px; padding:6px 4px; cursor:pointer; }
    .th-empty { font-size:16px; font-weight:900; color:var(--ink); padding:6px 0 2px; }
    .th-pill:focus-visible, .th-go:focus-visible, .th-more:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

    /* ── Order modal ke actions ─────────────────────────────────────────────
       Pehle yahan 5 barabar-size button the: Pending / Preparing / Done /
       Paid-toggle / WhatsApp. Teen system ke shabd, aur koi ishaara nahi ki
       ab dabana kya hai. Ab agla kadam ek bada button hai aur baaki chhota. */
    .om-go { display:block; width:100%; margin-top:14px; border:none; font-family:inherit; cursor:pointer;
      border-radius:14px; background:var(--accent); color:#fff; padding:15px 12px; font-size:15.5px; font-weight:900; }
    .om-go.done { background:var(--ok); }
    .om-go:disabled { opacity:.6; cursor:default; }
    .om-done-note { margin-top:14px; text-align:center; font-size:14.5px; font-weight:800; color:var(--ok);
      background:var(--okbg); border-radius:12px; padding:13px 12px; }
    /* Peeche jaana aur "galti se paid" — zaroori hai par roz ka kaam nahi,
       isliye button nahi, halki si link. */
    .om-undo { margin-top:9px; text-align:center; font-size:12.5px; font-weight:700; color:var(--muted); cursor:pointer; padding:5px; }
    .om-small-row { display:flex; gap:8px; margin-top:12px; }
    .om-sm { flex:1; border:1.5px solid var(--line); background:var(--card); color:var(--ink); font-family:inherit;
      border-radius:12px; padding:11px 8px; font-size:13px; font-weight:800; cursor:pointer; }
    .om-sm.pay { border-color:var(--danger); color:var(--danger); }
    .om-paid { flex:1; display:flex; align-items:center; justify-content:center; border-radius:12px;
      padding:11px 8px; font-size:13px; font-weight:800; background:var(--okbg); color:var(--ok); }
    /* Hisaab/cooking detail ka toggle — list ke neeche. */
    .om-toggle { margin:14px 0 0; text-align:center; font-size:13px; font-weight:800; color:var(--accent-dark); cursor:pointer; padding:8px; }
    .om-go:focus-visible, .om-sm:focus-visible, .om-undo:focus-visible, .om-toggle:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

    /* Variant card par price — alag-alag variant ke daam alag hote hain, isliye
       card par dikhna zaroori hai. Single-card mode me price pehle bhi nahi tha
       aur ab bhi nahi, taaki existing vendors ka menu waisa hi dikhe. */
    .c1-price { font-size:14.5px; font-weight:900; color:var(--ink); margin-top:4px; font-variant-numeric:tabular-nums; }

    /* Variant card compact — ADD button upar wali row me, apni alag row nahi.
       Variant ka desc chhota hota hai (2-3 item), isliye neeche wali poori row
       khali dikhti thi. Normal meal card ka layout bilkul waisa hi hai. */
    .c1card.c1-compact .c1-top { gap:11px; }
    .c1card.c1-compact .c1-img { width:64px; height:64px; border-radius:12px; }
    .c1card.c1-compact .c1-actions { flex:none; margin-top:0; padding-top:0; border-top:0; }
    .c1card.c1-compact .c1-add { padding:9px 18px; font-size:13px; }
    .c1card.c1-compact .c1-add.off { padding:8px 14px; }
    .c1card.c1-compact .c1-price { margin-top:2px; }
    /* Bahut choti screen par naam + button ek line me tang na ho */
    @media (max-width:360px){
      .c1card.c1-compact .c1-img { width:56px; height:56px; }
      .c1card.c1-compact .c1-add { padding:9px 13px; font-size:12.5px; }
    }

    .money-bar { display:flex; gap:8px; margin:4px 0 14px; }
    .money-bar .mb-cell { flex:1; background:var(--card); border:1.5px solid var(--line); border-radius:12px; padding:10px 8px; text-align:center; }
    .money-bar .mb-n { font-size:16px; font-weight:900; color:var(--ink); }
    .money-bar .mb-l { font-size:10px; font-weight:700; color:var(--muted); margin-top:1px; }

    .ks-toggle { text-align:center; font-size:11.5px; font-weight:800; color:var(--accent-dark); cursor:pointer; padding-top:2px; }
    .ks-detail { display:none; margin-top:10px; padding-top:10px; border-top:1px solid var(--line); font-size:12px; color:var(--ink); line-height:1.7; }
    .ks-detail.show { display:block; }
    .ks-detail .ks-drow b { color:var(--accent-dark); }
    .kitchen-card { background:var(--card); border:1.5px solid var(--line); border-radius:16px; padding:16px; margin:4px 0 16px; }
    .ks-head { font-size:14px; font-weight:900; color:var(--ink); margin-bottom:12px; }
    .ks-head .ks-sub { font-size:11px; font-weight:700; color:var(--muted); background:var(--bg); padding:3px 9px; border-radius:12px; margin-left:6px; }
    .ks-grid { display:flex; gap:8px; margin-bottom:12px; }
    .ks-cell { flex:1; background:var(--accent-soft); border-radius:12px; padding:12px 6px; text-align:center; }
    .ks-cell .ks-n { font-size:22px; font-weight:900; color:var(--accent-dark); }
    .ks-cell .ks-l { font-size:11px; font-weight:700; color:var(--muted); margin-top:2px; }
    .ks-row { font-size:12.5px; color:var(--ink); padding:9px 0; border-top:1px solid var(--line); line-height:1.6; }
    .ks-row .ks-tag { font-weight:800; color:var(--accent-dark); }
    .ks-row .ks-dim { color:var(--muted); font-size:11.5px; }
    .kitchen-card b { color:#7a5b00; }
    html[data-theme="dark"] .kitchen-card b { color:#e0b83c; }
    .status-btns { display:flex; gap:8px; margin-top:10px; }
    .status-btns button { flex:1; padding:9px 4px; border:none; border-radius:10px; font-size:11.5px; font-weight:800; cursor:pointer; }
    .sb-pend { background:var(--warnbg); color:var(--warn); }
    .sb-prep { background:#e3f2fd; color:#0d47a1; }
    .sb-done { background:var(--okbg); color:var(--ok); }
    .stat-grid { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
    .stat-card { flex:1 1 45%; background:linear-gradient(135deg,var(--accent-soft),var(--accent-soft)); border:1.5px solid #dfe3ff; border-radius:14px; padding:14px; text-align:center; }
    .stat-card .num { font-size:22px; font-weight:800; color:var(--accent); }
    .stat-card .lab { font-size:11.5px; font-weight:700; color:#888; margin-top:2px; }
    .orders-table { width:100%; border-collapse:collapse; font-size:12.5px; background:var(--card); border-radius:12px; overflow:hidden; }
    .orders-table th { background:var(--accent); color:#fff; padding:8px 6px; font-size:11.5px; text-align:left; }
    .orders-table td { padding:8px 6px; border-bottom:1px solid var(--line); color:var(--ink); }
    .admin-btn { width:100%; padding:14px; background:var(--accent); color:#fff; border:none; border-radius:14px; font-size:15px; font-weight:800; cursor:pointer; margin-top:6px; }
    .btn-primary { width:100%; display:flex; align-items:center; justify-content:center; gap:8px; padding:15px 16px; background:var(--accent); color:#fff; border:none; border-radius:16px; font-size:15.5px; font-weight:800; letter-spacing:.2px; cursor:pointer; margin-top:4px; box-shadow:0 6px 16px rgba(227,92,43,0.28); }
    .btn-primary:active { transform:translateY(1px); }
    .pwd-wrap { position:relative; }
    .pwd-wrap input { padding-right:46px !important; }
    .pwd-toggle { position:absolute; right:6px; top:50%; transform:translateY(-50%); background:none; border:none; font-size:16px; cursor:pointer; padding:8px; opacity:0.55; }
    .forgot-link { display:block; text-align:right; font-size:12.5px; color:var(--accent-dark); font-weight:700; margin:-8px 0 16px; cursor:pointer; }
    .auth-switch { text-align:center; font-size:13px; color:var(--muted); margin-top:18px; }
    .auth-switch b { color:var(--accent-dark); cursor:pointer; font-weight:800; }
    .back-link-inline { display:inline-flex; align-items:center; gap:5px; font-size:13px; font-weight:700; color:var(--accent-dark); cursor:pointer; margin-bottom:14px; }
    .sub-text { font-size:13px; color:var(--muted); margin:-6px 0 16px; line-height:1.5; }
    .hint { font-size:11.5px; color:var(--muted); margin-top:6px; line-height:1.5; display:block; }
    .center-hint { text-align:center; font-size:12px; color:var(--muted); margin-top:8px; line-height:1.5; padding:0 10px; }
    .auth-or-sep { display:flex; align-items:center; gap:10px; margin:16px 0; color:var(--muted); font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
    .auth-or-sep::before, .auth-or-sep::after { content:''; flex:1; height:1px; background:var(--line); }

    #googleBtnBox { width:100%; display:flex; justify-content:center; align-items:center; min-height:48px; margin:6px 0; }

    .g-btn { width:100%; display:flex; align-items:center; justify-content:center; gap:14px;
      background:var(--card); color:var(--ink); border:1.5px solid var(--line);
      border-radius:14px; padding:15px 18px; font-family:inherit; font-size:16px;
      font-weight:800; letter-spacing:-0.2px; cursor:pointer; margin:6px 0;
      box-shadow:0 1px 2px rgba(0,0,0,0.04);
      transition:transform .14s ease, box-shadow .14s ease, background .14s ease; }
    .g-btn:active { transform:scale(0.985); box-shadow:none; }
    .g-btn:disabled { opacity:0.6; cursor:default; }
    .g-btn .g-ico { width:22px; height:22px; flex-shrink:0; }
    html[data-theme="dark"] .g-btn { background:var(--card); border-color:var(--line); }
    #authSocialBlock { margin-top:28px; }

    .admin-btn:disabled { opacity:0.6; }
    .admin-btn.sec { background:var(--accent-soft); color:var(--accent); }
    .edit-label { font-size:12.5px; font-weight:800; color:var(--ink); margin:14px 0 6px; }
    .edit-label .hint { font-weight:600; color:var(--muted); font-size:11px; }
    .refresh-link { color:var(--accent); font-weight:800; font-size:13px; cursor:pointer; float:right; }
    .search-box { width:100%; padding:11px 14px; border:2px solid var(--line); border-radius:12px; font-size:14px; font-weight:600; margin-bottom:12px; outline:none; background:var(--card); color:var(--ink); }
    .price-row { display:flex; align-items:center; justify-content:space-between; background:var(--bg); border:1px solid var(--line); border-radius:10px; padding:9px 12px; margin-bottom:8px; }
    .price-row label { font-size:13px; font-weight:700; color:var(--ink); }
    .price-row .inp { display:flex; align-items:center; gap:4px; }
    .price-row input { width:80px; padding:8px 10px; border:1.5px solid var(--line); border-radius:8px; font-size:14px; font-weight:700; text-align:right; background:var(--card); color:var(--ink); }

    .toast { position:fixed; bottom:150px; left:50%; transform:translateX(-50%) translateY(8px); background:#1a1c2b; color:#fff; padding:13px 22px; border-radius:12px; font-size:13.5px; font-weight:600; z-index:12000; opacity:0; visibility:hidden; pointer-events:none; transition:transform .25s ease, opacity .25s ease, visibility 0s linear .25s; box-shadow:0 8px 25px rgba(0,0,0,0.3); text-align:center; min-width:250px; max-width:340px; }
    .toast.show { transform:translateX(-50%) translateY(0); opacity:1; visibility:visible; transition:transform .3s ease, opacity .3s ease, visibility 0s; }
    .toast.success { background:linear-gradient(135deg,var(--ok),#00a085); }
    .toast.warning { background:linear-gradient(135deg,#e67e22,#d35400); }
    .toast.error { background:linear-gradient(135deg,var(--danger),var(--danger)); }
    /* Sirf tap-karne-layak toast (jaise "update ready") clickable ho — baaki
       toasts click-through rehte hain taaki peeche ka UI block na ho. */
    .toast.tappable { pointer-events:auto; cursor:pointer; text-decoration:underline; }
    .upd-bar { height:8px; border-radius:99px; background:var(--line); overflow:hidden; }
    .upd-bar span { display:block; height:100%; width:0%; border-radius:99px;
      background:linear-gradient(90deg,var(--accent),var(--accent-dark));
      transition:width .35s ease; }
    .hidden { display:none !important; }

  #bootLoader{position:fixed;inset:0;background:var(--bg);z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;font-family:'Segoe UI',system-ui,sans-serif;transition:opacity .25s;}
  #bootLoader.gone{opacity:0;pointer-events:none;}
  #bootLoader .bl-logo img{width:76px;height:76px;display:block;animation:blPulse 1.6s ease-in-out infinite;}
  @keyframes blPulse{0%,100%{transform:scale(1);opacity:.92;}50%{transform:scale(1.08);opacity:1;}}
  @media (prefers-reduced-motion: reduce){#bootLoader .bl-logo img,#authTransition .bl-logo img,#bootLoader .bl-logo::after,#authTransition .bl-logo::after{animation:none;}}

  #bootLoader .bl-logo,#authTransition .bl-logo{position:relative;width:76px;height:76px;border-radius:50%;overflow:hidden;}
  #bootLoader .bl-logo::after,#authTransition .bl-logo::after{content:'';position:absolute;inset:0;border-radius:50%;
    background:linear-gradient(100deg, transparent 30%, rgba(255,255,255,.6) 50%, transparent 70%);
    background-size:200% 100%; animation:c1shimmer 1.1s ease-in-out infinite;}
  @keyframes blsp{to{transform:rotate(360deg)}}
  .mini-spin-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 0;color:#9a9fb0;font-size:12.5px;font-weight:700;}
  .mini-spin{width:26px;height:26px;border:3px solid #e7e9f0;border-top-color:var(--accent);border-radius:50%;animation:blsp .7s linear infinite;}
  .sub-skel{padding:4px 0;}
  .sub-skel .sk-line,.sub-skel .sk-box{background:linear-gradient(90deg,#eceef5 25%,#f5f6fa 50%,#eceef5 75%);background-size:200% 100%;animation:skshim 1.4s ease-in-out infinite;border-radius:10px;margin-bottom:12px;}
  .sub-skel .sk-line{height:14px;}
  .sub-skel .sk-box{height:100px;}
  @keyframes skshim{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
  html[data-theme="dark"] .sub-skel .sk-line,html[data-theme="dark"] .sub-skel .sk-box{background:linear-gradient(90deg,#2a2d3d 25%,#343749 50%,#2a2d3d 75%);background-size:200% 100%;}
  #bootLoader .bl-t{font-size:13px;font-weight:700;color:var(--muted);}
  #authTransition{position:fixed;inset:0;background:var(--bg);z-index:99998;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;font-family:'Segoe UI',system-ui,sans-serif;transition:opacity .25s;}
  #authTransition.hidden{display:none;}
  #authTransition.gone{opacity:0;pointer-events:none;}
  #authTransition .bl-logo img{width:76px;height:76px;display:block;animation:blPulse 1.6s ease-in-out infinite;}
  #authTransition .bl-t{font-size:15px;font-weight:800;color:var(--ink);}
  #authTransition .bl-t.welcome{color:var(--accent);font-size:17px;}

  #adminLoader{position:fixed;inset:0;background:var(--bg);z-index:9998;display:none;flex-direction:column;align-items:center;justify-content:center;gap:16px;font-family:'Segoe UI',system-ui,sans-serif;transition:opacity .25s;}
  #adminLoader.show{display:flex;}
  #adminLoader.gone{opacity:0;pointer-events:none;}
  #adminLoader .al-logo img{width:72px;height:72px;border-radius:50%;object-fit:cover;display:block;animation:blPulse 1.6s ease-in-out infinite;}

  .al-spin{width:34px;height:34px;border:3.5px solid #e7e9f0;border-top-color:var(--accent);border-radius:50%;animation:blsp .8s linear infinite;}
  #adminLoader .al-t{font-size:14px;font-weight:800;color:var(--ink);}

  html[data-theme="dark"] .al-spin,html[data-theme="dark"] .mini-spin,html[data-theme="dark"] .bl-spin{border-color:#2a2d3d;border-top-color:var(--accent);}

    .hs-head { display:flex; align-items:center; gap:12px; padding:14px 16px 6px; }
    .hs-back { width:40px; height:40px; border-radius:50%; flex:none; display:flex;
      align-items:center; justify-content:center; font-size:20px; font-weight:900;
      background:var(--accent); color:#fff; border:none; cursor:pointer; line-height:1;
      box-shadow:0 3px 10px -2px rgba(227,92,43,.5); }
    .hs-title { font-size:21px; font-weight:900; letter-spacing:-0.3px; color:var(--ink); }
    .hs-chat { display:flex; align-items:center; gap:14px; margin:12px 16px 6px;
      padding:16px 18px; border-radius:18px; cursor:pointer; color:#fff;
      background:linear-gradient(135deg,#e35c2b 0%,#c74a1e 100%);
      box-shadow:0 8px 20px -10px rgba(67,56,202,.7); }
    .hs-chat-ic { width:44px; height:44px; border-radius:50%; flex:none; display:flex;
      align-items:center; justify-content:center; font-size:21px;
      background:rgba(255,255,255,.22); }
    .hs-chat-t { font-size:16px; font-weight:900; line-height:1.2; }
    .hs-chat-s { font-size:12px; opacity:.9; margin-top:2px; }
    .hs-chat-x { margin-left:auto; font-size:20px; font-weight:900; opacity:.85; }
    .hs-cards { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:10px; }
    .hs-card { background:var(--card); border:1.5px solid var(--line); border-radius:16px;
      padding:16px 12px; text-align:center; text-decoration:none; color:inherit;
      box-shadow:0 2px 8px rgba(0,0,0,.05); display:block; }
    .hs-card-ic { width:52px; height:52px; border-radius:50%; margin:0 auto 10px;
      display:flex; align-items:center; justify-content:center; font-size:23px;
      background:var(--accent-soft); }
    .hs-card-t { font-size:14px; font-weight:900; }
    .hs-card-v { font-size:12.5px; font-weight:700; color:var(--accent-dark);
      margin-top:3px; word-break:break-word; }
    .hs-card-s { font-size:11px; color:var(--muted); font-weight:600; margin-top:3px; }

