@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Fraunces:ital,wght@0,600;1,400&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-sans: "DM Sans", sans-serif;--font-display: "Fraunces", serif;--clr-bg: #f7f5f2;--clr-surface: #ffffff;--clr-border: #e8e4de;--clr-border-md: #d4cfc7;--clr-text-primary: #1a1814;--clr-text-secondary: #6b6760;--clr-text-muted: #a09d97;--clr-accent: #c84b2f;--clr-accent-hover: #a83a21;--clr-accent-light: #fdf0ec;--clr-success: #2a7d4f;--clr-success-light: #edf7f2;--clr-warning: #b45309;--clr-warning-light: #fef9ec;--clr-danger: #b91c1c;--clr-danger-light: #fef2f2;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 12px 32px rgba(0,0,0,.1), 0 4px 8px rgba(0,0,0,.04);--nav-height: 64px;--max-width: 1120px;--side-pad: 24px;--transition: .15s ease}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-sans);background:var(--clr-bg);color:var(--clr-text-primary);line-height:1.6;min-height:100vh}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:1rem}.loader{text-align:center;padding:4rem 1rem;color:var(--clr-text-secondary);font-size:.95rem}.empty-state{text-align:center;padding:3rem 1rem;color:var(--clr-text-muted);font-size:.95rem}.error-msg{background:var(--clr-danger-light);color:var(--clr-danger);border:1px solid #fecaca;padding:12px 16px;border-radius:var(--radius-md);font-size:.9rem;margin-bottom:1rem}.success-msg{color:var(--clr-success);font-size:.9rem;margin-top:8px}.optional{color:var(--clr-text-muted);font-size:.85rem;font-weight:400}.full-width{width:100%}.section-heading{font-size:1.1rem;font-weight:600;color:var(--clr-text-primary);margin-bottom:1rem}.btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--clr-accent);color:#fff;font-size:.9rem;font-weight:500;padding:10px 20px;border-radius:var(--radius-md);transition:background var(--transition),transform var(--transition);white-space:nowrap}.btn-primary:hover{background:var(--clr-accent-hover)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-outline{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--clr-accent);border:1.5px solid var(--clr-accent);font-size:.9rem;font-weight:500;padding:10px 20px;border-radius:var(--radius-md);transition:background var(--transition),color var(--transition)}.btn-outline:hover{background:var(--clr-accent-light)}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--clr-text-secondary);font-size:.9rem;font-weight:500;padding:10px 16px;border-radius:var(--radius-md);border:1px solid var(--clr-border);transition:background var(--transition),color var(--transition),border-color var(--transition)}.btn-ghost:hover{background:var(--clr-surface);color:var(--clr-text-primary);border-color:var(--clr-border-md)}.btn-danger{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--clr-danger);border:1px solid #fecaca;font-size:.875rem;font-weight:500;padding:8px 14px;border-radius:var(--radius-md);transition:background var(--transition)}.btn-danger:hover{background:var(--clr-danger-light)}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.875rem;font-weight:500;color:var(--clr-text-primary)}.form-group input,.form-group select,.form-group textarea{width:100%;min-width:0;padding:10px 14px;border:1.5px solid var(--clr-border);border-radius:var(--radius-md);background:var(--clr-surface);color:var(--clr-text-primary);font-size:.95rem;transition:border-color var(--transition),box-shadow var(--transition);outline:none}.form-group input[type=date]{padding:9px 12px}.calendar-picker{position:relative;width:100%;max-width:270px}.calendar-field{width:100%;min-height:44px;padding:10px 14px;border:1.5px solid var(--clr-border);border-radius:16px;background:var(--clr-surface);color:var(--clr-text-muted);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.95rem;box-shadow:var(--shadow-sm)}.calendar-field.selected{color:var(--clr-text-primary)}.calendar-field.open{border-color:var(--clr-accent);box-shadow:0 0 0 3px #c84b2f14}.calendar-field svg{width:18px;height:18px;color:var(--clr-text-muted);flex-shrink:0}.calendar-popover{position:absolute;z-index:30;top:calc(100% + 8px);left:0;width:320px;max-width:calc(100vw - 24px);padding:10px 12px 12px;background:var(--clr-surface);border-radius:14px;border:1px solid var(--clr-border);box-shadow:var(--shadow-lg)}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.calendar-header strong{font-size:1rem;font-weight:600;color:var(--clr-text-primary)}.calendar-nav{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;color:var(--clr-text-muted);border-radius:999px}.calendar-nav:hover{background:var(--clr-accent-light);color:var(--clr-accent)}.calendar-nav svg{width:18px;height:18px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{margin-bottom:6px}.calendar-weekdays span{text-align:center;font-size:.74rem;font-weight:600;color:var(--clr-text-muted);padding:5px 0}.calendar-grid{gap:4px}.calendar-day{aspect-ratio:1;border-radius:8px;font-size:.9rem;color:var(--clr-text-primary);display:inline-flex;align-items:center;justify-content:center}.calendar-day:hover:not(:disabled){background:var(--clr-accent-light)}.calendar-day.selected{background:var(--clr-accent);color:#fff}.calendar-day.outside{color:var(--clr-text-muted)}.calendar-day:disabled{opacity:.35;cursor:not-allowed}.dropdown-select{position:relative;width:100%;min-width:0}.dropdown-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1.5px solid var(--clr-border);border-radius:var(--radius-md);background:var(--clr-surface);color:var(--clr-text-primary);font-size:.95rem;transition:border-color var(--transition),box-shadow var(--transition)}.dropdown-select-trigger:hover{border-color:var(--clr-accent)}.dropdown-select-trigger:focus{border-color:var(--clr-accent);box-shadow:0 0 0 3px #c84b2f1a;outline:none}.dropdown-select-trigger svg{width:18px;height:18px;color:var(--clr-text-muted);flex-shrink:0}.dropdown-select-menu{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:240px;overflow:auto;padding:6px}.dropdown-select-option{width:100%;text-align:left;padding:10px 12px;border-radius:var(--radius-sm);color:var(--clr-text-primary)}.dropdown-select-option:hover,.dropdown-select-option.active{background:var(--clr-accent-light)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--clr-accent);box-shadow:0 0 0 3px #c84b2f1a}.form-group textarea{resize:vertical;min-height:80px;line-height:1.5}.password-field{position:relative}.password-field input{padding-right:3rem}.password-toggle{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;color:var(--clr-text-muted);transition:color var(--transition),transform var(--transition)}.password-toggle:hover{color:var(--clr-text-primary)}.password-toggle svg{width:1.1rem;height:1.1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 480px){.form-row{grid-template-columns:1fr}}.navbar{position:sticky;top:0;z-index:100;min-height:var(--nav-height);background:#f7f5f2eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--clr-border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--side-pad);max-width:100%}.navbar-brand{font-family:var(--font-display);font-size:1.3rem;font-weight:600;color:var(--clr-accent);letter-spacing:-.01em}.navbar-links{display:flex;align-items:center;gap:4px}.navbar-toggle{display:none;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--clr-border);border-radius:var(--radius-md);color:var(--clr-text-primary);background:var(--clr-surface);margin-left:auto}.navbar-toggle svg{width:22px;height:22px}.navbar-links a{font-size:.9rem;font-weight:500;color:var(--clr-text-secondary);padding:8px 12px;border-radius:var(--radius-md);transition:color var(--transition),background var(--transition)}.navbar-links a:hover{color:var(--clr-text-primary);background:var(--clr-surface)}.navbar-link.active{color:var(--clr-text-primary);background:#c84b2f14}.navbar-links .btn-primary{margin-left:8px;padding:8px 18px;color:#fff}.navbar-links .btn-ghost{padding:8px 14px;border:none}.navbar-mobile{display:none}.home-page{max-width:var(--max-width);margin:0 auto;padding:0 var(--side-pad) 4rem}.hero{text-align:center;padding:4rem 1rem 3rem}.hero h1{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.5rem);font-weight:600;color:var(--clr-text-primary);line-height:1.15;margin-bottom:.75rem;letter-spacing:-.02em}.hero p{font-size:1.1rem;color:var(--clr-text-secondary);margin-bottom:2rem}.search-input{width:100%;max-width:480px;padding:14px 20px;border:1.5px solid var(--clr-border);border-radius:999px;background:var(--clr-surface);font-size:1rem;color:var(--clr-text-primary);box-shadow:var(--shadow-sm);transition:border-color var(--transition),box-shadow var(--transition);outline:none}.search-input:focus{border-color:var(--clr-accent);box-shadow:0 0 0 4px #c84b2f14}.browse-section{margin-top:1rem}.cuisine-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:2rem}.filter-chip{padding:7px 16px;border-radius:999px;border:1.5px solid var(--clr-border);background:var(--clr-surface);color:var(--clr-text-secondary);font-size:.875rem;font-weight:500;transition:all var(--transition)}.filter-chip:hover{border-color:var(--clr-border-md);color:var(--clr-text-primary)}.filter-chip.active{background:var(--clr-accent);border-color:var(--clr-accent);color:#fff}.restaurant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}@media (max-width: 480px){.restaurant-grid{grid-template-columns:1fr}}.restaurant-card{background:var(--clr-surface);border-radius:var(--radius-lg);border:1px solid var(--clr-border);overflow:hidden;transition:box-shadow var(--transition),transform var(--transition)}.restaurant-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-image{position:relative;height:200px;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.restaurant-card:hover .card-image img{transform:scale(1.04)}.cuisine-badge{position:absolute;top:12px;left:12px;background:#ffffffeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--clr-text-primary);font-size:.8rem;font-weight:600;padding:4px 10px;border-radius:999px;letter-spacing:.01em}.card-body{padding:1.25rem}.card-body h3{font-size:1.1rem;font-weight:600;color:var(--clr-text-primary);margin-bottom:4px}.card-city{font-size:.85rem;color:var(--clr-text-secondary);margin-bottom:8px}.card-desc{font-size:.9rem;color:var(--clr-text-secondary);line-height:1.55;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.capacity-tag{font-size:.8rem;color:var(--clr-text-muted)}.card-actions{display:flex;gap:8px}.card-actions .btn-ghost,.card-actions .btn-primary{padding:7px 14px;font-size:.85rem}.detail-page{max-width:var(--max-width);margin:0 auto;padding-bottom:4rem}.detail-hero{position:relative;height:340px;overflow:hidden;border-radius:0 0 var(--radius-xl) var(--radius-xl)}.detail-hero img{width:100%;height:100%;object-fit:cover}.detail-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.65) 0%,transparent 50%);display:flex;flex-direction:column;justify-content:flex-end;padding:2rem var(--side-pad);color:#fff}.detail-hero-overlay .cuisine-badge{position:static;align-self:flex-start;margin-bottom:8px;background:#fff3;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.detail-hero-overlay h1{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:600;line-height:1.15;margin-bottom:4px}.detail-hero-overlay p{font-size:.95rem;opacity:.85}.detail-body{display:grid;grid-template-columns:1fr 300px;gap:2.5rem;padding:2.5rem var(--side-pad) 0}@media (max-width: 768px){.detail-body{grid-template-columns:1fr}}.detail-section{margin-bottom:2rem}.detail-section h2{font-size:1.1rem;font-weight:600;color:var(--clr-text-primary);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--clr-border)}.detail-section p{font-size:.95rem;color:var(--clr-text-secondary);line-height:1.65}.hours-grid{display:flex;flex-direction:column;gap:6px}.hours-row{display:flex;justify-content:space-between;font-size:.9rem;color:var(--clr-text-secondary)}.day-label{font-weight:500;color:var(--clr-text-primary);width:40px}.sidebar-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:12px;position:sticky;top:calc(var(--nav-height) + 24px)}.sidebar-card h3{font-size:1rem;font-weight:600;margin-bottom:4px}.menu-page{max-width:var(--max-width);margin:0 auto;padding:2.5rem var(--side-pad) 4rem}.menu-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}.menu-header h1{font-family:var(--font-display);font-size:2rem;font-weight:600;line-height:1.2;letter-spacing:-.02em}.menu-sub{font-size:.95rem;color:var(--clr-text-secondary);margin-top:4px}.category-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:2rem;border-bottom:1px solid var(--clr-border);padding-bottom:0}.tab-btn{padding:10px 18px;font-size:.9rem;font-weight:500;color:var(--clr-text-secondary);border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--transition),border-color var(--transition)}.tab-btn:hover{color:var(--clr-text-primary)}.tab-btn.active{color:var(--clr-accent);border-bottom-color:var(--clr-accent)}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}@media (max-width: 480px){.menu-grid{grid-template-columns:1fr}}.menu-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow var(--transition)}.menu-card:hover{box-shadow:var(--shadow-sm)}.menu-card-image{height:140px;overflow:hidden}.menu-card-image img{width:100%;height:100%;object-fit:cover}.menu-card-body{padding:1rem}.menu-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}.menu-card-top h4{font-size:1rem;font-weight:600;color:var(--clr-text-primary);line-height:1.3}.price{font-size:1rem;font-weight:600;color:var(--clr-accent);white-space:nowrap}.menu-desc{font-size:.875rem;color:var(--clr-text-secondary);line-height:1.55;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.menu-tags{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:.75rem;font-weight:600;padding:3px 8px;border-radius:999px;letter-spacing:.02em}.tag.veg{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.tag.vegan{background:#f0fdf4;color:#166534;border:1px solid #86efac}.booking-page{max-width:560px;margin:3rem auto;padding:0 var(--side-pad) 4rem}.booking-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-xl);padding:2.5rem;box-shadow:var(--shadow-sm)}.booking-card h1{font-family:var(--font-display);font-size:1.8rem;font-weight:600;margin-bottom:4px;letter-spacing:-.02em}.booking-sub{font-size:.9rem;color:var(--clr-text-secondary);margin-bottom:2rem}.booking-form{display:flex;flex-direction:column;gap:1.25rem}.time-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.time-chip{padding:8px 14px;border:1.5px solid var(--clr-border);border-radius:var(--radius-md);background:var(--clr-surface);color:var(--clr-text-secondary);font-size:.875rem;font-weight:500;transition:all var(--transition)}.time-chip:hover{border-color:var(--clr-accent);color:var(--clr-accent)}.time-chip.active{background:var(--clr-accent);border-color:var(--clr-accent);color:#fff}.form-help{margin-top:.45rem;font-size:.84rem;color:var(--clr-text-muted);line-height:1.5}.confirmation-page{min-height:calc(100vh - var(--nav-height));display:flex;justify-content:center;padding:3rem var(--side-pad) 4rem}.confirmation-card{width:100%;max-width:820px;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:2.5rem}.confirmation-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--clr-accent);font-weight:700;margin-bottom:.65rem}.confirmation-card h1{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);line-height:1.05;letter-spacing:-.03em;margin-bottom:.75rem}.confirmation-sub{color:var(--clr-text-secondary);font-size:.98rem;line-height:1.6;margin-bottom:1.75rem}.confirmation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-bottom:1.5rem}.confirmation-item{padding:1rem 1.05rem;border:1px solid var(--clr-border);border-radius:var(--radius-lg);background:#fcfcfc}.confirmation-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--clr-text-muted);margin-bottom:.4rem}.confirmation-item strong{display:block;font-size:.98rem;color:var(--clr-text-primary)}.confirmation-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.confirmation-note{margin-top:1rem;font-size:.88rem;color:var(--clr-text-muted);line-height:1.55}.auth-page{min-height:calc(100vh - var(--nav-height));display:flex;align-items:center;justify-content:center;padding:2rem var(--side-pad)}.auth-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-xl);padding:2.5rem;width:100%;max-width:420px;box-shadow:var(--shadow-md)}.auth-card h1{font-family:var(--font-display);font-size:1.8rem;font-weight:600;margin-bottom:6px;letter-spacing:-.02em}.auth-sub{font-size:.9rem;color:var(--clr-text-secondary);margin-bottom:1.75rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form .btn-primary{margin-top:8px;padding:12px;font-size:.95rem}.auth-toggle{text-align:center;font-size:.875rem;color:var(--clr-text-secondary);margin-top:1.25rem}.auth-toggle button{color:var(--clr-accent);font-weight:600;font-size:.875rem;transition:opacity var(--transition)}.auth-toggle button:hover{opacity:.8}.dashboard-page{max-width:var(--max-width);margin:0 auto;padding:2.5rem var(--side-pad) 4rem}.dashboard-welcome{margin-bottom:2rem}.dashboard-welcome h1{font-family:var(--font-display);font-size:2rem;font-weight:600;letter-spacing:-.02em;margin-bottom:4px}.dashboard-welcome p{font-size:.95rem;color:var(--clr-text-secondary)}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:2.5rem}.stat-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:6px}.stat-label{font-size:.8rem;font-weight:500;color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:2rem;font-weight:600;color:var(--clr-text-primary);line-height:1}.stat-hint{font-size:.82rem;color:var(--clr-text-secondary);line-height:1.45}.dashboard-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.admin-quick-links{margin-top:1.5rem}.dash-link-card{display:flex;align-items:center;gap:16px;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition)}.dash-link-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px);border-color:var(--clr-border-md)}.dash-link-icon{font-size:1.75rem;flex-shrink:0}.dash-link-card strong{font-size:.95rem;font-weight:600;color:var(--clr-text-primary);display:block;margin-bottom:2px}.dash-link-card p{font-size:.85rem;color:var(--clr-text-secondary);line-height:1.4}.stat-footnote{font-size:.8rem;color:var(--clr-text-muted)}.admin-page{max-width:var(--max-width);margin:0 auto;padding:2.5rem var(--side-pad) 4rem}.admin-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem}.admin-kicker{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--clr-accent);margin-bottom:.5rem}.admin-hero h1{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1.1;letter-spacing:-.02em;margin-bottom:.6rem}.admin-sub{max-width:720px;font-size:.98rem;color:var(--clr-text-secondary)}.admin-hero-card{min-width:240px;padding:1.25rem 1.4rem;border-radius:var(--radius-lg);border:1px solid var(--clr-border);background:linear-gradient(180deg,#fff,#faf8f5);box-shadow:var(--shadow-sm)}.admin-hero-label{display:inline-block;font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--clr-text-muted);margin-bottom:.5rem}.admin-hero-card strong{display:block;font-size:1rem;margin-bottom:.25rem}.admin-hero-card p{font-size:.9rem;color:var(--clr-text-secondary)}.admin-stats{margin-bottom:2rem}.admin-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:1.5rem}.admin-column{display:flex;flex-direction:column;gap:1.5rem}.admin-panel{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-sm)}.panel-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.25rem}.panel-header h2{font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.panel-header p{font-size:.9rem;color:var(--clr-text-secondary)}.admin-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.admin-row-card{border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:1rem 1.1rem;background:#fff;display:flex;flex-direction:column;height:100%}.admin-row-main{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.65rem}.admin-row-main h3{font-size:1rem;font-weight:600;margin-bottom:.2rem}.admin-row-main p{font-size:.88rem;color:var(--clr-text-secondary)}.admin-row-meta{display:flex;flex-wrap:wrap;gap:.9rem;font-size:.82rem;color:var(--clr-text-muted)}.admin-row-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}@media (max-width: 1100px){.admin-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.admin-list{grid-template-columns:1fr}}.admin-note{margin-top:.75rem;font-size:.88rem;color:var(--clr-text-secondary);line-height:1.55}.admin-form{display:flex;flex-direction:column;gap:1rem}.checkbox-field{justify-content:flex-end}.checkbox-field label{display:flex;align-items:center;gap:.55rem;padding-top:1.7rem;font-size:.9rem;color:var(--clr-text-primary)}.checkbox-field input{width:auto;margin:0}.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.filter-bar .filter-chip{text-transform:capitalize}.reservations-page{max-width:var(--max-width);margin:0 auto;padding:2.5rem var(--side-pad) 4rem;display:flex;flex-direction:column;gap:2rem}.reservations-page h1{font-family:var(--font-display);font-size:2rem;font-weight:600;letter-spacing:-.02em}.reservation-card{display:flex;gap:1rem;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:12px;transition:box-shadow var(--transition)}.reservation-card:hover{box-shadow:var(--shadow-sm)}.res-card-left{flex-shrink:0}.res-thumb{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-md)}.res-card-body{flex:1;min-width:0}.res-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.res-card-top h3{font-size:1rem;font-weight:600;color:var(--clr-text-primary)}.res-meta{font-size:.875rem;color:var(--clr-text-secondary);margin-bottom:3px}.res-requests{font-size:.85rem;color:var(--clr-text-muted);font-style:italic;margin:6px 0}.res-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.status-badge{display:inline-block;font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:999px;text-transform:capitalize;letter-spacing:.02em;white-space:nowrap}.status-pending{background:var(--clr-warning-light);color:var(--clr-warning)}.status-confirmed{background:var(--clr-success-light);color:var(--clr-success)}.status-cancelled{background:var(--clr-danger-light);color:var(--clr-danger)}.profile-page{max-width:540px;margin:3rem auto;padding:0 var(--side-pad) 4rem}.profile-page h1{font-family:var(--font-display);font-size:1.8rem;font-weight:600;letter-spacing:-.02em;margin-bottom:1.5rem}.profile-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-sm)}.profile-email{display:flex;flex-direction:column;gap:4px;padding-bottom:1.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--clr-border)}.profile-label{font-size:.8rem;font-weight:500;color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:.05em}.profile-email span:last-child{font-size:.95rem;color:var(--clr-text-primary)}.profile-form{display:flex;flex-direction:column;gap:1.25rem}.profile-form .btn-primary{align-self:flex-start;margin-top:4px;padding:11px 24px}@media (max-width: 768px){:root{--side-pad: 16px}.navbar-toggle{display:inline-flex}.navbar-links{display:none}.navbar-mobile{position:absolute;left:0;right:0;top:100%;background:#f7f5f2fa;border-bottom:1px solid var(--clr-border);box-shadow:var(--shadow-md);padding:.75rem var(--side-pad) 1rem;flex-direction:column;gap:.5rem;overflow:hidden;max-height:0;opacity:0;transform:translateY(-8px);pointer-events:none;transition:max-height .22s ease,opacity .18s ease,transform .18s ease}.navbar-mobile.open{display:flex;max-height:80vh;opacity:1;transform:translateY(0);pointer-events:auto}.navbar-mobile a,.navbar-mobile button{width:100%;justify-content:flex-start}.navbar-mobile a{font-size:.95rem;font-weight:500;color:var(--clr-text-secondary);padding:10px 12px;border-radius:var(--radius-md);transition:color var(--transition),background var(--transition)}.navbar-mobile a:hover{color:var(--clr-text-primary);background:var(--clr-surface)}.navbar-mobile .navbar-link.active{color:var(--clr-text-primary);background:#c84b2f14}.navbar-mobile .btn-primary,.navbar-mobile .btn-ghost{margin-top:.25rem;padding:10px 12px;border:1px solid var(--clr-border)}.navbar-mobile .btn-primary{color:#fff}.navbar-mobile-signout{background:transparent}.hero{padding:2.5rem 0 2rem}.detail-hero{height:240px}.booking-card{padding:1.75rem}.calendar-picker{max-width:100%}.calendar-popover{width:min(320px,calc(100vw - 20px))}.auth-card{padding:1.75rem}.reservation-card{flex-direction:column}.res-thumb{width:100%;height:140px}.admin-layout{grid-template-columns:1fr}.admin-hero{align-items:flex-start}.confirmation-grid{grid-template-columns:1fr 1fr}.form-group select,.dropdown-select-trigger,.form-group input[type=date]{font-size:.9rem;padding:9px 12px}.menu-filter-select,.menu-filter-select .dropdown-select{width:100%}.booking-form .form-row,.admin-form .form-row{grid-template-columns:1fr}}@media (max-width: 480px){.menu-header{flex-direction:column}.dashboard-stats{grid-template-columns:1fr 1fr}.sidebar-card{position:static}.confirmation-grid{grid-template-columns:1fr}.calendar-popover{width:min(300px,calc(100vw - 16px));padding:10px}.form-group select,.dropdown-select-trigger,.form-group input[type=date]{font-size:.88rem;padding:8px 10px}}
