:root{--bg:#12151c;--surface:#1b212c;--surface-2:#1f2632;--text:#b7bec9;--text-h:#f5f1e6;--border:#2f3640;--gold:#c79a3a;--gold-hover:#b08530;--gold-soft:#c79a3a24;--deep-blue:#1e3a5f;--green:#4ade80;--green-bg:#4ade8026;--red:#f87171;--red-bg:#f8717126;--gray-bg:#232a37;--shadow:#00000059 0 8px 24px;--font-heading:"Montserrat", system-ui, sans-serif;--font-body:"Helvetica Neue", Helvetica, Arial, sans-serif;font:15px/1.5 var(--font-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{background:radial-gradient(ellipse at top, #182131 0%, var(--bg) 55%);min-height:100svh;margin:0}#root{min-height:100svh}h1,h2{font-family:var(--font-heading);color:var(--text-h);letter-spacing:.01em;margin:0;font-weight:700}h1{margin-bottom:12px;font-size:26px}h2{margin-bottom:16px;font-size:18px}button{font:inherit;cursor:pointer;background:var(--gold);color:#1c1506;border:none;border-radius:999px;padding:10px 20px;font-weight:600;transition:background .15s,transform .1s}button:hover:not(:disabled){background:var(--gold-hover)}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.4;cursor:not-allowed}.secondary-button{background:var(--gray-bg);color:var(--text-h)}.secondary-button:hover:not(:disabled){background:var(--border)}.link-button{color:var(--gold);background:0 0;border-radius:0;margin-left:14px;padding:4px 0;font-size:14px}.link-button:hover:not(:disabled){background:0 0;text-decoration:underline}input,select,textarea{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text-h);border-radius:8px;width:100%;padding:9px 12px}input:focus,select:focus,textarea:focus{border-color:var(--gold);outline:none}textarea{resize:vertical;min-height:70px}label{color:var(--text-h);flex-direction:column;gap:6px;margin-bottom:14px;font-size:13px;font-weight:500;display:flex}.hint{color:var(--text);margin:4px 0;font-size:13px}.hint-inline{color:var(--text);font-weight:400}.veg-mode-note{color:var(--green);font-weight:600}.error{color:var(--red);margin:8px 0;font-size:13px}.empty-state{color:var(--text);text-align:center;padding:24px 0;font-size:14px}.auth-shell{justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:360px;box-shadow:var(--shadow);border-radius:16px;padding:32px}.auth-card h1{color:var(--gold);font-size:30px}.brand-logo-full{width:auto;height:88px;margin:0 auto 12px;display:block}.brand-mark{vertical-align:middle;width:auto;height:30px;margin-right:8px}.auth-card .subtitle{color:var(--text);margin:4px 0 24px}.auth-card form{margin-top:8px}.auth-mode-toggle{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;gap:4px;padding:4px;display:flex}.auth-mode-tab{color:var(--text);background:0 0;border-radius:999px;flex:1;padding:8px 0;font-size:14px;font-weight:600}.auth-mode-tab:hover:not(:disabled){color:var(--text-h);background:0 0}.auth-mode-tab-active,.auth-mode-tab-active:hover:not(:disabled){background:var(--gold);color:#1c1506}.app-shell{max-width:700px;margin:0 auto}.app-header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;background:#12151ce6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:16px 24px;display:flex;position:sticky;top:0}.app-logo{font-family:var(--font-heading);letter-spacing:.03em;background:0 0;padding:0;font-size:22px;font-weight:700;color:var(--gold)!important;text-decoration:none!important}.app-logo-lockup{width:auto;height:58px;display:block}.header-actions{align-items:center;gap:14px;display:flex}.page{padding:24px 24px 120px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:16px;padding:20px}.checkout-row{align-items:stretch;gap:16px;margin-bottom:16px;display:flex}.checkout-row>.panel{flex:1;min-width:0;margin-bottom:0}.checkout-instructions{flex-direction:column;display:flex}.checkout-instructions textarea{flex:1}.badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.badge-gray{background:var(--gray-bg);color:var(--text)}.badge-status-placed{background:var(--gold-soft);color:var(--gold)}.badge-status-accepted,.badge-status-preparing{color:#9dc0ea;background:#1e3a5f80}.badge-status-out_for_delivery{color:#c4b5fd;background:#a78bfa26}.badge-status-delivered{background:var(--green-bg);color:var(--green)}.badge-status-cancelled,.badge-status-rejected{background:var(--red-bg);color:var(--red)}.order-items{color:var(--text);margin:8px 0;padding:0;font-size:14px;list-style:none}.order-total{font-weight:700;color:var(--gold)!important}.restaurant-filters{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.locality-filter{margin-bottom:0}.cuisine-chip-row{flex-wrap:wrap;gap:8px;display:flex}.cuisine-chip{background:var(--gray-bg);color:var(--text);padding:6px 14px;font-size:13px;font-weight:600}.cuisine-chip:hover:not(:disabled){background:var(--border)}.cuisine-chip-active{background:var(--gold);color:#1c1506}.cuisine-chip-active:hover:not(:disabled){background:var(--gold-hover)}.restaurant-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.restaurant-card-wrap{display:flex;position:relative}.restaurant-card-wrap .restaurant-card{flex:1}.restaurant-hide-btn{z-index:2;width:30px;height:30px;color:var(--text-h);border:1px solid var(--border);opacity:.85;background:#0000008c;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:flex;position:absolute;top:8px;left:8px}.restaurant-hide-btn:hover:not(:disabled){border-color:var(--gold);opacity:1;background:#000000bf}.restaurant-fav-btn{z-index:2;color:#fff;border:1px solid var(--border);opacity:.9;background:#0000008c;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:16px;line-height:1;display:flex;position:absolute;top:8px;right:8px}.restaurant-fav-btn:hover{border-color:var(--gold);opacity:1;background:#000000bf}.restaurant-fav-btn.fav-active{color:#ff5a5f;border-color:#ff5a5f}.hidden-count-bar{align-items:center;gap:8px;margin:-4px 0 12px;display:flex}.hidden-count-bar .link-button{margin-left:0}.coupon-input-row{gap:8px;display:flex}.coupon-input-row input{text-transform:uppercase;flex:1}.coupon-input-row .secondary-button{flex-shrink:0}.coupon-applied{border:1px solid var(--green,#4ade80);background:var(--green-bg);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.coupon-applied .link-button{flex-shrink:0;margin-left:0}.coupon-ok{color:var(--green,#4ade80);font-weight:600}.coupon-err{color:var(--gold);font-weight:600}.checkout-discount{color:var(--green,#4ade80);font-weight:600}.recommended-section{margin-bottom:20px}.recommended-heading{margin:4px 0 12px;font-size:18px}.restaurant-card-reason{color:var(--gold);margin-bottom:2px;font-size:12px;font-weight:700}.restaurant-card-myrating{color:var(--gold);background:var(--gold-soft);border-radius:6px;margin-top:4px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-block}.wallet-balance{border:1px solid var(--gold);background:var(--gold-soft);border-radius:14px;flex-direction:column;align-items:center;gap:4px;margin:8px 0 16px;padding:18px;display:flex}.wallet-balance strong{color:var(--gold);font-size:30px}.wallet-topup{margin-bottom:16px}.wallet-topup h3,.wallet-tx-list+h3,.wallet-topup+h3{margin-bottom:8px;font-size:15px}.wallet-presets{margin-bottom:10px}.wallet-amount-input{width:110px}.wallet-topup-msg{margin-top:8px}.wallet-tx-list{flex-direction:column;display:flex}.wallet-tx-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.wallet-tx-row:last-child{border-bottom:none}.wallet-tx-row .hint{margin-top:2px;font-size:12px}.wallet-amount-in{color:var(--green,#4ade80);white-space:nowrap;font-weight:700}.wallet-amount-out{color:var(--text-h);white-space:nowrap;font-weight:700}.mini-card-button{cursor:pointer;text-align:left;align-items:flex-start}.mini-card-button:hover{border-color:var(--gold);background:var(--surface)}.coupon-list{flex-direction:column;gap:10px;margin-top:8px;display:flex}.coupon-card{border:1px dashed var(--gold);background:var(--gold-soft);border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.coupon-code-chip{background:var(--gold);color:#1c1506;letter-spacing:.5px;flex-shrink:0;padding:6px 12px;font-size:13px;font-weight:700}.coupon-card-body{flex-direction:column;gap:2px;display:flex}.coupon-card-body strong{color:var(--text-h)}.hidden-restaurant-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.hidden-restaurant-row:last-child{border-bottom:none}.hidden-restaurant-row strong{color:var(--text-h)}.hidden-restaurant-row .hint{margin-top:2px}.back-link{margin:0 0 8px;display:inline-block}.restaurant-card{text-align:left;background:var(--surface);border:1px solid var(--border);color:var(--text-h);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;padding:0;display:flex;overflow:hidden}.restaurant-card:hover:not(:disabled){border-color:var(--gold);background:var(--gold-soft)}.restaurant-card-banner{background-color:var(--deep-blue);background-image:radial-gradient(circle at 30% 20%, #daaf271f, transparent 60%), linear-gradient(135deg, var(--deep-blue), var(--bg));background-position:50%;background-size:cover;flex-shrink:0;justify-content:flex-end;align-items:flex-end;height:130px;padding:12px;display:flex;position:relative}.restaurant-card-dish-badge{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 24px);color:var(--text-h);border:1px solid var(--border);background:#0000008c;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;position:absolute;bottom:12px;left:12px;overflow:hidden}.restaurant-card-rating{color:var(--gold);background:#0000008c;border:1px solid #daaf274d;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700}.restaurant-card-info{padding:14px 16px 16px}.restaurant-card h3{font-family:var(--font-heading);color:var(--text-h);margin:0;font-size:18px}.restaurant-card-cuisine{color:var(--gold);margin:4px 0 6px;font-size:13px;font-weight:600}.restaurant-card-closed{color:var(--red);margin:4px 0 0;font-size:13px;font-weight:600}.free-delivery-badge{color:var(--green);align-items:center;gap:3px;margin-left:6px;font-weight:700;display:inline-flex}.free-delivery-badge svg{width:13px;height:13px}.restaurant-card-offer{color:var(--gold);background:var(--gold-soft);border:1px solid #daaf274d;border-radius:999px;margin:8px 0 0;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.menu-card{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.menu-card-photo{background-color:var(--surface-2);background-image:linear-gradient(135deg,#223049,#12151c);background-position:50%;background-size:cover;min-height:170px}.menu-card-footer{justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.menu-card-info{flex-direction:column;gap:2px;min-width:0;display:flex}.menu-card-name{font-family:var(--font-heading);color:var(--text-h);align-items:center;gap:8px;font-size:16px;display:flex}.menu-card-meta{color:var(--gold);font-size:14px;font-weight:600}.menu-list{flex-direction:column;gap:10px;display:flex}.menu-item-row{background:var(--surface);border:1px solid var(--border);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;transition:border-color .15s;display:flex}.menu-item-row:hover{border-color:var(--gold)}.menu-item-main{align-items:center;gap:14px;display:flex}.menu-item-thumb{object-fit:cover;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;flex-shrink:0;width:56px;height:56px}.menu-item-thumb-empty{background:var(--surface-2)}.menu-item-name{color:var(--text-h);align-items:center;gap:8px;margin:0;font-size:15px;font-weight:600;display:flex}.menu-item-price{color:var(--gold);margin:6px 0 0;font-weight:600}.veg-dot,.non-veg-dot{border:1.5px solid var(--green);border-radius:2px;width:10px;height:10px;display:inline-block}.veg-dot{background:var(--green)}.non-veg-dot{border-color:var(--red);background:var(--red)}.qty-stepper{align-items:center;gap:10px;display:flex}.qty-stepper button{background:var(--gold-soft);color:var(--gold);padding:4px 14px}.qty-stepper button:hover:not(:disabled){background:var(--gold);color:#1c1506}.warning-banner{background:var(--gray-bg);color:var(--text-h);border-radius:10px;margin-bottom:16px;padding:12px 14px;font-size:14px}.cart-bar{background:var(--surface-2);border:1px solid var(--border);max-width:700px;color:var(--text-h);box-shadow:var(--shadow);border-bottom:none;border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;margin:0 auto;padding:16px 24px;display:flex;position:fixed;bottom:64px;left:0;right:0}.cart-bar span{font-weight:600}.cancel-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:12px;display:flex}.radio-row{flex-direction:row;align-items:center;gap:10px;margin-bottom:10px;font-weight:400}.radio-row input{width:auto;accent-color:var(--gold)}.stacked-form{flex-direction:column;gap:8px;margin-top:8px;display:flex}.schedule-picker{flex-direction:column;gap:10px;margin-top:4px;display:flex}.schedule-picker input[type=time]{max-width:160px}.place-order-button{width:100%;padding:16px;font-size:16px}.stepper{justify-content:space-between;margin:24px 0;display:flex;position:relative}.stepper:before{content:"";background:var(--border);height:2px;position:absolute;top:6px;left:6%;right:6%}.stepper-item{color:var(--text);z-index:1;text-align:center;flex-direction:column;flex:1;align-items:center;gap:8px;font-size:11px;display:flex;position:relative}.stepper-dot{background:var(--border);border-radius:50%;width:14px;height:14px}.stepper-item-done .stepper-dot{background:var(--gold)}.stepper-item-done{color:var(--text-h);font-weight:600}.order-list{flex-direction:column;gap:12px;display:flex}.order-card{border:1px solid var(--border);text-align:left;background:var(--surface);color:var(--text-h);border-radius:14px;padding:16px}.order-card-clickable{text-align:left;width:100%;color:inherit;background:0 0;border-radius:0;padding:0;display:block}.order-card-clickable:hover:not(:disabled){background:0 0}.order-card:has(.order-card-clickable:hover){border-color:var(--gold)}.order-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.bottom-nav{background:var(--surface-2);border-top:1px solid var(--border);max-width:700px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));z-index:20;justify-content:space-around;align-items:center;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{color:var(--text);background:0 0;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:6px 18px;font-size:11px;font-weight:500;display:flex;position:relative}.bottom-nav-item:hover:not(:disabled){color:var(--text-h);background:0 0}.bottom-nav-item.active{color:var(--gold)}.bottom-nav-item svg{width:22px;height:22px}.bottom-nav-badge{background:var(--gold);color:#1c1506;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:10px;font-weight:700;display:flex;position:absolute;top:0;right:8px}.modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{max-height:90vh;overflow-y:auto}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.edit-order-items{flex-direction:column;gap:10px;margin:8px 0 4px;padding:0;list-style:none;display:flex}.edit-order-item{justify-content:space-between;align-items:center;gap:12px;display:flex}.edit-order-item-info{flex-direction:column;min-width:0;display:flex}.edit-order-item-name{font-weight:600}.edit-order-item-removed .edit-order-item-name{opacity:.6;text-decoration:line-through}.edit-order-add{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.edit-order-add-title{margin:0 0 4px;font-size:15px}.edit-order-fee-was{opacity:.55;margin-right:6px;text-decoration:line-through}.edit-order-note{margin-top:6px}.edit-order-summary{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:16px;padding-top:12px;display:flex}.edit-order-summary-row{justify-content:space-between;display:flex}.edit-order-summary-total{color:var(--text-h);font-weight:700}.restaurant-name-row{align-items:center;gap:8px;display:flex}.info-icon-button{border:1px solid var(--border);color:var(--text);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;padding:0;display:inline-flex}.info-icon-button:hover:not(:disabled){border-color:var(--gold);color:var(--gold);background:0 0}.info-icon-button svg{width:16px;height:16px}.restaurant-info-status-row{align-items:center;gap:12px;margin:12px 0;display:flex}.hours-line{color:var(--text);justify-content:space-between;gap:16px;padding:4px 0;font-size:14px;display:flex}.hours-line-today{color:var(--text-h);font-weight:600}.star-picker{gap:4px;margin:12px 0 16px;display:flex}.star-picker-star{color:var(--gold);background:0 0;padding:0 2px;font-size:30px;line-height:1}.star-picker-star:hover:not(:disabled){background:0 0;transform:scale(1.1)}.review-list{flex-direction:column;gap:12px;display:flex}.review-item{border-bottom:1px solid var(--border);padding-bottom:12px}.review-item:last-child{border-bottom:none;padding-bottom:0}.review-item-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.review-item-stars{color:var(--gold);letter-spacing:1px;font-weight:700}.review-item-comment{margin:4px 0 0}.order-card-review-note{color:var(--gold);margin:6px 0 0;font-size:13px;font-weight:600}.order-card>.secondary-button{margin-top:10px}.scheduled-for-note{color:var(--gold);margin:2px 0 8px;font-size:13px;font-weight:600}.profile-header{align-items:center;gap:16px;margin-bottom:20px;display:flex}.profile-avatar{background:linear-gradient(135deg, var(--gold), var(--gold-hover));color:#1c1506;width:64px;height:64px;font-family:var(--font-heading);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:28px;font-weight:700;display:flex}.profile-header h1{margin-bottom:2px;font-size:20px}.profile-header .link-button{margin-left:0;padding:2px 0}.profile-row{width:100%;color:var(--text-h);border-bottom:1px solid var(--border);text-align:left;background:0 0;border-radius:0;justify-content:space-between;align-items:center;padding:12px 0;font-weight:500;display:flex}.profile-row:last-child{border-bottom:none}.profile-row:hover:not(:disabled){color:var(--gold);background:0 0}.profile-row-end{color:var(--text);align-items:center;gap:8px;display:flex}.profile-row-end svg{flex-shrink:0;width:16px;height:16px}.profile-row-placeholder{color:var(--text);cursor:default}.profile-row-placeholder:hover{color:var(--text)}.profile-mini-cards{gap:12px;margin-bottom:16px;display:flex}.profile-mini-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;flex:1;gap:6px;padding:14px 16px;display:flex}.profile-mini-card strong{color:var(--text-h)}.pin-location{flex-direction:column;align-items:flex-start;gap:6px;margin:4px 0 8px;display:flex}.pin-location-ok{color:var(--green,#4ade80);font-size:13px;font-weight:600}.pin-location-error{color:var(--gold)}.legal-modal{max-height:85vh;overflow-y:auto}.legal-draft-banner{color:var(--red);background:var(--red-bg);border:1px solid var(--red);border-radius:8px;margin:8px 0 12px;padding:8px 12px;font-size:13px;font-weight:600}.legal-section{margin-top:12px}.legal-section h3{margin-bottom:4px;font-size:15px}.legal-section p{white-space:pre-line}.contact-list{flex-direction:column;gap:8px;margin-top:8px;display:flex}.contact-row{border:1px solid var(--border);background:var(--surface-2);color:var(--text-h);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-weight:600;text-decoration:none;display:flex}.contact-row:hover{border-color:var(--gold)}.contact-number{color:var(--gold);font-variant-numeric:tabular-nums}.feedback-chips{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.chip{background:var(--gray-bg);color:var(--text);padding:6px 14px;font-size:14px;font-weight:600}.chip-active{background:var(--gold);color:#1c1506}.feedback-textarea{min-height:120px}.settings-group{margin-top:8px}.settings-note{margin:-4px 2px 8px}
