:root {
  --ink: #141b1e;
  --ink-2: #20292d;
  --ink-3: #2b363a;
  --gold: #d59a51;
  --gold-light: #f1c98e;
  --gold-pale: #f8efe3;
  --cream: #f7f4ee;
  --paper: #ffffff;
  --muted: #718086;
  --line: #e4e8e8;
  --green: #3d9b71;
  --blue: #537fb7;
  --sidebar: 258px;
  --shadow: 0 24px 70px rgba(18, 25, 28, .14);
  --radius: 22px;
}

/* Inventory, Google Sheets and recipe-cost control */
.inventory-page .management-title form{margin:0}.inventory-page .management-title .button{display:inline-flex;align-items:center;gap:.55rem}.inventory-page .management-title .button:disabled{opacity:.45;cursor:not-allowed}.inventory-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.55fr);gap:1.2rem;padding:clamp(1.35rem,3vw,2.25rem);margin-bottom:1.2rem;border:1px solid rgba(198,160,91,.3);border-radius:28px;background:radial-gradient(circle at 85% 5%,rgba(209,170,91,.18),transparent 34%),linear-gradient(135deg,#17211e,#0e1513);box-shadow:0 24px 70px rgba(6,14,12,.16);color:#fff}.inventory-hero h2{font-size:clamp(1.7rem,3vw,2.7rem);max-width:720px;margin:.45rem 0 .75rem;line-height:1.08}.inventory-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.7);line-height:1.7}.inventory-hero-status{display:flex;flex-direction:column;justify-content:center;gap:.3rem;padding:1.25rem;border-radius:22px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);overflow:hidden}.inventory-hero-status i,.sheet-status>i{width:10px;height:10px;border-radius:999px;background:#d4a84f;box-shadow:0 0 0 7px rgba(212,168,79,.12)}.inventory-hero-status.connected i,.sheet-status.connected>i{background:#45c98a;box-shadow:0 0 0 7px rgba(69,201,138,.12)}.inventory-hero-status small{color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.13em;font-size:.68rem;margin-top:.55rem}.inventory-hero-status strong{font-size:1.1rem}.inventory-hero-status span{font-size:.76rem;color:rgba(255,255,255,.58);overflow-wrap:anywhere}.sheet-connection-card{margin-bottom:1.2rem}.sheet-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1.15rem 0}.sheet-status{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.9rem;padding:1rem;border:1px solid rgba(23,35,31,.09);border-radius:18px;background:#fbfaf7}.sheet-status>i{margin-top:.35rem}.sheet-status.error>i{background:#db645b;box-shadow:0 0 0 7px rgba(219,100,91,.11)}.sheet-status div{display:flex;min-width:0;flex-direction:column;gap:.2rem}.sheet-status small{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#9b7b3d}.sheet-status strong{font-size:.93rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-status span{font-size:.75rem;color:#78817d}.sheet-status em{font-size:.72rem;color:#b34d47;font-style:normal;margin-top:.25rem}.sheet-connect-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-top:1rem;border-top:1px solid rgba(23,35,31,.08)}.sheet-connect-form fieldset{display:grid;gap:.65rem;margin:0;padding:1rem;border:1px solid rgba(23,35,31,.1);border-radius:17px}.sheet-connect-form legend{padding:0 .4rem;font-weight:800;color:#24312d}.sheet-connect-form label{display:grid;gap:.35rem;font-size:.76rem;color:#65716c}.sheet-connect-form input{width:100%;min-width:0;padding:.7rem .75rem;border:1px solid rgba(23,35,31,.13);border-radius:11px;background:#fff;color:#1d2925}.sheet-connect-form .check-line{display:flex;align-items:center;gap:.45rem}.sheet-connect-form .check-line input{width:auto}.credential-upload{grid-column:1/-1;display:grid!important;grid-template-columns:220px 1fr;align-items:center;gap:.3rem 1rem;padding:1rem;border:1px dashed rgba(157,119,47,.4);border-radius:15px;background:#fffaf0}.credential-upload small{grid-column:2;color:#7b817e}.sheet-connect-form>.button{grid-column:1/-1;justify-self:start}.share-instruction{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;margin-top:1rem;padding:.85rem 1rem;border-radius:14px;background:#eef9f3;color:#315d49}.share-instruction code{padding:.35rem .55rem;border-radius:8px;background:#fff;font-size:.78rem;overflow-wrap:anywhere}.inventory-table td:first-child strong,.recipe-cost-table td:first-child strong{display:block}.inventory-table td:first-child small,.recipe-cost-table td:first-child small{display:block;margin-top:.2rem;color:#8b9490}.stock-chip,.margin-chip{display:inline-flex;padding:.35rem .6rem;border-radius:999px;font-size:.72rem;font-weight:800;white-space:nowrap}.stock-chip.good,.margin-chip.good{background:#e7f7ef;color:#22754f}.stock-chip.low,.margin-chip.low{background:#fff0ed;color:#a64239}.stock-chip.unknown,.margin-chip.unknown{background:#f1f1ed;color:#777b78}.inventory-table details{position:relative}.inventory-table summary{cursor:pointer;color:#966d25;font-weight:800}.stock-count-form{position:absolute;z-index:5;right:0;top:1.7rem;width:240px;padding:.9rem;border:1px solid rgba(23,35,31,.12);border-radius:15px;background:#fff;box-shadow:0 18px 45px rgba(16,28,24,.18)}.stock-count-form label{display:grid;gap:.2rem;margin-bottom:.55rem;font-size:.7rem}.stock-count-form input{padding:.55rem;border:1px solid rgba(23,35,31,.12);border-radius:8px}.stock-count-form button,.recipe-map-form button{border:0;border-radius:8px;background:#1e302a;color:#fff;padding:.55rem .75rem;font-weight:800;cursor:pointer}.recipe-map-form{display:flex;min-width:280px;gap:.4rem}.recipe-map-form select{min-width:0;flex:1;padding:.55rem;border:1px solid rgba(23,35,31,.12);border-radius:9px;background:#fff}.soft-red{background:#fff0ed!important;color:#aa4b42!important}.finance-live-badge{text-decoration:none}
@media (max-width:980px){.inventory-hero{grid-template-columns:1fr}.sheet-status-grid,.sheet-connect-form{grid-template-columns:1fr}.credential-upload{grid-column:1;grid-template-columns:1fr}.credential-upload small{grid-column:1}.sheet-connect-form>.button{grid-column:1}.stock-count-form{left:0;right:auto}.recipe-map-form{min-width:240px}}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background: var(--cream); }
button, input { font: inherit; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { color: inherit; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; padding: 0 23px; border: 1px solid transparent; border-radius: 999px; font-size: 13px; font-weight: 700; letter-spacing: .02em; transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease; }
.button:hover { transform: translateY(-2px); }
.button-gold { background: var(--gold); color: #161c1f; box-shadow: 0 12px 32px rgba(213,154,81,.18); }
.button-gold:hover { background: var(--gold-light); box-shadow: 0 16px 36px rgba(213,154,81,.28); }
.button-ghost { color: #fff; border-color: rgba(255,255,255,.32); }
.button-ghost:hover { background: #fff; color: var(--ink); }
.button-large { min-height: 54px; padding-inline: 30px; }

.brand img { width: 158px; height: 78px; object-fit: contain; }
.site-header { position: fixed; z-index: 50; inset: 0 0 auto; height: 92px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 5.5vw; border-bottom: 1px solid rgba(255,255,255,.13); color: #fff; transition: background .3s ease, height .3s ease, box-shadow .3s ease; }
.site-header.scrolled { height: 76px; background: rgba(20,27,30,.94); box-shadow: 0 10px 35px rgba(0,0,0,.2); backdrop-filter: blur(14px); }
.site-header .brand { justify-self: start; align-self: stretch; min-width: 184px; display: flex; align-items: center; justify-content: center; padding: 3px 14px; border-radius: 0 0 16px 16px; background: rgba(247,244,238,.97); box-shadow: 0 12px 32px rgba(0,0,0,.12); }
.site-header .brand img { width: 150px; filter: none; }
.main-nav { display: flex; gap: 34px; align-items: center; }
.main-nav a { position: relative; padding: 34px 0 30px; color: rgba(255,255,255,.72); font-size: 12px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.main-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 2px; background: var(--gold); transition: right .25s ease; }
.main-nav a:hover, .main-nav a.active { color: #fff; }
.main-nav a:hover::after, .main-nav a.active::after { right: 0; }
.header-actions { justify-self: end; display: flex; gap: 10px; }
.nav-toggle { display: none; width: 44px; height: 44px; padding: 10px; border: 0; border-radius: 50%; background: transparent; }
.nav-toggle span { display: block; width: 22px; height: 2px; margin: 5px 0; background: white; }

.hero { position: relative; min-height: 820px; height: 100vh; overflow: hidden; display: flex; align-items: center; color: #fff; background: var(--ink); }
.hero-video, .hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-video { object-fit: cover; opacity: .48; filter: saturate(.9) contrast(1.08); }
.hero-shade { background: linear-gradient(90deg, rgba(10,15,17,.98) 0%, rgba(10,15,17,.88) 38%, rgba(10,15,17,.36) 68%, rgba(10,15,17,.48) 100%), linear-gradient(0deg, rgba(10,15,17,.72), transparent 45%); }
.hero-orb { position: absolute; border: 1px solid rgba(213,154,81,.28); border-radius: 50%; }
.hero-orb-one { width: 600px; height: 600px; right: -160px; top: -120px; }
.hero-orb-two { width: 470px; height: 470px; right: -40px; bottom: -260px; }
.hero-content { position: relative; z-index: 2; width: 51%; max-width: 760px; margin-left: 8.5vw; padding-top: 78px; }
.eyebrow { margin: 0 0 24px; display: flex; align-items: center; gap: 10px; color: var(--gold-light); font-size: 11px; line-height: 1.2; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow span { width: 28px; height: 1px; background: currentColor; }
.eyebrow.dark { color: #a76e31; }
.hero h1 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(62px, 7vw, 112px); line-height: .88; font-weight: 400; letter-spacing: -.055em; }
.hero h1 em { color: var(--gold-light); font-weight: 400; }
.hero-copy { max-width: 570px; margin: 30px 0 0; color: rgba(255,255,255,.72); font-size: 17px; line-height: 1.75; }
.hero-actions { display: flex; align-items: center; gap: 30px; margin-top: 38px; }
.text-link { display: inline-flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 700; }
.play-icon { display: grid; place-items: center; width: 40px; height: 40px; padding-left: 2px; border: 1px solid rgba(255,255,255,.34); border-radius: 50%; font-size: 9px; }
.hero-proof { display: flex; gap: 16px; align-items: center; margin-top: 52px; }
.avatar-stack { display: flex; padding-left: 10px; }
.avatar-stack span { display: grid; place-items: center; width: 33px; height: 33px; margin-left: -10px; border: 2px solid var(--ink); border-radius: 50%; background: var(--gold-pale); color: var(--ink); font-size: 11px; font-weight: 800; }
.avatar-stack span:nth-child(2) { background: #b5c7bb; }
.avatar-stack span:nth-child(3) { background: var(--gold); }
.hero-proof p { margin: 0; color: rgba(255,255,255,.6); font-size: 11px; line-height: 1.5; }
.hero-proof strong { color: white; font-size: 12px; }

.menu-device { position: absolute; z-index: 3; right: 8vw; top: 52%; width: min(326px, 24vw); min-width: 280px; padding: 13px; transform: translateY(-46%) rotate(3deg); border: 8px solid #111719; border-radius: 39px; background: #f8f6f0; color: var(--ink); box-shadow: 0 40px 80px rgba(0,0,0,.5); }
.menu-device::after { content: ""; position: absolute; z-index: -1; inset: -45px; border: 1px solid rgba(213,154,81,.3); border-radius: 52% 48% 45% 55%; }
.device-top { display: flex; align-items: center; justify-content: space-between; padding: 4px 13px 8px; font-size: 8px; }
.device-top > span:first-child { width: 30px; }
.device-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--ink); }
.device-brand { display: flex; align-items: center; justify-content: space-between; height: 52px; padding: 0 9px; }
.device-brand img { width: 82px; height: 46px; object-fit: contain; }
.device-brand button { border: 0; background: transparent; font-size: 17px; }
.device-image { position: relative; height: 285px; overflow: hidden; display: grid; place-items: center; border-radius: 25px; background: linear-gradient(145deg, #efe6d8, #e8cfac); }
.device-image::before { content: ""; position: absolute; width: 240px; height: 240px; border-radius: 50%; background: rgba(255,255,255,.45); }
.device-image img { position: relative; max-width: 104%; max-height: 102%; object-fit: contain; }
.popular-tag { position: absolute; left: 12px; top: 12px; padding: 7px 10px; border-radius: 999px; background: rgba(20,27,30,.88); color: #fff; font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.device-details { display: flex; justify-content: space-between; align-items: center; padding: 18px 9px 4px; }
.device-details p { margin: 0 0 3px; color: var(--gold); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.device-details h3 { margin: 0; font-family: Georgia, serif; font-size: 16px; }
.device-details button { display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--ink); color: #fff; font-size: 20px; }
.device-price { display: flex; align-items: center; justify-content: space-between; padding: 6px 9px 11px; }
.device-price strong { font-size: 13px; }
.device-price span { color: #a76e31; font-size: 10px; font-weight: 800; }
.scroll-cue { position: absolute; z-index: 4; left: 5.5vw; bottom: 24px; display: flex; gap: 15px; align-items: center; color: rgba(255,255,255,.45); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.scroll-cue i { position: relative; width: 44px; height: 1px; overflow: hidden; background: rgba(255,255,255,.2); }
.scroll-cue i::after { content: ""; position: absolute; inset: 0; background: var(--gold); animation: scrollLine 2s infinite ease-in-out; }
@keyframes scrollLine { from { transform: translateX(-100%); } 60%, to { transform: translateX(100%); } }

.trust-strip { display: grid; grid-template-columns: repeat(4,1fr); padding: 0 7vw; background: var(--ink); color: white; }
.trust-strip > div { display: flex; align-items: center; justify-content: center; gap: 18px; min-height: 116px; border-right: 1px solid rgba(255,255,255,.1); }
.trust-strip > div:first-child { border-left: 1px solid rgba(255,255,255,.1); }
.trust-strip strong { color: var(--gold); font-family: Georgia, serif; font-size: 27px; font-weight: 400; }
.trust-strip span { color: rgba(255,255,255,.62); font-size: 11px; line-height: 1.6; text-transform: uppercase; letter-spacing: .08em; }

.section { padding: 120px 8vw; }
.section-heading { max-width: 680px; margin: 0 auto 64px; text-align: center; }
.section-heading .eyebrow { justify-content: center; }
.section h2, .showcase h2, .cta-section h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 5vw, 72px); line-height: 1.05; font-weight: 400; letter-spacing: -.04em; }
.section-heading > p:last-child { max-width: 560px; margin: 22px auto 0; color: var(--muted); font-size: 15px; line-height: 1.75; }
.steps-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; max-width: 1140px; margin: auto; }
.step-card { position: relative; min-height: 320px; overflow: hidden; padding: 38px; border: 1px solid #e1e3df; border-radius: var(--radius); background: rgba(255,255,255,.58); transition: transform .3s ease, box-shadow .3s ease, background .3s ease; }
.step-card:hover { transform: translateY(-8px); box-shadow: var(--shadow); }
.step-card.featured { background: var(--ink); color: white; }
.step-number { color: #a9b0b1; font-family: Georgia, serif; font-size: 13px; }
.step-icon { display: grid; place-items: center; width: 60px; height: 60px; margin: 43px 0 28px; border-radius: 18px; background: var(--gold-pale); color: #9b6225; font-size: 25px; }
.featured .step-icon { background: var(--gold); color: var(--ink); }
.step-card h3 { margin: 0 0 12px; font-family: Georgia, serif; font-size: 26px; font-weight: 400; }
.step-card p { max-width: 250px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.featured p { color: rgba(255,255,255,.58); }
.step-card i { position: absolute; right: -35px; bottom: -35px; width: 100px; height: 100px; border: 1px solid rgba(213,154,81,.35); border-radius: 50%; }

.showcase { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 760px; background: var(--ink); color: white; }
.showcase-visual { position: relative; display: grid; place-items: center; padding: 80px 7vw; background: #1b2427; overflow: hidden; }
.showcase-visual::before { content: ""; position: absolute; width: 500px; height: 500px; border: 1px solid rgba(213,154,81,.18); border-radius: 50%; }
.visual-frame { position: relative; width: min(480px, 80%); aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle at 50% 42%, #f3d6a9, #c5823b 55%, #76502e); box-shadow: 0 40px 80px rgba(0,0,0,.28); }
.visual-frame::before, .visual-frame::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); }
.visual-frame::before { inset: -22px; }
.visual-frame::after { inset: -50px; border-color: rgba(213,154,81,.18); }
.visual-frame img { position: relative; z-index: 1; width: 88%; max-height: 88%; object-fit: contain; filter: drop-shadow(0 24px 22px rgba(0,0,0,.28)); }
.floating-note { position: absolute; z-index: 2; right: 8%; bottom: 14%; display: flex; gap: 12px; align-items: center; padding: 14px 18px; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.1); backdrop-filter: blur(14px); }
.floating-note > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--gold); color: var(--ink); }
.floating-note p { margin: 0; color: rgba(255,255,255,.62); font-size: 10px; line-height: 1.5; }
.floating-note strong { color: white; }
.showcase-copy { padding: 120px 8vw 100px 7vw; display: flex; flex-direction: column; justify-content: center; }
.showcase-copy > p:nth-of-type(2) { margin: 26px 0 34px; color: rgba(255,255,255,.58); line-height: 1.8; }
.feature-list { border-top: 1px solid rgba(255,255,255,.12); }
.feature-list > div { display: grid; grid-template-columns: 44px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.feature-list b { color: var(--gold); font-family: Georgia, serif; font-weight: 400; }
.feature-list p { margin: 0; color: rgba(255,255,255,.5); font-size: 12px; line-height: 1.6; }
.feature-list strong { color: white; font-size: 14px; }

.about { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: center; }
.about-copy > p:nth-of-type(2) { max-width: 600px; color: var(--muted); line-height: 1.8; }
.stats { display: flex; margin-top: 42px; border-top: 1px solid #dddeda; border-bottom: 1px solid #dddeda; }
.stats > div { flex: 1; padding: 24px 10px; border-right: 1px solid #dddeda; }
.stats > div:first-child { padding-left: 0; }
.stats > div:last-child { border-right: 0; }
.stats strong, .stats span { display: block; }
.stats strong { font-family: Georgia, serif; font-size: 32px; font-weight: 400; }
.stats span { margin-top: 3px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.about-art { position: relative; min-height: 470px; display: grid; place-items: center; overflow: hidden; border-radius: 50% 50% 12px 12px; background: radial-gradient(circle at 50% 42%, #f1d0a1, #d69b52 52%, #273235 53%, #1b2326); }
.about-art::after { content: ""; position: absolute; inset: 32px; border: 1px solid rgba(255,255,255,.22); border-radius: inherit; }
.about-art img { position: relative; z-index: 1; width: 64%; filter: brightness(0) invert(1); }
.cta-section { min-height: 470px; display: grid; place-items: center; padding: 80px 20px; text-align: center; color: white; background: linear-gradient(rgba(16,22,24,.88),rgba(16,22,24,.9)), url("images/featured-bg.jpg") center / cover fixed; }
.cta-content { max-width: 700px; }
.cta-content .eyebrow { justify-content: center; }
.cta-content p:nth-of-type(2) { margin: 18px 0 28px; color: rgba(255,255,255,.63); }

.site-footer { display: grid; grid-template-columns: 1.2fr 1fr 1fr auto; align-items: center; gap: 30px; padding: 28px 6vw; background: #111719; color: rgba(255,255,255,.54); }
.footer-brand { display: inline-flex; justify-content: center; width: 142px; padding: 3px 10px; border-radius: 10px; background: var(--cream); }
.footer-brand img { width: 120px; height: 58px; filter: none; }
.site-footer p { margin: 0; font-family: Georgia, serif; font-style: italic; color: var(--gold-light); }
.site-footer > div { display: flex; gap: 22px; justify-content: center; font-size: 11px; }
.site-footer a:hover { color: white; }
.site-footer small { font-size: 9px; }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }
.reveal-delay { transition-delay: .18s; }
.reveal-delay-two { transition-delay: .34s; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.hero .menu-device.reveal { transform: translateY(-42%) rotate(3deg); }
.hero .menu-device.reveal.visible { transform: translateY(-46%) rotate(3deg); }

/* Login */
.login-page { min-height: 100vh; background: #f5f4ef; }
.login-layout { min-height: 100vh; display: grid; grid-template-columns: minmax(440px, 1.08fr) minmax(420px, .92fr); }
.login-story { position: relative; overflow: hidden; min-height: 720px; padding: 42px 5vw; display: flex; flex-direction: column; justify-content: space-between; color: white; }
.login-story video, .login-overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.login-story video { object-fit: cover; }
.login-overlay { background: linear-gradient(180deg, rgba(13,18,20,.62), rgba(13,18,20,.4) 35%, rgba(13,18,20,.94)); }
.login-story > * { position: relative; z-index: 1; }
.login-brand { display: inline-flex; width: fit-content; padding: 4px 15px; border-radius: 12px; background: rgba(247,244,238,.94); }
.login-brand img { width: 158px; filter: none; }
.login-quote { max-width: 600px; }
.login-quote blockquote { margin: 0; font-family: Georgia, serif; font-size: clamp(42px, 4.5vw, 68px); line-height: 1.08; letter-spacing: -.04em; }
.login-quote > p:last-child { max-width: 460px; margin: 24px 0 0; color: rgba(255,255,255,.62); line-height: 1.7; }
.login-story small { color: rgba(255,255,255,.4); }
.login-panel { display: grid; place-items: center; padding: 60px 8vw; }
.login-box { width: min(440px,100%); }
.login-box h1 { margin: 0 0 12px; font-family: Georgia, serif; font-size: 56px; font-weight: 400; letter-spacing: -.04em; }
.login-intro { margin: 0 0 38px; color: var(--muted); font-size: 14px; }
.login-form label { display: block; margin: 0 0 9px; color: #3d484c; font-size: 12px; font-weight: 750; }
.field-wrap { position: relative; display: flex; align-items: center; height: 54px; margin-bottom: 21px; border: 1px solid #dfe3e2; border-radius: 12px; background: white; transition: border .2s ease, box-shadow .2s ease; }
.field-wrap:focus-within { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(213,154,81,.1); }
.field-wrap > span { width: 48px; text-align: center; color: #859095; }
.field-wrap input { flex: 1; min-width: 0; height: 100%; padding: 0 12px 0 0; border: 0; outline: 0; background: transparent; font-size: 13px; }
.field-wrap input::placeholder { color: #a7afb1; }
.password-row { display: flex; justify-content: space-between; }
.password-row a { color: #a16a2d; font-size: 11px; font-weight: 700; }
.password-toggle { margin-right: 13px; padding: 5px 0; border: 0; background: transparent; color: #8b642f; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.remember { display: flex !important; align-items: center; gap: 8px; color: var(--muted) !important; font-weight: 500 !important; }
.remember input { accent-color: var(--gold); }
.login-submit { width: 100%; margin-top: 22px; border-radius: 12px; }
.login-submit:disabled { opacity: .7; cursor: wait; }
.demo-note { margin: 14px 0 0; color: #9ca5a7; text-align: center; font-size: 10px; }
.form-alert { margin: 0 0 20px; padding: 12px 14px; border: 1px solid #cfe3d6; border-radius: 10px; background: #f0faf4; color: #2d704f; font-size: 11px; line-height: 1.5; }
.form-alert.error { border-color: #edd3cf; background: #fff3f1; color: #a04539; }
.form-alert p { margin: 0; }
.form-alert p + p { margin-top: 5px; }
.locked-field { background: #eeefec; }
.password-help { margin: -9px 0 0; color: #899294; font-size: 9px; line-height: 1.5; }
.mobile-login-logo { display: none; }

/* Dashboard */
.dashboard-page { min-height: 100vh; background: #f3f5f4; color: #1d2528; }
.sidebar { position: fixed; z-index: 80; inset: 0 auto 0 0; width: var(--sidebar); display: flex; flex-direction: column; padding: 18px 16px 20px; background: #172024; color: white; }
.sidebar-head { display: flex; align-items: center; justify-content: space-between; padding: 0 10px 12px; }
.dashboard-brand img { width: 125px; height: 64px; filter: brightness(0) invert(1); }
.sidebar-head button { display: none; border: 0; background: transparent; color: white; font-size: 30px; }
.side-nav { flex: 1; margin-top: 5px; overflow-y: auto; }
.side-nav p { margin: 18px 13px 8px; color: #718086; font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.side-nav a { display: flex; align-items: center; gap: 12px; min-height: 42px; margin: 3px 0; padding: 0 13px; border-radius: 9px; color: rgba(255,255,255,.57); font-size: 12px; font-weight: 650; transition: background .2s ease, color .2s ease; }
.side-nav a:hover { color: white; background: rgba(255,255,255,.06); }
.side-nav a.active { color: white; background: linear-gradient(90deg, rgba(213,154,81,.24), rgba(213,154,81,.08)); }
.side-nav a.active::before { content: ""; position: absolute; left: 0; width: 3px; height: 24px; border-radius: 0 4px 4px 0; background: var(--gold); }
.side-nav a > span { width: 20px; color: var(--gold-light); font-size: 16px; text-align: center; }
.side-nav a b { margin-left: auto; display: grid; place-items: center; min-width: 22px; height: 19px; padding: 0 5px; border-radius: 99px; background: var(--gold); color: #172024; font-size: 9px; }
.sidebar-card { margin: 14px 2px; padding: 15px; border: 1px solid rgba(213,154,81,.25); border-radius: 13px; background: rgba(213,154,81,.08); }
.sidebar-card > span { float: left; display: grid; place-items: center; width: 35px; height: 35px; margin-right: 10px; border-radius: 8px; background: white; color: var(--ink); font-size: 9px; font-weight: 900; }
.sidebar-card p { margin: 1px 0 12px; color: rgba(255,255,255,.47); font-size: 9px; line-height: 1.5; }
.sidebar-card strong { color: white; font-size: 11px; }
.sidebar-card button { width: 100%; min-height: 31px; border: 1px solid rgba(255,255,255,.12); border-radius: 7px; background: rgba(255,255,255,.07); color: white; font-size: 9px; font-weight: 700; }
.logout-link { display: flex; align-items: center; gap: 11px; padding: 10px 13px; color: rgba(255,255,255,.42); font-size: 11px; }
.dashboard-shell { min-height: 100vh; margin-left: var(--sidebar); }
.dashboard-header { min-height: 88px; display: flex; align-items: center; justify-content: space-between; padding: 16px 34px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.86); backdrop-filter: blur(10px); }
.dashboard-header > div:first-of-type p { margin: 0 0 2px; color: var(--muted); font-size: 10px; }
.dashboard-header h1 { margin: 0; font-family: Georgia, serif; font-size: 25px; font-weight: 400; }
.sidebar-toggle { display: none; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.dashboard-actions { display: flex; align-items: center; gap: 9px; }
.icon-button { position: relative; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.notification i { position: absolute; right: 8px; top: 7px; width: 5px; height: 5px; border: 1px solid white; border-radius: 50%; background: #d26655; }
.admin-profile { display: flex; align-items: center; gap: 9px; margin-left: 8px; }
.admin-profile > span { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 11px; background: var(--ink); color: var(--gold-light); font-family: Georgia, serif; font-size: 13px; }
.admin-profile p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.admin-profile strong { color: var(--ink); font-size: 11px; }
.admin-profile b { color: #849094; font-size: 12px; }
.dashboard-main { padding: 25px 30px 44px; }
.status-bar { min-height: 48px; display: flex; justify-content: space-between; align-items: center; padding: 9px 14px 9px 17px; border: 1px solid #dce7df; border-radius: 12px; background: #f8fcf9; }
.status-bar p { margin: 0; color: var(--muted); font-size: 10px; }
.status-bar strong { color: var(--ink); }
.status-bar button { border: 0; background: transparent; color: #3b805f; font-size: 10px; font-weight: 750; }
.live-dot { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(61,155,113,.12); }
.metric-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: 16px; }
.metric-card { position: relative; min-height: 177px; overflow: hidden; padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: white; }
.metric-card > div:first-child { display: flex; align-items: center; gap: 10px; }
.metric-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: rgba(213,154,81,.16); color: #a66b2c; font-size: 15px; }
.metric-card small { color: var(--muted); font-size: 9px; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.metric-card > strong { display: block; margin-top: 15px; font-family: Georgia, serif; font-size: 27px; font-weight: 400; }
.metric-card > strong small { font-family: Inter, sans-serif; font-size: 11px; }
.metric-card > p { margin: 7px 0 0; color: #8a9497; font-size: 9px; }
.metric-card > p b { color: var(--green); }
.primary-card { border-color: #263236; background: #202a2e; color: white; }
.primary-card small { color: rgba(255,255,255,.52); }
.primary-card .metric-icon { background: var(--gold); color: var(--ink); }
.primary-card > p { color: rgba(255,255,255,.44); }
.primary-card > p b { color: var(--gold-light); }
.mini-bars { position: absolute; right: 14px; bottom: 17px; left: 14px; height: 35px; display: flex; align-items: flex-end; gap: 5px; }
.mini-bars i { flex: 1; border-radius: 3px 3px 0 0; background: rgba(213,154,81,.18); }
.mini-bars i:nth-child(1) { height: 35%; }.mini-bars i:nth-child(2) { height: 48%; }.mini-bars i:nth-child(3) { height: 40%; }.mini-bars i:nth-child(4) { height: 62%; }.mini-bars i:nth-child(5) { height: 55%; }.mini-bars i:nth-child(6) { height: 76%; }.mini-bars i:nth-child(7) { height: 63%; }.mini-bars i:nth-child(8) { height: 82%; }.mini-bars i:nth-child(9) { height: 74%; }.mini-bars i:nth-child(10) { height: 100%; background: var(--gold); }
.soft-blue { background: #e9f1fa; color: var(--blue); }
.soft-green { background: #e9f7f0; color: var(--green); }
.metric-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 19px; color: #8a9497; font-size: 8px; }
.metric-foot .live-dot { margin: 0; }
.progress { height: 4px; margin-top: 7px; overflow: hidden; border-radius: 9px; background: #edf0ef; }
.progress i { display: block; height: 100%; border-radius: inherit; background: var(--gold); }
.stars { margin-top: 17px; color: var(--gold); font-size: 12px; letter-spacing: 3px; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(280px,.7fr); gap: 16px; margin-top: 16px; }
.panel { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: 15px; background: white; }
.panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.panel-head h2 { margin: 0; font-family: Georgia, serif; font-size: 18px; font-weight: 400; }
.panel-head p { margin: 4px 0 0; color: var(--muted); font-size: 9px; }
.panel-head a { color: #95622b; font-size: 9px; font-weight: 750; }
.panel-head > button { padding: 7px 10px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--muted); font-size: 9px; }
.order-tabs { display: flex; gap: 4px; margin: 18px 0 8px; border-bottom: 1px solid var(--line); }
.order-tabs button { position: relative; padding: 0 11px 10px; border: 0; background: transparent; color: var(--muted); font-size: 9px; font-weight: 750; }
.order-tabs button b { margin-left: 3px; color: #9aa2a4; font-size: 8px; }
.order-tabs button.active { color: var(--ink); }
.order-tabs button.active::after { content: ""; position: absolute; right: 8px; bottom: -1px; left: 8px; height: 2px; background: var(--gold); }
.order-tabs button.active b { color: #a66b2c; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 9px; }
th { padding: 10px 8px; color: #929b9e; font-size: 8px; text-align: left; text-transform: uppercase; letter-spacing: .05em; }
td { padding: 12px 8px; border-top: 1px solid #edf0ef; white-space: nowrap; }
td strong { font-size: 9px; }
td small { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; }
.type-chip, .status-chip { display: inline-flex; align-items: center; min-height: 21px; padding: 0 8px; border-radius: 99px; font-size: 8px; font-weight: 750; }
.type-chip { background: #f0f2f2; color: #687579; }
.status-chip.new { background: #f9eee2; color: #aa6e2d; }
.status-chip.preparing { background: #eaf1fa; color: #4f78aa; }
.status-chip.ready { background: #e8f5ee; color: #398362; }
.status-chip.en_route { background: #eee9f9; color: #69589e; }
.status-chip.completed { background: #e8f5ee; color: #398362; }
.status-chip.cancelled { background: #fbeceb; color: #a14c42; }
.quick-actions { margin-top: 16px; }
.quick-actions button, .quick-actions > a { width: 100%; display: flex; align-items: center; gap: 10px; min-height: 57px; padding: 8px 0; border: 0; border-bottom: 1px solid #edf0ef; background: transparent; text-align: left; }
.quick-actions button > span, .quick-actions > a > span { display: grid; place-items: center; width: 33px; height: 33px; border-radius: 9px; background: var(--gold-pale); color: #a66b2c; font-size: 16px; }
.quick-actions button p, .quick-actions > a p { flex: 1; margin: 0; color: var(--muted); font-size: 8px; line-height: 1.5; }
.quick-actions button strong, .quick-actions > a strong { color: var(--ink); font-size: 10px; }
.quick-actions button > b, .quick-actions > a > b { color: #9aa2a4; font-size: 17px; font-weight: 400; }
.menu-health { display: flex; align-items: center; gap: 14px; margin-top: 16px; padding: 15px; border-radius: 12px; background: #f5f6f3; }
.ring { width: 63px; height: 63px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: conic-gradient(var(--gold) 0 92%, #e4e7e4 92%); }
.ring::before { content: ""; width: 48px; height: 48px; border-radius: 50%; background: #f5f6f3; }
.ring span { position: absolute; font-family: Georgia, serif; font-size: 16px; }
.ring small { font-size: 8px; }
.menu-health h3 { margin: 0; font-family: Georgia, serif; font-size: 14px; font-weight: 400; }
.menu-health p { margin: 3px 0; color: var(--muted); font-size: 8px; }
.menu-health a { color: #9d682d; font-size: 8px; font-weight: 750; }
.lower-grid { grid-template-columns: minmax(0,1.4fr) minmax(280px,.6fr); }
.chart { height: 185px; display: grid; grid-template-columns: 25px 1fr; gap: 8px; margin-top: 16px; }
.chart-y { display: flex; flex-direction: column; justify-content: space-between; padding-bottom: 25px; color: #a0a7a9; font-size: 7px; }
.chart-bars { display: flex; align-items: stretch; justify-content: space-around; gap: 9px; padding: 0 5px; border-bottom: 1px solid #dfe4e2; background: repeating-linear-gradient(to bottom, transparent 0, transparent 37px, #f0f2f1 38px); }
.chart-bars > div { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 7px; }
.chart-bars i { width: min(30px,70%); min-height: 12px; border-radius: 5px 5px 1px 1px; background: #d9ddd9; transition: height .4s ease; }
.chart-bars .today i { background: var(--gold); }
.chart-bars span { height: 17px; color: #8a9497; font-size: 8px; }
.popular-panel ol { margin: 13px 0 0; padding: 0; list-style: none; }
.popular-panel li { display: flex; align-items: center; gap: 10px; padding: 13px 0; border-top: 1px solid #edf0ef; }
.popular-panel li > span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 7px; background: #f1f2ef; color: #9b6a35; font-family: Georgia, serif; font-size: 10px; }
.popular-panel li > div { flex: 1; }
.popular-panel strong, .popular-panel small { display: block; }
.popular-panel strong { font-size: 9px; }
.popular-panel small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.popular-panel li > b { font-family: Georgia, serif; font-size: 11px; font-weight: 400; }
.sidebar-backdrop { position: fixed; z-index: 70; inset: 0; visibility: hidden; opacity: 0; background: rgba(10,15,17,.5); transition: .25s ease; }

@media (max-width: 1120px) {
  .site-header { grid-template-columns: 1fr auto; }
  .main-nav { position: fixed; top: 76px; right: 22px; width: min(320px,calc(100vw - 44px)); display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: rgba(20,27,30,.98); box-shadow: var(--shadow); }
  .main-nav.open { display: flex; }
  .main-nav a { padding: 15px; border-radius: 9px; }
  .main-nav a::after { display: none; }
  .main-nav a:hover { background: rgba(255,255,255,.06); }
  .nav-toggle { display: block; justify-self: end; }
  .header-actions { display: none; }
  .hero-content { width: 60%; margin-left: 6vw; }
  .menu-device { right: 4vw; width: 285px; min-width: 0; }
  .trust-strip { padding-inline: 3vw; }
  .metric-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 900px) {
  .hero { min-height: 920px; height: auto; padding: 150px 0 100px; align-items: flex-start; }
  .hero-content { width: auto; margin: 0 7vw; padding: 0; }
  .hero h1 { max-width: 700px; }
  .menu-device { position: relative; right: auto; top: auto; width: 285px; margin: 75px auto 0; transform: rotate(2deg) !important; }
  .hero { display: block; }
  .hero-shade { background: linear-gradient(180deg, rgba(10,15,17,.96) 0%, rgba(10,15,17,.74) 55%, rgba(10,15,17,.9)); }
  .scroll-cue { display: none; }
  .trust-strip { grid-template-columns: repeat(2,1fr); }
  .trust-strip > div:nth-child(3) { border-left: 1px solid rgba(255,255,255,.1); }
  .steps-grid { grid-template-columns: 1fr; max-width: 600px; }
  .step-card { min-height: 260px; }
  .step-icon { margin: 30px 0 20px; }
  .showcase { grid-template-columns: 1fr; }
  .showcase-visual { min-height: 600px; }
  .about { grid-template-columns: 1fr; }
  .about-art { min-height: 400px; }
  .site-footer { grid-template-columns: 1fr 1fr; }
  .site-footer > div { justify-content: flex-end; }
  .login-layout { grid-template-columns: 1fr; }
  .login-story { display: none; }
  .login-panel { min-height: 100vh; background: radial-gradient(circle at top right, rgba(213,154,81,.15), transparent 35%), #f5f4ef; }
  .mobile-login-logo { display: block; margin-bottom: 36px; }
  .mobile-login-logo img { width: 145px; }
  .sidebar { transform: translateX(-100%); transition: transform .25s ease; box-shadow: 22px 0 55px rgba(0,0,0,.25); }
  .sidebar.open { transform: translateX(0); }
  .sidebar-head button { display: block; }
  .sidebar-backdrop.open { visibility: visible; opacity: 1; }
  .dashboard-shell { margin-left: 0; }
  .sidebar-toggle { display: grid; place-items: center; }
  .dashboard-header { justify-content: flex-start; gap: 16px; }
  .dashboard-actions { margin-left: auto; }
  .dashboard-grid { grid-template-columns: 1fr; }
  body.sidebar-open { overflow: hidden; }
}

@media (max-width: 620px) {
  .site-header { height: 74px; padding-inline: 22px; }
  .site-header .brand img { width: 120px; height: 60px; }
  .hero { min-height: 840px; padding-top: 126px; }
  .hero h1 { font-size: 56px; }
  .hero-copy { font-size: 14px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .hero-proof { margin-top: 38px; }
  .menu-device { width: 260px; margin-top: 55px; }
  .device-image { height: 240px; }
  .trust-strip { grid-template-columns: 1fr 1fr; padding: 0; }
  .trust-strip > div { gap: 10px; min-height: 100px; padding: 15px; justify-content: flex-start; }
  .trust-strip strong { font-size: 21px; }
  .trust-strip span { font-size: 8px; }
  .section { padding: 82px 22px; }
  .section-heading { margin-bottom: 42px; }
  .section h2, .showcase h2, .cta-section h2 { font-size: 40px; }
  .step-card { padding: 30px; }
  .showcase-visual { min-height: 450px; padding: 60px 20px; }
  .visual-frame { width: 76%; }
  .floating-note { right: 18px; bottom: 35px; }
  .showcase-copy { padding: 82px 24px; }
  .about { gap: 54px; }
  .stats strong { font-size: 25px; }
  .stats span { font-size: 8px; }
  .about-art { min-height: 300px; }
  .site-footer { grid-template-columns: 1fr; text-align: center; }
  .footer-brand { margin: auto; }
  .site-footer > div { justify-content: center; }
  .login-panel { padding: 40px 24px; }
  .login-box h1 { font-size: 46px; }
  .dashboard-header { min-height: 74px; padding: 12px 15px; }
  .dashboard-header > div:first-of-type p { display: none; }
  .dashboard-header h1 { font-size: 18px; }
  .icon-button { display: none; }
  .admin-profile p, .admin-profile b { display: none; }
  .admin-profile > span { width: 36px; height: 36px; }
  .dashboard-main { padding: 16px 12px 35px; }
  .status-bar { align-items: flex-start; gap: 8px; }
  .status-bar p { line-height: 1.55; }
  .metric-grid { grid-template-columns: 1fr; }
  .metric-card { min-height: 166px; }
  .panel { padding: 16px; }
  .panel-head { align-items: center; }
  .panel-head p { display: none; }
  .order-tabs { overflow-x: auto; }
  .lower-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Dashboard v2 — informed by the authenticated MyDigiMenu panel */
.panel-v2 { --sidebar: 218px; background: #f3f3f0; }
.panel-v2 .sidebar { padding: 12px 10px 16px; border-right: 1px solid #ddd6c7; background: #ebe5d7; color: #343a3c; box-shadow: none; }
.panel-v2 .sidebar-head { min-height: 62px; padding: 0 10px 7px; border-bottom: 1px solid rgba(76,70,59,.09); }
.panel-v2 .dashboard-brand img { width: 132px; height: 58px; filter: none; }
.panel-v2 .side-nav { margin-top: 7px; padding-right: 3px; scrollbar-width: thin; scrollbar-color: #c4b99f transparent; }
.panel-v2 .side-nav a { min-height: 38px; margin: 1px 0; padding: 0 11px; border-radius: 7px; color: #4d5355; font-size: 11px; font-weight: 620; }
.panel-v2 .side-nav a:hover { color: #22292b; background: rgba(255,255,255,.52); }
.panel-v2 .side-nav a.active { color: #8a6231; background: #fff; box-shadow: 0 5px 18px rgba(73,62,42,.07); }
.panel-v2 .side-nav a.active::before { left: 0; height: 22px; border-radius: 0 3px 3px 0; background: #b49758; }
.panel-v2 .side-nav a > span { width: 18px; color: #565b5c; font-size: 14px; }
.panel-v2 .side-nav a.active > span { color: #9a753f; }
.panel-v2 .side-nav a i { margin-left: auto; color: #777a77; font-size: 9px; font-style: normal; }
.panel-v2 .side-nav a b + i { margin-left: 1px; }
.panel-v2 .side-nav a b { min-width: 20px; height: 18px; background: #c2a363; color: #24292a; }
.panel-v2 .sidebar-card { margin: 9px 2px; padding: 12px; border-color: #d4c8ad; background: rgba(255,255,255,.58); }
.panel-v2 .sidebar-card > span { background: #343a3c; color: #fff; }
.panel-v2 .sidebar-card p { color: #76766e; }
.panel-v2 .sidebar-card strong { color: #343a3c; }
.panel-v2 .sidebar-card button { border-color: #d5cebd; background: #fff; color: #5d5b54; }
.panel-v2 .logout-link { color: #77776f; }
.logout-form { margin: 0; }
.logout-form .logout-link { width: 100%; border: 0; background: transparent; text-align: left; }
.empty-table { height: 94px; color: #899294; text-align: center; }
.live-dot.offline { background: #a6aca9; box-shadow: 0 0 0 4px rgba(120,130,128,.1); }
.empty-list { padding: 24px 0 !important; }
.panel-v2 .dashboard-header { min-height: 58px; padding: 8px 24px; border: 0; background: #343430; color: white; }
.panel-v2 .sidebar-toggle { border: 0; background: #f6f2e8; color: #343430; }
.panel-v2 .venue-selector { min-width: 190px; height: 37px; display: flex; align-items: center; justify-content: space-between; padding: 0 13px; border: 1px solid rgba(255,255,255,.42); border-radius: 7px; background: rgba(255,255,255,.04); font-size: 11px; }
.panel-v2 .venue-selector b { color: #c4bbaa; font-size: 9px; }
.panel-v2 .dashboard-actions { gap: 7px; }
.panel-v2 .icon-button, .panel-v2 .language-button, .panel-v2 .support-button, .panel-v2 .score-button { min-width: 37px; height: 37px; border: 0; border-radius: 999px; background: #f6f2e8; color: #343430; font-size: 10px; font-weight: 700; }
.panel-v2 .score-button { display: inline-flex; align-items: center; gap: 7px; padding: 0 16px; }
.panel-v2 .score-button span { font-size: 15px; }
.panel-v2 .language-button { width: 37px; padding: 0; }
.panel-v2 .support-button { padding: 0 14px; }
.panel-v2 .notification { background: #f6f2e8; color: #343430; }
.panel-v2 .notification i { border-color: #343430; }
.panel-v2 .admin-profile { margin-left: 2px; }
.panel-v2 .admin-profile > span { width: 37px; height: 37px; border-radius: 50%; background: #f6f2e8; color: #554930; }
.panel-v2 .admin-profile p, .panel-v2 .admin-profile b { display: none; }
.panel-v2 .dashboard-main { padding: 22px 24px 42px; }
.dashboard-title-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 0 0 18px; }
.dashboard-title-row p { margin: 0 0 3px; color: #909795; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.dashboard-title-row h1 { margin: 0; font-family: Georgia, serif; font-size: 27px; font-weight: 400; }
.dashboard-title-row > button { min-height: 38px; padding: 0 13px; border: 1px solid #bec4c2; border-radius: 7px; background: #fff; color: #5e686a; font-size: 9px; }
.dashboard-title-row > button b { margin-left: 9px; color: #8a6b3e; }
.welcome-strip { min-height: 82px; display: flex; align-items: center; justify-content: space-between; padding: 17px 19px; border: 1px solid #e3dccd; border-radius: 9px; background: linear-gradient(90deg,#eae2d0,#eee9de); }
.welcome-strip p { margin: 0 0 5px; font-family: Georgia, serif; font-size: 18px; }
.welcome-strip span { color: #817f77; font-size: 9px; }
.welcome-strip button { display: grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 50%; background: #b79a5c; color: white; font-size: 22px; }
.panel-v2 .status-bar { margin-top: 12px; }
.panel-v2 .metric-grid { margin-top: 12px; }
.panel-v2 .metric-card { min-height: 150px; border-color: #e3e4df; border-radius: 9px; box-shadow: 0 8px 22px rgba(32,37,38,.035); }
.panel-v2 .primary-card { border-color: #e3e4df; background: #fff; color: #1d2528; }
.panel-v2 .primary-card small { color: var(--muted); }
.panel-v2 .primary-card .metric-icon { background: rgba(213,154,81,.16); color: #a66b2c; }
.panel-v2 .primary-card > p { color: #8a9497; }
.panel-v2 .primary-card > p b { color: var(--green); }
.panel-v2 .panel { border-radius: 9px; border-color: #e3e4df; box-shadow: 0 8px 22px rgba(32,37,38,.035); }

@media (max-width: 900px) {
  .panel-v2 .sidebar { box-shadow: 22px 0 55px rgba(0,0,0,.18); }
  .panel-v2 .sidebar-head button { color: #343a3c; }
  .panel-v2 .dashboard-header { gap: 10px; padding-inline: 13px; }
  .panel-v2 .venue-selector { min-width: 145px; }
  .panel-v2 .score-button, .panel-v2 .support-button { display: none; }
}

@media (max-width: 620px) {
  .panel-v2 .venue-selector { min-width: 0; width: auto; flex: 1; }
  .panel-v2 .language-button, .panel-v2 .dashboard-actions .icon-button:not(.notification) { display: none; }
  .panel-v2 .dashboard-main { padding: 16px 12px 34px; }
  .dashboard-title-row { align-items: flex-start; }
  .dashboard-title-row h1 { font-size: 23px; }
  .dashboard-title-row p { display: block; }
  .dashboard-title-row > button { padding-inline: 9px; font-size: 8px; }
  .welcome-strip { padding: 14px; }
  .welcome-strip p { font-size: 16px; }
  .welcome-strip span { display: none; }
}

/* Functional management pages */
.management-page { min-height: 100vh; background: #f3f3f0; color: var(--ink); }
.management-header { position: sticky; z-index: 20; top: 0; min-height: 66px; display: grid; grid-template-columns: 180px 1fr auto; align-items: center; gap: 25px; padding: 4px 5vw; background: #343430; color: white; box-shadow: 0 8px 30px rgba(0,0,0,.12); }
.management-header img { width: 118px; height: 57px; object-fit: contain; filter: brightness(0) invert(1); }
.management-header nav { display: flex; align-items: stretch; gap: 28px; height: 62px; }
.management-header nav a { position: relative; display: grid; place-items: center; color: rgba(255,255,255,.58); font-size: 10px; font-weight: 700; }
.management-header nav a:hover, .management-header nav a.active { color: white; }
.management-header nav a.active::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: var(--gold); }
.management-header form { margin: 0; }
.management-header form button { min-height: 34px; padding: 0 15px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: transparent; color: white; font-size: 9px; font-weight: 700; }
.management-main { width: min(1280px, 92vw); margin: 0 auto; padding: 48px 0 70px; }
.management-main.narrow-main { width: min(800px, 92vw); }
.management-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.management-title p { margin: 0 0 5px; color: #987044; font-size: 9px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.management-title h1 { margin: 0; font-family: Georgia, serif; font-size: 42px; font-weight: 400; letter-spacing: -.03em; }
.management-title > a, .management-title > span { color: #86613a; font-size: 10px; font-weight: 750; }
.management-grid { display: grid; grid-template-columns: minmax(280px,.75fr) minmax(0,1.6fr); gap: 18px; align-items: start; }
.management-card { min-width: 0; padding: 24px; border: 1px solid #e0e2dd; border-radius: 13px; background: white; box-shadow: 0 14px 36px rgba(32,37,38,.045); }
.management-card h2 { margin: 0; font-family: Georgia, serif; font-size: 22px; font-weight: 400; }
.management-card > p, .card-heading p { margin: 5px 0 22px; color: var(--muted); font-size: 10px; }
.stack-form { display: grid; gap: 15px; }
.stack-form label { display: grid; gap: 7px; color: #4c5759; font-size: 9px; font-weight: 750; }
.stack-form input, .stack-form textarea, .stack-form select, .status-form select { width: 100%; min-height: 43px; padding: 10px 12px; border: 1px solid #dfe3e1; border-radius: 8px; outline: 0; background: #fbfcfa; color: var(--ink); font: inherit; font-size: 11px; }
.stack-form textarea { resize: vertical; }
.stack-form input:focus, .stack-form textarea:focus, .stack-form select:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(213,154,81,.1); }
.stack-form .button { justify-self: start; margin-top: 3px; border-radius: 8px; }
.two-column-form { grid-template-columns: 1fr 1fr; }
.two-column-form .button { grid-column: 1 / -1; }
.card-heading { display: flex; justify-content: space-between; align-items: flex-start; }
.manage-list { border-top: 1px solid #edf0ee; }
.manage-row { display: flex; align-items: center; gap: 12px; min-height: 68px; padding: 11px 0; border-bottom: 1px solid #edf0ee; }
.manage-row > div { flex: 1; min-width: 0; }
.manage-row strong, .manage-row small { display: block; }
.manage-row strong { overflow: hidden; color: #2f383a; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.manage-row small { margin-top: 3px; color: #899294; font-size: 8px; }
.availability { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; }
.availability.on { background: var(--green); box-shadow: 0 0 0 4px rgba(61,155,113,.1); }
.availability.off { background: #aab0ad; }
.availability-label { min-width: 40px; color: #758083; font-size: 8px; }
.manage-row form { margin: 0; }
.manage-row form button { min-height: 30px; padding: 0 10px; border: 1px solid #d9dddb; border-radius: 6px; background: white; color: #596568; font-size: 8px; font-weight: 750; }
.manage-row form button.danger { border-color: #eed7d3; color: #b05044; }
.empty-state { display: grid; place-items: center; gap: 5px; min-height: 180px; color: #899294; text-align: center; font-size: 10px; }
.empty-state strong { color: #3a4446; font-family: Georgia, serif; font-size: 18px; font-weight: 400; }
.order-badge { display: grid; place-items: center; width: 46px; height: 34px; flex: 0 0 auto; border-radius: 7px; background: var(--gold-pale); color: #8e632f; font-size: 8px; font-weight: 800; }
.status-form { width: 125px; }
.status-form select { min-height: 34px; padding: 7px 9px; font-size: 8px; }

/* Database-driven public menu */
.guest-menu-page { min-height: 100vh; background: #141b1e; color: white; }
.guest-menu-header { min-height: 80px; display: flex; align-items: center; justify-content: space-between; padding: 7px 7vw; border-bottom: 1px solid rgba(255,255,255,.1); }
.guest-menu-header img { width: 145px; height: 66px; object-fit: contain; filter: brightness(0) invert(1); }
.guest-menu-header > a { display: inline-flex; padding: 2px 12px; border-radius: 11px; background: var(--cream); }
.guest-menu-header > a img { filter: none; }
.store-pill { display: inline-flex; align-items: center; min-height: 32px; padding: 0 13px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: rgba(255,255,255,.7); font-size: 9px; }
.store-pill::before { content: ""; width: 6px; height: 6px; margin-right: 8px; border-radius: 50%; }
.store-pill.open::before { background: #58bf8d; }.store-pill.closed::before { background: #9ca3a0; }
.guest-menu-main { width: min(1100px, 88vw); margin: auto; padding-bottom: 90px; }
.guest-menu-hero { padding: 90px 0 75px; border-bottom: 1px solid rgba(255,255,255,.1); }
.guest-menu-hero > p, .category-heading > p { margin: 0 0 12px; color: var(--gold-light); font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.guest-menu-hero h1 { margin: 0; font-family: Georgia, serif; font-size: clamp(52px,8vw,92px); line-height: .92; font-weight: 400; letter-spacing: -.05em; }
.guest-menu-hero > span { display: block; max-width: 520px; margin-top: 24px; color: rgba(255,255,255,.5); font-size: 12px; line-height: 1.7; }
.menu-category { padding: 60px 0 10px; }
.category-heading { position: relative; margin-bottom: 24px; }
.category-heading h2 { margin: 0; font-family: Georgia, serif; font-size: 35px; font-weight: 400; }
.category-heading > span { position: absolute; right: 0; bottom: 5px; color: rgba(255,255,255,.35); font-size: 9px; }
.guest-menu-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.guest-menu-card { display: flex; gap: 18px; min-height: 150px; padding: 22px; border: 1px solid rgba(255,255,255,.1); border-radius: 13px; background: rgba(255,255,255,.035); }
.dish-number { display: grid; place-items: center; width: 55px; height: 55px; flex: 0 0 auto; border-radius: 50%; background: var(--gold); color: var(--ink); font-family: Georgia, serif; font-size: 20px; }
.guest-menu-card h3 { margin: 1px 0 8px; font-family: Georgia, serif; font-size: 18px; font-weight: 400; }
.guest-menu-card p { margin: 0 0 15px; color: rgba(255,255,255,.45); font-size: 10px; line-height: 1.6; }
.guest-menu-card strong { color: var(--gold-light); font-size: 11px; }
.empty-menu { display: grid; place-items: center; min-height: 460px; text-align: center; }
.empty-menu img { width: 190px; filter: brightness(0) invert(1); opacity: .7; }
.empty-menu h2 { margin: 18px 0 0; font-family: Georgia, serif; font-size: 28px; font-weight: 400; }.empty-menu p { color: rgba(255,255,255,.45); }
.guest-menu-footer { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 22px 7vw; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.45); font-size: 9px; }
.guest-menu-footer img { width: 100px; filter: brightness(0) invert(1); }.guest-menu-footer p { color: var(--gold-light); font-family: Georgia, serif; font-style: italic; }

@media (max-width: 800px) {
  .management-header { grid-template-columns: auto 1fr auto; gap: 12px; padding-inline: 18px; }
  .management-header img { width: 94px; }
  .management-header nav { justify-content: center; gap: 16px; }
  .management-header nav a { font-size: 9px; }
  .management-grid { grid-template-columns: 1fr; }
  .wide-card { grid-column: auto; }
  .guest-menu-grid { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
  .management-header { grid-template-columns: 1fr auto; }
  .management-header nav { grid-column: 1 / -1; grid-row: 2; height: 42px; justify-content: flex-start; overflow-x: auto; }
  .management-header > form { grid-column: 2; grid-row: 1; }
  .management-main { padding-top: 32px; }
  .management-title { align-items: flex-start; }
  .management-title h1 { font-size: 34px; }
  .two-column-form { grid-template-columns: 1fr; }
  .two-column-form .button { grid-column: auto; }
  .manage-row { flex-wrap: wrap; }
  .manage-row > div { min-width: calc(100% - 70px); }
  .availability-label { margin-left: 21px; }
  .guest-menu-main { width: min(100% - 36px, 1100px); }
  .guest-menu-hero { padding: 70px 0 55px; }
  .guest-menu-card { padding: 18px; }
}

/* MyDigiMenu-inspired compact guest menu, branded for Tarkiz */
.menu-app-v2 {
  --menu-green: #16433c;
  --menu-green-dark: #0f302b;
  --menu-gold: #d7a65b;
  --menu-cream: #f5f1e8;
  --menu-paper: #fffdf9;
  min-height: 100vh;
  background: var(--menu-cream);
  color: #26312f;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}
.menu-app-v2 .menu-app-toolbar {
  position: sticky;
  z-index: 60;
  top: 0;
  display: grid;
  grid-template-columns: 44px 1fr auto;
  align-items: center;
  min-height: 64px;
  padding: 6px max(18px, calc((100vw - 980px) / 2));
  border-bottom: 1px solid #e8e1d5;
  background: rgba(255,253,249,.97);
  box-shadow: 0 5px 24px rgba(41,52,49,.06);
  backdrop-filter: blur(16px);
}
.menu-app-v2 .menu-app-toolbar > img {
  width: 112px;
  height: 48px;
  justify-self: center;
  object-fit: contain;
}
.menu-app-v2 .toolbar-home {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid #e0d8ca;
  border-radius: 50%;
  background: white;
  color: var(--menu-green);
  font-family: Georgia, serif;
  font-size: 28px;
  line-height: 1;
}
.menu-app-v2 .cart-trigger {
  min-width: 82px;
  min-height: 38px;
  padding: 0 10px 0 14px;
  background: var(--menu-green);
  color: white;
}
.menu-app-v2 .cart-trigger span { background: var(--menu-gold); color: #17322e; }
.menu-app-v2 .venue-cover {
  position: relative;
  height: 205px;
  overflow: visible;
  background: linear-gradient(105deg, rgba(15,48,43,.95), rgba(22,67,60,.68)), url("images/featured-bg.jpg") center / cover;
}
.menu-app-v2 .venue-cover::before {
  content: "TARKIZ CAFE";
  position: absolute;
  left: max(22px, calc((100vw - 980px) / 2));
  top: 45px;
  color: rgba(255,255,255,.14);
  font-family: Georgia, serif;
  font-size: clamp(42px, 7vw, 82px);
  letter-spacing: .08em;
}
.menu-app-v2 .venue-cover-art {
  position: absolute;
  right: max(5vw, calc((100vw - 980px) / 2));
  bottom: -33px;
  width: 250px;
  height: 255px;
}
.menu-app-v2 .venue-cover-art img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 22px 22px rgba(0,0,0,.32)); }
.menu-app-v2 .venue-logo {
  position: absolute;
  left: max(20px, calc((100vw - 980px) / 2));
  bottom: -47px;
  display: grid;
  place-items: center;
  width: 112px;
  height: 94px;
  border: 4px solid var(--menu-cream);
  border-radius: 17px;
  background: white;
  box-shadow: 0 12px 28px rgba(40,47,45,.15);
}
.menu-app-v2 .venue-logo img { width: 94px; height: 72px; object-fit: contain; }
.menu-app-v2 .guest-menu-main {
  width: min(980px, calc(100% - 36px));
  margin: 0 auto;
  padding: 0 0 120px;
}
.menu-app-v2 .venue-summary {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding: 67px 0 27px;
}
.menu-app-v2 .venue-summary p {
  margin: 0 0 5px;
  color: #9a7442;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.menu-app-v2 .venue-summary h1 {
  margin: 0;
  color: #173c36;
  font-family: Georgia, serif;
  font-size: 36px;
  font-weight: 400;
  letter-spacing: -.03em;
}
.menu-app-v2 .venue-summary div > span { display: block; margin-top: 7px; color: #77817e; font-size: 10px; }
.menu-app-v2 .store-pill { border-color: #d8ded8; background: white; color: #55615e; }
.menu-app-v2 .menu-tools {
  position: sticky;
  z-index: 45;
  top: 64px;
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 12px;
  margin: 0 -8px;
  padding: 13px 8px;
  border-block: 1px solid #e4dccf;
  background: rgba(245,241,232,.96);
  backdrop-filter: blur(16px);
}
.menu-app-v2 .guest-search span {
  left: 14px;
  color: #8b9692;
  font-size: 18px;
  font-weight: 400;
}
.menu-app-v2 .guest-search input {
  min-height: 48px;
  padding-left: 43px;
  border-color: #e1d9cc;
  background: white;
  color: #26312f;
  font-size: 11px;
  box-shadow: 0 5px 18px rgba(52,60,57,.045);
}
.menu-app-v2 .category-chips { gap: 8px; }
.menu-app-v2 .category-chips a {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 5px 13px 5px 6px;
  border-color: #e1d9cc;
  background: white;
  color: #4c5956;
  font-size: 9px;
  box-shadow: 0 5px 18px rgba(52,60,57,.045);
}
.menu-app-v2 .category-chips a b {
  display: grid;
  place-items: center;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background: #edf2ee;
  color: var(--menu-green);
  font-family: Georgia, serif;
  font-size: 15px;
}
.menu-app-v2 .category-chips a:hover,
.menu-app-v2 .category-chips a:focus { border-color: var(--menu-gold); color: var(--menu-green); }
.menu-app-v2 .menu-category { padding: 39px 0 4px; scroll-margin-top: 134px; }
.menu-app-v2 .category-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 15px;
}
.menu-app-v2 .category-heading > div { display: block; }
.menu-app-v2 .category-heading p { margin-bottom: 4px; color: #a47a42; font-size: 8px; }
.menu-app-v2 .category-heading h2 { color: #173c36; font-size: 29px; }
.menu-app-v2 .category-heading > span {
  position: static;
  margin-bottom: 4px;
  color: #8d9693;
  font-size: 9px;
}
.menu-app-v2 .guest-menu-grid { gap: 11px; }
.menu-app-v2 .guest-menu-card {
  min-height: 148px;
  flex-direction: row;
  border: 1px solid #e7dfd2;
  border-radius: 14px;
  background: var(--menu-paper);
  color: #273330;
  box-shadow: 0 8px 24px rgba(48,57,53,.045);
}
.menu-app-v2 .dish-content { order: 1; min-width: 0; padding: 17px 12px 15px 17px; }
.menu-app-v2 .dish-visual {
  order: 2;
  width: 132px;
  min-height: 146px;
  flex-basis: 132px;
  margin: 0;
  background: #eef0e7;
}
.menu-app-v2 .dish-visual img { object-fit: cover; }
.menu-app-v2 .dish-visual img.dish-placeholder { padding: 15px; object-fit: contain; }
.menu-app-v2 .guest-menu-card h3 {
  margin: 0 0 6px;
  color: #25322f;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.25;
}
.menu-app-v2 .guest-menu-card p {
  display: -webkit-box;
  margin-bottom: 10px;
  overflow: hidden;
  color: #7b8582;
  font-size: 9px;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.menu-app-v2 .dish-buy strong { color: #263d38; font-size: 11px; }
.menu-app-v2 .dish-buy button {
  min-width: 58px;
  min-height: 30px;
  border: 1px solid var(--menu-green);
  background: white;
  color: var(--menu-green);
  font-size: 8px;
}
.menu-app-v2 .dish-buy button:hover { background: var(--menu-green); color: white; }
.menu-app-v2 .menu-no-results { color: #687471; }
.menu-app-v2 .guest-notice { margin-top: 18px; }
.menu-app-v2 .guest-notice.success { border-color: #b8d9c8; background: #e9f6ee; color: #286243; }
.menu-app-v2 .guest-notice.error { border-color: #edc9c3; background: #fff0ed; color: #9a4237; }
.menu-app-v2 .guest-menu-footer {
  background: var(--menu-green-dark);
  color: rgba(255,255,255,.55);
}
.menu-app-v2 .guest-menu-footer img { filter: brightness(0) invert(1); }
.menu-app-v2 .mobile-cart-dock {
  position: fixed;
  z-index: 70;
  right: 50%;
  bottom: 14px;
  display: none;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 14px;
  width: min(620px, calc(100% - 28px));
  min-height: 57px;
  padding: 8px 9px 8px 17px;
  border: 0;
  border-radius: 13px;
  background: var(--menu-green);
  color: white;
  box-shadow: 0 14px 35px rgba(18,50,45,.32);
  transform: translateX(50%);
  cursor: pointer;
}
.menu-app-v2 .mobile-cart-dock.has-items { display: grid; }
.menu-app-v2 .mobile-cart-dock > span { text-align: left; font-size: 9px; }
.menu-app-v2 .mobile-cart-dock > span b { display: inline-grid; place-items: center; min-width: 21px; height: 21px; margin-right: 5px; border-radius: 50%; background: var(--menu-gold); color: #183732; }
.menu-app-v2 .mobile-cart-dock strong { font-size: 10px; }
.menu-app-v2 .mobile-cart-dock em { padding: 11px 13px; border-radius: 8px; background: white; color: var(--menu-green); font-size: 9px; font-style: normal; font-weight: 800; }
.menu-app-v2 .cart-drawer { background: var(--menu-cream); }
.menu-app-v2 .place-order-button { background: var(--menu-green); color: white; }
.form-mini-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.menu-app-v2 .dish-meta { display: flex; flex-wrap: wrap; gap: 5px; margin: -3px 0 9px; }
.menu-app-v2 .dish-meta span {
  padding: 3px 6px;
  border-radius: 999px;
  background: #eff2ed;
  color: #687571;
  font-size: 7px;
  font-weight: 700;
}
.item-detail-backdrop {
  position: fixed;
  z-index: 100;
  inset: 0;
  background: rgba(12,28,25,.7);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}
.item-detail-backdrop.open { opacity: 1; pointer-events: auto; }
.item-detail-modal {
  position: fixed;
  z-index: 110;
  top: 50%;
  left: 50%;
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(330px, 1.1fr);
  width: min(880px, calc(100% - 36px));
  max-height: min(760px, calc(100vh - 36px));
  overflow: hidden;
  border-radius: 20px;
  background: #fffdf9;
  color: #273330;
  box-shadow: 0 32px 90px rgba(0,0,0,.36);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -46%) scale(.98);
  transition: opacity .24s ease, transform .24s ease;
}
.item-detail-modal.open { opacity: 1; pointer-events: auto; transform: translate(-50%, -50%) scale(1); }
body.item-modal-open { overflow: hidden; }
.item-detail-close {
  position: absolute;
  z-index: 3;
  top: 13px;
  right: 13px;
  display: grid;
  place-items: center;
  width: 39px;
  height: 39px;
  border: 1px solid rgba(20,48,43,.14);
  border-radius: 50%;
  background: rgba(255,255,255,.93);
  color: #29423d;
  font-size: 23px;
  cursor: pointer;
}
.item-detail-image { min-height: 520px; overflow: hidden; background: #e8ece2; }
.item-detail-image img { width: 100%; height: 100%; object-fit: cover; }
.item-detail-image img.dish-placeholder { padding: 50px; object-fit: contain; }
.item-detail-body { padding: 31px; overflow-y: auto; }
.item-detail-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding-right: 34px; }
.item-detail-heading span {
  color: #a4773f;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.item-detail-heading h2 { margin: 5px 0 0; font-family: Georgia, serif; font-size: 31px; font-weight: 400; line-height: 1.05; }
.favorite-button {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  border: 1px solid #ded8cd;
  border-radius: 50%;
  background: white;
  color: #9b6e38;
  font-size: 22px;
  cursor: pointer;
}
.favorite-button.selected { border-color: #e1b676; background: #fff4e4; color: #bd6d31; }
.item-detail-description { margin: 15px 0; color: #707c78; font-size: 11px; line-height: 1.65; }
.item-facts { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 16px; }
.item-facts span { padding: 6px 9px; border-radius: 999px; background: #eff2ed; color: #5d6b67; font-size: 8px; }
.item-detail-price { display: flex; align-items: center; justify-content: space-between; padding: 13px 0; border-block: 1px solid #e8e2d7; }
.item-detail-price > span { color: #7e8885; font-size: 9px; }
.item-detail-price strong { color: #173c36; font-family: Georgia, serif; font-size: 20px; font-weight: 400; }
.item-detail-price b { font-weight: 400; }
.item-options { margin: 17px 0 0; padding: 0; border: 0; }
.item-options[hidden] { display: none; }
.item-options legend { margin-bottom: 9px; color: #374540; font-size: 9px; font-weight: 800; }
.item-options [data-item-options-list] { display: flex; flex-wrap: wrap; gap: 7px; }
.item-options label { position: relative; cursor: pointer; }
.item-options input { position: absolute; opacity: 0; pointer-events: none; }
.item-options span { display: block; padding: 9px 12px; border: 1px solid #ded8cd; border-radius: 8px; color: #5f6b67; font-size: 9px; }
.item-options input:checked + span { border-color: var(--menu-green); background: #eaf1ec; color: var(--menu-green); font-weight: 800; }
.item-note { display: grid; gap: 7px; margin-top: 16px; color: #374540; font-size: 9px; font-weight: 800; }
.item-note small { color: #909896; font-weight: 500; }
.item-note textarea { width: 100%; min-height: 64px; padding: 10px 11px; border: 1px solid #ded8cd; border-radius: 9px; outline: 0; resize: vertical; font: inherit; font-size: 10px; }
.item-note textarea:focus { border-color: var(--menu-green); box-shadow: 0 0 0 3px rgba(22,67,60,.1); }
.item-detail-actions { display: grid; grid-template-columns: auto 1fr; gap: 10px; margin-top: 18px; }
.item-quantity { display: flex; align-items: center; gap: 8px; padding: 5px; border: 1px solid #ded8cd; border-radius: 10px; background: white; }
.item-quantity button { width: 31px; height: 31px; border: 0; border-radius: 7px; background: #eff2ed; color: var(--menu-green); font-size: 16px; cursor: pointer; }
.item-quantity b { min-width: 20px; text-align: center; font-size: 10px; }
.item-add-button { min-height: 43px; padding: 0 15px; border: 0; border-radius: 10px; background: var(--menu-green); color: white; font-size: 9px; font-weight: 800; cursor: pointer; }
.cart-line > div:first-child small { display: block; max-width: 235px; color: #6f7a77; font-size: 8px; line-height: 1.45; }
.cart-line > div:first-child small.cart-line-note { color: #9a7442; }
.order-details .order-line small { color: #7a6750; font-size: 7px; }

@media (max-width: 800px) {
  .menu-app-v2 .venue-cover { height: 170px; }
  .menu-app-v2 .venue-cover-art { right: 2vw; width: 190px; height: 200px; }
  .menu-app-v2 .venue-cover::before { top: 37px; font-size: 48px; }
  .menu-app-v2 .menu-tools { grid-template-columns: 1fr; top: 64px; }
  .menu-app-v2 .category-chips a { min-height: 44px; }
  .menu-app-v2 .category-chips a b { width: 31px; height: 31px; }
  .menu-app-v2 .guest-menu-grid { grid-template-columns: 1fr; }
  .item-detail-modal { grid-template-columns: minmax(230px, .8fr) minmax(320px, 1.2fr); }
  .item-detail-image { min-height: 480px; }
}

@media (max-width: 540px) {
  .menu-app-v2 .menu-app-toolbar { min-height: 58px; padding-inline: 14px; }
  .menu-app-v2 .menu-app-toolbar > img { width: 98px; height: 43px; }
  .menu-app-v2 .toolbar-home { width: 34px; height: 34px; }
  .menu-app-v2 .cart-trigger { min-width: 72px; min-height: 34px; }
  .menu-app-v2 .venue-cover { height: 142px; }
  .menu-app-v2 .venue-cover::before { left: 18px; top: 38px; font-size: 33px; }
  .menu-app-v2 .venue-cover-art { right: -12px; bottom: -16px; width: 150px; height: 156px; }
  .menu-app-v2 .venue-logo { left: 18px; bottom: -39px; width: 94px; height: 79px; border-radius: 14px; }
  .menu-app-v2 .venue-logo img { width: 79px; height: 60px; }
  .menu-app-v2 .guest-menu-main { width: min(100% - 28px, 980px); }
  .menu-app-v2 .venue-summary { align-items: flex-start; padding-top: 57px; }
  .menu-app-v2 .venue-summary h1 { font-size: 29px; }
  .menu-app-v2 .venue-summary div > span { max-width: 230px; line-height: 1.5; }
  .menu-app-v2 .venue-summary .store-pill { display: inline-flex; flex: 0 0 auto; min-height: 29px; padding-inline: 10px; font-size: 8px; }
  .menu-app-v2 .menu-tools { top: 58px; margin-inline: -14px; padding: 10px 14px; }
  .menu-app-v2 .guest-search input { min-height: 43px; }
  .menu-app-v2 .category-chips a { min-height: 40px; padding-right: 11px; }
  .menu-app-v2 .category-chips a b { width: 29px; height: 29px; }
  .menu-app-v2 .menu-category { padding-top: 31px; scroll-margin-top: 152px; }
  .menu-app-v2 .category-heading h2 { font-size: 25px; }
  .menu-app-v2 .guest-menu-card { display: flex; min-height: 136px; }
  .menu-app-v2 .dish-content { min-height: 134px; padding: 15px 10px 13px 15px; }
  .menu-app-v2 .dish-visual { width: 112px; min-height: 134px; height: auto; flex-basis: 112px; }
  .menu-app-v2 .dish-visual img.dish-placeholder { padding: 12px; }
  .menu-app-v2 .guest-menu-card h3 { font-size: 13px; }
  .menu-app-v2 .mobile-cart-dock { bottom: 10px; }
  .form-mini-grid { grid-template-columns: 1fr; }
  .item-detail-modal {
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    max-height: 92vh;
    border-radius: 20px 20px 0 0;
    overflow-y: auto;
    transform: translateY(105%);
  }
  .item-detail-modal.open { transform: translateY(0); }
  .item-detail-image { height: 245px; min-height: 245px; }
  .item-detail-image img.dish-placeholder { padding: 32px; }
  .item-detail-body { padding: 22px 18px 26px; overflow: visible; }
  .item-detail-heading { padding-right: 28px; }
  .item-detail-heading h2 { font-size: 27px; }
  .item-detail-actions { position: sticky; bottom: -1px; margin-inline: -18px; padding: 12px 18px 2px; background: linear-gradient(transparent, #fffdf9 16%); }
}

/* Keep the MyDigiMenu-style device composition visible in medium previews. */
@media (min-width: 761px) and (max-width: 900px) {
  .hero { min-height: 780px; height: 100vh; display: flex; align-items: center; padding: 0; }
  .hero-content { width: 53%; margin: 0 0 0 4.5vw; padding-top: 70px; }
  .hero h1 { font-size: clamp(49px, 6.8vw, 62px); }
  .hero-copy { max-width: 430px; margin-top: 22px; font-size: 13px; line-height: 1.65; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 15px; margin-top: 26px; }
  .hero-proof { margin-top: 26px; }
  .menu-device { position: absolute; right: 2.5vw; top: 53%; width: 248px; min-width: 0; margin: 0; transform: translateY(-46%) rotate(3deg) !important; }
  .device-image { height: 218px; }
  .scroll-cue { display: none; }
}

/* Full restaurant platform modules */
.management-header nav { min-width: 0; overflow-x: auto; scrollbar-width: none; }
.management-header nav::-webkit-scrollbar { display: none; }
.sidebar-card > a { clear: both; display: grid; place-items: center; width: 100%; min-height: 31px; border: 1px solid rgba(255,255,255,.12); border-radius: 7px; background: rgba(255,255,255,.07); color: white; font-size: 9px; font-weight: 700; }
.panel-v2 .sidebar-card > a { border-color: #d5cebd; background: #fff; color: #5d5b54; }
.platform-feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 11px; margin: 0 0 16px; }
.platform-feature-grid > a { min-width: 0; display: grid; grid-template-columns: 39px 1fr auto; align-items: center; gap: 10px; min-height: 78px; padding: 14px; border: 1px solid #e5e8e4; border-radius: 11px; background: #fff; box-shadow: 0 8px 24px rgba(35,42,42,.035); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.platform-feature-grid > a:hover { border-color: #d9bf98; box-shadow: 0 12px 28px rgba(35,42,42,.075); transform: translateY(-2px); }
.platform-feature-grid > a > span { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 9px; background: #f5ecdf; color: #9c6a31; font-size: 16px; }
.platform-feature-grid strong, .platform-feature-grid small { display: block; min-width: 0; }
.platform-feature-grid strong { color: #333d3d; font-size: 10px; }
.platform-feature-grid small { margin-top: 3px; overflow: hidden; color: #89918f; font-size: 8px; line-height: 1.35; text-overflow: ellipsis; }
.platform-feature-grid > a > b { color: #a6aba8; font-size: 18px; }
.feature-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 0 0 18px; }
.feature-stat-grid.three-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
.feature-stat-grid article { padding: 19px 21px; border: 1px solid #e2e5e1; border-radius: 12px; background: #fff; box-shadow: 0 10px 30px rgba(32,37,38,.04); }
.feature-stat-grid span, .feature-stat-grid strong, .feature-stat-grid small { display: block; }
.feature-stat-grid span { color: #947049; font-size: 8px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.feature-stat-grid strong { margin-top: 8px; color: #283334; font-family: Georgia,serif; font-size: 27px; font-weight: 400; }
.feature-stat-grid small { margin-top: 4px; color: #8a9391; font-size: 8px; }
.card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.card-heading > a { color: #946a39; font-size: 9px; font-weight: 750; }
.data-table-wrap { overflow-x: auto; }
.feature-table { width: 100%; border-collapse: collapse; font-size: 9px; }
.feature-table th { padding: 11px 10px; border-bottom: 1px solid #e4e7e3; color: #8b9391; text-align: left; font-size: 8px; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.feature-table td { padding: 13px 10px; border-bottom: 1px solid #edf0ed; color: #626e6e; vertical-align: middle; }
.feature-table td strong { display: block; color: #2e3939; font-size: 10px; }
.feature-table td small { display: block; margin-top: 2px; color: #939a99; font-size: 8px; }
.feature-table tr:last-child td { border-bottom: 0; }
.feature-table select { min-height: 33px; padding: 6px 9px; border: 1px solid #dce1dd; border-radius: 7px; background: white; color: #485454; font: inherit; font-size: 8px; }
.points-chip { display: inline-flex; padding: 5px 8px; border-radius: 999px; background: #fff1dd; color: #94652f; font-weight: 800; white-space: nowrap; }
.inline-adjust-form { display: flex; align-items: center; gap: 5px; }
.inline-adjust-form input { width: 62px; min-height: 32px; padding: 6px 8px; border: 1px solid #dce1dd; border-radius: 7px; }
.inline-adjust-form button, .qr-actions button, .qr-actions a { min-height: 32px; padding: 0 10px; border: 1px solid #d9ddda; border-radius: 7px; background: white; color: #596565; font-size: 8px; font-weight: 750; cursor: pointer; }
.qr-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.qr-card { display: grid; grid-template-columns: 112px 1fr; gap: 16px; padding: 15px; border: 1px solid #e3e6e2; border-radius: 12px; background: #fafbf9; }
.qr-card > img { width: 112px; height: 112px; padding: 6px; border: 1px solid #e1e3df; border-radius: 8px; background: white; }
.qr-card h3 { margin: 3px 0 5px; color: #2c3737; font-family: Georgia,serif; font-size: 18px; font-weight: 400; }
.qr-card p { margin: 0; color: #858e8c; font-size: 8px; line-height: 1.5; word-break: break-all; }
.qr-card > input { width: 100%; min-width: 0; min-height: 34px; padding: 7px 9px; border: 1px solid #dfe3df; border-radius: 7px; background: white; color: #737d7a; font-size: 8px; }
.qr-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 11px; }
.qr-actions form { margin: 0; }
.qr-actions .danger, .manage-row button.danger { border-color: #efd6d0; color: #a94c40; }
.marketing-grid, .marketing-lists { grid-template-columns: repeat(2,minmax(0,1fr)); }
.marketing-lists { margin-top: 18px; }
.feedback-overview { display: grid; grid-template-columns: minmax(230px,.55fr) minmax(0,1.45fr); gap: 18px; margin-bottom: 18px; }
.feedback-score-card { display: grid; align-content: center; justify-items: center; min-height: 240px; padding: 25px; border-radius: 13px; background: #25322f; color: white; text-align: center; }
.feedback-score-card > span { color: #d5c7ad; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.feedback-score-card > strong { margin: 10px 0 2px; font-family: Georgia,serif; font-size: 52px; font-weight: 400; }
.feedback-score-card strong small { font-size: 17px; }
.feedback-score-card > div { color: #e8b468; letter-spacing: .12em; }
.feedback-score-card p { margin: 9px 0 0; color: rgba(255,255,255,.55); font-size: 8px; }
.rating-breakdown a { display: grid; grid-template-columns: 35px 1fr 24px; align-items: center; gap: 10px; margin-top: 13px; color: #697473; font-size: 9px; }
.rating-breakdown i { height: 7px; overflow: hidden; border-radius: 999px; background: #edf0ed; }
.rating-breakdown i b { display: block; height: 100%; border-radius: inherit; background: #d7a05b; }
.rating-breakdown em { color: #939a98; font-style: normal; text-align: right; }
.feedback-list > article { display: grid; grid-template-columns: 38px 1fr; gap: 12px; padding: 16px 0; border-bottom: 1px solid #edf0ed; }
.feedback-list > article:last-child { border-bottom: 0; }
.feedback-avatar { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #efe6d8; color: #946a37; font-size: 10px; font-weight: 850; }
.feedback-list header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.feedback-list header strong { color: #303b3b; font-size: 10px; }
.feedback-list header span { color: #e0a354; font-size: 10px; letter-spacing: .08em; }
.feedback-list p { margin: 6px 0; color: #606d6b; font-size: 10px; line-height: 1.6; }
.feedback-list small { color: #969c9b; font-size: 8px; }
.public-form-page { min-height: 100vh; padding: 45px 18px 70px; background: radial-gradient(circle at 18% 10%,#304c45,#162723 42%,#101c19); color: white; }
.public-form-shell { width: min(760px,100%); margin: auto; }
.narrow-public-form { width: min(620px,100%); }
.public-form-back { display: inline-block; margin-bottom: 24px; color: rgba(255,255,255,.64); font-size: 10px; }
.public-form-brand { max-width: 540px; margin-bottom: 25px; }
.public-form-brand img { width: 150px; height: 76px; margin-bottom: 17px; padding: 4px 12px; border-radius: 10px; background: #f7f4ee; object-fit: contain; }
.public-form-brand > span { color: #efbc79; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.public-form-brand h1 { margin: 6px 0 10px; font-family: Georgia,serif; font-size: clamp(38px,7vw,62px); font-weight: 400; letter-spacing: -.04em; }
.public-form-brand p { margin: 0; color: rgba(255,255,255,.58); font-size: 11px; line-height: 1.65; }
.public-form-card { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; padding: 25px; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; background: #f8f6f0; color: #263431; box-shadow: 0 24px 70px rgba(0,0,0,.25); }
.public-form-card label { display: grid; gap: 7px; color: #566460; font-size: 9px; font-weight: 800; }
.public-form-card label small { color: #939b98; font-weight: 500; }
.public-form-card input, .public-form-card textarea { width: 100%; min-height: 45px; padding: 10px 12px; border: 1px solid #d9ded9; border-radius: 8px; outline: 0; background: white; color: #263431; font: inherit; font-size: 10px; }
.public-form-card textarea { resize: vertical; }
.public-form-card input:focus, .public-form-card textarea:focus { border-color: #c99655; box-shadow: 0 0 0 3px rgba(201,150,85,.14); }
.public-form-card .full-field, .public-form-card > button, .rating-picker { grid-column: 1 / -1; }
.public-form-card > button { min-height: 48px; border: 0; border-radius: 9px; background: #d5a15e; color: #192420; font-size: 10px; font-weight: 850; cursor: pointer; }
.rating-picker { display: flex; flex-direction: row-reverse; justify-content: center; align-items: center; gap: 4px; padding: 12px 0 20px; }
.rating-picker > span { order: 6; width: 100%; margin-bottom: 6px; color: #65716e; font-size: 9px; font-weight: 800; text-align: center; }
.rating-picker input { position: absolute; opacity: 0; }
.rating-picker label { color: #d5d7d2; font-size: 35px; cursor: pointer; }
.rating-picker label:hover, .rating-picker label:hover ~ label, .rating-picker input:checked ~ label { color: #dfa557; }
.venue-summary-actions { display: flex; align-items: center; gap: 10px; }
.venue-summary-actions > a { display: inline-flex; align-items: center; min-height: 31px; padding: 0 11px; border: 1px solid #d8d0c3; border-radius: 999px; color: #52615d; font-size: 8px; font-weight: 750; }
.campaign-strip-list { display: grid; gap: 10px; margin-top: 16px; }
.campaign-strip { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 105px; padding: 20px 24px; overflow: hidden; border-radius: 14px; background: linear-gradient(120deg,#173c36,#245449); color: white; box-shadow: 0 14px 30px rgba(21,60,53,.16); }
.campaign-strip span { color: #edbd7c; font-size: 8px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.campaign-strip h2 { margin: 4px 0; font-family: Georgia,serif; font-size: 23px; font-weight: 400; }
.campaign-strip p { margin: 0; color: rgba(255,255,255,.62); font-size: 9px; }
.campaign-strip > a { flex: 0 0 auto; padding: 10px 14px; border-radius: 8px; background: #e8b56f; color: #18352f; font-size: 8px; font-weight: 850; }
.guest-notice a { font-weight: 800; text-decoration: underline; }

@media (max-width: 1000px) {
  .platform-feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .feature-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .qr-card-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .feature-stat-grid.three-stats { grid-template-columns: 1fr; }
  .marketing-grid, .marketing-lists, .feedback-overview { grid-template-columns: 1fr; }
  .feature-table { min-width: 690px; }
  .qr-card { grid-template-columns: 86px 1fr; }
  .qr-card > img { width: 86px; height: 86px; }
  .public-form-card { grid-template-columns: 1fr; padding: 19px; }
  .public-form-card .full-field, .public-form-card > button, .rating-picker { grid-column: auto; }
  .campaign-strip { align-items: flex-start; flex-direction: column; }
  .venue-summary-actions { align-items: flex-end; flex-direction: column; }
}

@media (max-width: 520px) {
  .platform-feature-grid, .feature-stat-grid { grid-template-columns: 1fr; }
  .management-main { width: min(100% - 28px,1280px); }
  .qr-card { grid-template-columns: 1fr; }
  .public-form-page { padding-top: 24px; }
}

/* Menu commerce and richer admin controls */
.form-actions { display: flex; align-items: center; gap: 10px; }
.button.button-ghost { border: 1px solid #d9dddb; background: white; color: #596568; }
.stack-form label small { color: #929a9b; font-size: 8px; font-weight: 500; }
.current-image { display: flex; align-items: center; gap: 12px; padding: 10px; border: 1px solid #e3e6e3; border-radius: 9px; background: #f8f9f7; }
.current-image img { width: 70px; height: 58px; border-radius: 7px; object-fit: cover; }
.current-image label { display: flex; align-items: center; gap: 7px; color: #687274; font-size: 9px; }
.current-image input { width: auto; min-height: 0; }
.menu-search { display: flex; gap: 8px; margin: 0 0 14px; }
.menu-search input { min-width: 0; flex: 1; min-height: 40px; padding: 9px 12px; border: 1px solid #dfe3e1; border-radius: 8px; outline: 0; }
.menu-search button, .menu-search a, .row-action { display: inline-grid; place-items: center; min-height: 34px; padding: 0 12px; border: 1px solid #d9dddb; border-radius: 7px; background: white; color: #596568; font-size: 8px; font-weight: 750; }
.manage-thumb { width: 48px; height: 48px; flex: 0 0 auto; border-radius: 9px; object-fit: cover; }
.manage-thumb.fallback { display: grid; place-items: center; background: var(--gold-pale); color: #9a6f38; font-family: Georgia, serif; font-size: 18px; }
.order-manage-card { border-bottom: 1px solid #edf0ee; }
.order-manage-card .manage-row { border-bottom: 0; }
.order-type-label { color: #7d8789; font-size: 8px; white-space: nowrap; }
.order-details { display: flex; flex-wrap: wrap; gap: 7px; padding: 0 0 13px 58px; }
.order-details > span { display: grid; gap: 2px; padding: 7px 10px; border-radius: 7px; background: #f5f6f4; color: #687274; font-size: 8px; }
.order-details b { color: #303a3c; font-size: 8px; }
.order-details .order-line { min-width: 140px; background: #fff7ed; color: #946a35; }

.guest-header-actions { display: flex; align-items: center; gap: 10px; }
.cart-trigger { min-height: 34px; padding: 0 13px; border: 0; border-radius: 999px; background: var(--gold); color: #20282a; font-size: 9px; font-weight: 800; cursor: pointer; }
.cart-trigger span { display: inline-grid; place-items: center; min-width: 18px; height: 18px; margin-left: 6px; border-radius: 50%; background: rgba(255,255,255,.7); }
.guest-notice { margin-top: 20px; padding: 14px 17px; border-radius: 10px; font-size: 11px; }
.guest-notice.success { border: 1px solid rgba(88,191,141,.35); background: rgba(88,191,141,.13); color: #9fe0c1; }
.guest-notice.error { border: 1px solid rgba(218,100,84,.35); background: rgba(218,100,84,.13); color: #ffc2b9; }
.menu-tools { position: sticky; z-index: 12; top: 0; display: grid; grid-template-columns: minmax(180px, 280px) 1fr; gap: 14px; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(20,27,30,.94); backdrop-filter: blur(15px); }
.guest-search { position: relative; }
.guest-search span { position: absolute; left: 13px; top: 50%; color: rgba(255,255,255,.38); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; transform: translateY(-50%); }
.guest-search input { width: 100%; min-height: 40px; padding: 9px 12px 9px 66px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; outline: 0; background: rgba(255,255,255,.055); color: white; font-size: 10px; }
.guest-search input:focus { border-color: var(--gold); }
.category-chips { display: flex; align-items: center; gap: 7px; overflow-x: auto; scrollbar-width: none; }
.category-chips::-webkit-scrollbar { display: none; }
.category-chips a { flex: 0 0 auto; padding: 9px 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; color: rgba(255,255,255,.68); font-size: 8px; }
.category-chips a:hover { border-color: var(--gold); color: var(--gold-light); }
.guest-menu-card { min-height: 180px; padding: 0; overflow: hidden; }
.dish-visual { width: 155px; flex: 0 0 auto; background: #222c2f; }
.dish-visual img { width: 100%; height: 100%; object-fit: cover; }
.dish-content { display: flex; flex: 1; flex-direction: column; padding: 21px 21px 18px 0; }
.dish-content p { flex: 1; }
.dish-buy { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.dish-buy button { min-width: 70px; min-height: 34px; border: 0; border-radius: 999px; background: var(--gold); color: #20282a; font-size: 9px; font-weight: 800; cursor: pointer; }
.dish-buy button:hover { background: var(--gold-light); }
.dish-buy button:disabled { cursor: not-allowed; filter: grayscale(1); opacity: .45; }
.menu-no-results { padding: 90px 0; color: rgba(255,255,255,.55); text-align: center; }

.cart-backdrop { position: fixed; z-index: 80; inset: 0; background: rgba(0,0,0,.62); opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.cart-backdrop.open { opacity: 1; pointer-events: auto; }
.cart-drawer { position: fixed; z-index: 90; top: 0; right: 0; bottom: 0; width: min(440px, 100vw); padding: 24px; overflow-y: auto; background: #f5f3ed; color: #20282a; box-shadow: -25px 0 70px rgba(0,0,0,.34); transform: translateX(105%); transition: transform .3s ease; }
.cart-drawer.open { transform: translateX(0); }
body.cart-open { overflow: hidden; }
.cart-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.cart-head span { color: #956a38; font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cart-head h2 { margin: 3px 0 0; font-family: Georgia, serif; font-size: 34px; font-weight: 400; }
.cart-head button { width: 38px; height: 38px; border: 1px solid #d9d8d2; border-radius: 50%; background: transparent; color: #4d585a; font-size: 23px; cursor: pointer; }
.cart-lines { min-height: 70px; border-block: 1px solid #deddd7; }
.cart-empty { margin: 0; padding: 25px 0; color: #8a9292; font-size: 10px; text-align: center; }
.cart-empty.shake { animation: cart-shake .3s linear 2; color: #b05044; }
@keyframes cart-shake { 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
.cart-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 0; border-bottom: 1px solid #e3e1db; }
.cart-line:last-child { border-bottom: 0; }
.cart-line > div:first-child { display: grid; gap: 4px; }
.cart-line strong { max-width: 230px; font-family: Georgia, serif; font-size: 14px; font-weight: 400; }
.cart-line span { color: #987044; font-size: 9px; }
.cart-quantity { display: flex; align-items: center; gap: 8px; }
.cart-quantity button { width: 27px; height: 27px; border: 1px solid #d6d5cf; border-radius: 50%; background: white; color: #424d4f; cursor: pointer; }
.cart-quantity b { min-width: 14px; text-align: center; font-size: 10px; }
.cart-total { display: flex; align-items: center; justify-content: space-between; padding: 18px 0; }
.cart-total > span { color: #798284; font-size: 10px; }
.cart-total strong { font-family: Georgia, serif; font-size: 21px; font-weight: 400; }
.checkout-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.checkout-form [hidden] { display: none !important; }
.checkout-form label { display: grid; gap: 6px; color: #586365; font-size: 8px; font-weight: 800; }
.checkout-form label:has(textarea), .checkout-form label[data-address-field] { grid-column: 1 / -1; }
.checkout-form input, .checkout-form select, .checkout-form textarea { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #dadbd6; border-radius: 8px; outline: 0; background: white; color: #293234; font: inherit; font-size: 10px; }
.checkout-form textarea { resize: vertical; }
.checkout-form input:focus, .checkout-form select:focus, .checkout-form textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(213,154,81,.12); }
.place-order-button { grid-column: 1 / -1; min-height: 48px; margin-top: 3px; border: 0; border-radius: 9px; background: var(--gold); color: #20282a; font-size: 10px; font-weight: 850; cursor: pointer; }
.place-order-button:disabled { cursor: not-allowed; filter: grayscale(1); opacity: .5; }

@media (max-width: 800px) {
  .menu-tools { grid-template-columns: 1fr; }
  .guest-menu-card { min-height: 155px; }
  .dish-visual { width: 130px; }
  .dish-content { padding: 17px 16px 15px 0; }
  .order-details { padding-left: 0; }
}

@media (max-width: 540px) {
  .guest-menu-header { padding-inline: 18px; }
  .guest-menu-header img { width: 105px; height: 54px; }
  .store-pill { display: none; }
  .guest-menu-hero h1 { font-size: 48px; }
  .menu-category { padding-top: 42px; }
  .guest-menu-card { display: block; }
  .dish-visual { width: 100%; height: 170px; }
  .dish-content { min-height: 155px; padding: 18px; }
  .checkout-form { grid-template-columns: 1fr; }
  .checkout-form label:has(textarea), .checkout-form label[data-address-field], .place-order-button { grid-column: auto; }
  .cart-drawer { padding: 20px; }
  .menu-manage-row { align-items: center; }
  .menu-manage-row .availability { display: none; }
  .menu-manage-row > div { min-width: calc(100% - 76px); }
}

/* Tarkiz luxury admin — emerald, champagne and warm ivory */
.admin-icon { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.side-nav .admin-icon { width: 17px; height: 17px; }
.side-nav a i .admin-icon { width: 12px; height: 12px; }
.sidebar-card > span .admin-icon { width: 18px; height: 18px; }
.logout-link .admin-icon { width: 16px; height: 16px; }
.venue-selector b .admin-icon,.admin-profile b .admin-icon { width: 13px; height: 13px; }
.score-button .admin-icon { width: 16px; height: 16px; }
.icon-button .admin-icon { width: 17px; height: 17px; }
.date-range .admin-icon { width: 15px; height: 15px; }
.welcome-strip button .admin-icon { width: 19px; height: 19px; }
.platform-feature-grid > a > span .admin-icon { width: 20px; height: 20px; }
.platform-feature-grid > a > b .admin-icon { width: 15px; height: 15px; }
.metric-icon .admin-icon { width: 18px; height: 18px; }
.stars { display: flex; align-items: center; gap: 4px; letter-spacing: 0; }
.stars .admin-icon { width: 14px; height: 14px; }
.stars .admin-icon.filled { fill: currentColor; }
.quick-actions .admin-icon { width: 17px; height: 17px; }
.quick-actions > a > b .admin-icon { width: 15px; height: 15px; }
.panel-head button .admin-icon { display: inline-block; width: 12px; height: 12px; margin-left: 4px; vertical-align: -2px; }
.management-header nav a { display: flex; align-items: center; justify-content: center; gap: 7px; }
.management-header nav .admin-icon { width: 15px; height: 15px; color: #d8bd8c; }
.management-header nav a.active .admin-icon { color: #f1dcb3; }
.luxury-dashboard {
  --luxury-ink: #11251f;
  --luxury-deep: #0b1d18;
  --luxury-green: #173d33;
  --luxury-green-soft: #245347;
  --luxury-gold: #c8a66a;
  --luxury-gold-light: #ead6ad;
  --luxury-ivory: #f4f0e7;
  --luxury-paper: #fffdf8;
  --luxury-line: rgba(44, 55, 48, .11);
  --luxury-shadow: 0 18px 45px rgba(26, 39, 34, .08);
  background:
    radial-gradient(circle at 92% 4%, rgba(200,166,106,.11), transparent 24%),
    linear-gradient(145deg, #f7f4ed, #f1eee7 58%, #eee9df);
}
.luxury-dashboard.panel-v2 { --sidebar: 248px; }
.luxury-dashboard.panel-v2 .sidebar {
  padding: 18px 14px 20px;
  border-right: 1px solid rgba(234,214,173,.13);
  background:
    radial-gradient(circle at 15% 2%, rgba(200,166,106,.16), transparent 28%),
    linear-gradient(180deg, #102b24 0%, #0c211b 52%, #091a16 100%);
  color: white;
  box-shadow: 14px 0 50px rgba(8,24,19,.12);
}
.luxury-dashboard.panel-v2 .sidebar-head { min-height: 72px; margin-bottom: 8px; padding: 0 12px 13px; border-bottom-color: rgba(234,214,173,.13); }
.luxury-dashboard.panel-v2 .dashboard-brand { display: grid; place-items: center; width: 162px; min-height: 58px; padding: 2px 13px; border: 1px solid rgba(234,214,173,.13); border-radius: 13px; background: rgba(255,253,248,.96); box-shadow: 0 12px 30px rgba(3,14,11,.18); }
.luxury-dashboard.panel-v2 .dashboard-brand img { width: 139px; height: 54px; }
.luxury-dashboard.panel-v2 .side-nav { padding: 0 3px; scrollbar-color: rgba(200,166,106,.35) transparent; }
.luxury-dashboard.panel-v2 .side-nav p { margin: 20px 12px 7px; color: rgba(234,214,173,.5); font-size: 7px; letter-spacing: .19em; }
.luxury-dashboard.panel-v2 .side-nav a { min-height: 43px; margin: 3px 0; padding: 0 12px; border: 1px solid transparent; border-radius: 10px; color: rgba(255,255,255,.58); font-size: 11px; font-weight: 620; }
.luxury-dashboard.panel-v2 .side-nav a:hover { border-color: rgba(234,214,173,.08); background: rgba(255,255,255,.045); color: white; }
.luxury-dashboard.panel-v2 .side-nav a.active { border-color: rgba(234,214,173,.23); background: linear-gradient(90deg, rgba(200,166,106,.20), rgba(255,255,255,.055)); color: #fff9ec; box-shadow: inset 0 1px rgba(255,255,255,.05), 0 10px 24px rgba(4,17,13,.15); }
.luxury-dashboard.panel-v2 .side-nav a.active::before { left: -14px; height: 27px; background: linear-gradient(#eedcb9,#b98949); box-shadow: 0 0 15px rgba(200,166,106,.45); }
.luxury-dashboard.panel-v2 .side-nav a > span { color: var(--luxury-gold-light); }
.luxury-dashboard.panel-v2 .side-nav a i { color: rgba(255,255,255,.3); }
.luxury-dashboard.panel-v2 .side-nav a b { background: var(--luxury-gold); color: #132820; }
.luxury-dashboard.panel-v2 .sidebar-card { margin: 14px 3px 8px; padding: 14px; border-color: rgba(234,214,173,.2); border-radius: 12px; background: linear-gradient(135deg,rgba(200,166,106,.15),rgba(255,255,255,.045)); }
.luxury-dashboard.panel-v2 .sidebar-card > span { background: var(--luxury-gold); color: #132820; }
.luxury-dashboard.panel-v2 .sidebar-card p { color: rgba(255,255,255,.48); }
.luxury-dashboard.panel-v2 .sidebar-card strong { color: white; }
.luxury-dashboard.panel-v2 .sidebar-card > a { border-color: rgba(234,214,173,.19); background: rgba(255,255,255,.065); color: var(--luxury-gold-light); }
.luxury-dashboard.panel-v2 .logout-link { color: rgba(255,255,255,.42); }
.luxury-dashboard.panel-v2 .logout-link:hover { color: #fff; }
.luxury-dashboard.panel-v2 .dashboard-header { min-height: 72px; padding: 10px 30px; border-bottom: 1px solid rgba(42,53,47,.08); background: rgba(255,253,248,.82); color: var(--luxury-ink); box-shadow: 0 7px 25px rgba(31,45,38,.045); backdrop-filter: blur(18px); }
.luxury-dashboard.panel-v2 .venue-selector { min-width: 210px; height: 42px; border-color: rgba(32,54,45,.14); border-radius: 10px; background: var(--luxury-paper); color: #263c34; box-shadow: 0 8px 18px rgba(25,42,35,.045); }
.luxury-dashboard.panel-v2 .venue-selector::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #4f9b75; box-shadow: 0 0 0 4px rgba(79,155,117,.11); }
.luxury-dashboard.panel-v2 .venue-selector span { margin-right: auto; padding-left: 10px; font-weight: 750; }
.luxury-dashboard.panel-v2 .score-button,
.luxury-dashboard.panel-v2 .icon-button { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; border: 1px solid rgba(32,54,45,.12); border-radius: 10px; background: var(--luxury-paper); color: #28483d; box-shadow: 0 8px 20px rgba(25,42,35,.045); }
.luxury-dashboard.panel-v2 .score-button { gap: 8px; padding: 0 16px; background: var(--luxury-green); color: #fff9ed; }
.luxury-dashboard.panel-v2 .score-button span { color: var(--luxury-gold-light); }
.luxury-dashboard.panel-v2 .notification { background: var(--luxury-paper); color: #28483d; }
.luxury-dashboard.panel-v2 .notification i { border-color: var(--luxury-paper); }
.luxury-dashboard.panel-v2 .admin-profile > span { width: 42px; height: 42px; border: 1px solid rgba(200,166,106,.35); background: linear-gradient(145deg,#d8ba80,#a87942); color: white; box-shadow: 0 8px 20px rgba(121,81,39,.18); }
.luxury-dashboard.panel-v2 .dashboard-main { width: min(1440px,100%); margin: auto; padding: 30px 32px 54px; }
.luxury-dashboard .dashboard-title-row { margin-bottom: 22px; }
.luxury-dashboard .dashboard-title-row p { color: #9d7b48; font-size: 8px; font-weight: 850; letter-spacing: .18em; }
.luxury-dashboard .dashboard-title-row h1 { color: var(--luxury-ink); font-size: 36px; letter-spacing: -.035em; }
.date-range { display: grid; grid-template-columns: auto auto auto; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px; border: 1px solid rgba(32,54,45,.13); border-radius: 11px; background: rgba(255,253,248,.86); box-shadow: 0 9px 24px rgba(27,45,37,.05); }
.date-range span { color: #8a928e; font-size: 8px; }
.date-range b { color: #294239; font-family: Georgia,serif; font-size: 12px; font-weight: 400; }
.date-range i { color: #a98047; font-size: 11px; font-style: normal; }
.luxury-dashboard .welcome-strip { position: relative; min-height: 122px; overflow: hidden; padding: 24px 28px; border: 1px solid rgba(234,214,173,.19); border-radius: 17px; background:
  radial-gradient(circle at 88% 40%,rgba(200,166,106,.22),transparent 22%),
  linear-gradient(120deg,#112f27,#1c473b 68%,#15372f); color: white; box-shadow: 0 22px 48px rgba(15,47,38,.16); }
.luxury-dashboard .welcome-strip::after { content: ""; position: absolute; right: 76px; width: 180px; height: 180px; border: 1px solid rgba(234,214,173,.15); border-radius: 50%; box-shadow: 0 0 0 36px rgba(234,214,173,.035),0 0 0 72px rgba(234,214,173,.02); }
.luxury-dashboard .welcome-strip > div { position: relative; z-index: 1; }
.luxury-dashboard .welcome-strip small { color: var(--luxury-gold-light); font-size: 7px; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; }
.luxury-dashboard .welcome-strip p { margin: 6px 0; color: #fffdf7; font-size: 26px; letter-spacing: -.02em; }
.luxury-dashboard .welcome-strip span { color: rgba(255,255,255,.58); font-size: 9px; }
.luxury-dashboard .welcome-strip button { position: relative; z-index: 1; width: 40px; height: 40px; background: var(--luxury-gold); color: #17372f; box-shadow: 0 9px 22px rgba(0,0,0,.16); }
.luxury-dashboard.panel-v2 .status-bar { min-height: 54px; margin-top: 14px; padding-inline: 19px; border-color: rgba(58,105,83,.15); border-radius: 12px; background: rgba(250,253,249,.82); box-shadow: 0 9px 24px rgba(27,45,37,.035); }
.luxury-dashboard .status-bar button { min-height: 32px; padding: 0 12px; border: 1px solid rgba(53,117,84,.18); border-radius: 8px; background: #edf7f0; }
.luxury-dashboard .platform-feature-grid { gap: 13px; margin-top: 14px; }
.luxury-dashboard .platform-feature-grid > a { min-height: 91px; padding: 16px; border-color: rgba(43,58,50,.10); border-radius: 14px; background: rgba(255,253,248,.92); box-shadow: var(--luxury-shadow); }
.luxury-dashboard .platform-feature-grid > a:hover { border-color: rgba(200,166,106,.52); box-shadow: 0 20px 42px rgba(33,49,42,.12); }
.luxury-dashboard .platform-feature-grid > a > span { width: 43px; height: 43px; border: 1px solid rgba(200,166,106,.18); border-radius: 11px; background: linear-gradient(145deg,#f5ead7,#ead9ba); color: #8e622d; }
.luxury-dashboard .platform-feature-grid strong { color: #1d342b; font-size: 10px; }
.luxury-dashboard .platform-feature-grid small { color: #89928e; }
.luxury-dashboard .platform-metrics { gap: 13px; margin-top: 14px; }
.luxury-dashboard.panel-v2 .metric-card { min-height: 166px; padding: 20px; border-color: rgba(43,58,50,.10); border-radius: 14px; background: rgba(255,253,248,.94); box-shadow: var(--luxury-shadow); }
.luxury-dashboard.panel-v2 .metric-card:first-child { border-color: rgba(234,214,173,.17); background: linear-gradient(145deg,#173b32,#0f2b24); color: white; box-shadow: 0 20px 42px rgba(17,55,45,.16); }
.luxury-dashboard.panel-v2 .metric-card:first-child small { color: rgba(255,255,255,.5); }
.luxury-dashboard.panel-v2 .metric-card:first-child .metric-icon { background: var(--luxury-gold); color: #17342c; }
.luxury-dashboard.panel-v2 .metric-card:first-child > p { color: rgba(255,255,255,.46); }
.luxury-dashboard.panel-v2 .metric-card:first-child > p b { color: var(--luxury-gold-light); }
.luxury-dashboard .metric-icon { border: 1px solid rgba(200,166,106,.15); background: #f5ead8; }
.luxury-dashboard .metric-card > strong { color: inherit; font-size: 31px; }
.luxury-dashboard .metric-foot a { color: #9c7139; font-weight: 750; }
.luxury-dashboard .dashboard-grid { gap: 14px; margin-top: 14px; }
.luxury-dashboard.panel-v2 .panel { padding: 23px; border-color: rgba(43,58,50,.10); border-radius: 15px; background: rgba(255,253,248,.94); box-shadow: var(--luxury-shadow); }
.luxury-dashboard .panel-head h2 { color: #1c332a; font-size: 21px; }
.luxury-dashboard .panel-head a { color: #9a6e34; }
.luxury-dashboard .order-tabs { margin-top: 20px; }
.luxury-dashboard .order-tabs button.active::after { background: linear-gradient(90deg,#aa7a3e,#e3c891); }
.luxury-dashboard .table-wrap tr { transition: background .2s ease; }
.luxury-dashboard .table-wrap tbody tr:hover { background: rgba(244,236,220,.45); }
.luxury-dashboard .quick-actions > a { min-height: 62px; }
.luxury-dashboard .quick-actions > a > span { border: 1px solid rgba(200,166,106,.15); background: #f4ead8; }
.luxury-dashboard .menu-health { padding: 17px; border: 1px solid rgba(43,58,50,.07); border-radius: 12px; background: #f7f3ea; }
.luxury-dashboard .ring { position: relative; background: conic-gradient(var(--luxury-gold) 0 var(--health),#e2dfd7 var(--health)); }
.luxury-dashboard .ring::before { background: #f7f3ea; }
.luxury-dashboard .ring span { z-index: 1; }
.luxury-dashboard .chart-bars i { background: #d8d8d1; }
.luxury-dashboard .chart-bars .today i { background: linear-gradient(#e6cb98,#af7d3f); box-shadow: 0 5px 14px rgba(175,125,63,.18); }

/* Matching luxury treatment across every management module */
.management-page { background: radial-gradient(circle at 91% 3%,rgba(200,166,106,.10),transparent 25%),linear-gradient(145deg,#f7f4ed,#f0ece3); color: #162a23; }
.management-header { min-height: 76px; grid-template-columns: 185px minmax(0,1fr) auto; gap: 24px; padding: 7px 4vw; border-bottom: 1px solid rgba(234,214,173,.14); background: linear-gradient(100deg,#102b24,#0c211b); box-shadow: 0 12px 34px rgba(8,28,21,.15); }
.management-header > a:first-child { display: grid; place-items: center; width: 154px; height: 58px; padding: 2px 12px; border-radius: 12px; background: #fffdf8; box-shadow: 0 9px 22px rgba(0,0,0,.13); }
.management-header img { width: 130px; height: 53px; filter: none; }
.management-header nav { height: 69px; gap: 25px; }
.management-header nav a { color: rgba(255,255,255,.5); font-size: 9px; letter-spacing: .03em; }
.management-header nav a:hover,.management-header nav a.active { color: #fff8ea; }
.management-header nav a.active::after { height: 3px; border-radius: 3px 3px 0 0; background: linear-gradient(90deg,#b7894e,#e8d2a6); }
.management-header form button { min-height: 38px; border-color: rgba(234,214,173,.25); color: #e7d6b5; }
.management-main { padding-top: 55px; }
.management-title { margin-bottom: 32px; }
.management-title p { color: #9d7440; font-size: 8px; letter-spacing: .19em; }
.management-title h1 { color: #142c24; font-size: 46px; }
.management-title > a,.management-title > span { padding: 9px 12px; border: 1px solid rgba(151,111,61,.18); border-radius: 9px; background: rgba(255,253,248,.68); color: #8f6532; }
.management-card { padding: 27px; border-color: rgba(43,58,50,.10); border-radius: 16px; background: rgba(255,253,248,.94); box-shadow: 0 18px 44px rgba(28,42,35,.07); }
.management-card h2 { color: #173228; font-size: 24px; }
.stack-form input,.stack-form textarea,.stack-form select,.status-form select { min-height: 46px; border-color: rgba(40,63,52,.14); border-radius: 9px; background: #fffefa; }
.stack-form input:focus,.stack-form textarea:focus,.stack-form select:focus { border-color: #c19a5d; box-shadow: 0 0 0 4px rgba(193,154,93,.11); }
.stack-form .button-gold { min-height: 46px; background: linear-gradient(135deg,#d8bb82,#b6874e); color: #173027; box-shadow: 0 10px 24px rgba(166,116,57,.18); }
.feature-stat-grid article { border-color: rgba(43,58,50,.10); border-radius: 15px; background: rgba(255,253,248,.94); box-shadow: 0 16px 38px rgba(28,42,35,.06); }
.feature-stat-grid strong { color: #173228; }
.qr-card { border-color: rgba(43,58,50,.10); border-radius: 13px; background: #f8f5ed; }
.feedback-score-card { border: 1px solid rgba(234,214,173,.16); border-radius: 16px; background: linear-gradient(145deg,#173b32,#0e2922); box-shadow: 0 20px 42px rgba(17,55,45,.15); }
.points-chip { background: #f2e6d1; color: #825a2c; }
.manage-row form button,.inline-adjust-form button,.qr-actions button,.qr-actions a,.menu-search button,.menu-search a,.row-action { border-color: rgba(40,63,52,.13); border-radius: 8px; background: #fffefa; }

@media (max-width: 1120px) {
  .luxury-dashboard.panel-v2 { --sidebar: 226px; }
  .luxury-dashboard .platform-feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .management-header nav { gap: 17px; }
}

@media (max-width: 900px) {
  .luxury-dashboard.panel-v2 .sidebar { box-shadow: 24px 0 60px rgba(4,18,14,.35); }
  .luxury-dashboard.panel-v2 .sidebar-head button { color: white; }
  .luxury-dashboard.panel-v2 .dashboard-header { padding-inline: 16px; }
  .management-header { grid-template-columns: 1fr auto; padding-inline: 18px; }
  .management-header nav { grid-column: 1 / -1; height: 45px; }
}

@media (max-width: 620px) {
  .luxury-dashboard.panel-v2 .dashboard-main { padding: 18px 13px 38px; }
  .luxury-dashboard.panel-v2 .dashboard-header { min-height: 66px; }
  .luxury-dashboard.panel-v2 .score-button { display: none; }
  .luxury-dashboard .dashboard-title-row h1 { font-size: 29px; }
  .date-range span { display: none; }
  .luxury-dashboard .welcome-strip { min-height: 112px; padding: 21px; }
  .luxury-dashboard .welcome-strip::after { right: -35px; }
  .luxury-dashboard .welcome-strip p { font-size: 21px; }
  .luxury-dashboard .platform-feature-grid { grid-template-columns: 1fr; }
  .luxury-dashboard.panel-v2 .metric-card { min-height: 154px; }
  .management-header > a:first-child { width: 132px; }
  .management-header img { width: 112px; }
  .management-main { padding-top: 35px; }
  .management-title { align-items: flex-start; flex-direction: column; gap: 13px; }
  .management-title h1 { font-size: 36px; }
  .management-card { padding: 20px; }
}

/* Cashier POS */
.pos-page { min-height: 100vh; margin: 0; overflow: hidden; background: #eeeae1; color: #173029; }
.pos-topbar { height: 72px; display: grid; grid-template-columns: 190px 1fr auto; align-items: center; gap: 20px; padding: 7px 22px; border-bottom: 1px solid rgba(32,54,45,.11); background: #fffdf8; box-shadow: 0 8px 28px rgba(20,39,31,.07); }
.pos-topbar > a:first-child { display: grid; place-items: center; width: 158px; height: 56px; padding: 2px 12px; border-radius: 11px; background: #f5f0e7; }
.pos-topbar img { width: 134px; height: 52px; object-fit: contain; }
.pos-topbar > div span,.pos-topbar > div strong { display: block; }
.pos-topbar > div span { color: #9a7541; font-size: 8px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.pos-topbar > div strong { margin-top: 3px; color: #223a32; font-family: Georgia,serif; font-size: 16px; font-weight: 400; }
.pos-topbar nav { display: flex; align-items: center; gap: 7px; }
.pos-topbar nav a { display: flex; align-items: center; gap: 7px; min-height: 39px; padding: 0 12px; border: 1px solid rgba(32,54,45,.11); border-radius: 9px; background: #fffefa; color: #496159; font-size: 8px; font-weight: 750; }
.pos-topbar nav .admin-icon { width: 15px; height: 15px; color: #a0763e; }
.pos-shell { height: calc(100vh - 72px); display: grid; grid-template-columns: minmax(0,1fr) 390px; }
.pos-catalog { min-width: 0; padding: 25px 26px 50px; overflow-y: auto; }
.pos-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 17px; }
.pos-section-head p { margin: 0 0 3px; color: #9a7541; font-size: 8px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.pos-section-head h1 { margin: 0; font-family: Georgia,serif; font-size: 34px; font-weight: 400; }
.pos-day-summary { display: flex; align-items: center; gap: 18px; padding: 10px 14px; border: 1px solid rgba(32,54,45,.09); border-radius: 10px; background: rgba(255,253,248,.72); }
.pos-day-summary span,.pos-day-summary span b { display: block; color: #88928e; font-size: 8px; }
.pos-day-summary span b { margin-top: 2px; color: #344d44; }
.pos-day-summary > strong { color: #17392f; font-family: Georgia,serif; font-size: 17px; font-weight: 400; }
.pos-search { position: relative; margin-bottom: 12px; }
.pos-search > span { position: absolute; left: 15px; top: 50%; color: #9a7541; transform: translateY(-50%); }
.pos-search .admin-icon { width: 17px; height: 17px; }
.pos-search input { width: 100%; min-height: 48px; padding: 10px 14px 10px 45px; border: 1px solid rgba(32,54,45,.12); border-radius: 11px; outline: 0; background: #fffdf8; color: #1f382f; font: inherit; font-size: 10px; box-shadow: 0 9px 24px rgba(26,42,35,.035); }
.pos-search input:focus { border-color: #bd955a; box-shadow: 0 0 0 4px rgba(189,149,90,.10); }
.pos-categories { display: flex; gap: 7px; margin-bottom: 15px; padding-bottom: 3px; overflow-x: auto; scrollbar-width: none; }
.pos-categories::-webkit-scrollbar { display: none; }
.pos-categories button { flex: 0 0 auto; min-height: 36px; padding: 0 13px; border: 1px solid rgba(32,54,45,.10); border-radius: 999px; background: rgba(255,253,248,.76); color: #687973; font-size: 8px; font-weight: 750; cursor: pointer; }
.pos-categories button.active { border-color: #173b32; background: #173b32; color: white; box-shadow: 0 8px 20px rgba(21,57,47,.15); }
.pos-product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; }
.pos-product { min-width: 0; overflow: hidden; padding: 0; border: 1px solid rgba(32,54,45,.09); border-radius: 13px; background: #fffdf8; color: #21382f; text-align: left; box-shadow: 0 12px 28px rgba(25,41,34,.05); cursor: pointer; transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.pos-product:hover { border-color: rgba(186,143,81,.48); box-shadow: 0 16px 34px rgba(25,41,34,.10); transform: translateY(-2px); }
.pos-product[hidden] { display: none; }
.pos-product-image { height: 105px; display: block; overflow: hidden; background: #e8e9df; }
.pos-product-image img { width: 100%; height: 100%; object-fit: cover; }
.pos-product-image img.fallback { padding: 14px; object-fit: contain; }
.pos-product > span:last-child { display: block; padding: 12px; }
.pos-product strong,.pos-product small,.pos-product b { display: block; }
.pos-product strong { min-height: 30px; overflow: hidden; font-size: 10px; line-height: 1.4; }
.pos-product small { margin-top: 3px; color: #929a97; font-size: 7px; }
.pos-product b { margin-top: 9px; color: #966c36; font-family: Georgia,serif; font-size: 12px; font-weight: 400; }
.pos-ticket { min-width: 0; padding: 22px; overflow-y: auto; border-left: 1px solid rgba(32,54,45,.10); background: #fffdf8; box-shadow: -16px 0 40px rgba(28,43,36,.055); }
.pos-ticket-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding-bottom: 16px; border-bottom: 1px solid #e8e7e0; }
.pos-ticket-head span { color: #9b7541; font-size: 7px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.pos-ticket-head h2 { margin: 4px 0 0; font-family: Georgia,serif; font-size: 23px; font-weight: 400; }
.pos-ticket-head button { min-height: 31px; padding: 0 10px; border: 1px solid #e3ded3; border-radius: 7px; background: white; color: #95643d; font-size: 8px; cursor: pointer; }
.pos-ticket-lines { min-height: 110px; max-height: 280px; overflow-y: auto; border-bottom: 1px solid #e8e7e0; }
.pos-empty { min-height: 110px; display: grid; place-items: center; align-content: center; gap: 5px; color: #9ba29f; text-align: center; }
.pos-empty > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: #f2e7d4; color: #9a703a; }
.pos-empty strong { color: #53645e; font-family: Georgia,serif; font-size: 14px; font-weight: 400; }
.pos-empty small { font-size: 8px; }
.pos-ticket-line { padding: 12px 0; border-bottom: 1px solid #efeee8; }
.pos-ticket-line > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pos-ticket-line > div:first-child strong { font-size: 10px; }
.pos-ticket-line > div:first-child span { color: #936734; font-family: Georgia,serif; font-size: 11px; }
.pos-ticket-line > select,.pos-ticket-line > input { width: 100%; min-height: 31px; margin-top: 7px; padding: 6px 8px; border: 1px solid #e1e2dc; border-radius: 7px; background: white; color: #596963; font: inherit; font-size: 8px; }
.pos-line-controls { display: flex; align-items: center; gap: 6px; margin-top: 8px; }
.pos-line-controls button { width: 27px; height: 27px; border: 1px solid #dfe1db; border-radius: 7px; background: white; color: #365247; cursor: pointer; }
.pos-line-controls b { min-width: 18px; text-align: center; font-size: 9px; }
.pos-line-controls button.remove { width: auto; margin-left: auto; padding: 0 7px; border-color: #ecd8d2; color: #a45247; font-size: 7px; }
.pos-totals { padding: 13px 0; border-bottom: 1px solid #e8e7e0; }
.pos-totals > span,.pos-totals > label,.pos-totals > strong { display: flex; align-items: center; justify-content: space-between; min-height: 29px; color: #78837f; font-size: 8px; }
.pos-totals b,.pos-totals i { color: #2d443b; font-style: normal; }
.pos-totals input { width: 90px; min-height: 31px; padding: 5px 8px; border: 1px solid #dedfd9; border-radius: 7px; text-align: right; }
.pos-totals > strong { margin-top: 5px; color: #1a342a; font-family: Georgia,serif; font-size: 17px; font-weight: 400; }
.pos-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; padding: 13px 0; }
.pos-form-grid label { display: grid; gap: 5px; color: #65736e; font-size: 7px; font-weight: 800; }
.pos-form-grid input,.pos-form-grid select,.pos-form-grid textarea { width: 100%; min-height: 36px; padding: 7px 9px; border: 1px solid #dfe1db; border-radius: 7px; background: white; color: #263e35; font: inherit; font-size: 8px; }
.pos-form-grid textarea { resize: vertical; }
.pos-full-field { grid-column: 1 / -1; }
.pos-payments { display: flex; gap: 7px; margin: 0 0 12px; padding: 0; border: 0; }
.pos-payments legend { width: 100%; margin-bottom: 7px; color: #65736e; font-size: 7px; font-weight: 800; }
.pos-payments label { flex: 1; position: relative; cursor: pointer; }
.pos-payments input { position: absolute; opacity: 0; }
.pos-payments span { display: flex; align-items: center; justify-content: center; gap: 5px; min-height: 38px; border: 1px solid #dfe1db; border-radius: 8px; color: #65736e; font-size: 8px; font-weight: 750; }
.pos-payments .admin-icon { width: 14px; height: 14px; }
.pos-payments input:checked + span { border-color: #bd955a; background: #f4e9d7; color: #805a2d; box-shadow: 0 0 0 3px rgba(189,149,90,.08); }
.pos-pay-button { width: 100%; min-height: 50px; display: grid; grid-template-columns: 20px 1fr auto; align-items: center; gap: 9px; padding: 0 16px; border: 0; border-radius: 10px; background: linear-gradient(135deg,#1b473b,#113229); color: white; cursor: pointer; box-shadow: 0 13px 28px rgba(17,50,41,.18); }
.pos-pay-button:disabled { cursor: not-allowed; filter: grayscale(1); opacity: .45; }
.pos-pay-button .admin-icon { width: 18px; height: 18px; color: #e5cd9e; }
.pos-pay-button span { text-align: left; font-size: 9px; font-weight: 800; }
.pos-pay-button strong { color: #ecd5a8; font-family: Georgia,serif; font-size: 14px; font-weight: 400; }
.pos-pay-button i { font-style: normal; }
.pos-recent { margin-top: 18px; padding-top: 14px; border-top: 1px solid #e8e7e0; }
.pos-recent h3 { margin: 0 0 8px; font-family: Georgia,serif; font-size: 15px; font-weight: 400; }
.pos-recent > p { color: #919996; font-size: 8px; }
.pos-recent a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid #efeee8; font-size: 8px; }
.pos-recent a span small { display: block; margin-top: 2px; color: #999f9d; font-size: 7px; }
.pos-recent a > strong { color: #8f6533; font-family: Georgia,serif; font-size: 10px; font-weight: 400; }

/* POS bridge and integration centre */
.integration-secret { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; padding: 19px 22px; border: 1px solid rgba(234,214,173,.20); border-radius: 14px; background: linear-gradient(120deg,#173b32,#0f2c25); color: white; box-shadow: 0 18px 38px rgba(17,55,45,.14); }
.integration-secret span { color: #e3c894; font-size: 8px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.integration-secret strong { display: block; margin-top: 6px; font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: 12px; word-break: break-all; }
.integration-secret p { margin: 6px 0 0; color: rgba(255,255,255,.55); font-size: 8px; }
.integration-secret button { min-height: 38px; flex: 0 0 auto; padding: 0 14px; border: 1px solid rgba(234,214,173,.25); border-radius: 8px; background: #d1ae72; color: #173228; font-size: 8px; font-weight: 850; }
.integration-overview { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 18px; }
.integration-overview article { display: flex; align-items: center; gap: 13px; min-height: 92px; padding: 17px; border: 1px solid rgba(43,58,50,.10); border-radius: 14px; background: rgba(255,253,248,.94); box-shadow: 0 14px 32px rgba(28,42,35,.05); }
.integration-overview article > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 11px; background: #f1e4cf; color: #916433; }
.integration-overview .admin-icon { width: 19px; height: 19px; }
.integration-overview small,.integration-overview strong { display: block; }
.integration-overview small { color: #89918e; font-size: 8px; }
.integration-overview strong { margin-top: 4px; color: #173228; font-family: Georgia,serif; font-size: 21px; font-weight: 400; }
.integration-grid,.integration-lists { grid-template-columns: repeat(2,minmax(0,1fr)); }
.integration-flow { display: flex; align-items: center; justify-content: space-between; gap: 7px; margin-top: 22px; padding-top: 17px; border-top: 1px solid #ebe9e2; }
.integration-flow span { display: flex; align-items: center; gap: 5px; color: #687671; font-size: 7px; }
.integration-flow b { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; background: #f0e3cd; color: #8c6030; }
.integration-flow i { flex: 1; height: 1px; background: #dedfd9; }
.endpoint-list > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 0; border-bottom: 1px solid #ecebe5; }
.endpoint-list strong,.endpoint-list small { display: block; }
.endpoint-list strong { color: #344c43; font-size: 9px; }
.endpoint-list small { max-width: 420px; margin-top: 3px; overflow: hidden; color: #909895; font: 7px ui-monospace,SFMono-Regular,Consolas,monospace; text-overflow: ellipsis; white-space: nowrap; }
.endpoint-list button { min-height: 30px; padding: 0 9px; border: 1px solid #dfe1dc; border-radius: 7px; background: white; color: #836034; font-size: 7px; }
.api-note { margin-top: 15px; padding: 13px; border-radius: 9px; background: #f4f1e9; }
.api-note strong,.api-note code { display: block; }
.api-note strong { color: #5b6964; font-size: 8px; }
.api-note code { margin-top: 7px; color: #1f4538; font-size: 9px; }
.api-note p { margin: 7px 0 0; color: #8d9592; font-size: 7px; }
.integration-lists { margin-top: 18px; }
.sync-log-card { margin-top: 18px; }
.sync-status { display: inline-flex; padding: 5px 8px; border-radius: 999px; background: #edf0ed; color: #64736e; font-size: 7px; font-weight: 800; }
.sync-status.success { background: #e8f4ec; color: #397a59; }
.sync-status.failed,.sync-status.error { background: #f9e9e6; color: #9c4b40; }

@media (min-width: 1121px) {
  .luxury-dashboard .platform-feature-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
}

@media (min-width: 760px) and (max-width: 900px) {
  .luxury-dashboard.panel-v2 { --sidebar: 190px; }
  .luxury-dashboard.panel-v2 .sidebar { padding-inline: 9px; transform: none; box-shadow: 12px 0 36px rgba(4,18,14,.13); }
  .luxury-dashboard.panel-v2 .dashboard-shell { margin-left: var(--sidebar); }
  .luxury-dashboard.panel-v2 .sidebar-toggle { display: none; }
  .luxury-dashboard.panel-v2 .dashboard-brand { width: 145px; }
  .luxury-dashboard.panel-v2 .side-nav a { font-size: 9px; }
  .luxury-dashboard.panel-v2 .dashboard-main { padding-inline: 18px; }
}

@media (max-width: 1150px) {
  .pos-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .pos-shell { grid-template-columns: minmax(0,1fr) 360px; }
}

@media (max-width: 850px) {
  .pos-page { overflow: auto; }
  .pos-topbar { grid-template-columns: 160px 1fr; height: auto; }
  .pos-topbar nav { grid-column: 1 / -1; overflow-x: auto; }
  .pos-shell { height: auto; grid-template-columns: 1fr; }
  .pos-catalog,.pos-ticket { overflow: visible; }
  .pos-ticket { border-top: 1px solid rgba(32,54,45,.10); border-left: 0; }
  .pos-ticket-lines { max-height: none; }
  .integration-overview { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .integration-grid,.integration-lists { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .pos-topbar { grid-template-columns: 1fr auto; padding-inline: 14px; }
  .pos-topbar > div { display: none; }
  .pos-catalog,.pos-ticket { padding: 18px 14px 35px; }
  .pos-section-head { align-items: flex-start; flex-direction: column; }
  .pos-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pos-product-image { height: 92px; }
  .pos-form-grid { grid-template-columns: 1fr; }
  .pos-full-field { grid-column: auto; }
  .integration-overview { grid-template-columns: 1fr; }
  .integration-secret { align-items: flex-start; flex-direction: column; }
}

/* Delivery platforms control center */
.channel-center { max-width: 1420px; }
.channel-hero { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(340px,.65fr); gap: 28px; align-items: center; margin-bottom: 22px; padding: 28px 30px; overflow: hidden; border: 1px solid rgba(54,82,68,.13); border-radius: 18px; background: radial-gradient(circle at 88% 10%,rgba(202,168,92,.2),transparent 27%),linear-gradient(135deg,#17392d,#224d3d); color: #fff; box-shadow: 0 18px 50px rgba(22,57,44,.14); }
.channel-hero .eyebrow { color: #e9cf92; font-size: 8px; font-weight: 850; letter-spacing: .19em; text-transform: uppercase; }
.channel-hero h2 { max-width: 720px; margin: 8px 0 9px; color: #fff; font: 500 clamp(25px,3vw,41px)/1.04 Georgia,serif; }
.channel-hero p { max-width: 750px; margin: 0; color: rgba(255,255,255,.72); font-size: 10px; line-height: 1.7; }
.channel-flow { display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.channel-flow span { min-width: 84px; padding: 11px 10px; border: 1px solid rgba(255,255,255,.15); border-radius: 10px; background: rgba(255,255,255,.08); color: #fff; text-align: center; font-size: 8px; font-weight: 750; }
.channel-flow i { width: 23px; height: 1px; background: linear-gradient(90deg,rgba(233,207,146,.2),#e9cf92); }
.channel-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-bottom: 20px; }
.channel-card { position: relative; overflow: hidden; padding: 22px; border: 1px solid rgba(44,68,57,.13); border-radius: 17px; background: rgba(255,255,252,.92); box-shadow: 0 14px 40px rgba(25,49,39,.07); }
.channel-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: #d6c076; }
.channel-card.talabat::before { background: #ff5a1f; }
.channel-card.noon::before { background: #f4d20b; }
.channel-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.channel-brand { display: flex; align-items: center; gap: 11px; }
.channel-brand > b { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: #1e4637; color: #fff; font: 800 23px/1 Arial,sans-serif; }
.channel-card.talabat .channel-brand > b { background: #ff5a1f; }
.channel-card.noon .channel-brand > b { background: #f4d20b; color: #141414; }
.channel-brand span { display: grid; gap: 3px; }
.channel-brand strong { color: #17372c; font: 600 18px/1.1 Georgia,serif; }
.channel-brand small { color: #849089; font-size: 8px; }
.channel-state { padding: 7px 9px; border-radius: 99px; font-size: 7px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.channel-state.waiting { background: #fbf0dd; color: #99691f; }
.channel-state.live { background: #e4f4e9; color: #24714b; }
.channel-capabilities { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 18px 0; }
.channel-capabilities span { display: flex; align-items: center; gap: 7px; min-height: 36px; padding: 7px 9px; border-radius: 9px; background: #f5f7f3; color: #486056; font-size: 8px; font-weight: 700; }
.channel-capabilities .admin-icon { width: 14px; height: 14px; color: #3c8a61; }
.channel-notice { padding: 13px 14px; border: 1px solid #ebe4cf; border-radius: 11px; background: #fffaf0; }
.channel-notice strong { display: block; color: #5a4a24; font-size: 9px; }
.channel-notice p { margin: 5px 0 8px; color: #80745a; font-size: 8px; line-height: 1.55; }
.channel-notice a { color: #8c6e22; font-size: 8px; font-weight: 800; text-decoration: none; }
.channel-refs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) auto; gap: 9px; align-items: end; margin-top: 14px; }
.channel-refs label { margin: 0; }
.channel-refs input { min-height: 38px; }
.channel-refs > button { min-height: 38px; padding: 0 12px; border: 1px solid rgba(43,78,62,.14); border-radius: 8px; background: #eef4ef; color: #2d5e48; font-size: 8px; font-weight: 800; }
.channel-token-form { margin-top: 10px; }
.channel-token-form .button { width: 100%; min-height: 39px; }
.channel-api-grid { margin-bottom: 20px; }
.compact-events { max-height: 410px; overflow: auto; }
.feature-table td small { display: block; margin-top: 3px; color: #849089; font-size: 7px; }
.channel-source { display: inline-flex; margin-left: 5px; padding: 4px 7px; border-radius: 99px; font: 800 7px/1 Arial,sans-serif; font-style: normal; vertical-align: middle; }
.channel-source.talabat { background: #fff0e9; color: #db4b15; }
.channel-source.noon { background: #fff8c8; color: #6d5c00; }
.channel-order-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; min-width: 150px; }
.channel-order-actions form { margin: 0; }
.channel-order-actions button { min-height: 31px; padding: 0 10px; border: 0; border-radius: 8px; font-size: 8px; font-weight: 850; }
.channel-order-actions .accept,.channel-order-actions .ready { background: #e5f3e9; color: #2c7550; }
.channel-order-actions .reject { background: #fae9e5; color: #a34439; }
.channel-order-actions button:disabled { cursor: not-allowed; opacity: .43; }
.channel-pending { padding: 7px 9px; border-radius: 8px; background: #f4efe1; color: #866c2b; font-size: 8px; font-weight: 800; }
.sync-status.pending { background: #fbf0dd; color: #99691f; }
.sync-status.sent { background: #e8f4ec; color: #397a59; }

@media (max-width: 1000px) {
  .channel-hero { grid-template-columns: 1fr; }
  .channel-flow { justify-content: flex-start; }
  .channel-refs { grid-template-columns: 1fr 1fr; }
  .channel-refs > button { grid-column: 1/-1; }
}
@media (max-width: 760px) {
  .channel-grid { grid-template-columns: 1fr; }
  .channel-hero { padding: 23px 20px; }
  .channel-flow { flex-wrap: wrap; }
  .channel-flow i { display: none; }
  .channel-flow span { flex: 1 1 90px; }
  .channel-card { padding: 18px; }
  .channel-card > header { align-items: flex-start; }
  .channel-capabilities,.channel-refs { grid-template-columns: 1fr; }
  .channel-refs > button { grid-column: auto; }
  .channel-order-actions { width: 100%; justify-content: flex-start; }
}

/* Integrated restaurant operations */
.admin-session { display: grid; gap: 2px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 9px; color: rgba(255,255,255,.72); }
.admin-session small { color: #fff; font-size: 8px; font-weight: 800; }
.admin-session span { font-size: 6px; }
.operations-center,.kitchen-center { max-width: 1540px; }
.operations-hero { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(330px,.65fr); gap: 28px; align-items: center; margin-bottom: 18px; padding: 29px 31px; border: 1px solid rgba(211,178,103,.17); border-radius: 20px; background: radial-gradient(circle at 88% 5%,rgba(214,177,90,.25),transparent 34%),linear-gradient(135deg,#102f26,#1e4d3b); box-shadow: 0 20px 55px rgba(18,52,41,.14); color: #fff; }
.operations-hero > div > span { color: #e7c881; font-size: 8px; font-weight: 850; letter-spacing: .18em; }
.operations-hero h2 { max-width: 780px; margin: 7px 0 9px; color: #fff; font: 500 clamp(26px,3vw,42px)/1.04 Georgia,serif; }
.operations-hero p { max-width: 720px; margin: 0; color: rgba(255,255,255,.67); font-size: 9px; line-height: 1.7; }
.operations-flow { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.operations-flow b { padding: 10px 9px; border: 1px solid rgba(255,255,255,.13); border-radius: 9px; background: rgba(255,255,255,.07); color: #fff; font-size: 8px; white-space: nowrap; }
.operations-flow i { width: 19px; height: 1px; background: #d9bb77; }
.purchasing-workspace,.shift-workspace,.team-workspace { margin-bottom: 18px; }
.po-entry-grid { display: grid; grid-template-columns: minmax(160px,1.8fr) minmax(80px,.7fr) minmax(90px,.8fr) minmax(100px,.9fr); gap: 8px; }
.po-entry-grid > b { color: #7b8983; font-size: 7px; text-transform: uppercase; }
.po-entry-grid input,.po-entry-grid select { min-width: 0; }
.purchase-board { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 15px; }
.inventory-adjustment-card { margin-bottom: 18px; }
.inventory-movement-form { display: grid; grid-template-columns: minmax(180px,1.4fr) repeat(3,minmax(110px,.7fr)) minmax(180px,1.2fr) auto; gap: 9px; align-items: end; margin-top: 14px; }
.inventory-movement-form label { margin: 0; }
.inventory-movement-form .button { min-height: 40px; }
.purchase-card { padding: 17px; border: 1px solid #e3e7e1; border-radius: 14px; background: #fbfcf9; }
.purchase-card > header,.purchase-card > footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.purchase-card > header strong,.purchase-card > header small { display: block; }
.purchase-card > header strong { color: #173a2e; font: 600 14px Georgia,serif; }
.purchase-card > header small { margin-top: 3px; color: #8b9590; font-size: 7px; }
.purchase-lines { display: grid; gap: 6px; margin: 13px 0; padding: 11px; border-radius: 10px; background: #f1f4ef; }
.purchase-lines span { display: grid; grid-template-columns: 90px minmax(0,1fr) auto; gap: 8px; color: #50635b; font-size: 8px; }
.purchase-lines em { color: #927041; font-style: normal; }
.purchase-card > footer > strong { color: #1f4938; font: 600 15px Georgia,serif; }
.purchase-card > footer > div { display: flex; gap: 6px; }
.purchase-card form { margin: 0; }
.purchase-card button,.team-list button { min-height: 31px; padding: 0 10px; border: 0; border-radius: 8px; background: #204d3b; color: #fff; font-size: 7px; font-weight: 800; }
.purchase-card button.danger,.team-list button.danger { background: #f5e4df; color: #a0483b; }
.workflow-chip { display: inline-flex; padding: 6px 9px; border-radius: 999px; background: #eef1ee; color: #65716c; font-size: 7px; font-weight: 850; text-transform: uppercase; }
.workflow-chip.submitted { background: #fff0d8; color: #91621e; }
.workflow-chip.approved,.workflow-chip.open { background: #e5f1f9; color: #336f91; }
.workflow-chip.received,.workflow-chip.closed { background: #e3f3e8; color: #27734b; }
.workflow-chip.cancelled { background: #f8e7e3; color: #9f493d; }
.shift-hero-value { padding: 20px; border: 1px solid rgba(255,255,255,.13); border-radius: 15px; background: rgba(255,255,255,.07); }
.shift-hero-value small,.shift-hero-value strong,.shift-hero-value span { display: block; }
.shift-hero-value small { color: #e6c982; font-size: 8px; }
.shift-hero-value strong { margin: 9px 0 7px; color: #fff; font: 500 34px Georgia,serif; }
.shift-hero-value span { color: rgba(255,255,255,.55); font-size: 8px; }
.control-rule-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 15px; }
.control-rule-grid span { display: grid; grid-template-columns: 32px 1fr; gap: 3px 9px; padding: 13px; border-radius: 11px; background: #f4f6f2; }
.control-rule-grid b { grid-row: 1/3; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: #e7dcc4; color: #906a35; font-size: 8px; }
.control-rule-grid strong { color: #274a3c; font-size: 9px; }
.control-rule-grid small { color: #89938f; font-size: 7px; }
.role-orbit { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.role-orbit b,.role-orbit span { padding: 9px 11px; border: 1px solid rgba(255,255,255,.13); border-radius: 9px; background: rgba(255,255,255,.07); color: #fff; font-size: 8px; }
.role-orbit b { background: #d4b269; color: #17372c; }
.team-list { display: grid; gap: 9px; margin-top: 14px; }
.team-list > article { display: grid; grid-template-columns: 40px minmax(0,1fr) auto auto auto; gap: 10px; align-items: center; padding: 11px; border: 1px solid #e5e8e3; border-radius: 11px; background: #fafbf8; }
.team-avatar { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: linear-gradient(135deg,#244f3d,#c6a35d); color: #fff; font: 600 15px Georgia,serif; }
.team-list strong,.team-list small,.team-list span { display: block; }
.team-list > article > div:nth-child(2) strong { color: #24483a; font-size: 9px; }
.team-list > article > div:nth-child(2) small,.team-list > article > div:nth-child(2) span { margin-top: 3px; color: #8a948f; font-size: 7px; }
.team-list details { position: relative; }
.team-list summary { color: #8b6835; cursor: pointer; font-size: 7px; font-weight: 800; }
.team-list details form { position: absolute; z-index: 4; right: 0; display: grid; width: 220px; gap: 7px; padding: 10px; border: 1px solid #dde2dc; border-radius: 10px; background: #fff; box-shadow: 0 14px 35px rgba(22,45,36,.15); }
.feature-table code { display: block; max-width: 500px; overflow: hidden; color: #718079; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }

/* Kitchen display system */
.kitchen-page { background: #0c1814; }
.kitchen-page .management-main { color: #fff; }
.kitchen-page .management-title h1 { color: #fff; }
.kitchen-page .management-title p { color: #c9aa68; }
.kitchen-live { display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; align-items: center; color: #b8c6c0; }
.kitchen-live i { grid-row: 1/3; width: 9px; height: 9px; border-radius: 50%; background: #57c783; box-shadow: 0 0 0 5px rgba(87,199,131,.12); }
.kitchen-live span { font-size: 7px; }
.kitchen-live strong { color: #fff; font-size: 9px; }
.kitchen-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-bottom: 15px; }
.kitchen-summary article { padding: 14px 16px; border: 1px solid rgba(255,255,255,.09); border-radius: 13px; background: #13251e; }
.kitchen-summary small,.kitchen-summary strong { display: block; }
.kitchen-summary small { color: #8fa39b; font-size: 7px; text-transform: uppercase; }
.kitchen-summary strong { margin-top: 6px; color: #fff; font: 500 25px Georgia,serif; }
.kitchen-board { display: grid; grid-template-columns: repeat(4,minmax(250px,1fr)); gap: 11px; align-items: start; overflow-x: auto; }
.kitchen-column { min-height: 610px; padding: 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 15px; background: #102019; }
.kitchen-column > header { display: flex; align-items: center; justify-content: space-between; padding: 7px 6px 13px; color: #ccd6d2; font-size: 9px; font-weight: 800; }
.kitchen-column > header b { display: grid; place-items: center; min-width: 25px; height: 25px; border-radius: 8px; background: rgba(255,255,255,.08); color: #fff; }
.kitchen-column > div { display: grid; gap: 9px; }
.kitchen-ticket { overflow: hidden; border: 1px solid rgba(255,255,255,.10); border-radius: 13px; background: #f8f8f2; color: #1a3027; box-shadow: 0 12px 30px rgba(0,0,0,.15); }
.kitchen-ticket.late { border-color: #df6b58; box-shadow: 0 0 0 2px rgba(223,107,88,.16); }
.kitchen-ticket > header { display: flex; justify-content: space-between; gap: 9px; padding: 13px; border-bottom: 1px solid #e6e7df; }
.kitchen-ticket > header strong,.kitchen-ticket > header small { display: block; }
.kitchen-ticket > header strong { color: #123b2c; font: 600 13px Georgia,serif; }
.kitchen-ticket > header small { margin-top: 3px; color: #849088; font-size: 7px; }
.kitchen-ticket time { align-self: start; padding: 6px 8px; border-radius: 8px; background: #e8eee9; color: #446456; font-size: 8px; font-weight: 850; }
.kitchen-ticket.late time { background: #f7e1dc; color: #a64337; }
.kitchen-items { display: grid; gap: 2px; padding: 9px 13px; }
.kitchen-items > span { display: grid; grid-template-columns: 23px minmax(0,1fr) auto; gap: 4px 7px; align-items: center; padding: 7px 0; border-bottom: 1px dashed #dfe3dc; }
.kitchen-items > span > b { color: #b27c38; font-size: 10px; }
.kitchen-items > span > strong { color: #213d31; font-size: 9px; }
.kitchen-items > span > em { padding: 4px 6px; border-radius: 6px; background: #edf1ec; color: #60736a; font-size: 6px; font-style: normal; text-transform: uppercase; }
.kitchen-items > span > small { grid-column: 2/4; color: #8a938e; font-size: 7px; }
.kitchen-ticket > p { margin: 0 13px 9px; padding: 8px; border-radius: 8px; background: #fff1d9; color: #765420; font-size: 8px; }
.kitchen-ticket > footer { display: flex; gap: 6px; padding: 10px 13px 13px; }
.kitchen-ticket > footer form { flex: 1; margin: 0; }
.kitchen-ticket > footer button { width: 100%; min-height: 34px; border: 0; border-radius: 8px; background: #1d503c; color: #fff; font-size: 7px; font-weight: 850; }
.kitchen-ticket > footer button.danger { background: #f3dfda; color: #9c4438; }
.kitchen-empty { display: grid; min-height: 90px; place-items: center; border: 1px dashed rgba(255,255,255,.11); border-radius: 11px; color: #5f756b; font-size: 8px; }

@media (max-width: 1050px) {
  .operations-hero { grid-template-columns: 1fr; }
  .operations-flow,.role-orbit { justify-content: flex-start; }
  .purchase-board { grid-template-columns: 1fr; }
  .kitchen-board { grid-template-columns: repeat(4,minmax(280px,1fr)); }
  .inventory-movement-form { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .po-entry-grid { grid-template-columns: 1fr 90px; }
  .po-entry-grid > b { display: none; }
  .control-rule-grid,.kitchen-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .team-list > article { grid-template-columns: 40px minmax(0,1fr) auto; }
  .team-list details,.team-list > article > form { grid-column: 2/4; }
  .admin-session { display: none; }
  .inventory-movement-form { grid-template-columns: 1fr; }
}

/* Excel-connected sales and purchasing workspace */
.finance-center { max-width: 1480px; }
.finance-live-badge { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid #dfe7df; border-radius: 999px; background: #f7fbf8; color: #3f6f59; font-size: 8px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.finance-live-badge i { width: 7px; height: 7px; border-radius: 50%; background: #4c9f70; box-shadow: 0 0 0 4px rgba(76,159,112,.12); }
.finance-hero { position: relative; display: grid; grid-template-columns: minmax(0,1.4fr) minmax(300px,.6fr); gap: 30px; align-items: center; margin-bottom: 18px; padding: 30px 32px; overflow: hidden; border: 1px solid rgba(217,190,126,.18); border-radius: 20px; background: radial-gradient(circle at 90% -30%,rgba(223,186,111,.28),transparent 42%),linear-gradient(135deg,#102d25,#1a4939); color: white; box-shadow: 0 22px 58px rgba(16,45,37,.16); }
.finance-hero::after { content: ""; position: absolute; right: -90px; top: -145px; width: 340px; height: 340px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; }
.finance-hero .eyebrow { margin-bottom: 8px; color: #e8cc91; font-size: 8px; font-weight: 850; letter-spacing: .2em; }
.finance-hero h2 { max-width: 770px; margin: 0 0 10px; color: white; font: 500 clamp(28px,3.3vw,46px)/1.03 Georgia,serif; letter-spacing: -.025em; }
.finance-hero p { max-width: 760px; margin: 0; color: rgba(255,255,255,.68); font-size: 10px; line-height: 1.75; }
.finance-hero-total { position: relative; z-index: 1; padding: 21px; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: rgba(255,255,255,.07); backdrop-filter: blur(10px); }
.finance-hero-total small,.finance-hero-total span { display: block; }
.finance-hero-total small { color: #ddc48e; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.finance-hero-total strong { display: block; margin: 9px 0 7px; color: white; font: 500 clamp(26px,3vw,39px)/1 Georgia,serif; }
.finance-hero-total strong.negative { color: #ffd1c6; }
.finance-hero-total span { color: rgba(255,255,255,.5); font-size: 8px; line-height: 1.5; }
.finance-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 18px; }
.finance-metrics article { min-width: 0; padding: 18px; border: 1px solid rgba(39,66,54,.10); border-radius: 15px; background: rgba(255,254,250,.95); box-shadow: 0 14px 35px rgba(24,53,40,.055); }
.finance-metrics .metric-icon { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 14px; border-radius: 10px; background: #eef1ec; color: #405a4f; }
.finance-metrics .metric-icon .admin-icon { width: 18px; height: 18px; }
.finance-metrics small,.finance-metrics strong,.finance-metrics p { display: block; }
.finance-metrics > article > small { color: #8b938f; font-size: 8px; font-weight: 750; }
.finance-metrics > article > strong { overflow: hidden; margin-top: 7px; color: #17362b; font: 500 clamp(20px,2.2vw,29px)/1.1 Georgia,serif; text-overflow: ellipsis; white-space: nowrap; }
.finance-metrics p { margin: 7px 0 0; color: #87918c; font-size: 8px; }
.finance-import-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-bottom: 18px; }
.finance-upload-card { position: relative; overflow: hidden; padding: 22px; border: 1px solid rgba(42,66,56,.12); border-radius: 17px; background: rgba(255,254,250,.96); box-shadow: 0 15px 38px rgba(31,53,43,.06); }
.finance-upload-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg,#2d7959,#91b39d); }
.finance-upload-card.purchases::before { background: linear-gradient(90deg,#b57d38,#ddbd7e); }
.finance-upload-card header { display: flex; align-items: center; gap: 12px; }
.finance-upload-card header > span { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 13px; background: #e8f2eb; color: #357250; }
.finance-upload-card.purchases header > span { background: #f8eddc; color: #a36c2e; }
.finance-upload-card header .admin-icon { width: 21px; height: 21px; }
.finance-upload-card header small { display: block; margin-bottom: 3px; color: #929994; font-size: 7px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.finance-upload-card h2 { margin: 0; color: #18392d; font: 500 22px/1.1 Georgia,serif; }
.finance-upload-card > p { margin: 13px 0; color: #79847f; font-size: 9px; line-height: 1.6; }
.finance-file-drop { display: block; padding: 17px; border: 1px dashed #cbd6ce; border-radius: 12px; background: #f8faf7; cursor: pointer; transition: border-color .2s ease,background .2s ease,transform .2s ease; }
.finance-file-drop:hover { transform: translateY(-1px); border-color: #80a691; background: #f4f9f5; }
.finance-file-drop input { width: 100%; margin-bottom: 10px; color: #596b63; font-size: 8px; }
.finance-file-drop input::file-selector-button { min-height: 33px; margin-right: 10px; padding: 0 11px; border: 0; border-radius: 7px; background: #244d3d; color: #fff; font-size: 8px; font-weight: 800; }
.finance-file-drop strong,.finance-file-drop span { display: block; }
.finance-file-drop strong { color: #315346; font-size: 9px; }
.finance-file-drop span { margin-top: 3px; color: #929a96; font-size: 7px; }
.finance-upload-card > button { width: 100%; min-height: 42px; display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 12px; border: 0; border-radius: 10px; background: #173f32; color: white; cursor: pointer; font-size: 8px; font-weight: 850; box-shadow: 0 12px 25px rgba(23,63,50,.14); }
.finance-upload-card.purchases > button { background: #9b6b34; }
.finance-upload-card > button .admin-icon { width: 14px; height: 14px; }
.finance-trend-card { margin-bottom: 18px; }
.finance-trend-card .panel-head { align-items: flex-start; }
.finance-legend { display: flex; align-items: center; gap: 12px; color: #7e8984; font-size: 8px; }
.finance-legend span { display: flex; align-items: center; gap: 5px; }
.finance-legend i { width: 8px; height: 8px; border-radius: 3px; }
.finance-legend i.sales { background: #3e8e68; }
.finance-legend i.purchases { background: #d3a156; }
.finance-month-chart { height: 260px; display: flex; align-items: stretch; gap: 12px; margin-top: 22px; padding: 0 8px 3px; border-bottom: 1px solid #e4e8e4; }
.finance-month { min-width: 0; flex: 1; display: grid; grid-template-rows: 1fr auto auto; gap: 4px; text-align: center; }
.finance-bars { min-height: 190px; display: flex; align-items: flex-end; justify-content: center; gap: 4px; }
.finance-bars i { width: min(24px,38%); min-height: 5px; display: block; border-radius: 5px 5px 2px 2px; transition: opacity .2s ease; }
.finance-bars i:hover { opacity: .72; }
.finance-bars i.sales { background: linear-gradient(180deg,#70b08e,#2f7b58); }
.finance-bars i.purchases { background: linear-gradient(180deg,#e7c27f,#bd8138); }
.finance-month > strong { color: #53655d; font-size: 8px; }
.finance-month > span { color: #9aa19e; font-size: 7px; }
.finance-empty { min-height: 190px; display: grid; place-content: center; text-align: center; }
.finance-breakdowns { grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 18px; }
.finance-ranked-list { margin-top: 13px; }
.finance-ranked-list > div { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid #eceee9; }
.finance-ranked-list > div > b { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 8px; background: #f2eee4; color: #92672f; font-size: 8px; }
.finance-ranked-list span strong,.finance-ranked-list span small { display: block; }
.finance-ranked-list span strong { color: #314d42; font-size: 9px; }
.finance-ranked-list span small { margin-top: 3px; color: #949b98; font-size: 7px; }
.finance-ranked-list em { color: #244c3d; font: 500 11px/1 Georgia,serif; font-style: normal; }
.finance-table-card { margin-bottom: 18px; }
.finance-table-card .panel-head > span { padding: 6px 9px; border-radius: 99px; background: #f0f3ee; color: #597067; font-size: 8px; font-weight: 800; }
.finance-table-card .data-table-wrap { max-height: 520px; overflow: auto; }
.finance-table-card thead { position: sticky; z-index: 1; top: 0; }
.finance-table-card .feature-table { min-width: 980px; }
.finance-import-history { margin-bottom: 20px; }
.finance-import-history .manage-row > b { flex: 0 0 auto; color: #2f5948; font: 500 11px/1 Georgia,serif; }

@media (max-width: 1050px) {
  .finance-hero { grid-template-columns: 1fr; }
  .finance-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .finance-import-grid,.finance-breakdowns { grid-template-columns: 1fr; }
  .finance-month-chart { gap: 6px; overflow-x: auto; }
  .finance-month { min-width: 54px; }
}
@media (max-width: 540px) {
  .finance-hero { padding: 23px 20px; }
  .finance-metrics { grid-template-columns: 1fr; }
  .finance-live-badge { display: none; }
  .finance-upload-card { padding: 18px; }
  .finance-import-history .manage-row { align-items: flex-start; flex-wrap: wrap; }
}

/* Cashier POS v2 — Arabic touch-first station */
.pos-v2 { --pos-ink: #15342b; --pos-green: #123d30; --pos-green-2: #1e5b45; --pos-gold: #d1ad67; --pos-paper: #fffdf8; --pos-line: #e5e5dc; font-family: Tahoma, Arial, sans-serif; background: #f1efe8; }
.pos-v2 button,.pos-v2 input,.pos-v2 select,.pos-v2 textarea { font: inherit; }
.pos-v2 .pos-topbar { position: relative; z-index: 20; height: 78px; grid-template-columns: 154px minmax(170px,.7fr) minmax(190px,.75fr) auto; gap: 18px; padding: 9px 22px; border: 0; background: linear-gradient(108deg,#0c2e25,#164737 70%,#1b513e); box-shadow: 0 12px 34px rgba(6,32,24,.18); color: #fff; }
.pos-v2 .pos-brand { display: grid; width: 142px; height: 58px; place-items: center; padding: 5px 12px; border: 1px solid rgba(255,255,255,.11); border-radius: 13px; background: rgba(255,255,255,.96); }
.pos-v2 .pos-brand img { width: 123px; height: 47px; object-fit: contain; }
.pos-v2 .pos-station-copy span,.pos-v2 .pos-station-copy strong,.pos-v2 .pos-station-copy small { display: block; }
.pos-v2 .pos-station-copy span { color: var(--pos-gold); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.pos-v2 .pos-station-copy strong { margin-top: 2px; color: #fff; font-size: 18px; font-weight: 800; }
.pos-v2 .pos-station-copy small { margin-top: 3px; color: rgba(255,255,255,.58); font-size: 9px; direction: ltr; text-align: right; }
.pos-v2 .pos-connection { display: grid; grid-template-columns: 10px auto; gap: 2px 8px; align-items: center; justify-self: start; padding: 9px 13px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(255,255,255,.06); }
.pos-v2 .pos-connection i { grid-row: 1/3; width: 8px; height: 8px; border-radius: 50%; background: #65d590; box-shadow: 0 0 0 5px rgba(101,213,144,.13); }
.pos-v2 .pos-connection span { color: #fff; font-size: 9px; font-weight: 800; }
.pos-v2 .pos-connection small { color: rgba(255,255,255,.55); font-size: 8px; }
.pos-v2 .pos-topbar nav { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.pos-v2 .pos-topbar nav a,.pos-v2 .pos-topbar nav button { min-height: 41px; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 0 11px; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; background: rgba(255,255,255,.07); color: rgba(255,255,255,.86); cursor: pointer; font-size: 8px; font-weight: 800; transition: background .18s ease,transform .18s ease; }
.pos-v2 .pos-topbar nav a:hover,.pos-v2 .pos-topbar nav button:hover { transform: translateY(-1px); background: rgba(255,255,255,.13); color: #fff; }
.pos-v2 .pos-topbar nav form { margin: 0; }
.pos-v2 .pos-topbar nav form button { width: 41px; padding: 0; color: #e9c3b8; }
.pos-v2 .pos-topbar nav .admin-icon { width: 15px; height: 15px; color: var(--pos-gold); }

.pos-v2 .pos-shell { height: calc(100vh - 78px); direction: ltr; grid-template-columns: minmax(0,1fr) minmax(410px,450px); background: #efede6; }
.pos-v2 .pos-catalog,.pos-v2 .pos-ticket { direction: rtl; }
.pos-v2 .pos-catalog { padding: 24px 26px 56px; scrollbar-color: #c9c7be transparent; }
.pos-v2 .pos-ticket { padding: 0; border: 0; border-left: 1px solid rgba(28,54,44,.1); background: var(--pos-paper); box-shadow: -18px 0 45px rgba(25,46,37,.055); scrollbar-color: #d2d0c6 transparent; }
.pos-v2 .pos-section-head { align-items: center; margin-bottom: 16px; }
.pos-v2 .pos-section-head p { margin-bottom: 3px; color: #a17436; font-size: 8px; letter-spacing: .08em; }
.pos-v2 .pos-section-head h1 { color: var(--pos-ink); font-family: Tahoma,Arial,sans-serif; font-size: clamp(26px,2.6vw,37px); font-weight: 900; letter-spacing: -.04em; }
.pos-v2 .pos-section-head > div:first-child > span { display: block; margin-top: 6px; color: #7b8782; font-size: 9px; }
.pos-v2 .pos-day-summary { gap: 0; padding: 0; overflow: hidden; border-color: rgba(26,55,44,.1); border-radius: 13px; background: rgba(255,253,248,.88); box-shadow: 0 10px 25px rgba(24,46,37,.035); }
.pos-v2 .pos-day-summary > span,.pos-v2 .pos-day-summary > strong { min-width: 108px; padding: 10px 13px; border-inline-start: 1px solid #e7e7df; }
.pos-v2 .pos-day-summary > :last-child { border-inline-start: 0; }
.pos-v2 .pos-day-summary small { display: block; margin-bottom: 4px; color: #8b9490; font-size: 7px; font-family: Tahoma,Arial,sans-serif; font-weight: 700; }
.pos-v2 .pos-day-summary span b { color: #315347; font-size: 9px; }
.pos-v2 .pos-day-summary > strong { color: #865f2d; font-family: Tahoma,Arial,sans-serif; font-size: 13px; font-weight: 800; }
.pos-v2 .pos-shift-warning { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 14px; padding: 13px 15px; border: 1px solid #edd8ae; border-radius: 12px; background: #fff6df; color: #74521f; }
.pos-v2 .pos-shift-warning strong,.pos-v2 .pos-shift-warning span { display: block; }
.pos-v2 .pos-shift-warning strong { font-size: 10px; }
.pos-v2 .pos-shift-warning span { margin-top: 4px; color: #9d7c47; font-size: 8px; }
.pos-v2 .pos-shift-warning button { min-height: 36px; padding: 0 14px; border: 0; border-radius: 9px; background: #8a622d; color: #fff; cursor: pointer; font-size: 8px; font-weight: 800; }
.pos-v2 .form-alert { margin-bottom: 14px; }
.pos-v2 .pos-catalog-tools { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; margin-bottom: 11px; }
.pos-v2 .pos-search { display: block; margin: 0; }
.pos-v2 .pos-search > span { right: 15px; left: auto; }
.pos-v2 .pos-search input { min-height: 50px; padding: 10px 45px 10px 58px; border-color: rgba(27,57,45,.11); border-radius: 13px; background: rgba(255,253,248,.98); font-size: 10px; box-shadow: 0 10px 28px rgba(27,48,40,.04); }
.pos-v2 .pos-search kbd { position: absolute; left: 12px; top: 50%; padding: 5px 7px; border: 1px solid #deddd5; border-radius: 6px; background: #f3f1eb; color: #7b8782; font: 700 7px Tahoma,Arial,sans-serif; transform: translateY(-50%); }
.pos-v2 .pos-result-count { padding: 10px 12px; border: 1px solid rgba(27,57,45,.09); border-radius: 10px; background: rgba(255,253,248,.72); color: #738079; font-size: 8px; white-space: nowrap; }
.pos-v2 .pos-result-count b { color: var(--pos-green-2); font-size: 10px; }
.pos-v2 .pos-categories { margin-bottom: 14px; }
.pos-v2 .pos-categories button { min-height: 39px; padding: 0 16px; border-radius: 10px; background: rgba(255,253,248,.86); font-size: 8px; }
.pos-v2 .pos-categories button.active { border-color: var(--pos-green); background: var(--pos-green); }
.pos-v2 .pos-product-grid { grid-template-columns: repeat(4,minmax(130px,1fr)); gap: 12px; }
.pos-v2 .pos-product { position: relative; border-color: rgba(27,55,45,.09); border-radius: 15px; background: var(--pos-paper); text-align: right; box-shadow: 0 11px 25px rgba(25,45,37,.045); }
.pos-v2 .pos-product:hover { border-color: rgba(186,143,81,.52); box-shadow: 0 17px 34px rgba(25,41,34,.095); }
.pos-v2 .pos-product.is-selected { border-color: #caaa69; box-shadow: 0 0 0 2px rgba(202,170,105,.15),0 15px 30px rgba(25,41,34,.07); }
.pos-v2 .pos-product-image { position: relative; height: 118px; }
.pos-v2 .pos-product-image > i { position: absolute; top: 9px; left: 9px; min-width: 25px; height: 25px; display: grid; place-items: center; padding: 0 6px; border: 2px solid #fff; border-radius: 99px; background: var(--pos-green); color: #fff; font-size: 9px; font-style: normal; font-weight: 900; box-shadow: 0 6px 16px rgba(11,44,33,.23); }
.pos-v2 .pos-product > span:last-child { padding: 12px 13px 14px; }
.pos-v2 .pos-product small { margin: 0 0 4px; color: #a47a40; font-size: 7px; font-weight: 800; }
.pos-v2 .pos-product strong { min-height: 36px; color: #26463a; font-size: 10px; font-weight: 800; line-height: 1.65; }
.pos-v2 .pos-product b { margin-top: 8px; color: #8b612c; font-family: Tahoma,Arial,sans-serif; font-size: 12px; font-weight: 800; }
.pos-v2 .pos-product b em { margin-left: 3px; color: #a7ada9; font-size: 7px; font-style: normal; }
.pos-v2 .pos-no-results { min-height: 210px; place-content: center; text-align: center; color: #87918d; }
.pos-v2 .pos-no-results:not([hidden]) { display: grid; }
.pos-v2 .pos-no-results strong,.pos-v2 .pos-no-results span { display: block; }
.pos-v2 .pos-no-results strong { color: #405a50; font-size: 13px; }
.pos-v2 .pos-no-results span { margin-top: 5px; font-size: 8px; }

.pos-v2 .pos-ticket-head { position: sticky; z-index: 4; top: 0; padding: 18px 20px 15px; background: rgba(255,253,248,.97); backdrop-filter: blur(12px); }
.pos-v2 .pos-ticket-head span { color: #a3783b; font-size: 7px; letter-spacing: .06em; }
.pos-v2 .pos-ticket-head h2 { color: var(--pos-ink); font-family: Tahoma,Arial,sans-serif; font-size: 21px; font-weight: 900; }
.pos-v2 .pos-ticket-head h2 b { display: inline-grid; min-width: 25px; height: 25px; place-items: center; margin-right: 4px; border-radius: 8px; background: #e9efe9; color: #32634e; font-size: 9px; vertical-align: middle; }
.pos-v2 .pos-ticket-head > div:last-child { display: flex; gap: 6px; }
.pos-v2 .pos-ticket-head button { min-height: 34px; font-size: 8px; font-weight: 800; }
.pos-v2 .pos-ticket-head button.danger { border-color: #edd7d1; background: #fff7f4; color: #ac5043; }
.pos-v2 .pos-ticket-lines { min-height: 130px; max-height: 315px; padding: 0 20px; border-color: var(--pos-line); }
.pos-v2 .pos-empty { min-height: 130px; }
.pos-v2 .pos-empty > span { background: #efe6d6; font-size: 20px; }
.pos-v2 .pos-empty strong { font-family: Tahoma,Arial,sans-serif; font-size: 12px; font-weight: 800; }
.pos-v2 .pos-ticket-line { padding: 13px 0; }
.pos-v2 .pos-line-summary { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.pos-v2 .pos-line-summary span { color: inherit; font-family: inherit; }
.pos-v2 .pos-line-summary strong,.pos-v2 .pos-line-summary small { display: block; }
.pos-v2 .pos-line-summary strong { color: #25453a; font-size: 10px; font-weight: 800; }
.pos-v2 .pos-line-summary small { margin-top: 4px; color: #929a96; font-size: 7px; }
.pos-v2 .pos-line-summary > b { color: #885f2d; font-size: 10px; white-space: nowrap; }
.pos-v2 .pos-line-option { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 8px; align-items: center; margin-top: 8px; color: #7d8883; font-size: 7px; }
.pos-v2 .pos-line-option select,.pos-v2 .pos-line-note { min-height: 33px; margin: 0; padding: 5px 8px; border: 1px solid #dfe2dc; border-radius: 8px; background: #fff; color: #50645b; font-size: 8px; }
.pos-v2 .pos-line-note { width: 100%; margin-top: 7px; }
.pos-v2 .pos-line-controls { margin-top: 8px; }
.pos-v2 .pos-line-controls button { width: 30px; height: 30px; font-size: 13px; font-weight: 800; }
.pos-v2 .pos-line-controls b { min-width: 21px; color: #29493d; font-size: 10px; }
.pos-v2 .pos-line-controls button.remove { width: auto; margin-right: auto; margin-left: 0; padding: 0 10px; font-size: 7px; }
.pos-v2 .pos-checkout { padding: 0 20px; }
.pos-v2 .pos-service-types { display: flex; gap: 6px; margin: 13px 0 0; padding: 0 0 12px; border: 0; border-bottom: 1px solid var(--pos-line); }
.pos-v2 .pos-service-types legend { width: 100%; margin-bottom: 7px; color: #66766f; font-size: 7px; font-weight: 800; }
.pos-v2 .pos-service-types label { position: relative; flex: 1; cursor: pointer; }
.pos-v2 .pos-service-types input { position: absolute; opacity: 0; }
.pos-v2 .pos-service-types span { min-height: 35px; display: grid; place-items: center; padding: 0 7px; border: 1px solid #dfe1db; border-radius: 9px; color: #677871; font-size: 8px; font-weight: 800; }
.pos-v2 .pos-service-types input:checked + span { border-color: #35765b; background: #e9f2ec; color: #275f48; box-shadow: 0 0 0 3px rgba(53,118,91,.07); }
.pos-v2 .pos-totals { padding: 11px 0; }
.pos-v2 .pos-totals > span,.pos-v2 .pos-totals > label { font-size: 8px; }
.pos-v2 .pos-totals > strong { color: var(--pos-ink); font-family: Tahoma,Arial,sans-serif; font-size: 17px; font-weight: 900; }
.pos-v2 .pos-totals input { direction: ltr; }
.pos-v2 .pos-customer-panel { border-bottom: 1px solid var(--pos-line); }
.pos-v2 .pos-customer-panel summary { display: grid; grid-template-columns: 28px 1fr auto; gap: 8px; align-items: center; padding: 10px 0; color: #405b50; cursor: pointer; list-style: none; }
.pos-v2 .pos-customer-panel summary::-webkit-details-marker { display: none; }
.pos-v2 .pos-customer-panel summary > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: #f0e8da; color: #916633; }
.pos-v2 .pos-customer-panel summary .admin-icon { width: 14px; height: 14px; }
.pos-v2 .pos-customer-panel summary b { font-size: 8px; }
.pos-v2 .pos-customer-panel summary small { color: #939b97; font-size: 7px; }
.pos-v2 .pos-form-grid { padding: 2px 0 12px; }
.pos-v2 .pos-form-grid label { font-size: 7px; }
.pos-v2 .pos-payments { margin: 12px 0; }
.pos-v2 .pos-payments legend { font-size: 7px; }
.pos-v2 .pos-payments span { min-height: 43px; border-radius: 10px; }
.pos-v2 .pos-payments input:checked + span { border-color: #b88a49; background: #f6ebd9; color: #765023; }
.pos-v2 .pos-cash-panel { margin: 0 0 12px; padding: 11px; border: 1px solid #e3dccd; border-radius: 11px; background: #fbf7ee; }
.pos-v2 .pos-cash-panel[hidden] { display: none; }
.pos-v2 .pos-cash-panel > label,.pos-v2 .pos-cash-panel > strong { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #617068; font-size: 8px; }
.pos-v2 .pos-cash-panel > label > span { display: flex; align-items: center; gap: 5px; }
.pos-v2 .pos-cash-panel input { width: 115px; min-height: 34px; padding: 5px 8px; border: 1px solid #d7d5cd; border-radius: 8px; background: #fff; direction: ltr; text-align: center; font-size: 10px; font-weight: 800; }
.pos-v2 .pos-cash-shortcuts { display: grid; grid-template-columns: repeat(4,1fr); gap: 5px; margin: 9px 0; }
.pos-v2 .pos-cash-shortcuts button { min-height: 30px; border: 1px solid #ded9cf; border-radius: 7px; background: #fff; color: #76562d; cursor: pointer; font-size: 7px; font-weight: 800; }
.pos-v2 .pos-cash-panel > strong { padding-top: 8px; border-top: 1px dashed #ded7ca; color: #2c5b48; }
.pos-v2 .pos-pay-button { min-height: 59px; margin-bottom: 12px; grid-template-columns: 22px 1fr auto; border-radius: 13px; background: linear-gradient(135deg,#1d5a44,#10382c); box-shadow: 0 14px 28px rgba(16,56,44,.19); }
.pos-v2 .pos-pay-button span { text-align: right; }
.pos-v2 .pos-pay-button span b,.pos-v2 .pos-pay-button span small { display: block; }
.pos-v2 .pos-pay-button span b { font-size: 10px; }
.pos-v2 .pos-pay-button span small { margin-top: 3px; color: rgba(255,255,255,.55); font-size: 7px; }
.pos-v2 .pos-pay-button strong { color: #f2dcae; font-family: Tahoma,Arial,sans-serif; font-size: 13px; font-weight: 800; }
.pos-v2 .pos-pay-button.is-processing { opacity: .72; }
.pos-v2 .pos-held,.pos-v2 .pos-recent { margin: 5px 20px 0; padding: 13px 0; border-top: 1px solid var(--pos-line); }
.pos-v2 .pos-held > header,.pos-v2 .pos-recent > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.pos-v2 .pos-held h3,.pos-v2 .pos-recent h3 { margin: 0; color: #29493d; font-family: Tahoma,Arial,sans-serif; font-size: 10px; font-weight: 800; }
.pos-v2 .pos-held > header > b { min-width: 23px; height: 23px; display: grid; place-items: center; border-radius: 8px; background: #f1e5d1; color: #8c622d; font-size: 8px; }
.pos-v2 .pos-held article { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid #efeee8; }
.pos-v2 .pos-held article span strong,.pos-v2 .pos-held article span small { display: block; }
.pos-v2 .pos-held article span strong { color: #40584f; font-size: 8px; }
.pos-v2 .pos-held article span small { margin-top: 3px; color: #959b98; font-size: 7px; }
.pos-v2 .pos-held article > div { display: flex; gap: 5px; }
.pos-v2 .pos-held article button { min-height: 29px; padding: 0 8px; border: 1px solid #dedfd9; border-radius: 7px; background: #fff; color: #38614f; cursor: pointer; font-size: 7px; font-weight: 800; }
.pos-v2 .pos-held article button.danger { color: #a44d42; }
.pos-v2 .pos-recent { margin-top: 0; }
.pos-v2 .pos-recent > header span { color: #8e9692; font-size: 7px; }
.pos-v2 .pos-recent a { min-height: 45px; padding: 7px 0; }
.pos-v2 .pos-recent a > strong { text-align: left; }
.pos-v2 .pos-recent a > strong small { display: block; margin-top: 3px; color: #969c99; font: 7px Tahoma,Arial,sans-serif; }

.pos-v2 .pos-modal { position: fixed; z-index: 100; inset: 0; display: none; place-items: center; padding: 20px; direction: rtl; }
.pos-v2 .pos-modal.is-open { display: grid; }
.pos-v2 .pos-modal-backdrop { position: absolute; inset: 0; background: rgba(6,25,19,.68); backdrop-filter: blur(5px); }
.pos-v2 .pos-shift-dialog,.pos-v2 .pos-receipt-dialog { position: relative; z-index: 1; width: min(470px,100%); overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: #fffdf8; box-shadow: 0 28px 90px rgba(3,22,15,.32); }
.pos-v2 .pos-shift-dialog > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 22px 24px; background: linear-gradient(135deg,#123d30,#1f5743); color: #fff; }
.pos-v2 .pos-shift-dialog header span { color: #daba79; font-size: 8px; font-weight: 800; }
.pos-v2 .pos-shift-dialog h2 { margin: 5px 0 0; color: #fff; font-size: 20px; }
.pos-v2 .pos-shift-dialog header > button { width: 32px; height: 32px; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: rgba(255,255,255,.08); color: #fff; cursor: pointer; font-size: 17px; }
.pos-v2 .pos-shift-dialog > p { margin: 20px 24px 0; color: #6e7b75; font-size: 9px; line-height: 1.7; }
.pos-v2 .pos-shift-dialog form { display: grid; gap: 12px; padding: 20px 24px 24px; }
.pos-v2 .pos-shift-dialog form label { display: grid; gap: 6px; color: #5f7068; font-size: 8px; font-weight: 800; }
.pos-v2 .pos-shift-dialog input,.pos-v2 .pos-shift-dialog textarea { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid #dcded8; border-radius: 9px; background: #fff; color: #243f35; }
.pos-v2 .pos-shift-dialog input { direction: ltr; text-align: center; font-size: 14px; font-weight: 800; }
.pos-v2 .pos-shift-stats { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; padding: 18px 24px 0; }
.pos-v2 .pos-shift-stats span { padding: 12px; border-radius: 10px; background: #f2f3ee; }
.pos-v2 .pos-shift-stats small,.pos-v2 .pos-shift-stats b { display: block; }
.pos-v2 .pos-shift-stats small { color: #8c9591; font-size: 7px; }
.pos-v2 .pos-shift-stats b { margin-top: 5px; color: #315548; font-size: 11px; }
.pos-v2 .pos-shift-submit { min-height: 45px; border: 0; border-radius: 10px; background: #174837; color: #fff; cursor: pointer; font-size: 9px; font-weight: 800; }
.pos-v2 .pos-shift-submit.danger { background: #9c493e; }
.pos-v2 .pos-toast { position: fixed; z-index: 140; right: 50%; bottom: 24px; max-width: min(420px,calc(100vw - 30px)); padding: 12px 18px; border-radius: 10px; background: #163d31; color: #fff; box-shadow: 0 15px 45px rgba(8,34,26,.25); font-size: 9px; font-weight: 800; opacity: 0; pointer-events: none; transform: translate(50%,20px); transition: opacity .2s ease,transform .2s ease; }
.pos-v2 .pos-toast.is-visible { opacity: 1; transform: translate(50%,0); }

.pos-v2 .pos-receipt-dialog { width: min(390px,100%); max-height: calc(100vh - 35px); overflow-y: auto; padding: 18px; border-radius: 16px; }
.pos-v2 .pos-receipt-paper { padding: 22px 19px; border: 1px dashed #b9b9ae; background: #fff; color: #111; font-family: "Courier New",monospace; }
.pos-v2 .pos-receipt-paper > header { padding-bottom: 14px; border-bottom: 1px dashed #777; text-align: center; }
.pos-v2 .pos-receipt-paper header img { width: 120px; height: 55px; object-fit: contain; }
.pos-v2 .pos-receipt-paper h2 { margin: 8px 0 3px; font-size: 14px; }
.pos-v2 .pos-receipt-paper p { margin: 3px 0; font-size: 8px; }
.pos-v2 .pos-receipt-meta { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; padding: 12px 0; border-bottom: 1px dashed #777; }
.pos-v2 .pos-receipt-meta span:last-child { text-align: left; }
.pos-v2 .pos-receipt-meta b,.pos-v2 .pos-receipt-meta small { display: block; font-size: 8px; }
.pos-v2 .pos-receipt-meta small { margin-top: 3px; color: #555; }
.pos-v2 .pos-receipt-lines { padding: 8px 0; border-bottom: 1px dashed #777; }
.pos-v2 .pos-receipt-lines > div,.pos-v2 .pos-receipt-totals > span,.pos-v2 .pos-receipt-totals > strong { display: flex; justify-content: space-between; gap: 10px; padding: 5px 0; font-size: 8px; }
.pos-v2 .pos-receipt-lines b,.pos-v2 .pos-receipt-lines small { display: block; }
.pos-v2 .pos-receipt-lines small { margin-top: 2px; color: #555; }
.pos-v2 .pos-receipt-totals { padding: 8px 0; border-bottom: 1px dashed #777; }
.pos-v2 .pos-receipt-totals > strong { font-size: 11px; }
.pos-v2 .pos-receipt-paper footer { padding-top: 13px; text-align: center; }
.pos-v2 .pos-receipt-paper footer strong,.pos-v2 .pos-receipt-paper footer small { display: block; }
.pos-v2 .pos-receipt-paper footer strong { margin-top: 12px; font-size: 10px; }
.pos-v2 .pos-receipt-paper footer small { margin-top: 4px; font-size: 7px; }
.pos-v2 .pos-receipt-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.pos-v2 .pos-receipt-actions button,.pos-v2 .pos-receipt-actions a { min-height: 42px; display: flex; align-items: center; justify-content: center; gap: 6px; border: 0; border-radius: 9px; background: #174737; color: #fff; cursor: pointer; font-size: 8px; font-weight: 800; }
.pos-v2 .pos-receipt-actions a { background: #eee9de; color: #664a27; }
.pos-v2 .pos-receipt-actions .admin-icon { width: 14px; height: 14px; }

@media (max-width: 1260px) {
  .pos-v2 .pos-shell { grid-template-columns: minmax(0,1fr) 410px; }
  .pos-v2 .pos-product-grid { grid-template-columns: repeat(3,minmax(130px,1fr)); }
  .pos-v2 .pos-topbar { grid-template-columns: 145px minmax(130px,.7fr) auto; }
  .pos-v2 .pos-connection { display: none; }
}
@media (max-width: 930px) {
  .pos-v2 { overflow: auto; }
  .pos-v2 .pos-topbar { height: auto; grid-template-columns: 130px 1fr; padding: 9px 14px; }
  .pos-v2 .pos-brand { width: 125px; }
  .pos-v2 .pos-topbar nav { grid-column: 1/-1; justify-content: flex-start; overflow-x: auto; }
  .pos-v2 .pos-shell { height: auto; grid-template-columns: 1fr; }
  .pos-v2 .pos-catalog,.pos-v2 .pos-ticket { overflow: visible; }
  .pos-v2 .pos-ticket { border-top: 1px solid #dfe1db; border-left: 0; }
  .pos-v2 .pos-ticket-lines { max-height: none; }
}
@media (max-width: 650px) {
  .pos-v2 .pos-topbar { grid-template-columns: 125px 1fr; }
  .pos-v2 .pos-station-copy strong { font-size: 14px; }
  .pos-v2 .pos-topbar nav a span,.pos-v2 .pos-topbar nav button span { display: none; }
  .pos-v2 .pos-section-head { align-items: flex-start; flex-direction: column; }
  .pos-v2 .pos-day-summary { width: 100%; display: grid; grid-template-columns: repeat(3,1fr); }
  .pos-v2 .pos-day-summary > span,.pos-v2 .pos-day-summary > strong { min-width: 0; padding: 9px; }
  .pos-v2 .pos-catalog { padding: 18px 14px 36px; }
  .pos-v2 .pos-product-grid { grid-template-columns: repeat(2,minmax(125px,1fr)); gap: 9px; }
  .pos-v2 .pos-product-image { height: 104px; }
  .pos-v2 .pos-ticket-head,.pos-v2 .pos-checkout { padding-inline: 14px; }
  .pos-v2 .pos-ticket-lines { padding-inline: 14px; }
  .pos-v2 .pos-held,.pos-v2 .pos-recent { margin-inline: 14px; }
}
@media (max-width: 400px) {
  .pos-v2 .pos-product-grid { grid-template-columns: 1fr 1fr; }
  .pos-v2 .pos-product-image { height: 92px; }
  .pos-v2 .pos-cash-shortcuts { grid-template-columns: repeat(2,1fr); }
}
@media print {
  .pos-v2 > * { display: none !important; }
  .pos-v2 .pos-receipt-modal,.pos-v2 .pos-receipt-dialog,.pos-v2 .pos-receipt-paper { position: static !important; display: block !important; width: 80mm !important; max-height: none !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: #fff !important; }
  .pos-v2 .pos-receipt-modal { inset: auto !important; }
  .pos-v2 .pos-modal-backdrop,.pos-v2 .pos-receipt-actions { display: none !important; }
  @page { size: 80mm auto; margin: 4mm; }
}

/* English cashier direction */
.pos-v2,.pos-v2 .pos-catalog,.pos-v2 .pos-ticket,.pos-v2 .pos-modal { direction: ltr; }
.pos-v2 .pos-station-copy small { text-align: left; }
.pos-v2 .pos-day-summary > span,.pos-v2 .pos-day-summary > strong { border-inline-start: 0; border-inline-end: 1px solid #e7e7df; }
.pos-v2 .pos-day-summary > :last-child { border-inline-end: 0; }
.pos-v2 .pos-search > span { right: auto; left: 15px; }
.pos-v2 .pos-search input { padding: 10px 58px 10px 45px; }
.pos-v2 .pos-search kbd { right: 12px; left: auto; }
.pos-v2 .pos-product { text-align: left; }
.pos-v2 .pos-product b em { margin-right: 3px; margin-left: 0; }
.pos-v2 .pos-line-controls button.remove { margin-right: 0; margin-left: auto; }
.pos-v2 .pos-pay-button span { text-align: left; }
.pos-v2 .pos-recent a > strong { text-align: right; }
.pos-v2 .pos-receipt-meta span:last-child { text-align: right; }
