﻿:root{--ink:#17231f;--ink-soft:#50605b;--muted:#85918c;--line:#e4e8e4;--surface:#fff;--canvas:#f5f6f1;--sage:#dcebe1;--forest:#2b5142;--mint:#cfe3d2;--orange:#e89062;--orange-dark:#bd5d36;--purple:#8e7ab8;--shadow:0 18px 48px rgba(31,48,39,.08);--radius:18px;--sans:'DM Sans',ui-sans-serif,system-ui,sans-serif;--serif:'Playfair Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5}button,input,select{font:inherit}button{border:0;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(67,128,98,.35);outline-offset:2px}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.topbar{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(226,231,225,.8);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;letter-spacing:.04em}.brand strong{font-size:18px;display:block;line-height:1}.brand small{font-size:8px;letter-spacing:.26em;color:var(--muted);display:block;text-align:justify;margin-top:5px}.brand-mark{width:31px;height:31px;border:1.5px solid var(--forest);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:2px;transform:rotate(-12deg)}.brand-mark span{width:3px;height:14px;border-radius:3px;background:var(--forest);display:block}.brand-mark span:nth-child(2){height:19px}.brand-mark span:nth-child(3){height:11px}.topbar-actions{display:flex;align-items:center;gap:18px}.lang-switch{padding:3px;border-radius:20px;background:#f0f3ef;display:flex;gap:2px}.lang-btn{border-radius:16px;background:transparent;padding:6px 10px;color:var(--muted);font-size:11px;font-weight:700;transition:.2s}.lang-btn.active{background:#fff;color:var(--ink);box-shadow:0 2px 7px rgba(28,53,42,.1)}.role-switch{display:flex;align-items:center;gap:9px;padding:9px 13px;border-radius:22px;background:var(--ink);color:#fff;font-size:12px}.role-dot{height:8px;width:8px;border-radius:50%;background:#9fd1ac;box-shadow:0 0 0 3px rgba(159,209,172,.18)}.chevron{font-size:16px;line-height:10px;color:#b9c8be;margin-left:2px}.customer-view{max-width:1400px;margin:0 auto;padding:40px 5vw 70px}.customer-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:34px;align-items:start}.main-column{min-width:0}.hero-banner{height:296px;border-radius:26px;background:linear-gradient(115deg,#d9e9dc 0%,#ecf3e9 72%,#d3e4d5 100%);position:relative;overflow:hidden;padding:39px 45px;display:flex;justify-content:space-between}.hero-banner:before{content:'';position:absolute;width:410px;height:410px;border-radius:50%;border:1px solid rgba(54,102,72,.11);right:-130px;top:-160px}.hero-banner:after{content:'';position:absolute;width:250px;height:250px;border-radius:50%;border:1px solid rgba(54,102,72,.08);right:35px;bottom:-162px}.hero-copy{position:relative;z-index:2;max-width:470px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.15em;color:var(--forest);display:flex;align-items:center;gap:8px}.eyebrow.muted{color:#8a9990}.live-dot{width:7px;height:7px;border-radius:50%;background:#5c9b70;box-shadow:0 0 0 4px rgba(92,155,112,.14)}h1,h2,h3,p{margin:0}.hero-banner h1{font:700 clamp(36px,4vw,54px)/1.02 var(--serif);letter-spacing:-.03em;margin:18px 0 12px}.hero-banner h1 em,.admin-intro h1 em{color:var(--forest);font-style:italic}.hero-banner p{color:#64756b;max-width:340px;font-size:13px}.hero-link{display:inline-flex;gap:10px;align-items:center;margin-top:25px;color:var(--forest);font-weight:700;font-size:12px;border-bottom:1px solid #87a590;padding-bottom:5px}.hero-plate{width:270px;height:230px;position:absolute;right:48px;top:28px}.plate-shadow{position:absolute;width:230px;height:32px;border-radius:50%;background:rgba(74,96,76,.15);filter:blur(7px);bottom:12px;left:24px}.plate{width:211px;height:211px;border-radius:50%;background:#fbfaf5;position:absolute;bottom:22px;left:32px;box-shadow:5px 15px 0 rgba(49,89,60,.1),inset 0 0 0 15px #f0ece1;transform:rotate(-12deg)}.plate:before{content:'';position:absolute;width:173px;height:173px;border-radius:50%;left:19px;top:19px;border:1px solid #ded8c7}.plate-food{position:absolute;filter:drop-shadow(2px 5px 2px rgba(0,0,0,.12));font-size:54px}.food-a{left:36px;top:26px;transform:rotate(-35deg)}.food-b{left:90px;top:52px;transform:rotate(24deg);font-size:60px}.food-c{left:28px;top:92px;transform:rotate(25deg);font-size:49px}.food-d{left:120px;top:112px;transform:rotate(-20deg);font-size:31px}.hero-note{position:absolute;right:-5px;top:33px;font-size:9px;letter-spacing:.18em;font-weight:700;line-height:1.5;color:#698472;transform:rotate(8deg)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:43px 0 18px}.section-heading h2,.admin-heading-row h2{font:700 29px/1.05 var(--serif);margin-top:7px;letter-spacing:-.02em}.category-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);padding-bottom:7px}.category{background:none;color:var(--muted);padding:4px 0;font-size:12px;position:relative}.category.active{color:var(--ink);font-weight:700}.category.active:after{content:'';position:absolute;bottom:-8px;height:2px;background:var(--forest);left:0;right:0;border-radius:3px}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.menu-card{background:#fff;border:1px solid rgba(221,227,221,.9);border-radius:16px;overflow:hidden;transition:.2s;position:relative}.menu-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.dish-art{height:138px;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden}.dish-art:before,.dish-art:after{content:'';position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.3)}.dish-art:before{width:180px;height:180px;top:-95px;right:-50px}.dish-art:after{width:120px;height:120px;bottom:-64px;left:-40px}.art-orange{background:linear-gradient(135deg,#f3c49b,#e98c63)}.art-green{background:linear-gradient(135deg,#bad8b9,#7fae8d)}.art-cream{background:linear-gradient(135deg,#e9d7b4,#bdbf8b)}.art-purple{background:linear-gradient(135deg,#d0c4db,#8d7bab)}.art-blue{background:linear-gradient(135deg,#bad9dd,#6da4a5)}.art-yellow{background:linear-gradient(135deg,#f0d58f,#dd9b4f)}.dish-emoji{font-size:75px;position:relative;z-index:2;filter:drop-shadow(3px 7px 2px rgba(54,63,43,.17));transform:rotate(-6deg)}.dish-info{padding:14px 15px 15px}.dish-meta{display:flex;justify-content:space-between;gap:10px;align-items:start}.dish-info h3{font-size:14px;line-height:1.22}.dish-price{font-weight:700;font-size:14px;white-space:nowrap}.dish-info p{font-size:11px;color:var(--muted);margin:7px 0 12px;min-height:34px}.add-btn{width:100%;display:flex;justify-content:space-between;align-items:center;padding:9px 11px;background:#f3f6f1;border-radius:8px;font-size:11px;font-weight:700;color:var(--forest);transition:.2s}.add-btn:hover{background:var(--forest);color:#fff}.add-btn span:last-child{font-size:17px;font-weight:400}.cart-panel{background:#fff;border:1px solid var(--line);border-radius:18px;position:sticky;top:102px;box-shadow:0 10px 35px rgba(45,67,53,.06);overflow:hidden}.cart-header{padding:22px 22px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:start}.cart-header h2{font:700 22px/1.1 var(--serif);margin-top:6px}.basket-count{background:var(--ink);color:#fff;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font-size:11px;font-weight:700}.cart-items{padding:6px 22px 8px;min-height:116px;max-height:300px;overflow:auto}.empty-cart{text-align:center;padding:23px 5px;color:var(--muted)}.empty-icon{display:block;color:#bbcbbd;font-size:23px;margin-bottom:6px}.empty-cart p{font-size:12px;color:var(--ink-soft);font-weight:600}.empty-cart small{display:block;font-size:10px;margin-top:4px}.cart-item{display:grid;grid-template-columns:42px 1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid #edf0ed;align-items:center}.mini-art{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;font-size:22px}.cart-item h4{font-size:12px;margin:0 0 2px}.cart-item small{font-size:10px;color:var(--muted)}.cart-item-price{font-size:12px;font-weight:700}.qty-control{display:flex;align-items:center;gap:7px;margin-top:5px}.qty-control button{width:17px;height:17px;border-radius:50%;background:#edf3ed;color:var(--forest);font-size:13px;line-height:12px}.qty-control span{font-size:10px;font-weight:700}.cart-summary{background:#fafbf8;padding:17px 22px 20px;border-top:1px solid var(--line)}.cart-summary>div{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);margin-bottom:9px}.cart-summary strong{font-size:12px;color:var(--ink)}.total-row{border-top:1px solid #e2e7e1;padding-top:12px;margin-top:10px!important;color:var(--ink)!important}.total-row strong{font-size:19px}.primary-btn,.outline-btn,.soft-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:9px;padding:11px 16px;font-size:12px;font-weight:700;transition:.2s}.primary-btn{background:var(--ink);color:#fff}.primary-btn:hover{background:var(--forest);transform:translateY(-1px)}.primary-btn:disabled{background:#dce3dd;color:#9aa79d;cursor:not-allowed;transform:none}.full{width:100%}.secure-note{text-align:center;color:#9aa69d;font-size:10px;margin-top:11px}.order-status-card{background:#fff;border:1px solid var(--line);border-radius:18px;margin-top:23px;padding:22px 24px}.status-card-top{display:flex;justify-content:space-between;align-items:start}.status-card-top h3{font:700 22px var(--serif);margin-top:5px}.order-pill{padding:6px 10px;border-radius:15px;background:#fff0de;color:#b86b2f;font-size:10px;font-weight:700}.progress-track{margin:25px 0 13px;display:flex;justify-content:space-between;position:relative}.progress-line{height:2px;background:#dfe6df;position:absolute;top:15px;left:11%;right:11%}.progress-step{position:relative;z-index:1;display:flex;align-items:center;flex-direction:column;gap:6px;width:25%;color:#aab5ac}.progress-step span{background:#e5ebe5;border:4px solid #fff;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700}.progress-step small{font-size:10px;text-align:center}.progress-step.done,.progress-step.active{color:var(--forest)}.progress-step.done span,.progress-step.active span{background:var(--forest);color:#fff}.progress-step.active span{box-shadow:0 0 0 5px rgba(67,128,98,.12)}.status-helper{font-size:11px;color:var(--muted);text-align:center}.admin-view{min-height:calc(100vh - 78px);background:#f7f8f5}.admin-layout{display:grid;grid-template-columns:248px minmax(0,1fr);max-width:1500px;margin:auto;min-height:calc(100vh - 78px)}.admin-sidebar{padding:39px 24px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:#f7f8f5}.admin-intro h1{font:700 29px/1.08 var(--serif);letter-spacing:-.02em;margin:13px 0 11px}.admin-intro p{font-size:11px;line-height:1.6;color:var(--muted);max-width:170px}.admin-nav{display:flex;flex-direction:column;gap:5px;margin-top:50px}.admin-nav-btn{width:100%;display:flex;align-items:center;gap:12px;background:transparent;color:#86938b;text-align:left;padding:11px 12px;border-radius:9px;font-size:12px}.admin-nav-btn>span:first-child{font-size:17px;width:20px;text-align:center}.admin-nav-btn.active,.admin-nav-btn:hover{background:#e4eee6;color:var(--forest);font-weight:700}.nav-badge{margin-left:auto;background:#e7a16c;color:#fff;border-radius:8px;font-size:9px;padding:2px 6px}.sidebar-foot{border-top:1px solid var(--line);padding-top:17px;margin-top:auto;display:flex;align-items:center;gap:9px}.user-avatar{width:31px;height:31px;background:#d9e7db;color:var(--forest);border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700}.sidebar-foot strong{display:block;font-size:10px}.sidebar-foot span{display:block;font-size:9px;color:var(--muted);margin-top:2px}.sidebar-foot button{margin-left:auto;background:transparent;color:var(--muted);font-size:12px}.admin-content{padding:44px 5vw;min-width:0}.admin-mobile-heading{display:none}.admin-heading-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.admin-heading-row h2{font-size:31px}.outline-btn{background:#fff;color:var(--ink);border:1px solid var(--line)}.outline-btn:hover{border-color:#9ab3a0;background:#f1f7f1}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat-card{min-height:144px;background:#fff;border:1px solid var(--line);padding:19px 20px;border-radius:14px;position:relative}.stat-card.accent{background:var(--forest);color:#fff;border-color:var(--forest)}.stat-card .stat-icon{position:absolute;right:19px;top:18px;font-size:20px;color:#b6d4bd}.stat-card .eyebrow{color:#93a49a}.stat-card.accent .eyebrow{color:#b9d2bd}.stat-card strong{display:block;font:700 29px var(--serif);margin:14px 0 4px}.stat-card small{font-size:10px;color:var(--muted)}.stat-card.accent small{color:#d4e3d6}.stat-card .up{color:#8dcc99}.admin-panels{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;margin-top:14px}.panel-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.panel-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:14px}.panel-heading h3{font:700 21px var(--serif);margin-top:5px}.text-btn{background:none;color:var(--forest);font-size:11px;font-weight:700}.order-row{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #eef1ee}.order-row:first-child{border-top:0}.order-avatar{width:36px;height:36px;border-radius:10px;background:#e7f0e5;display:grid;place-items:center;font-size:16px}.order-main strong{display:block;font-size:11px}.order-main small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.order-state{font-size:10px;font-weight:700;text-align:right}.state-placed{color:#c17037}.state-preparing{color:#a170ba}.state-out_for_delivery{color:#4e8d68}.state-delivered{color:#8e9c91}.quick-panel{position:relative}.health-dot{height:8px;width:8px;background:#69a97a;border-radius:50%;box-shadow:0 0 0 4px #e4f2e6}.health-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #eef1ee}.health-row:first-of-type{border-top:0}.dish-thumb{height:34px;width:34px;border-radius:9px;display:grid;place-items:center;font-size:17px}.thumb-green{background:#e2f0df}.thumb-orange{background:#fbecdb}.thumb-purple{background:#eee8f3}.health-row div{flex:1}.health-row strong{display:block;font-size:11px}.health-row small{display:block;color:var(--muted);font-size:10px}.health-value{font-size:10px;font-weight:700;color:var(--forest)}.health-value.warn{color:#cb7f3b}.soft-btn{background:#edf5ee;color:var(--forest);margin-top:11px}.soft-btn:hover{background:#dcecdf}.table-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:7px 10px;color:var(--muted);width:260px}.search-box input{border:0;outline:0;background:transparent;width:100%;font-size:11px}.table-meta{color:var(--muted);font-size:11px}.product-table{border-top:1px solid var(--line)}.product-row{display:grid;grid-template-columns:2fr 1fr 110px 92px 75px;gap:12px;align-items:center;padding:13px 4px;border-bottom:1px solid #edf0ed;font-size:11px}.product-row.header{padding:10px 4px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.product-title{display:flex;align-items:center;gap:10px}.product-title strong{font-size:11px}.product-title small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.table-thumb{width:35px;height:35px;border-radius:9px;display:grid;place-items:center;font-size:18px}.price-input{width:72px;padding:6px;border:1px solid transparent;border-radius:5px;background:#f6f8f5;font-weight:700;font-size:11px}.price-input:focus{border-color:#a6c2ab;background:#fff;outline:0}.availability{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:#5a8b68}.availability:before{content:'';height:6px;width:6px;border-radius:50%;background:#70ab7a}.availability.off{color:#b8865a}.availability.off:before{background:#e4a06c}.row-actions{display:flex;gap:5px;justify-content:end}.icon-btn{width:28px;height:28px;background:#f3f6f2;border-radius:7px;color:var(--forest);font-size:12px}.icon-btn:hover{background:#e0eee2}.order-filters{display:flex;gap:6px;margin:-3px 0 15px}.order-filter{padding:8px 12px;border-radius:16px;background:#eef2ed;color:var(--muted);font-size:11px}.order-filter.active{background:var(--forest);color:#fff}.orders-list{padding:0 20px}.order-detail-row{display:grid;grid-template-columns:120px 1.5fr 1fr 125px auto;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid #edf0ed}.order-detail-row:last-child{border-bottom:0}.order-detail-row>strong{font-size:11px}.order-customer strong,.order-customer small,.order-items small{display:block}.order-customer small,.order-items small{color:var(--muted);font-size:10px;margin-top:3px}.order-action{font-size:10px;border-radius:7px;padding:8px 10px;background:#eff5ef;color:var(--forest);font-weight:700;white-space:nowrap}.order-action:hover{background:#dcecdf}.order-action.complete{background:var(--forest);color:#fff}.date-filter{border:1px solid var(--line);background:#fff;padding:10px 12px;border-radius:8px;color:var(--muted);font-size:11px}.settings-card{max-width:600px}.settings-card h3{font:700 22px var(--serif);margin-bottom:20px}.settings-card label{display:block;margin-bottom:15px}.settings-card label span{display:block;font-size:11px;font-weight:700;margin-bottom:6px}.settings-card input,.settings-card select,.modal input,.modal select{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:8px;background:#fafbf9;outline:0;font-size:12px}.settings-card input:focus,.settings-card select:focus,.modal input:focus,.modal select:focus{border-color:#9ebda4;background:#fff}.modal-backdrop{position:fixed;inset:0;background:rgba(25,37,31,.42);z-index:50;display:grid;place-items:center;padding:20px}.modal{width:min(420px,100%);background:#fff;border-radius:18px;padding:28px;position:relative;box-shadow:0 25px 80px rgba(17,31,22,.2)}.modal h2{font:700 27px var(--serif);margin:8px 0 22px}.modal-close{position:absolute;right:18px;top:16px;background:#f1f4f1;width:27px;height:27px;border-radius:50%;font-size:18px;color:var(--muted)}.modal label{display:block;margin-bottom:15px}.modal label span{display:block;font-size:11px;font-weight:700;margin-bottom:6px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.toast{position:fixed;z-index:80;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:11px 17px;border-radius:9px;font-size:11px;box-shadow:0 10px 28px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}@media(max-width:1100px){.customer-grid{grid-template-columns:minmax(0,1fr) 290px}.hero-plate{right:-8px;opacity:.7}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy{max-width:390px}.admin-content{padding-left:30px;padding-right:30px}}@media(max-width:760px){.topbar{height:67px;padding:0 18px}.role-label{display:none}.role-switch{padding:8px 10px}.customer-view{padding:20px 16px 45px}.customer-grid{display:block}.cart-panel{position:static;margin-top:25px}.hero-banner{height:300px;padding:28px 25px}.hero-plate{right:-75px;top:62px;opacity:.45;transform:scale(.88)}.hero-copy{max-width:100%}.hero-banner h1{font-size:39px}.section-heading{display:block;margin-top:32px}.category-tabs{margin-top:16px;overflow:auto;gap:20px}.category{white-space:nowrap}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.dish-art{height:116px}.dish-emoji{font-size:60px}.dish-info{padding:11px}.dish-info p{font-size:10px;min-height:44px}.admin-layout{display:block}.admin-sidebar{display:none}.admin-content{padding:25px 16px 45px}.admin-mobile-heading{display:block;margin-bottom:25px}.admin-mobile-heading h1{font:700 28px var(--serif);margin-top:5px}.admin-heading-row h2{font-size:27px}.stat-grid{grid-template-columns:1fr;gap:9px}.stat-card{min-height:115px}.admin-panels{grid-template-columns:1fr}.product-row{grid-template-columns:1.7fr 72px 70px}.product-row>*:nth-child(2),.product-row>*:nth-child(4){display:none}.order-detail-row{grid-template-columns:1fr 1.2fr auto;gap:8px}.order-detail-row .order-items{display:none}.order-detail-row .order-action{grid-column:3;grid-row:1/3}.order-filters{overflow:auto;padding-bottom:3px}.order-filter{white-space:nowrap}.status-card-top h3{font-size:19px}.progress-step small{font-size:9px}}@media(max-width:430px){.menu-grid{grid-template-columns:1fr}.dish-art{height:130px}.topbar-actions{gap:8px}.lang-switch{padding:2px}.lang-btn{padding:5px 7px}.brand strong{font-size:16px}}

/* Menu and category editor */
.heading-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.product-editor{width:min(880px,100%);max-height:calc(100vh - 40px);overflow:auto}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.check-label{display:flex!important;align-items:center;gap:9px}.check-label input{width:auto!important}.check-label span{margin:0!important}.product-image-preview{height:230px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#f5f7f4;margin-top:8px}.product-image-preview img{width:100%;height:100%;object-fit:cover}.form-error{color:#b84b42;background:#fff1ef;border-radius:8px;padding:9px 11px;font-size:11px}.category-editor{width:min(980px,100%);max-height:calc(100vh - 40px);overflow:auto}.category-editor-list{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.category-editor-row{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fafbf9}.category-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.category-editor-row>.outline-btn{margin-left:auto;display:flex}.category-row-error{margin-top:10px}.new-category-form{border-top:1px solid var(--line);padding-top:22px}.new-category-form h3{font:700 19px var(--serif);margin-bottom:14px}.table-thumb{overflow:hidden;flex:0 0 35px}.table-thumb img{width:100%;height:100%;object-fit:cover}.row-actions .icon-btn{flex:0 0 28px}.modal input[type=file]{padding:7px;background:#fff}
@media(max-width:760px){.admin-heading-row{align-items:flex-start;gap:12px}.heading-actions{justify-content:flex-end}.heading-actions .outline-btn{padding:9px 10px}.editor-grid,.category-fields{grid-template-columns:1fr}.product-editor,.category-editor{padding:22px}.product-image-preview{height:190px}.category-editor-row>.outline-btn{width:100%}}

/* Keep empty categories visually inside the menu instead of exposing the account-order section as their content. */
.menu-grid.is-empty{display:block;min-height:240px}.menu-empty-state{min-height:240px;border:1px dashed #cfdacf;border-radius:14px;background:#f8faf7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;text-align:center;color:var(--muted)}.menu-empty-state>span{font-size:34px}.menu-empty-state p{font-size:15px;line-height:1.7;max-width:420px}
@media(max-width:760px){.menu-grid.is-empty,.menu-empty-state{min-height:210px}.menu-empty-state{padding:24px 18px}.menu-empty-state p{font-size:14px}}

/* Keep opening hours compact and readable on phones, and give menu photos a taller portrait-friendly frame. */
.hours-display{display:flex;flex-wrap:wrap;align-items:center;column-gap:14px;row-gap:5px}.hours-item{display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap}.hours-item strong{font-weight:750}.open-status-label{font-weight:750}.dish-art{height:190px}.dish-info h3{font-size:16px}.dish-price{font-size:16px}.dish-info p{font-size:12px}.add-btn{font-size:13px}
@media(max-width:760px){.restaurant-contact-strip>div:first-child{grid-column:1/-1}.restaurant-contact-strip dt,.store-contact-info dt{font-size:12px}.restaurant-contact-strip dd,.store-contact-info dd{font-size:14px}.restaurant-contact-strip dd{line-height:1.55}.hours-display{column-gap:12px;row-gap:6px}.dish-art{height:175px}.dish-info h3{font-size:21px}.dish-price{font-size:20px}.dish-info p{font-size:15px;line-height:1.45;min-height:0}.add-btn{font-size:15px;padding:11px 13px}}
@media(max-width:430px){.dish-art{height:190px}.dish-info h3{font-size:20px}.dish-price{font-size:19px}}

/* Workspace menu and persistent mobile admin navigation */
.role-menu-wrap{position:relative;flex-shrink:0}
.role-switch{min-height:44px}
.role-switch[aria-expanded=true] .chevron{transform:rotate(180deg)}
.role-menu{position:absolute;right:0;top:calc(100% + 10px);width:230px;max-width:calc(100vw - 24px);padding:7px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px rgba(23,35,31,.18);z-index:30}
.role-menu button{display:flex;align-items:center;gap:12px;min-height:46px;width:100%;padding:10px 14px;border-radius:8px;background:transparent;text-align:left;font-weight:600;font-size:13px}
.role-menu button.active,.role-menu button:hover{color:var(--forest);background:#e4eee6}
.role-menu .role-view-link{border-top:1px solid var(--line);border-radius:0;margin-top:5px;color:var(--ink-soft)}
.admin-mobile-nav{display:none}
@media(max-width:760px){
  .admin-mobile-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;position:sticky;top:67px;z-index:15;padding:8px 12px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 5px 15px rgba(23,35,31,.04)}
  .admin-mobile-nav .admin-nav-btn{position:relative;display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:56px;padding:6px 3px;text-align:center;font-size:12px;line-height:1.4;color:var(--ink-soft);overflow-wrap:anywhere}
  .admin-mobile-nav .admin-nav-btn>span:first-child{width:auto;font-size:20px;line-height:1.1}
  .admin-mobile-nav .admin-nav-btn.active{color:var(--forest);background:#e4eee6}
  .mobile-order-dot{position:absolute;top:7px;right:25%;width:7px;height:7px;background:var(--orange-dark);border-radius:50%;border:1px solid #fff}
  .admin-mobile-heading{margin-bottom:14px}
  #roleLabel{display:block;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .role-switch{gap:7px}
}
@media(max-width:430px){
  .topbar{padding-left:12px;padding-right:12px}
  .topbar-actions{gap:6px}
  .brand{gap:8px}
  .brand-mark{width:28px;height:28px}
  #roleLabel{max-width:78px}
  .role-switch{padding:8px;gap:6px}
  .lang-btn{min-height:32px;padding:5px 6px}
}
