:root{--bg:#f4f2ee;--bg-subtle:#ece9e3;--card:#fff;--ink:#1a1714;--ink-secondary:#3d3830;--muted:#79726a;--line:#e2ddd5;--line-light:#eeebe5;--accent:#e8590c;--accent-dark:#c74b08;--accent-soft:#fff0e6;--accent-glow:#e8590c1f;--green:#16a34a;--green-soft:#dcfce7;--blue:#2563eb;--blue-soft:#dbeafe;--purple:#7c3aed;--purple-soft:#ede9fe;--red:#dc2626;--red-soft:#fee2e2;--radius:16px;--radius-sm:10px;--radius-xs:8px;--shadow-sm:0 1px 2px #0000000a;--shadow:0 1px 3px #0000000f, 0 6px 20px #0000000a;--shadow-md:0 4px 12px #00000014, 0 12px 32px #0000000f;--shadow-lg:0 8px 24px #0000001a, 0 20px 48px #00000014}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}#root{width:100%;min-height:100vh;overflow-x:hidden}img{max-width:100%;height:auto}button{font:inherit;cursor:pointer;border-radius:var(--radius-sm);background:var(--ink);color:#fff;border:none;padding:11px 20px;font-size:14px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1)}button:hover{background:var(--ink-secondary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}button:active{transform:translateY(0)scale(.98)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}button.primary{background:linear-gradient(135deg, var(--accent) 0%, #d44d07 100%);box-shadow:0 2px 0 var(--accent-dark), 0 4px 12px var(--accent-glow)}button.primary:hover{box-shadow:0 2px 0 var(--accent-dark), 0 6px 20px #e8590c40;transform:translateY(-1px)}button.primary:active{box-shadow:none;transform:translateY(1px)}button.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}button.ghost:hover{border-color:var(--ink);background:var(--bg-subtle)}button.success{background:linear-gradient(135deg, var(--green) 0%, #15803d 100%);box-shadow:0 2px #15803d}button.danger{background:linear-gradient(135deg, var(--red) 0%, #b91c1c 100%);box-shadow:0 2px #991b1b}button.small{border-radius:var(--radius-xs);padding:7px 14px;font-size:13px}.success{background:var(--green-soft);color:var(--green);border-radius:var(--radius-xs);border:1px solid #16a34a33;padding:10px 14px;font-size:13px;font-weight:500}input,textarea,select{font:inherit;border:1.5px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);appearance:none;background:#fff;padding:12px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.6}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}label{color:var(--ink-secondary);letter-spacing:.01em;margin-bottom:5px;font-size:13px;font-weight:600;display:block}.container{box-sizing:border-box;width:100%;max-width:1120px;margin:0 auto;padding:24px 20px 48px}table{border-collapse:collapse;width:100%;min-width:600px}.card{background:var(--card);border:1px solid var(--line-light);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1)}.grid{gap:18px;display:grid}.grid-deals{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.deal-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge.surplus{background:var(--red-soft);color:var(--red)}.badge.promo{background:var(--purple-soft);color:var(--purple)}.badge.status{background:var(--blue-soft);color:var(--blue)}.badge.status-open{background:var(--green-soft);color:var(--green)}.row{align-items:center;gap:12px;display:flex}.row.between{justify-content:space-between}.stack{flex-direction:column;gap:14px;display:flex}.muted{color:var(--muted)}.small{font-size:13px}.bold{font-weight:700}.mt{margin-top:16px}.mb{margin-bottom:14px}.flex-1{flex:1}.right{text-align:right}.price{color:var(--accent);letter-spacing:-.02em;font-size:24px;font-weight:800}.original{color:var(--muted);font-size:14px;text-decoration:line-through}.nav{-webkit-backdrop-filter:blur(20px)saturate(1.8);z-index:100;background:#ffffffe0;border-bottom:1px solid #0000000f;position:sticky;top:0}.nav-inner{align-items:center;gap:16px;max-width:1120px;height:64px;margin:0 auto;padding:0 20px;display:flex}.logo{letter-spacing:-.03em;white-space:nowrap;font-size:22px;font-weight:800}.logo span{color:var(--accent)}.nav-links{scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-links a{border-radius:var(--radius-xs);color:var(--muted);white-space:nowrap;padding:8px 14px;font-size:14px;font-weight:600;transition:all .15s}.nav-links a:hover{background:var(--bg-subtle);color:var(--ink)}.nav-links a.active{background:var(--accent-soft);color:var(--accent-dark)}.nav-user{align-items:center;gap:12px;margin-left:auto;display:flex}.nav-user-name{color:var(--ink);white-space:nowrap;font-size:14px;font-weight:600}.nav-btn-ghost{color:var(--accent-dark);font-weight:600}.avatar-menu{align-items:center;display:flex;position:relative}.avatar-trigger{box-shadow:none;background:0 0;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:2px;display:flex}.avatar-trigger:hover{background:var(--bg-subtle);box-shadow:none;transform:none}.avatar-menu:hover .avatar-trigger,.avatar-menu[data-open=true] .avatar-trigger{border-color:var(--accent)}.avatar-dropdown{background:var(--card);border:1px solid var(--line-light);border-radius:var(--radius);min-width:220px;box-shadow:var(--shadow-lg);z-index:200;padding:8px;animation:.18s cubic-bezier(.4,0,.2,1) slideUp;position:absolute;top:calc(100% + 10px);right:0}.avatar-dropdown-head{border-bottom:1px solid var(--line-light);overflow-wrap:anywhere;margin-bottom:6px;padding:10px 12px 12px}.avatar-dropdown-item{width:100%;color:var(--ink);border-radius:var(--radius-sm);text-align:left;background:0 0;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:600;display:flex}.avatar-dropdown-item:hover{background:var(--bg-subtle);color:var(--ink);box-shadow:none;transform:none}.avatar-dropdown-item:active{transform:scale(.98)}.avatar-dropdown-item.danger{color:var(--red)}.avatar-dropdown-item.danger:hover{background:var(--red-soft)}.notif-menu{align-items:center;display:flex;position:relative}.notif-trigger{background:var(--bg-subtle);width:36px;height:36px;color:var(--ink);box-shadow:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.notif-trigger:hover{background:var(--line);box-shadow:none;transform:none}.notif-trigger:active{transform:scale(.94)}.notif-badge{background:var(--red);color:#fff;text-align:center;border:2px solid var(--card);box-sizing:content-box;border-radius:999px;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;line-height:17px;position:absolute;top:-2px;right:-2px}.notif-dropdown{background:var(--card);border:1px solid var(--line-light);border-radius:var(--radius);width:340px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);z-index:300;animation:.18s cubic-bezier(.4,0,.2,1) slideUp;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.notif-dropdown-head{border-bottom:1px solid var(--line-light);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.notif-mark-all{color:var(--accent-dark);border-radius:var(--radius-xs);background:0 0;padding:6px 10px;font-size:12px;font-weight:700}.notif-mark-all:hover{background:var(--accent-soft);box-shadow:none;transform:none}.notif-list{max-height:380px;overflow-y:auto}.notif-empty{text-align:center;color:var(--muted);padding:36px 16px;font-size:14px}.notif-item{cursor:pointer;border-bottom:1px solid var(--line-light);align-items:flex-start;gap:10px;padding:13px 16px;transition:background .15s;display:flex}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--bg-subtle)}.notif-item.unread{background:var(--accent-soft)}.notif-item.unread:hover{background:#ffe4d0}.notif-item-body{flex:1;min-width:0}.notif-title{font-size:14px;font-weight:700;line-height:1.3}.notif-item.unread .notif-title:before{content:"";background:var(--accent);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.notif-msg{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:13px;line-height:1.4}.notif-time{color:var(--muted);margin-top:4px;font-size:11px;font-weight:500}.notif-delete{color:var(--muted);border-radius:var(--radius-xs);box-shadow:none;opacity:0;background:0 0;flex-shrink:0;padding:6px;transition:opacity .15s}.notif-item:hover .notif-delete{opacity:1}.notif-delete:hover{background:var(--red-soft);color:var(--red);box-shadow:none;transform:none}@media (width<=760px){.notif-delete{opacity:1}.notif-dropdown{border-radius:0;width:100%;max-width:100%;max-height:60vh;position:fixed;top:64px;left:0;right:0;overflow-y:auto}.notif-dropdown-head{padding:10px 12px}.notif-list{max-height:calc(60vh - 50px)}.notif-item{gap:8px;padding:10px 12px}.notif-title{font-size:12px}.notif-msg{margin-top:1px;font-size:11px}.notif-time{margin-top:3px;font-size:10px}.notif-empty{padding:24px 12px;font-size:13px}}.avatar{color:#fff;background:linear-gradient(135deg, var(--accent), #d44d07);width:36px;height:36px;box-shadow:0 2px 8px var(--accent-glow);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s;display:flex}.avatar:hover{box-shadow:0 4px 12px var(--accent-glow);transform:scale(1.05)}.avatar.admin{background:linear-gradient(135deg, var(--purple), #6d28d9);box-shadow:0 2px 8px #7c3aed40}.avatar.delivery{background:linear-gradient(135deg, var(--green), #15803d);box-shadow:0 2px 8px #16a34a33}.avatar.restaurant{background:linear-gradient(135deg, var(--purple), #6d28d9);box-shadow:0 2px 8px #7c3aed33}.profile-menu{position:relative}.profile-trigger{cursor:pointer;border-radius:var(--radius-sm);align-items:center;gap:8px;margin:-4px;padding:4px;transition:background .15s;display:flex}.profile-trigger:hover{background:var(--bg-subtle)}.profile-dropdown{background:var(--card);border:1px solid var(--line-light);border-radius:var(--radius);width:240px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;z-index:200;padding:8px;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;top:calc(100% + 12px);right:0;transform:translateY(-8px)}.profile-menu:hover .profile-dropdown,.profile-menu:focus-within .profile-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.profile-dropdown:before{content:"";background:var(--card);border-left:1px solid var(--line-light);border-top:1px solid var(--line-light);width:12px;height:12px;position:absolute;top:-6px;right:16px;transform:rotate(45deg)}.profile-dropdown-header{padding:12px 14px 10px}.profile-dropdown-name{color:var(--ink);font-size:14px;font-weight:700;line-height:1.3}.profile-dropdown-email{color:var(--muted);word-break:break-all;margin-top:2px;font-size:12px}.profile-dropdown-divider{background:var(--line-light);height:1px;margin:4px 0}.profile-dropdown-item{width:100%;color:var(--ink);border-radius:var(--radius-xs);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-size:14px;font-weight:500;transition:background .15s;display:flex}.profile-dropdown-item:hover{background:var(--bg-subtle);box-shadow:none;transform:none}.profile-dropdown-item svg{opacity:.6;flex-shrink:0}.role-chip{text-transform:uppercase;letter-spacing:.05em;background:var(--bg-subtle);white-space:nowrap;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:700}.role-chip.restaurant{background:var(--accent-soft);color:var(--accent-dark)}.role-chip.customer{background:var(--blue-soft);color:var(--blue)}.role-chip.delivery{background:var(--green-soft);color:var(--green)}.role-chip.admin{background:var(--purple-soft);color:var(--purple)}.hero{color:#fff;background:linear-gradient(135deg,#1a1714 0%,#3d2512 45%,#6b3a10 100%);border-radius:24px;margin-bottom:28px;padding:48px 40px;position:relative;overflow:hidden}.hero:before{content:"";filter:blur(40px);background:#e8590c26;border-radius:50%;width:200px;height:200px;position:absolute;top:-40px;right:-40px}.hero:after{content:"";background:#ffffff0a;border-radius:50%;width:160px;height:160px;position:absolute;bottom:-60px;left:30%}.hero h1{letter-spacing:-.03em;z-index:1;margin:0 0 10px;font-size:36px;font-weight:800;line-height:1.15;position:relative}.hero p{color:#ffffffc7;z-index:1;max-width:560px;margin:0;font-size:16px;position:relative}.login-wrapper{border-radius:var(--radius);min-height:calc(100vh - 100px);box-shadow:var(--shadow-lg);background:var(--card);max-width:920px;margin:0 auto;display:flex;overflow:hidden}.login-brand{color:#fff;background:linear-gradient(160deg,#1a1714 0%,#3d2512 50%,#6b3a10 100%);flex:1;justify-content:center;align-items:center;padding:48px 40px;display:flex;position:relative;overflow:hidden}.login-brand:before{content:"";filter:blur(50px);background:#e8590c33;border-radius:50%;width:220px;height:220px;position:absolute;top:-60px;right:-60px}.login-brand:after{content:"";filter:blur(30px);background:#ffffff0a;border-radius:50%;width:180px;height:180px;position:absolute;bottom:-40px;left:-40px}.login-brand-inner{z-index:1;position:relative}.login-logo{letter-spacing:-.03em;margin-bottom:24px;font-size:28px;font-weight:800}.login-logo span{color:var(--accent)}.login-brand h2{letter-spacing:-.02em;margin:0 0 14px;font-size:30px;font-weight:800;line-height:1.15}.login-brand p{color:#ffffffad;margin:0 0 28px;font-size:15px;line-height:1.5}.login-features{flex-direction:column;gap:14px;display:flex}.login-feature{color:#ffffffd1;align-items:center;gap:12px;font-size:14px;display:flex}.login-feature-icon{background:#ffffff14;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:flex}.login-form-panel{flex:1;justify-content:center;align-items:center;padding:48px 40px;display:flex}.login-form-inner{width:100%;max-width:340px}.login-form-inner h1{letter-spacing:-.02em;margin:0 0 6px;font-size:28px;font-weight:800}.login-form-inner .stack{margin-top:24px}.login-submit{width:100%;padding:14px;font-size:15px}.login-divider{color:var(--muted);align-items:center;gap:14px;margin:24px 0;font-size:13px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line);flex:1;height:1px}.login-register-btn{width:100%}.auth-card{max-width:480px;margin:32px auto}.segmented{background:var(--bg-subtle);border-radius:12px;gap:4px;padding:4px;display:flex}.segmented button{color:var(--muted);box-shadow:none;border-radius:var(--radius-xs);background:0 0;flex:1;padding:10px 6px;font-size:14px;font-weight:600}.segmented button:hover{color:var(--ink);background:#ffffff80;transform:none}.segmented button.active{color:var(--ink);background:#fff;box-shadow:0 1px 4px #0000001a}.err{background:var(--red-soft);color:var(--red);border-radius:var(--radius-sm);padding:10px 14px;font-size:14px;font-weight:500}.notice{background:var(--blue-soft);color:var(--blue);border-radius:var(--radius-sm);padding:10px 14px;font-size:13px}.deal-card{flex-direction:column;gap:10px;display:flex}.deal-card h3{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:700}.deal-card p{color:var(--muted);flex:1;margin:0;font-size:14px;line-height:1.45}.deal-foot{border-top:1px solid var(--line-light);justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding-top:14px;display:flex}.resto-line{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.empty{text-align:center;color:var(--muted);border:2px dashed var(--line);border-radius:var(--radius);background:var(--card);padding:52px 24px;font-size:15px}.order-item{border-left:3px solid var(--line);padding-left:16px}.order-item.pending{border-color:var(--blue)}.order-item.accepted,.order-item.assigned,.order-item.open{border-color:var(--purple)}.order-item.ready,.order-item.in_progress{border-color:var(--accent)}.order-item.completed,.order-item.delivered{border-color:var(--green)}.order-item.rejected,.order-item.cancelled{border-color:var(--red)}.applicant{border:1px solid var(--line);border-radius:12px;padding:14px 16px;transition:border-color .15s}.applicant:hover{border-color:var(--accent)}.applicant h4{margin:0 0 2px}.two-col{grid-template-columns:1fr 1fr;gap:14px;display:grid}.home-split-layout{align-items:flex-start;gap:24px;display:flex;position:relative}.deals-sidebar{flex-direction:column;flex:1.2;gap:20px;display:flex}.map-sidebar{border-radius:var(--radius);border:1px solid var(--line-light);height:calc(100vh - 112px);box-shadow:var(--shadow-md);flex:.8;position:sticky;top:88px;overflow:hidden}.map-element{z-index:1;width:100%;height:100%}.picker-map-element{border-radius:var(--radius-sm);border:1.5px solid var(--line);z-index:1;width:100%;height:260px;margin-top:8px}.delivery-map-element{border-radius:var(--radius);border:1px solid var(--line-light);z-index:1;width:100%;height:300px;margin-top:12px}.leaflet-popup-content-wrapper{box-shadow:var(--shadow-md);border-radius:14px;padding:6px;font-family:Outfit,sans-serif}.leaflet-popup-content h4{margin:0 0 4px;font-size:15px;font-weight:700}.leaflet-popup-content p{color:var(--muted);margin:0 0 8px;font-size:13px;line-height:1.3}.leaflet-popup-content .popup-btn{background:linear-gradient(135deg, var(--accent), #d44d07);color:#fff;text-align:center;cursor:pointer;border:none;border-radius:8px;padding:7px 14px;font-size:12px;font-weight:600;transition:transform .15s;display:inline-block}.leaflet-popup-content .popup-btn:hover{transform:scale(1.04)}.deal-card.active-deal{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow), var(--shadow-md)}@media (width<=960px){.home-split-layout{flex-direction:column}.map-sidebar{order:-1;width:100%;height:350px;margin-bottom:24px;position:relative;top:0}.deals-sidebar{width:100%}.login-wrapper{flex-direction:column;min-height:auto}.login-brand{padding:36px 28px}.login-brand h2{font-size:24px}.login-form-panel{padding:32px 28px}}@media (width<=760px){.container{padding:16px 14px 40px}.nav-inner{flex-wrap:wrap;gap:8px;height:auto;min-height:56px;padding-top:8px;padding-bottom:8px}.nav-links{order:3;width:100%;padding-bottom:4px}.nav-user{gap:8px}.nav-user-name,.role-chip{display:none}.two-col{grid-template-columns:1fr}.hero{border-radius:18px;margin-bottom:18px;padding:28px 20px}.hero h1{font-size:26px}.grid-deals{grid-template-columns:1fr;gap:14px}.deal-foot{flex-wrap:wrap}.card{padding:18px}.row{gap:10px}.auth-card{margin:20px auto}.empty{padding:36px 16px}button{padding:12px 16px}button.small{padding:8px 12px}.deal-foot button{flex:1}}.admin-layout{min-height:100vh;margin:-24px -20px -48px;padding-left:0;display:flex;position:relative}.admin-sidebar{z-index:200;scrollbar-width:none;-ms-overflow-style:none;background:#0f0f0f;flex-direction:column;width:240px;height:100vh;transition:width .25s;display:flex;position:fixed;top:0;left:0;overflow-y:auto;box-shadow:1px 0 #ffffff0d}.admin-sidebar::-webkit-scrollbar{display:none}.admin-sidebar.collapsed{width:72px}.admin-sidebar.collapsed .admin-sidebar-header{justify-content:center;padding:0 8px}.admin-sidebar.collapsed .admin-sidebar-logo .logo span{display:none}.admin-sidebar.collapsed .admin-sidebar-logo{justify-content:center}.admin-sidebar.collapsed .admin-sidebar-section-header{justify-content:center;padding:10px}.admin-sidebar.collapsed .admin-sidebar-section-icon{margin:0}.admin-sidebar.collapsed .admin-sidebar-section-label,.admin-sidebar.collapsed .admin-sidebar-section-header svg:last-child{display:none}.admin-sidebar.collapsed .admin-sidebar-section-items{align-items:center;padding-left:0}.admin-sidebar.collapsed .admin-sidebar-item{justify-content:center;padding:10px}.admin-sidebar.collapsed .admin-sidebar-item span,.admin-sidebar.collapsed .admin-sidebar-item:before{display:none}.admin-sidebar.collapsed .admin-sidebar-item.active{background:#ffffff26}.admin-sidebar.collapsed .admin-sidebar-item.active svg{color:var(--accent,#e8590c)}.admin-sidebar-header{border-bottom:2px solid var(--accent,#e8590c);background:#fff;justify-content:space-between;align-items:center;height:64px;padding:0 18px;display:flex}.admin-sidebar-logo{color:var(--ink);letter-spacing:-.02em;align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex}.admin-sidebar-logo .logo{letter-spacing:-.02em;color:var(--ink);font-size:20px;font-weight:800}.admin-sidebar-logo .logo span{color:var(--accent,#e8590c)!important}.admin-sidebar-logo svg{color:var(--accent,#e8590c);flex-shrink:0}.nav-logo-spacer{display:none}#root:has(.admin-layout) .nav{width:calc(100% - 240px);margin-left:240px;transition:margin-left .25s,width .25s}#root:has(.admin-layout) .nav-inner{max-width:none}#root:has(.admin-sidebar.collapsed) .nav{width:calc(100% - 72px);margin-left:72px}.admin-sidebar-toggle{background:var(--bg-subtle);border:1px solid var(--line);width:28px;height:28px;color:var(--ink);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.admin-sidebar-toggle:hover{background:var(--accent,#e8590c);color:#fff;box-shadow:none;transform:none}.admin-sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:12px 8px;display:flex;overflow-y:auto}.admin-sidebar-section{flex-direction:column;gap:2px;display:flex}.admin-sidebar-section-header{border-radius:var(--radius-xs);color:#ffffffe6;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:13px;font-weight:600;transition:background .15s;display:flex}.admin-sidebar-section-header:hover{box-shadow:none;background:#ffffff1a;transform:none}.admin-sidebar-section-icon{color:#fff9;flex-shrink:0;justify-content:center;align-items:center;display:flex}.admin-sidebar-section-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.admin-sidebar-section-items{flex-direction:column;gap:2px;margin-top:2px;padding-left:16px;display:flex}.admin-sidebar-item{border-radius:var(--radius-xs);color:#ffffffa6;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:8px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex;position:relative}.admin-sidebar-item:before{content:"";background:var(--accent,#e8590c);border-radius:0 3px 3px 0;width:3px;height:0;transition:height .15s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.admin-sidebar-item:hover{color:#fff;box-shadow:none;background:#ffffff1a;transform:none}.admin-sidebar-item.active{color:#fff;background:#ffffff26;font-weight:600}.admin-sidebar-item.active:before{background:var(--accent,#e8590c);height:16px}.admin-sidebar-item svg{flex-shrink:0}.admin-sidebar-badge{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:auto;padding:0 3px;font-size:9px;font-weight:700;display:flex}.admin-sidebar-footer{border-top:1px solid var(--line-light);padding:16px 10px}.admin-sidebar-user{border-radius:var(--radius-xs);align-items:center;gap:10px;padding:8px 10px;display:flex}.admin-sidebar-user-info{overflow:hidden}.admin-sidebar-user-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.admin-sidebar-user-role{color:var(--muted);font-size:11px}.admin-main{scrollbar-width:thin;-ms-overflow-style:scrollbar;flex:1;max-width:100%;height:100vh;margin-left:240px;padding:28px 32px;transition:margin-left .25s;overflow:hidden auto}.admin-main::-webkit-scrollbar{width:8px;height:8px}.admin-main::-webkit-scrollbar-track{background:var(--bg-subtle);border-radius:4px}.admin-main::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}.admin-main::-webkit-scrollbar-thumb:hover{background:var(--muted)}.table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.table-wrap table{min-width:100%}.admin-layout:has(.admin-sidebar.collapsed) .admin-main{margin-left:72px}.admin-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.admin-header-title{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:800}.admin-header-subtitle{color:var(--muted);margin:2px 0 0;font-size:14px}@media (width<=960px){.admin-layout{flex-direction:column;margin:0}:is(#root:has(.admin-layout) .nav,#root:has(.admin-sidebar.collapsed) .nav){width:100%;margin-left:0}.admin-main{height:auto;margin-left:0!important}.admin-sidebar{border-right:none;border-bottom:1px solid var(--line-light);flex-direction:row;width:100%;height:auto;padding:8px 12px;position:relative;top:0;left:0}.admin-sidebar.collapsed{width:100%}.admin-sidebar-header{border-bottom:none;padding:8px}.admin-sidebar-logo span,.admin-sidebar-toggle{display:none}.admin-sidebar-nav{flex-direction:row;flex:1;padding:0;overflow-x:auto}.admin-sidebar-section{flex-direction:row}.admin-sidebar-section-header{white-space:nowrap;padding:8px 12px}.admin-sidebar-section-header svg:last-child,.admin-sidebar-section-label{display:none}.admin-sidebar-section-items{flex-direction:row;margin-top:0;padding-left:0}.admin-sidebar-item{white-space:nowrap;padding:8px 12px}.admin-sidebar-footer{border-top:none;border-left:1px solid var(--line-light);align-items:center;gap:4px;padding:8px;display:flex}.admin-sidebar-user{margin-bottom:0;padding:4px}.admin-sidebar-user-info{display:none}.admin-main{padding:20px 16px}}@media (width<=760px){.admin-header{flex-direction:column;align-items:flex-start;gap:12px}.admin-stats-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}}.card-header{justify-content:space-between;align-items:center;margin-bottom:0;display:flex}.card-header h2{margin:0;font-size:18px;font-weight:700}.card-header .badge{color:var(--muted);background:var(--bg-subtle);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.restaurant-list-card{padding:16px}.restaurant-card-img-wrap{border-radius:var(--radius-xs);flex-shrink:0;width:56px;height:56px;overflow:hidden}.restaurant-card-img-wrap img{object-fit:cover;width:100%;height:100%}.restaurant-card-img-placeholder{background:var(--bg-subtle);width:100%;height:100%;color:var(--muted);justify-content:center;align-items:center;display:flex}.restaurant-status{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.restaurant-status.open{background:var(--green-soft);color:var(--green)}.restaurant-status.closed{background:var(--red-soft);color:var(--red)}.category-list{border:1px solid var(--line-light);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-sm);overflow:hidden}.category-list label{background:linear-gradient(135deg, var(--accent,#e8590c) 0%, var(--accent-dark,#c74b08) 100%);color:#fff;text-transform:uppercase;letter-spacing:.05em;margin:0;padding:12px 16px;font-size:11px;font-weight:700;display:block}.category-item{border-top:1px solid var(--line-light);align-items:center;gap:12px;padding:14px 16px;transition:background .15s;display:flex}.category-item:first-child{border-top:none}.category-item:hover{background:var(--bg-subtle)}.meal-form-card{background:var(--card);border:2px solid var(--accent,#e8590c);border-radius:var(--radius);flex-direction:column;gap:16px;padding:24px;display:flex;position:relative;box-shadow:0 4px 20px #e8590c1a}.meal-form-card:before{content:"";background:linear-gradient(90deg, var(--accent,#e8590c), var(--accent-dark,#c74b08));border-radius:var(--radius) var(--radius) 0 0;height:4px;position:absolute;top:0;left:0;right:0}.meal-form-card label{color:var(--ink);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px;font-size:12px;font-weight:600}.meal-form-card input,.meal-form-card textarea{border:1.5px solid var(--line);border-radius:var(--radius-xs);padding:10px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.meal-form-card input:focus,.meal-form-card textarea:focus{border-color:var(--accent,#e8590c);outline:none;box-shadow:0 0 0 3px #e8590c1a}.meals-list{flex-direction:column;gap:12px;display:flex}.meal-item{border:1px solid var(--line-light);border-radius:var(--radius-sm);background:var(--card);box-shadow:var(--shadow-sm);align-items:center;gap:14px;padding:14px 16px;transition:all .2s;display:flex}.meal-item:hover{border-color:var(--accent,#e8590c);transform:translateY(-1px);box-shadow:0 4px 16px #e8590c1a}.meal-item-img{border-radius:var(--radius-xs);object-fit:cover;background:var(--bg-subtle);width:56px;height:56px;box-shadow:var(--shadow-sm);flex-shrink:0}.meal-item-name{color:var(--ink);font-size:15px;font-weight:600}.meal-item-price{color:var(--accent,#e8590c);white-space:nowrap;background:var(--accent-soft,#fff0e6);border-radius:999px;padding:4px 10px;font-size:16px;font-weight:700}.meal-item-upload{border-radius:var(--radius-xs);cursor:pointer;width:36px;height:36px;color:var(--muted);border:1px solid #0000;justify-content:center;align-items:center;transition:all .15s;display:flex}.meal-item-upload:hover{background:var(--accent-soft,#fff0e6);color:var(--accent,#e8590c);border-color:var(--accent,#e8590c)}.admin-stats-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;display:grid}.admin-stat-card{background:var(--card);border:1px solid var(--line-light);border-radius:var(--radius);box-shadow:var(--shadow);border-left:4px solid var(--ink);align-items:center;gap:16px;padding:22px;transition:transform .2s,box-shadow .2s;display:flex}.admin-stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.admin-stat-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.admin-stat-value{letter-spacing:-.02em;font-size:28px;font-weight:800;line-height:1.1}.admin-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font-size:12px;font-weight:700}.admin-search-bar{background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);align-items:center;gap:10px;padding:4px 14px;transition:border-color .2s,box-shadow .2s;display:flex}.admin-search-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.admin-modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;background:#1a171466;justify-content:center;align-items:center;width:100%;height:100%;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.admin-modal{background:var(--card);border:1px solid var(--line-light);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:90vh;padding:24px;animation:.25s cubic-bezier(.4,0,.2,1) slideUp;overflow-y:auto}.admin-ban-toggle{background:var(--red-soft);border-radius:var(--radius-sm);border:1px solid #dc262626;margin-top:4px;padding:12px 14px}.admin-banned-card{border-left:4px solid var(--red)!important;background:#fffcfc!important}.profile-photo-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:24px;margin-bottom:24px;padding:24px;display:flex;box-shadow:0 1px 3px #0000000a}.profile-photo-wrap{flex-shrink:0;width:110px;height:110px;position:relative}.profile-photo-img{object-fit:cover;border:3px solid var(--line);border-radius:50%;width:100%;height:100%;box-shadow:0 2px 12px #00000014}.profile-photo-placeholder{color:#fff;border:3px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:42px;font-weight:800;display:flex;box-shadow:0 2px 12px #00000014}.profile-photo-placeholder.admin{background:linear-gradient(135deg,#6b3a10,#e8590c)}.profile-photo-placeholder.restaurant{background:linear-gradient(135deg,#863bff,#c084fc)}.profile-photo-placeholder.customer{background:linear-gradient(135deg,#1971c2,#15aabf)}.profile-photo-placeholder.delivery{background:linear-gradient(135deg,#2b8a3e,#40c057)}.profile-photo-loading{background:#00000080;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.profile-photo-spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite profile-spin}@keyframes profile-spin{to{transform:rotate(360deg)}}.profile-photo-info{flex:1;min-width:0}.profile-photo-info h2{letter-spacing:-.02em;font-size:22px;font-weight:800}.profile-photo-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.profile-photo-btn{border-radius:var(--radius-sm,8px);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;padding:8px 16px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.profile-photo-btn.primary{background:var(--accent,#e8590c);color:#fff}.profile-photo-btn.primary:hover{background:#c84a09;transform:translateY(-1px)}.profile-photo-btn.ghost{border-color:var(--line);color:var(--text);background:0 0}.profile-photo-btn.ghost:hover{background:var(--bg-subtle,#ffffff0d);border-color:var(--red);color:var(--red)}.profile-photo-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.profile-photo-hint{color:var(--muted);margin-top:8px;font-size:12px}.profile-grid{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.profile-grid .card h2{letter-spacing:-.01em;font-size:18px}@media (width<=860px){.profile-grid{grid-template-columns:1fr}.profile-photo-card{text-align:center;flex-direction:column}.profile-photo-actions{justify-content:center}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.restaurant-manager{grid-template-columns:280px 1fr;align-items:flex-start;gap:24px;display:grid}.restaurant-list{background:var(--card);border:1px solid var(--line-light);border-radius:var(--radius);overflow:hidden}.restaurant-list-header{border-bottom:1px solid var(--line-light);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.restaurant-list-header h3{margin:0;font-size:15px;font-weight:700}.restaurant-list-item{cursor:pointer;border-bottom:1px solid var(--line-light);align-items:center;gap:10px;padding:12px 16px;transition:background .15s;display:flex}.restaurant-list-item:last-child{border-bottom:none}.restaurant-list-item:hover{background:var(--bg-subtle)}.restaurant-list-item.active{background:var(--purple-soft)}.restaurant-list-img{object-fit:cover;background:var(--bg-subtle);border-radius:8px;width:36px;height:36px}.restaurant-list-info{flex:1;min-width:0}.restaurant-list-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;display:block;overflow:hidden}.restaurant-status{font-size:11px;font-weight:600}.restaurant-status.open{color:var(--green)}.restaurant-status.closed{color:var(--red)}.restaurant-detail{min-width:0}.restaurant-detail-header{background:var(--card);border:1px solid var(--line-light);border-radius:var(--radius);gap:20px;margin-bottom:20px;padding:20px;display:flex}.restaurant-detail-info{flex:1;min-width:0}.restaurant-name-input{border-radius:var(--radius-xs);background:0 0;border:1px solid #0000;width:100%;margin:-6px -8px 8px;padding:6px 8px;font-size:18px;font-weight:700;transition:border-color .15s,background .15s}.restaurant-name-input:focus{border-color:var(--accent);box-shadow:none;background:#fff}.restaurant-desc-input{font:inherit;border-radius:var(--radius-xs);resize:none;width:100%;min-height:60px;color:var(--muted);background:0 0;border:1px solid #0000;margin:-6px -8px 12px;padding:6px 8px;font-size:14px;transition:border-color .15s,background .15s}.restaurant-desc-input:focus{border-color:var(--accent);box-shadow:none;color:var(--ink);background:#fff}.restaurant-actions{gap:8px;margin-top:12px;display:flex}.image-upload{border-radius:var(--radius-sm);background:var(--bg-subtle);border:2px dashed var(--line);flex-shrink:0;width:120px;height:120px;position:relative;overflow:hidden}.image-upload.large{width:140px;height:140px}.image-upload-preview{object-fit:cover;width:100%;height:100%}.image-upload-btn{color:#fff;text-align:center;cursor:pointer;background:#0009;padding:6px;font-size:11px;font-weight:600;transition:background .15s;position:absolute;bottom:0;left:0;right:0}.image-upload-btn:hover{background:#000c}.restaurant-menu{background:var(--card);border:1px solid var(--line-light);border-radius:var(--radius);padding:20px}.menu-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.menu-header h3{margin:0;font-size:16px;font-weight:700}.category-section{border:1px solid var(--line-light);border-radius:var(--radius-sm);margin-bottom:12px;overflow:hidden}.category-header{background:var(--bg-subtle);align-items:center;gap:10px;padding:12px 14px;display:flex}.category-name{flex:1;font-size:14px;font-weight:600}.category-count{color:var(--muted);font-size:12px}.category-meals{flex-direction:column;gap:8px;padding:12px;display:flex}.meal-card{border:1px solid var(--line-light);border-radius:var(--radius-xs);align-items:center;gap:12px;padding:10px;transition:border-color .15s;display:flex}.meal-card:hover{border-color:var(--accent)}.meal-card-price{color:var(--accent);font-size:13px;font-weight:700}.meal-card-actions{gap:4px;display:flex}.meal-card-form{flex-direction:column;gap:8px;display:flex}.meal-card-form input,.meal-card-form textarea{padding:8px 10px;font-size:13px}.checkbox-label{cursor:pointer;white-space:nowrap;align-items:center;gap:6px;margin:0;font-size:13px;font-weight:500;display:flex}.checkbox-label input{width:auto}.add-meal-btn{border:2px dashed var(--line);border-radius:var(--radius-xs);color:var(--muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.add-meal-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.menu-grid{flex-direction:column;gap:28px;display:flex}.menu-category-section{margin-bottom:4px}.menu-meal-card{background:var(--card);border:1px solid var(--line-light);border-radius:var(--radius);flex-direction:column;transition:all .2s;display:flex;overflow:hidden}.menu-meal-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 20px #00000014}.menu-meal-card-img-wrap{background:var(--bg-subtle);width:100%;height:180px;position:relative;overflow:hidden}.menu-meal-card-img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.menu-meal-card:hover .menu-meal-card-img{transform:scale(1.05)}.menu-meal-card-img-placeholder{background:var(--bg-subtle);width:100%;height:100%;color:var(--muted);justify-content:center;align-items:center;display:flex}.menu-meal-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;position:absolute;top:10px;right:10px}.menu-meal-badge.available{color:#065f46;background:#d1fae5}.menu-meal-badge.unavailable{color:#991b1b;background:#fee2e2}.menu-meal-card-body{flex-direction:column;flex:1;gap:6px;padding:14px;display:flex}.menu-meal-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.menu-meal-card-name{flex:1;font-size:15px;font-weight:700;line-height:1.3}.menu-meal-card-price{color:var(--accent);white-space:nowrap;font-size:16px;font-weight:800}.menu-meal-card-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.menu-meal-card-footer{border-top:1px solid var(--line-light);justify-content:space-between;align-items:center;gap:10px;margin-top:6px;padding-top:10px;display:flex}.menu-meal-card-category{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--bg-subtle);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600}.meal-card{border:1px solid var(--line-light);border-radius:var(--radius-xs);background:var(--card);align-items:center;gap:12px;padding:10px;transition:all .15s;display:flex}.meal-card:hover{border-color:var(--accent);box-shadow:0 2px 8px #0000000a}.meal-card.editing{flex-direction:column;align-items:stretch}.meal-card-img-wrap{flex-shrink:0;position:relative}.meal-card-img{object-fit:cover;background:var(--bg-subtle);border-radius:8px;width:48px;height:48px}.meal-card-img-placeholder{background:var(--bg-subtle);width:48px;height:48px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;display:flex}.meal-card-badge{text-transform:uppercase;letter-spacing:.03em;border:2px solid var(--card);border-radius:999px;padding:2px 6px;font-size:9px;font-weight:700;position:absolute;top:-4px;right:-4px}.meal-card-badge.available{color:#065f46;background:#d1fae5}.meal-card-badge.unavailable{color:#991b1b;background:#fee2e2}.meal-card-body{flex:1;min-width:0}.meal-card-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:2px;display:flex}.meal-card-name{font-size:13px;font-weight:600;display:block}.meal-card-price{color:var(--accent);white-space:nowrap;font-size:13px;font-weight:700}.meal-card-desc{color:var(--muted);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}@media (width<=900px){.restaurant-manager{grid-template-columns:1fr}.restaurant-list{max-height:200px;overflow-y:auto}.restaurant-detail-header{flex-direction:column}.image-upload.large{width:100%;height:180px}}.restaurants-page{padding:0}.restaurants-hero{color:#fff;border-radius:var(--radius);background:linear-gradient(135deg,#1a1714 0%,#3d2512 45%,#6b3a10 100%);margin-bottom:24px;padding:36px 32px;position:relative;overflow:hidden}.restaurants-hero:before{content:"";filter:blur(40px);background:#e8590c26;border-radius:50%;width:180px;height:180px;position:absolute;top:-40px;right:-40px}.restaurants-hero h1{letter-spacing:-.02em;z-index:1;margin:0 0 8px;font-size:28px;font-weight:800;position:relative}.restaurants-hero p{color:#ffffffb3;z-index:1;margin:0;font-size:15px;position:relative}.restaurants-hero button,.restaurants-hero .mt{z-index:1;position:relative}.restaurants-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;display:grid}.restaurant-card{background:var(--card);border:1px solid var(--line-light);border-radius:var(--radius-lg,16px);cursor:pointer;flex-direction:column;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,border-color .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #0000000d}.restaurant-card:hover{border-color:var(--accent-soft);transform:translateY(-6px);box-shadow:0 18px 36px -10px #0000001f}.restaurant-card-cover{background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);width:100%;height:150px;position:relative;overflow:hidden}.restaurant-card-cover-img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.restaurant-card:hover .restaurant-card-cover-img{transform:scale(1.06)}.restaurant-card-cover-placeholder{background:linear-gradient(135deg,#334155 0%,#1e293b 100%);width:100%;height:100%}.restaurant-card-cover-overlay{background:linear-gradient(#0000001a 0%,#0009 100%);position:absolute;inset:0}.restaurant-card-status{text-transform:uppercase;letter-spacing:.04em;-webkit-backdrop-filter:blur(8px);z-index:2;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:11px;font-weight:700;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 2px 8px #00000026}.restaurant-card-status.open{color:#fff;background:#16a34ad9;border:1px solid #fff3}.restaurant-card-status.closed{color:#fff;background:#dc2626d9;border:1px solid #fff3}.restaurant-card-status .status-dot{background:#fff;border-radius:50%;width:7px;height:7px;box-shadow:0 0 6px #fffc}.restaurant-card-content{flex-direction:column;flex:1;padding:0 18px 18px;display:flex;position:relative}.restaurant-card-header-left{z-index:3;align-items:flex-end;gap:14px;margin-top:-32px;margin-bottom:12px;display:flex;position:relative}.restaurant-circle-logo{background:var(--card,#fff);border:3.5px solid var(--card,#fff);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .3s;display:flex;overflow:hidden;box-shadow:0 6px 16px #00000024}.restaurant-card:hover .restaurant-circle-logo{transform:scale(1.05)}.restaurant-circle-logo img{object-fit:cover;width:100%;height:100%}.restaurant-circle-logo-initial{background:linear-gradient(135deg, var(--accent,#f97316), #d97706);color:#fff;justify-content:center;align-items:center;width:100%;height:100%;font-family:Outfit,sans-serif;font-size:24px;font-weight:800;display:flex}.restaurant-card-title-group{flex:1;min-width:0;padding-bottom:2px}.restaurant-card-name{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;margin:0;font-family:Outfit,sans-serif;font-size:1.15rem;font-weight:700;line-height:1.25;overflow:hidden}.restaurant-card-address{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;margin-top:3px;font-size:12px;display:flex;overflow:hidden}.restaurant-card-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;margin:0 0 16px;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.restaurant-card-meta-bar{border-top:1px solid var(--line-light);justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;display:flex}.restaurant-card-distance,.restaurant-card-phone{color:var(--muted);align-items:center;gap:5px;font-size:12px;font-weight:600;display:flex}.restaurant-card-action{color:var(--accent);align-items:center;gap:4px;font-size:13px;font-weight:700;transition:gap .2s;display:flex}.restaurant-card:hover .restaurant-card-action{gap:7px}.restaurant-hero-banner{background:var(--bg-subtle);background-position:50%;background-size:cover;width:100%;height:420px;position:relative;overflow:hidden}.restaurant-hero-overlay{background:linear-gradient(#0a08061a 0%,#0a080661 45%,#0a0806e0 100%);align-items:flex-end;display:flex;position:absolute;inset:0}.restaurant-hero-overlay .container{width:100%;padding-bottom:36px}.restaurant-back-btn{-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:6px;margin-bottom:20px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s;display:inline-flex}.restaurant-back-btn:hover{background:#ffffff3d}.restaurant-hero-badges{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.restaurant-hero-name{letter-spacing:-.03em;color:#fff;text-shadow:0 2px 16px #00000080;margin:0 0 8px;font-size:38px;font-weight:900;line-height:1.1}.restaurant-hero-desc{color:#fffc;max-width:560px;margin:0 0 14px;font-size:15px;line-height:1.55}.restaurant-hero-meta{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.restaurant-hero-meta span{color:#ffffffb8;align-items:center;gap:6px;font-size:13px;display:flex}.restaurant-hours-badge{-webkit-backdrop-filter:blur(6px);color:#fff;background:#ffffff24;border:1px solid #ffffff3d;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}.restaurant-status-badge{letter-spacing:.02em;border-radius:999px;padding:5px 13px;font-size:12px;font-weight:700}.restaurant-status-badge.open{background:var(--green-soft);color:var(--green)}.restaurant-status-badge.closed{background:var(--red-soft);color:var(--red)}.restaurant-menu-body{padding:32px 0 48px}@media (width<=760px){.restaurant-hero-banner{height:340px}.restaurant-hero-name{font-size:26px}.restaurant-hero-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.restaurant-hero-overlay .container{padding-bottom:24px}}@media (width<=480px){.restaurant-hero-banner{height:280px}.restaurant-hero-name{font-size:22px}.restaurant-menu-body{padding:20px 0 40px}}.menu-search-bar-wrap{align-items:center;gap:12px;margin-bottom:24px;display:flex}.menu-search-bar{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--card);box-shadow:var(--shadow-sm);flex:1;align-items:center;gap:10px;padding:11px 16px;transition:border-color .2s,box-shadow .2s;display:flex}.menu-search-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.menu-search-bar input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:14px}.menu-search-bar input::placeholder{color:var(--muted)}.menu-fav-toggle{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--muted);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm);align-items:center;gap:7px;padding:11px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.menu-fav-toggle:hover{border-color:var(--accent);color:var(--accent)}.menu-fav-toggle.active{border-color:var(--red);background:var(--red-soft);color:var(--red)}.menu-categories-sticky{z-index:10;background:var(--bg);border-bottom:1px solid var(--line-light);margin-bottom:4px;padding:10px 0 8px;position:sticky;top:64px}.menu-categories-row{scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity;flex-wrap:nowrap;gap:10px;padding:4px 2px;display:flex;overflow-x:auto}.menu-categories-row::-webkit-scrollbar{display:none}.menu-category-chip{background:var(--card);border:1.5px solid var(--line-light);cursor:pointer;white-space:nowrap;scroll-snap-align:start;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:8px 14px;font-family:inherit;transition:all .2s;display:inline-flex}.menu-category-chip:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);transform:translateY(-1px);box-shadow:0 3px 10px #e8590c1f}.menu-category-chip:active{transition:transform .1s;transform:scale(.97)}.menu-category-chip.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 4px 14px #e8590c59}.menu-category-chip.active .menu-category-chip-name,.menu-category-chip.active .menu-category-chip-count{color:#fff}.menu-category-chip-icon{background:var(--bg-subtle);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex;overflow:hidden}.menu-category-chip-icon img{object-fit:cover;width:100%;height:100%}.menu-category-chip.active .menu-category-chip-icon{background:#ffffff38}.menu-category-chip-name{color:var(--ink);font-size:13px;font-weight:600}.menu-category-chip-count{color:var(--muted);background:var(--bg-subtle);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.menu-category-chip.active .menu-category-chip-count{color:#fff;background:#ffffff40}.menu-category-content{margin-top:24px}.menu-category-heading-row{align-items:center;gap:12px;margin-bottom:20px;display:flex}.menu-category-heading{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:20px;font-weight:800}.menu-category-count-pill{color:var(--muted);background:var(--bg-subtle);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700}.menu-meals-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:20px;display:grid}.menu-item-card{background:var(--card);border:1px solid var(--line-light);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow-sm);flex-direction:column;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex;overflow:hidden}.menu-item-card:hover{border-color:var(--accent);transform:translateY(-5px);box-shadow:0 8px 28px #e8590c21,0 2px 8px #0000000f}.menu-item-card.unavailable{opacity:.62}.menu-item-img-wrap{aspect-ratio:4/3;background:var(--bg-subtle);flex-shrink:0;width:100%;position:relative;overflow:hidden}.menu-item-img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.menu-item-card:hover .menu-item-img{transform:scale(1.08)}.menu-item-img-placeholder{background:var(--bg-subtle);width:100%;height:100%;color:var(--muted);justify-content:center;align-items:center;display:flex}.menu-item-unavailable-overlay{color:#fff;text-transform:uppercase;letter-spacing:.08em;background:#00000085;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex;position:absolute;inset:0}.menu-item-fav-overlay{-webkit-backdrop-filter:blur(6px);cursor:pointer;z-index:2;background:#00000059;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:all .2s;display:flex;position:absolute;top:10px;right:10px}.menu-item-fav-overlay:hover{background:#00000094;transform:scale(1.12)}.menu-item-body{flex-direction:column;flex:1;gap:6px;padding:14px 16px 16px;display:flex}.menu-item-name{color:var(--ink);margin:0;font-size:15px;font-weight:700;line-height:1.3}.menu-item-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.menu-item-footer{border-top:1px solid var(--line-light);justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:12px;display:flex}.menu-item-price{color:var(--accent);white-space:nowrap;letter-spacing:-.01em;font-size:16px;font-weight:800}@media (width<=1024px){.menu-meals-grid{grid-template-columns:repeat(3,1fr);gap:16px}}@media (width<=760px){.menu-categories-sticky{top:56px}.menu-categories-row{gap:6px}.menu-category-chip{gap:6px;padding:6px 10px}.menu-category-chip-icon{width:22px;height:22px}.menu-category-chip-name{font-size:12px}.menu-category-chip-count{padding:1px 6px;font-size:10px}.menu-category-heading{font-size:17px}.menu-meals-grid{grid-template-columns:repeat(2,1fr);gap:12px}.menu-item-body{padding:10px 12px 12px}.menu-item-name,.menu-item-price{font-size:14px}.menu-item-desc{font-size:12px}}@media (width<=480px){.menu-meals-grid{grid-template-columns:1fr 1fr;gap:10px}.menu-category-chip-name{font-size:11px}.menu-item-name,.menu-item-price{font-size:13px}.menu-item-desc{font-size:11px}.menu-item-footer{flex-wrap:wrap;gap:6px}}.meal-detail-modal{border-radius:var(--radius);width:calc(100vw - 32px);max-width:620px;max-height:calc(100vh - 64px);padding:0;overflow-y:auto}.meal-detail-hero{background:var(--bg-subtle);border-radius:var(--radius) var(--radius) 0 0;flex-shrink:0;width:100%;height:290px;position:relative;overflow:hidden}.meal-detail-hero-img{object-fit:cover;width:100%;height:100%}.meal-detail-hero-placeholder{width:100%;height:100%;color:var(--muted);justify-content:center;align-items:center;display:flex}.meal-detail-close-btn{-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;z-index:2;background:#0000006b;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s;display:flex;position:absolute;top:12px;right:12px}.meal-detail-close-btn:hover{background:#000000ad}.meal-detail-content{flex-direction:column;gap:18px;padding:22px 24px 24px;display:flex}.meal-detail-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.meal-detail-title{letter-spacing:-.02em;color:var(--ink);margin:0 0 6px;font-size:22px;font-weight:800}.meal-detail-price{color:var(--accent);white-space:nowrap;letter-spacing:-.02em;flex-shrink:0;font-size:24px;font-weight:900}.meal-detail-desc{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.meal-detail-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-top:18px;display:flex}.meal-detail-total{color:var(--ink-secondary);font-size:16px;font-weight:600}.meal-detail-total strong{color:var(--accent);letter-spacing:-.02em;font-size:20px;font-weight:900}.meal-extras-list{flex-direction:column;gap:12px;display:flex}.meal-extra-group{border:1.5px solid var(--line-light);border-radius:var(--radius-sm);background:var(--bg);padding:14px}.meal-extra-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.meal-extra-name{color:var(--ink);font-size:14px;font-weight:700}.meal-extra-options{flex-direction:column;gap:6px;margin-top:6px;display:flex}.meal-extra-option{border:1.5px solid var(--line-light);border-radius:var(--radius-xs);cursor:pointer;background:var(--card);align-items:center;gap:10px;padding:10px 12px;transition:all .15s;display:flex}.meal-extra-option:hover,.meal-extra-option.selected{border-color:var(--accent);background:var(--accent-soft)}.meal-extra-option input{accent-color:var(--accent);flex-shrink:0}.meal-option-name{color:var(--ink);flex:1;font-size:14px}.meal-option-price{color:var(--accent);font-size:13px;font-weight:700}@media (width<=760px){.meal-detail-hero{height:220px}.meal-detail-title{font-size:18px}.meal-detail-price{font-size:20px}.meal-detail-content{padding:16px 16px 20px}.meal-detail-footer{flex-direction:column;align-items:stretch}.meal-detail-top{flex-direction:column;gap:6px}}.image-upload-preview{border-radius:var(--radius);border:2px dashed var(--line);cursor:pointer;background:var(--bg-subtle);width:140px;height:140px;transition:all .2s;position:relative;overflow:hidden}.image-upload-preview:hover{border-color:var(--accent,#e8590c);transform:scale(1.02);box-shadow:0 4px 16px #e8590c26}.image-upload-preview img{object-fit:cover;width:100%;height:100%}.image-upload-placeholder{height:100%;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.image-upload-placeholder svg{color:var(--accent,#e8590c);opacity:.7}.image-upload-input{opacity:0;cursor:pointer;position:absolute;inset:0}.table-avatar{object-fit:cover;border-radius:50%;width:36px;height:36px}.table-avatar-placeholder{background:var(--accent,#e8590c);color:#fff;text-transform:uppercase;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;display:flex}.restaurant-img-upload{background:var(--accent,#e8590c);color:#fff;cursor:pointer;opacity:0;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:opacity .15s;display:flex;position:absolute;bottom:4px;right:4px}.restaurant-card-img-wrap:hover .restaurant-img-upload{opacity:1}.category-item-image{border-radius:var(--radius-xs);flex-shrink:0;width:40px;height:40px;overflow:hidden}.category-item-image img{object-fit:cover;width:100%;height:100%}.category-item-image-placeholder{background:var(--accent,#e8590c);color:#fff;text-transform:uppercase;justify-content:center;align-items:center;width:100%;height:100%;font-size:16px;font-weight:600;display:flex}.nav-cart-link{background:var(--bg-subtle,#ffffff0d);color:#000;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;text-decoration:none;transition:all .2s;display:inline-flex;position:relative}.nav-cart-link:hover{background:var(--accent,#e8590c);color:#fff;transform:scale(1.05)}.nav-cart-badge{background:var(--accent,#e8590c);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.cart-layout{grid-template-columns:1fr 340px;align-items:start;gap:20px;display:grid}.cart-restaurant-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.cart-restaurant-header h3{margin:0}.cart-item{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.cart-item:last-of-type{border-bottom:none}.cart-item-img{border-radius:var(--radius-sm,8px);object-fit:cover;flex-shrink:0;width:56px;height:56px}.cart-item-info{flex:1;min-width:0}.cart-item-name{margin-bottom:2px;font-weight:500}.cart-item-price{color:var(--muted);font-size:12px}.cart-item-qty{align-items:center;gap:8px;display:flex}.cart-item-qty span{text-align:center;min-width:24px;font-weight:600}.cart-item-total{text-align:right;min-width:70px;color:var(--accent,#e8590c);font-weight:700}.cart-fulfillment{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.cart-fulfillment-toggle{gap:8px;margin-bottom:12px;display:flex}.cart-fulfillment-toggle button{flex:1}.cart-delivery-options{background:var(--bg-subtle,#ffffff08);border-radius:var(--radius-sm,8px);flex-direction:column;gap:10px;margin-top:8px;padding:12px;display:flex}.cart-restaurant-summary{border-top:1px dashed var(--line);justify-content:flex-end;gap:16px;margin-top:12px;padding-top:12px;font-size:14px;display:flex}.cart-summary-row{justify-content:space-between;padding:8px 0;display:flex}.cart-summary-row.total{border-top:1px solid var(--line);color:var(--accent,#e8590c);margin-top:8px;padding-top:12px;font-size:18px;font-weight:700}.cart-summary{position:sticky;top:80px}@media (width<=900px){.cart-layout{grid-template-columns:1fr}.cart-summary{position:static}}@media (width<=600px){.cart-item{flex-wrap:wrap;gap:10px}.cart-item-img{width:48px;height:48px}.cart-item-info{flex:60%}.cart-item-qty{flex:100%;order:3;justify-content:flex-start}.cart-item-total{text-align:left;flex:100%;order:4;min-width:auto}.cart-item button.ghost.small:last-child{order:5;margin-left:auto}}.avatar-img{object-fit:cover;border-radius:50%;width:32px;height:32px}
