*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #dc2626;--color-primary-dark: #b91c1c;--color-primary-light: #fef2f2;--color-bg: #f8fafc;--color-surface: #ffffff;--color-text: #0f172a;--color-text-muted: #64748b;--color-border: #e2e8f0;--color-accent: #f59e0b;--radius: 12px;--radius-sm: 8px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow: 0 4px 6px rgba(0,0,0,.05), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 10px 25px rgba(0,0,0,.08)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}.landing{min-height:100vh;background:linear-gradient(180deg,#fff5f5 0%,var(--color-surface) 100%)}.landing-nav{border-bottom:1px solid var(--color-border);background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:50}.landing-nav-inner{max-width:1100px;margin:0 auto;padding:.875rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.logo{font-size:1.35rem;font-weight:800;color:var(--color-text);text-decoration:none;letter-spacing:-.5px}.logo span{color:var(--color-primary)}.landing-nav-links{display:flex;gap:.75rem;align-items:center}.btn-outline-light{padding:.5rem 1rem;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:none;transition:all .15s}.btn-outline-light:hover{border-color:var(--color-text)}.btn-white{padding:.5rem 1.25rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .15s}.btn-white:hover{background:var(--color-primary-dark)}.btn-primary-lg{display:inline-block;padding:.875rem 2rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .15s}.btn-primary-lg:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-outline-light-lg{display:inline-block;padding:.875rem 2rem;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-size:1rem;font-weight:500;cursor:pointer;text-decoration:none;transition:all .15s}.btn-outline-light-lg:hover{border-color:var(--color-text)}.hero{max-width:1100px;margin:0 auto;padding:5rem 1.5rem 4rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-badge{display:inline-block;padding:.375rem .875rem;background:var(--color-primary-light);color:var(--color-primary);border-radius:100px;font-size:.8125rem;font-weight:600;margin-bottom:1.5rem}.hero-content h1{font-size:3rem;font-weight:800;line-height:1.15;letter-spacing:-1px;margin-bottom:1.25rem}.hero-highlight{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-content p{font-size:1.125rem;color:var(--color-text-muted);margin-bottom:2rem;max-width:460px}.hero-cta{display:flex;gap:1rem;align-items:center}.hero-visual{position:relative}.hero-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden}.hero-card-bar{display:flex;gap:6px;padding:.75rem 1rem;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.hero-card-bar span{width:10px;height:10px;border-radius:50%;background:var(--color-border)}.hero-card-bar span:first-child{background:#ef4444}.hero-card-bar span:nth-child(2){background:#f59e0b}.hero-card-bar span:last-child{background:#22c55e}.hero-card-body{padding:1.5rem}.hc-stats{display:flex;gap:1rem;margin-bottom:1.5rem}.hc-stat{flex:1;background:var(--color-bg);border-radius:var(--radius-sm);padding:1rem}.hc-stat strong{display:block;font-size:1.25rem}.hc-stat small{display:block;color:var(--color-text-muted);font-size:.75rem;margin-top:.25rem}.hc-chart{display:flex;align-items:flex-end;gap:6px;height:100px;padding:.5rem 0}.hc-chart div{flex:1;background:linear-gradient(180deg,#fca5a5,#fecaca);border-radius:4px 4px 0 0}.features{padding:5rem 1.5rem;background:var(--color-surface)}.section-inner{max-width:1100px;margin:0 auto}.features h2{font-size:2rem;font-weight:700;text-align:center;margin-bottom:.75rem}.section-sub{text-align:center;color:var(--color-text-muted);font-size:1.1rem;margin-bottom:3rem}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.feature-card{padding:2rem 1.5rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);transition:all .2s}.feature-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.feature-icon{font-size:2rem;margin-bottom:1rem}.feature-card h3{font-size:1.05rem;font-weight:600;margin-bottom:.5rem}.feature-card p{font-size:.9rem;color:var(--color-text-muted);line-height:1.6}.cta-section{padding:5rem 1.5rem;text-align:center;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff}.cta-section h2{font-size:2rem;margin-bottom:.75rem}.cta-section p{font-size:1.1rem;opacity:.85;margin-bottom:2rem}.cta-section .btn-primary-lg{background:#fff;color:var(--color-primary)}.cta-section .btn-primary-lg:hover{background:#fef2f2}.landing-footer{padding:2rem 1.5rem;text-align:center;color:var(--color-text-muted);font-size:.875rem;background:var(--color-bg)}@media(max-width:768px){.hero{grid-template-columns:1fr;gap:2rem;padding:3rem 1.5rem 2rem}.hero-content h1{font-size:2.25rem}.features-grid{grid-template-columns:1fr}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(180deg,#fff5f5 0%,var(--color-bg) 100%)}.auth-form{background:var(--color-surface);padding:2.5rem 2rem;border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:420px;display:flex;flex-direction:column;gap:1rem;border:1px solid var(--color-border)}.auth-form h1{font-size:1.5rem;font-weight:800;color:var(--color-primary);text-align:center;letter-spacing:-.5px}.auth-form h2{font-size:1rem;text-align:center;color:var(--color-text-muted);font-weight:500;margin-top:-.5rem}.auth-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;font-weight:500}.auth-form input{padding:.625rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.9375rem}.auth-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #dc262626}.auth-error{background:#fef2f2;color:#dc2626;padding:.625rem .75rem;border-radius:var(--radius);font-size:.875rem}.auth-link{text-align:center;font-size:.875rem;color:var(--color-text-muted)}.auth-link a{color:var(--color-primary);text-decoration:none}.btn-primary{padding:.625rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font-size:.9375rem;font-weight:500;cursor:pointer}.btn-primary:hover{background:var(--color-primary-dark)}.btn-outline{padding:.5rem .875rem;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.875rem;cursor:pointer;color:var(--color-text)}.btn-outline:hover{background:var(--color-bg)}.page-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.dashboard{min-height:100vh}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 2rem;background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:40}.dashboard-header h1{color:var(--color-primary);font-size:1.2rem;font-weight:800;letter-spacing:-.3px}.dashboard-header h1 a{color:inherit;text-decoration:none}.dashboard-user{display:flex;align-items:center;gap:1rem;font-size:.875rem}.dashboard-main{max-width:960px;margin:0 auto;padding:2rem}.dashboard-actions{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.shop-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;text-decoration:none;color:inherit;transition:all .2s;box-shadow:var(--shadow-sm)}.shop-card:hover{box-shadow:var(--shadow);transform:translateY(-2px);border-color:var(--color-primary)}.shop-card h3{font-size:1.1rem;font-weight:600;margin-bottom:.375rem}.shop-slug{color:var(--color-primary);font-size:.8125rem;font-weight:500;margin-bottom:.5rem}.shop-address{font-size:.875rem;color:var(--color-text-muted);margin-bottom:.75rem}.status-badge{display:inline-block;padding:.125rem .5rem;border-radius:100px;font-size:.75rem;font-weight:500}.status-badge.active{background:#dcfce7;color:#16a34a}.status-badge.inactive{background:#fef3c7;color:#d97706}.create-shop-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.75rem}.create-shop-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;font-weight:500}.create-shop-form input{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.9375rem}.create-shop-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #dc262626}.form-actions{display:flex;gap:.5rem}.empty-state{color:var(--color-text-muted);text-align:center;padding:3rem;grid-column:1 / -1}.shop-page{min-height:100vh}.shop-header{display:flex;align-items:center;gap:1rem;padding:.875rem 2rem;background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:40}.shop-header h1{font-size:1.15rem;font-weight:700}.shop-content{max-width:960px;margin:0 auto;padding:2rem}.shop-meta{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.5rem}.shop-meta p{font-size:.9375rem;margin-bottom:.5rem}.shop-nav{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm)}.shop-nav h3{font-size:.9375rem;margin-bottom:.75rem;text-transform:uppercase;color:var(--color-text-muted)}.shop-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem}.shop-nav li{padding:.5rem .875rem;background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;transition:all .15s}.shop-nav li a{text-decoration:none;color:inherit;display:block}.shop-nav li:hover,.shop-nav li .nav-active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.shop-tab-content{margin-top:1.5rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-header h2,.section-header h3{font-size:1.1rem}.section-header h5{font-size:.9rem;color:var(--color-text-muted)}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-icon{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--color-text-muted);padding:0 .25rem;line-height:1}.btn-icon:hover,.btn-danger{color:var(--color-primary)}.btn-danger:hover{background:#fef2f2}.text-muted{color:var(--color-text-muted);font-size:.875rem}.inline-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;margin-bottom:1rem;display:flex;flex-wrap:wrap;gap:.625rem;align-items:flex-end}.inline-form input,.inline-form select{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.875rem;min-width:150px}.inline-form input:focus,.inline-form select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #dc262626}.menu-layout{display:grid;grid-template-columns:220px 1fr;gap:1.5rem;align-items:start}.menu-sidebar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem}.category-list{list-style:none;margin-top:.5rem}.category-list li{display:flex;align-items:center;justify-content:space-between;padding:.5rem .625rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem}.category-list li:hover{background:var(--color-bg)}.category-list li.active{background:var(--color-bg);font-weight:600;color:var(--color-primary)}.menu-items-area{min-height:300px}.item-grid{display:flex;flex-direction:column;gap:.75rem}.item-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem}.item-info h4{font-size:.9375rem;margin-bottom:.125rem}.item-category{color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase}.item-price{font-weight:600;color:var(--color-primary);margin:.25rem 0}.item-desc{font-size:.8125rem;color:var(--color-text-muted)}.item-actions{display:flex;gap:.5rem;margin-top:.5rem}.item-detail-panel{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.variant-section,.addon-section{margin-bottom:1rem}.detail-list{list-style:none;margin-top:.5rem}.detail-list li{display:flex;align-items:center;justify-content:space-between;padding:.375rem 0;font-size:.875rem;border-bottom:1px solid var(--color-bg)}.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.table-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem}.table-info h3{font-size:1rem;margin-bottom:.25rem}.table-info p{font-size:.875rem;color:var(--color-text-muted);margin-bottom:.375rem}.table-actions{display:flex;gap:.5rem;margin-top:.75rem}.qr-display{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border);text-align:center}.qr-url{font-size:.75rem;color:var(--color-text-muted);word-break:break-all;margin-bottom:.75rem}.qr-code-container{margin-bottom:.75rem}.qr-image{border:1px solid var(--color-border);border-radius:var(--radius);padding:.5rem;background:#fff}.qr-actions{display:flex;justify-content:center;gap:.5rem}.qr-actions a{text-decoration:none;font-size:.8125rem}.placeholder-page{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem;text-align:center}@media(max-width:640px){.menu-layout{grid-template-columns:1fr}.order-list{display:flex;flex-direction:column;gap:.75rem}.order-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem}.order-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.order-id{font-family:monospace;font-size:.8125rem;color:var(--color-text-muted)}.order-type{text-transform:capitalize;font-size:.75rem;padding:.125rem .5rem;background:var(--color-bg);border-radius:100px}.order-total{font-weight:600;margin-left:auto}.order-time{font-size:.75rem;color:var(--color-text-muted)}.status-badge.received{background:#fef3c7;color:#d97706}.status-badge.preparing{background:#dbeafe;color:#2563eb}.status-badge.ready{background:#dcfce7;color:#16a34a}.status-badge.served{background:#f3e8ff;color:#9333ea}.status-badge.completed{background:#e5e7eb;color:#374151}.status-badge.cancelled{background:#fef2f2;color:#dc2626}.order-items{margin:.5rem 0;padding:.5rem 0;border-top:1px solid var(--color-bg);border-bottom:1px solid var(--color-bg)}.order-item-row{display:flex;align-items:center;gap:.5rem;font-size:.875rem;padding:.25rem 0}.item-qty{font-weight:600;min-width:2rem}.item-name{flex:1}.item-variant,.item-addons{color:var(--color-text-muted);font-size:.8rem}.item-notes{color:var(--color-text-muted);font-size:.8rem;font-style:italic}.order-actions{display:flex;gap:.5rem;margin-top:.5rem}.order-total-line{margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--color-border)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.reservation-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem}.reservation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.reservation-card p{font-size:.875rem;margin-bottom:.25rem}.payment-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem}.status-badge.pending{background:#fef3c7;color:#d97706}.status-badge.paid{background:#dcfce7;color:#16a34a}.status-badge.failed{background:#fef2f2;color:#dc2626}.status-badge.refunded{background:#e5e7eb;color:#374151}.pay-form{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.pay-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;font-weight:500}.pay-form input,.pay-form select{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.9375rem}.pay-form input:focus,.pay-form select:focus{outline:none;border-color:var(--color-primary)}.report-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1rem}.report-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;text-align:center}.report-card h3{font-size:1.5rem;color:var(--color-primary)}.report-card p{font-size:.8125rem;color:var(--color-text-muted);margin-top:.25rem}.qr-order-page{min-height:100vh;background:var(--color-bg)}.qr-header{background:var(--color-primary);color:#fff;padding:1.5rem;text-align:center;position:sticky;top:0;z-index:10}.qr-header h1{font-size:1.25rem}.qr-header p{font-size:.875rem;opacity:.85}.qr-layout{display:flex;gap:0;max-width:800px;margin:0 auto;min-height:calc(100vh - 80px)}.qr-menu-list{flex:1;padding:1rem}.qr-cart{width:320px;background:var(--color-surface);border-left:1px solid var(--color-border);padding:1rem;position:sticky;top:80px;height:calc(100vh - 80px);overflow-y:auto}.cat-scroll{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid var(--color-border)}.cat-scroll button{white-space:nowrap}.qr-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--color-bg);cursor:pointer}.qr-item h4{font-size:.9375rem}.cart-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--color-bg);font-size:.875rem}.cart-total{padding:.75rem 0;font-size:1.1rem}.qr-layout{flex-direction:column}.qr-cart{width:100%;height:auto;position:static;border-left:none;border-top:1px solid var(--color-border)}.modal-content{background:var(--color-surface);border-radius:var(--radius);padding:1.5rem;max-width:480px;width:90%;max-height:80vh;overflow-y:auto}.modal-body{margin:1rem 0}}
