.header{background-color:#06f;padding:var(--spacing-md) 0;position:relative}.header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(to bottom,rgba(255,255,255,.3) 0%,transparent 100%)}.header__container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-xl);display:flex;justify-content:space-between;align-items:center}.header__logo{display:flex;align-items:center}.header__logo-image{height:40px;width:auto;display:block}.header__nav{display:flex;gap:var(--spacing-xl);align-items:center}.header__nav-link{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:#fff;text-decoration:none;transition:color .2s ease}.header__nav-link:hover{color:#fffc}.header__nav-link--inactive{color:#fff9}.header__nav-link--inactive:hover{color:#ffffff80}.header__menu-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:none;border:none;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}.header__menu-btn-icon{display:block;width:24px;height:2px;background:currentColor;border-radius:1px;box-shadow:0 8px 0 currentColor,0 16px 0 currentColor}.header__sheet-overlay,.header__sheet{display:none}@media (max-width: 768px){.header__container{padding:0 var(--spacing-md)}.header__logo-image{height:32px}.header__nav{display:none}.header__menu-btn{display:flex}.header__sheet-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:200}.header__sheet{display:flex;flex-direction:column;position:fixed;top:0;left:0;right:0;z-index:201;background-color:#06f;padding:var(--spacing-md) var(--spacing-md) var(--spacing-2xl);border-radius:0 0 16px 16px;box-shadow:0 10px 40px #0003}.header__sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl)}.header__sheet-logo{height:32px;width:auto}.header__sheet-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:none;border:none;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}.header__sheet-close-icon{position:relative;width:20px;height:20px}.header__sheet-close-icon:before,.header__sheet-close-icon:after{content:"";position:absolute;left:50%;top:50%;width:20px;height:2px;background:currentColor;border-radius:1px}.header__sheet-close-icon:before{transform:translate(-50%,-50%) rotate(45deg)}.header__sheet-close-icon:after{transform:translate(-50%,-50%) rotate(-45deg)}.header__sheet-nav{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:stretch}.header__sheet-link{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);color:#fff;text-decoration:none;padding:var(--spacing-md) 0;transition:color .2s ease}.header__sheet-link:hover{color:#fffc}.header__sheet-link--inactive{color:#fff9}.header__sheet-link--inactive:hover{color:#ffffff80}}.footer{background-color:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--spacing-lg) 0;margin-top:auto}.footer__container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);text-align:center}.footer__text{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.filter-header{display:flex;justify-content:flex-end;align-items:center;padding:var(--spacing-md) var(--spacing-lg);gap:var(--spacing-md)}.filter-header__results{font-family:var(--font-family-roboto);font-size:12px;color:var(--color-regular-blue-600);margin-right:auto}.filter-header__illustration{height:32px;width:auto;display:block}.filter-header__icon{height:24px;width:24px;display:block;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md);font-family:var(--font-family-roboto);font-weight:var(--font-weight-semibold);transition:all .2s ease;cursor:pointer;position:relative}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-label-small-size);line-height:var(--font-label-small-line-height)}.btn--md{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-label-medium-size);line-height:var(--font-label-medium-line-height)}.btn--lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-label-large-size);line-height:var(--font-label-large-line-height)}.btn--primary{background-color:var(--color-regular-blue-600);color:#fff;border:none}.btn--primary:hover:not(:disabled){background-color:var(--color-regular-blue-800)}.btn--primary:active:not(:disabled){background-color:var(--color-regular-blue-400)}.btn--primary:focus-visible{background-color:var(--color-regular-blue-600);outline:2px solid var(--color-chili-crisp-600);outline-offset:2px}.btn--primary:focus-visible:hover:not(:disabled){background-color:var(--color-regular-blue-800)}.btn--secondary{background-color:transparent;color:var(--color-regular-blue-600);border:1px solid var(--color-regular-blue-600)}.btn--secondary:hover:not(:disabled){color:var(--color-regular-blue-800);border-color:var(--color-regular-blue-800)}.btn--secondary:active:not(:disabled){color:var(--color-regular-blue-400);border-color:var(--color-regular-blue-400)}.btn--secondary:focus-visible{color:var(--color-regular-blue-600);border-color:var(--color-regular-blue-600);outline:2px solid var(--color-chili-crisp-600);outline-offset:2px}.btn--secondary:focus-visible:hover:not(:disabled){color:var(--color-regular-blue-800);border-color:var(--color-regular-blue-800)}.btn--outline{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn--outline:hover:not(:disabled){background-color:var(--color-neutral-100);border-color:var(--color-neutral-300)}.btn--outline:active:not(:disabled){background-color:var(--color-neutral-200);transform:scale(.98)}.btn--outline:focus-visible{outline:2px solid var(--color-regular-blue-600);outline-offset:2px}.filter-panel__overlay{position:fixed;top:calc(var(--spacing-md) * 2 + 40px);left:0;right:0;bottom:0;background-color:#3c4051b3;z-index:100}.filter-panel{position:fixed;top:calc(var(--spacing-md) * 2 + 40px);left:0;right:0;height:calc((100vh - calc(var(--spacing-md) * 2 + 40px)) * .7);background-color:var(--color-surface);border-radius:0 0 var(--radius-lg) var(--radius-lg);z-index:101;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;overflow-y:auto;display:flex;flex-direction:column}.filter-panel__content{max-width:1200px;margin:0 auto;padding:var(--spacing-xl);flex:1;display:flex;flex-direction:column;min-height:0}.filter-panel__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-2xl);flex:1;overflow-y:auto;min-height:0}.filter-panel__column{display:flex;flex-direction:column;gap:var(--spacing-xl)}.filter-panel__section{display:flex;flex-direction:column;gap:var(--spacing-md)}.filter-panel__section-title{font-family:var(--font-family-moret);font-size:var(--font-title-large-size);font-weight:var(--font-title-medium-weight);color:var(--color-regular-blue-600);margin:0}.filter-panel__tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.filter-panel__tag{padding:var(--spacing-xs) var(--spacing-md);border-radius:9999px;font-family:var(--font-family-roboto);font-size:var(--font-label-small-size);font-weight:var(--font-weight-normal);line-height:var(--font-label-small-line-height);background-color:var(--color-surface);color:var(--color-regular-blue-600);border:1px solid var(--color-regular-blue-600);cursor:pointer;transition:all .2s ease;white-space:nowrap}.filter-panel__tag:hover{background-color:var(--color-regular-blue-50)}.filter-panel__tag--selected{background-color:var(--color-regular-blue-600);color:#fff;border-color:var(--color-regular-blue-600)}.filter-panel__tag--selected:hover{background-color:var(--color-regular-blue-800);border-color:var(--color-regular-blue-800)}.filter-panel__actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);box-shadow:0 -4px 6px -1px #0000001a,0 -2px 4px -2px #0000001a;flex-shrink:0;margin-left:calc(-1 * var(--spacing-xl));margin-right:calc(-1 * var(--spacing-xl));padding-left:var(--spacing-xl);padding-right:var(--spacing-xl);padding-bottom:var(--spacing-lg)}@media (max-width: 768px){.filter-panel__overlay{top:calc(var(--spacing-md) * 2 + 32px)}.filter-panel{top:calc(var(--spacing-md) * 2 + 32px);height:calc(100vh - calc(var(--spacing-md) * 2 + 32px) - 80px);border-radius:0}@supports (height: 100dvh){.filter-panel{height:calc(100dvh - calc(var(--spacing-md) * 2 + 32px))}}.filter-panel__content{padding:var(--spacing-lg)}.filter-panel__grid{grid-template-columns:1fr;gap:var(--spacing-xl)}.filter-panel__actions{flex-direction:column;position:sticky;bottom:0;background-color:var(--color-surface);margin-top:auto;padding-bottom:max(80px,calc(50px + env(safe-area-inset-bottom,0px)))}.filter-panel__actions .btn{width:100%}.filter-panel__content{padding-bottom:0}.filter-panel__grid{padding-bottom:var(--spacing-lg)}}.restaurant-list-item{display:block;padding:var(--spacing-sm) var(--spacing-lg);color:var(--color-regular-blue-600);text-decoration:none;font-family:var(--font-family-roboto);font-size:var(--font-body-medium-size);font-weight:var(--font-body-medium-weight);transition:background-color .2s ease;cursor:pointer}.restaurant-list-item:hover{background-color:var(--color-regular-blue-50)}.restaurant-list-item--selected{background-color:var(--color-regular-blue-100);font-weight:var(--font-weight-semibold)}.tag{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:9999px;font-family:var(--font-family-roboto);font-size:var(--font-label-small-size);font-weight:var(--font-weight-normal);line-height:var(--font-label-small-line-height);border:none}.tag--default{background-color:var(--color-regular-blue-600);color:#fff}.tag--light{background-color:var(--color-regular-blue-100);color:var(--color-reservation-600)}.restaurant-detail-panel{position:absolute;top:var(--spacing-xl);right:var(--spacing-lg);bottom:var(--spacing-xl);width:400px;max-width:calc(100% - var(--spacing-xl));max-height:calc(100% - var(--spacing-xl) * 2);background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-lg);z-index:10;display:flex;flex-direction:column;overflow-y:auto}.restaurant-detail-panel__close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:none;border:none;color:var(--color-regular-blue-600);font-family:var(--font-family-roboto);font-size:var(--font-body-small-size);cursor:pointer;padding:var(--spacing-xs);text-transform:lowercase;z-index:1;flex-shrink:0}.restaurant-detail-panel__content{flex:1;overflow-y:auto;min-height:0}.restaurant-detail-panel__close:hover{color:var(--color-regular-blue-800)}.restaurant-detail-panel__name{font-family:var(--font-family-moret);font-size:var(--font-header-medium-size);font-weight:var(--font-header-medium-weight);font-style:italic;color:var(--color-regular-blue-600);margin:var(--spacing-md) 0;line-height:var(--font-header-medium-line-height)}.restaurant-detail-panel__tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg)}.restaurant-detail-panel__section{margin-bottom:var(--spacing-lg)}.restaurant-detail-panel__section-title{font-family:var(--font-family-roboto);font-size:var(--font-title-small-size);font-weight:var(--font-title-medium-weight);color:var(--color-regular-blue-600);margin:0 0 var(--spacing-sm) 0}.restaurant-detail-panel__section-content{font-family:var(--font-family-roboto);font-size:var(--font-body-medium-size);font-weight:var(--font-body-medium-weight);color:var(--color-text);line-height:var(--font-body-medium-line-height);margin:0}.restaurant-detail-panel__cta-container{position:sticky;bottom:0;margin-left:calc(-1 * var(--spacing-xl));margin-right:calc(-1 * var(--spacing-xl));padding:var(--spacing-lg) var(--spacing-xl) 0 var(--spacing-xl);background-color:var(--color-surface);box-shadow:0 -4px 6px -1px #0000001a,0 -2px 4px -2px #0000001a;flex-shrink:0;z-index:1}.restaurant-detail-panel__cta{width:100%;margin:0}.restaurant-detail-panel__overlay{display:none}.restaurant-detail-panel__modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center}.restaurant-detail-panel__modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-lg);z-index:1001;width:90%;max-width:400px;display:flex;flex-direction:column;gap:var(--spacing-lg)}.restaurant-detail-panel__modal-title{font-family:var(--font-family-moret);font-size:var(--font-header-small-size);font-weight:var(--font-header-small-weight);font-style:italic;color:var(--color-regular-blue-600);margin:0;text-align:center}.restaurant-detail-panel__modal-subtitle{font-family:var(--font-family-roboto);font-size:var(--font-body-medium-size);color:var(--color-text);margin:0;text-align:center}.restaurant-detail-panel__modal-options{display:flex;flex-direction:column;gap:var(--spacing-md)}.restaurant-detail-panel__modal-option{width:100%}.restaurant-detail-panel__modal-close{background:none;border:none;color:var(--color-regular-blue-600);font-family:var(--font-family-roboto);font-size:var(--font-body-medium-size);font-weight:var(--font-weight-semibold);cursor:pointer;padding:var(--spacing-sm);text-align:center;text-transform:lowercase}.restaurant-detail-panel__modal-close:hover{color:var(--color-regular-blue-800)}@media (max-width: 768px){.restaurant-detail-panel__overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:9;cursor:pointer}.restaurant-detail-panel{position:fixed;top:80px;left:0;right:0;bottom:0;width:100%;max-width:none;max-height:none;height:auto;border-radius:16px 16px 0 0;box-shadow:0 -4px 20px #00000026;padding-bottom:max(var(--spacing-xl),env(safe-area-inset-bottom,0px));z-index:10}}.restaurants-map__wrapper{position:relative;width:100%;height:100%;min-height:400px}.restaurants-map{width:100%;height:100%;min-height:400px}.restaurants-map__loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:#00000080;z-index:5}.restaurants-map__loading-message{font-family:var(--font-family-roboto);font-size:var(--font-body-medium-size);font-weight:var(--font-weight-medium);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.restaurants-map--error{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-secondary);font-family:var(--font-family-roboto);font-size:var(--font-body-medium-size);padding:var(--spacing-xl);text-align:center}.restaurants-map__error-hint{margin-top:var(--spacing-sm);font-size:var(--font-body-small-size);color:var(--color-text-muted)}.list-page{display:flex;height:calc(100vh - 80px);overflow:hidden}.list-page__sidebar{width:400px;min-width:300px;background-color:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden}.list-page__fallback-banner{flex-shrink:0;padding:var(--spacing-sm) var(--spacing-lg);font-family:var(--font-family-roboto);font-size:var(--font-size-sm);color:var(--color-text-secondary);background-color:var(--color-neutral-100);border-bottom:1px solid var(--color-border)}.list-page__restaurant-list{flex:1;overflow-y:auto;padding:var(--spacing-sm) 0}.list-page__map-container{flex:1;position:relative;background-color:var(--color-neutral-100);box-shadow:inset 0 2px 8px #0000001a;overflow:hidden}.list-page__loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-secondary);font-family:var(--font-family-roboto)}.list-page__empty-state{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-lg);text-align:center}.list-page__empty-message{font-family:var(--font-family-roboto);font-size:var(--font-body-medium-size);color:var(--color-text);line-height:var(--font-body-medium-line-height);margin:0}.list-page__clear-filters-link{background:none;border:none;color:var(--color-regular-blue-600);text-decoration:underline;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;margin:0}.list-page__clear-filters-link:hover{color:var(--color-regular-blue-800);text-decoration:none}.list-page__clear-filters-link:focus-visible{outline:2px solid var(--color-chili-crisp-600);outline-offset:2px;border-radius:2px}@media (max-width: 1024px){.list-page__sidebar{width:300px;min-width:250px}}@media (max-width: 768px){.list-page{flex-direction:column;height:calc(100vh - 80px);min-height:0}@supports (height: 100dvh){.list-page{height:calc(100dvh - 80px)}}.list-page__sidebar{width:100%;flex:0 0 50%;min-height:0;border-right:none;border-bottom:none}.list-page__map-container{flex:0 0 50%;min-height:0;display:flex;flex-direction:column}.list-page__map-container .restaurants-map__wrapper{flex:1;min-height:0}}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);background-color:var(--color-neutral-100)}.admin-login__card{width:100%;max-width:400px;padding:var(--spacing-2xl);background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center}.admin-login__title{font-family:var(--font-family-moret);font-size:var(--font-header-medium-size);font-weight:var(--font-header-medium-weight);color:var(--color-regular-blue-600);margin:0 0 var(--spacing-md)}.admin-login__subtitle{font-family:var(--font-family-roboto);font-size:var(--font-body-medium-size);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl)}.admin-login__message{font-family:var(--font-family-roboto);font-size:var(--font-body-medium-size);color:var(--color-text-secondary);margin:0}.admin-login__button{width:100%}.admin-layout{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-surface)}.admin-layout__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-xl);background-color:var(--color-regular-blue-600);color:#fff;border-bottom:1px solid rgba(255,255,255,.2)}.admin-layout__header-left{display:flex;align-items:center;gap:var(--spacing-xl)}.admin-layout__brand{font-family:var(--font-family-moret);font-size:var(--font-header-small-size);font-weight:var(--font-header-small-weight);margin:0}.admin-layout__nav{display:flex;gap:var(--spacing-sm)}.admin-layout__nav-link{font-family:var(--font-family-roboto);font-size:var(--font-size-sm);color:#ffffffd9;text-decoration:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.admin-layout__nav-link:hover{color:#fff;background-color:#ffffff26}.admin-layout__nav-link--active{color:#fff;background-color:#fff3}.admin-layout__user{display:flex;align-items:center;gap:var(--spacing-md)}.admin-layout__email{font-family:var(--font-family-roboto);font-size:var(--font-size-sm);opacity:.9}.admin-layout__main{flex:1;padding:var(--spacing-xl)}.admin-layout__loading{display:flex;align-items:center;justify-content:center;min-height:40vh;font-family:var(--font-family-roboto);font-size:var(--font-body-medium-size);color:var(--color-text-secondary);margin:0}.admin-dashboard{max-width:800px}.admin-dashboard__title{font-family:var(--font-family-moret);font-size:var(--font-title-large-size);font-weight:var(--font-title-medium-weight);color:var(--color-regular-blue-600);margin:0 0 var(--spacing-md)}.admin-dashboard__subtitle{font-family:var(--font-family-roboto);font-size:var(--font-body-medium-size);color:var(--color-text-secondary);margin:0}.admin-unauthorized{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);background-color:var(--color-neutral-100)}.admin-unauthorized__card{width:100%;max-width:400px;padding:var(--spacing-2xl);background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center}.admin-unauthorized__title{font-family:var(--font-family-moret);font-size:var(--font-header-medium-size);font-weight:var(--font-header-medium-weight);color:var(--color-regular-blue-600);margin:0 0 var(--spacing-md)}.admin-unauthorized__message{font-family:var(--font-family-roboto);font-size:var(--font-body-medium-size);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl);line-height:var(--font-body-medium-line-height)}.admin-restaurants-table-wrapper{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface)}.admin-restaurants-table{width:100%;border-collapse:collapse;font-family:var(--font-family-roboto);font-size:var(--font-size-sm)}.admin-restaurants-table th,.admin-restaurants-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.admin-restaurants-table th{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);background-color:var(--color-neutral-50)}.admin-restaurants-table tbody tr:hover{background-color:var(--color-neutral-50)}.admin-restaurants-table__name-link{background:none;border:none;padding:0;font-family:inherit;font-size:inherit;font-weight:var(--font-weight-semibold);color:var(--color-regular-blue-600);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.admin-restaurants-table__name-link:hover{color:var(--color-regular-blue-800)}.admin-restaurants-table__pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:capitalize;margin-right:var(--spacing-xs)}.admin-restaurants-table__pill--published{background-color:var(--color-regular-blue-100);color:var(--color-regular-blue-800)}.admin-restaurants-table__pill--draft{background-color:var(--color-neutral-200);color:var(--color-neutral-700)}.admin-restaurants-table__toggle{margin-left:var(--spacing-xs)}.admin-restaurants-table__actions{display:flex;gap:var(--spacing-xs)}.admin-restaurants-table__delete-btn{color:var(--color-chili-crisp-600);border-color:var(--color-chili-crisp-600)}.admin-restaurants-table__delete-btn:hover{background-color:var(--color-chili-crisp-600);color:#fff}.admin-restaurants-table__empty{padding:var(--spacing-2xl);text-align:center;font-family:var(--font-family-roboto);font-size:var(--font-body-medium-size);color:var(--color-text-secondary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-delete-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:#00000080;z-index:1000;padding:var(--spacing-xl)}.admin-delete-dialog{width:100%;max-width:400px;padding:var(--spacing-xl);background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.admin-delete-dialog__title{font-family:var(--font-family-moret);font-size:var(--font-title-medium-size);font-weight:var(--font-title-medium-weight);color:var(--color-regular-blue-600);margin:0 0 var(--spacing-md)}.admin-delete-dialog__message{font-family:var(--font-family-roboto);font-size:var(--font-body-medium-size);color:var(--color-text);margin:0 0 var(--spacing-xl);line-height:var(--font-body-medium-line-height)}.admin-delete-dialog__actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.admin-delete-dialog__confirm{background-color:var(--color-chili-crisp-600);color:#fff}.admin-delete-dialog__confirm:hover{background-color:#cc2600}.admin-restaurants-page{max-width:1200px}.admin-restaurants-page__header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.admin-restaurants-page__title{font-family:var(--font-family-moret);font-size:var(--font-title-large-size);font-weight:var(--font-title-medium-weight);color:var(--color-regular-blue-600);margin:0 0 var(--spacing-xs)}.admin-restaurants-page__count{font-family:var(--font-family-roboto);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.admin-restaurants-page__add{margin-left:auto;text-decoration:none}.admin-restaurants-page__toolbar{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:flex-end;margin-bottom:var(--spacing-lg)}.admin-restaurants-page__search{flex:1;min-width:200px;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family-roboto);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface)}.admin-restaurants-page__search:focus{outline:2px solid var(--color-regular-blue-600);outline-offset:2px}.admin-restaurants-page__filters{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:center}.admin-restaurants-page__filter-label{display:flex;flex-direction:column;gap:var(--spacing-xs);font-family:var(--font-family-roboto);font-size:var(--font-label-small-size);font-weight:var(--font-label-small-weight);color:var(--color-text-secondary)}.admin-restaurants-page__filter-label select{padding:var(--spacing-sm) var(--spacing-md);font-family:inherit;font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);min-width:120px}.admin-restaurants-page__filter-label select:focus{outline:2px solid var(--color-regular-blue-600);outline-offset:2px}.admin-restaurants-page__loading,.admin-restaurants-page__error{font-family:var(--font-family-roboto);font-size:var(--font-body-medium-size);color:var(--color-text-secondary);margin:0}.admin-restaurants-page__error{color:var(--color-chili-crisp-600)}.tag-input{display:flex;flex-direction:column;gap:var(--spacing-xs)}.tag-input__chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs);min-height:36px;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface)}.tag-input__chips:focus-within{outline:2px solid var(--color-regular-blue-600);outline-offset:2px}.tag-input__chip{display:inline-flex;align-items:center;gap:2px;padding:2px 6px 2px 8px;font-family:var(--font-family-roboto);font-size:var(--font-size-sm);background-color:var(--color-regular-blue-50);color:var(--color-regular-blue-800);border:1px solid var(--color-regular-blue-200);border-radius:var(--radius-sm)}.tag-input__chip-label{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-input__chip-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;margin:0;background:none;border:none;color:var(--color-regular-blue-600);font-size:1.1rem;line-height:1;cursor:pointer;border-radius:var(--radius-sm)}.tag-input__chip-remove:hover{background-color:var(--color-regular-blue-200);color:var(--color-regular-blue-800)}.tag-input__chip-remove:focus-visible{outline:2px solid var(--color-regular-blue-600);outline-offset:1px}.tag-input__input{flex:1;min-width:120px;padding:4px 0;font-family:var(--font-family-roboto);font-size:var(--font-size-sm);border:none;background:none}.tag-input__input:focus{outline:none}.tag-input__input::placeholder{color:var(--color-text-muted)}.tag-input__hint{font-family:var(--font-family-roboto);font-size:var(--font-size-xs);color:var(--color-text-muted)}.multi-select{position:relative;display:flex;flex-direction:column;gap:var(--spacing-xs)}.multi-select__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:40px;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family-roboto);font-size:var(--font-size-base);text-align:left;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.multi-select__trigger:hover{border-color:var(--color-text-muted)}.multi-select--open .multi-select__trigger,.multi-select__trigger:focus-visible{outline:2px solid var(--color-regular-blue-600);outline-offset:2px}.multi-select__summary{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select__summary:empty:before{content:attr(data-placeholder);color:var(--color-text-muted)}.multi-select__chevron{flex-shrink:0;margin-left:var(--spacing-sm);color:var(--color-text-muted);font-size:.75em}.multi-select__dropdown{position:absolute;z-index:20;top:100%;left:0;right:0;margin-top:2px;max-height:240px;overflow-y:auto;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a}.multi-select__option{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family-roboto);font-size:var(--font-size-base);text-align:left;color:var(--color-text);background:none;border:none;cursor:pointer}.multi-select__option:hover,.multi-select__option[aria-selected=true]{background-color:var(--color-regular-blue-50)}.multi-select__option-check{flex-shrink:0;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);color:var(--color-regular-blue-600);border:1px solid var(--color-regular-blue-300);border-radius:var(--radius-sm);background-color:var(--color-surface)}.multi-select__option[aria-selected=true] .multi-select__option-check{background-color:var(--color-regular-blue-100);border-color:var(--color-regular-blue-500)}.multi-select__option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select__empty{padding:var(--spacing-md);font-family:var(--font-family-roboto);font-size:var(--font-size-sm);color:var(--color-text-muted)}.restaurant-form{display:flex;flex-direction:column;gap:var(--spacing-xl)}.restaurant-form__header{margin-bottom:0}.restaurant-form__title{font-family:var(--font-family-moret);font-size:var(--font-title-large-size);font-weight:var(--font-title-medium-weight);color:var(--color-regular-blue-600);margin:0 0 var(--spacing-sm)}.restaurant-form__message{font-family:var(--font-family-roboto);font-size:var(--font-size-sm);margin:0}.restaurant-form__message--success{color:var(--color-regular-blue-800)}.restaurant-form__message--error{color:var(--color-chili-crisp-600)}.restaurant-form__fields{display:flex;flex-direction:column;gap:var(--spacing-lg)}.restaurant-form__label{display:flex;flex-direction:column;gap:var(--spacing-xs);font-family:var(--font-family-roboto);font-size:var(--font-label-small-size);font-weight:var(--font-label-small-weight);color:var(--color-text-secondary)}.restaurant-form__label--checkbox{flex-direction:row;align-items:center}.restaurant-form__label--checkbox input{margin-right:var(--spacing-sm)}.restaurant-form__required{color:var(--color-chili-crisp-600)}.restaurant-form__input,.restaurant-form__select,.restaurant-form__textarea{padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family-roboto);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface)}.restaurant-form__input:focus,.restaurant-form__select:focus,.restaurant-form__textarea:focus{outline:2px solid var(--color-regular-blue-600);outline-offset:2px}.restaurant-form__textarea{resize:vertical;min-height:80px}.restaurant-form__row{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);align-items:flex-end}.restaurant-form__select{min-width:140px}.restaurant-form__place-lookup{display:flex;flex-direction:column;gap:var(--spacing-sm)}.restaurant-form__lookup-error{font-family:var(--font-family-roboto);font-size:var(--font-size-sm);color:var(--color-chili-crisp-600);margin:0}.restaurant-form__lookup-message{font-family:var(--font-family-roboto);font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.restaurant-form__candidates{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm)}.restaurant-form__candidates-label{font-family:var(--font-family-roboto);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.restaurant-form__details{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-neutral-50)}.restaurant-form__details-summary{padding:var(--spacing-md) var(--spacing-lg);font-family:var(--font-family-roboto);font-size:var(--font-title-small-size);font-weight:var(--font-title-small-weight);color:var(--color-regular-blue-600);cursor:pointer;list-style:none}.restaurant-form__details-summary::-webkit-details-marker{display:none}.restaurant-form__details-summary:before{content:"▸ "}.restaurant-form__details[open] .restaurant-form__details-summary:before{content:"▾ "}.restaurant-form__details-content{padding:0 var(--spacing-lg) var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg)}.restaurant-form__readonly{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-neutral-100)}.restaurant-form__readonly legend{font-family:var(--font-family-roboto);font-size:var(--font-label-small-size);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);padding:0 var(--spacing-xs)}.restaurant-form__readonly-list{display:grid;gap:var(--spacing-sm);margin:var(--spacing-sm) 0 0;font-family:var(--font-family-roboto);font-size:var(--font-size-sm)}.restaurant-form__readonly-list dt{font-weight:var(--font-weight-semibold);color:var(--color-text-muted);margin:0}.restaurant-form__readonly-list dd{margin:2px 0 0;color:var(--color-text)}.restaurant-form__readonly-list code{font-size:var(--font-size-xs);background-color:var(--color-surface);padding:2px 6px;border-radius:var(--radius-sm);word-break:break-all}.restaurant-form__actions{position:sticky;bottom:0;display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-md) 0;background-color:var(--color-surface);border-top:1px solid var(--color-border);margin-top:var(--spacing-xl)}.admin-restaurant-new{max-width:720px;padding-bottom:80px}.admin-restaurant-new__back{margin-bottom:var(--spacing-lg)}.admin-restaurant-new__back a{font-family:var(--font-family-roboto);font-size:var(--font-size-sm);color:var(--color-regular-blue-600);text-decoration:underline}.admin-restaurant-new__back a:hover{color:var(--color-regular-blue-800)}.admin-restaurant-edit{max-width:720px;padding-bottom:80px}.admin-restaurant-edit__back{margin-bottom:var(--spacing-lg)}.admin-restaurant-edit__back a{font-family:var(--font-family-roboto);font-size:var(--font-size-sm);color:var(--color-regular-blue-600);text-decoration:underline}.admin-restaurant-edit__back a:hover{color:var(--color-regular-blue-800)}.admin-restaurant-edit__loading,.admin-restaurant-edit__error,.admin-restaurant-edit__not-found{font-family:var(--font-family-roboto);font-size:var(--font-body-medium-size);color:var(--color-text-secondary);margin:0}.admin-restaurant-edit__error,.admin-restaurant-edit__not-found{color:var(--color-chili-crisp-600)}.admin-restaurant-edit__form{display:flex;flex-direction:column;gap:var(--spacing-xl)}.admin-restaurant-edit__header{margin-bottom:0}.admin-restaurant-edit__title{font-family:var(--font-family-moret);font-size:var(--font-title-large-size);font-weight:var(--font-title-medium-weight);color:var(--color-regular-blue-600);margin:0 0 var(--spacing-sm)}.admin-restaurant-edit__message{font-family:var(--font-family-roboto);font-size:var(--font-size-sm);margin:0}.admin-restaurant-edit__message--success{color:var(--color-regular-blue-800)}.admin-restaurant-edit__message--error{color:var(--color-chili-crisp-600)}.admin-restaurant-edit__fields{display:flex;flex-direction:column;gap:var(--spacing-lg)}.admin-restaurant-edit__label{display:flex;flex-direction:column;gap:var(--spacing-xs);font-family:var(--font-family-roboto);font-size:var(--font-label-small-size);font-weight:var(--font-label-small-weight);color:var(--color-text-secondary)}.admin-restaurant-edit__label--checkbox{flex-direction:row;align-items:center}.admin-restaurant-edit__label--checkbox input{margin-right:var(--spacing-sm)}.admin-restaurant-edit__required{color:var(--color-chili-crisp-600)}.admin-restaurant-edit__input,.admin-restaurant-edit__select,.admin-restaurant-edit__textarea{padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family-roboto);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface)}.admin-restaurant-edit__input:focus,.admin-restaurant-edit__select:focus,.admin-restaurant-edit__textarea:focus{outline:2px solid var(--color-regular-blue-600);outline-offset:2px}.admin-restaurant-edit__textarea{resize:vertical;min-height:80px}.admin-restaurant-edit__row{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);align-items:flex-end}.admin-restaurant-edit__select{min-width:140px}.admin-restaurant-edit__details{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-neutral-50)}.admin-restaurant-edit__details-summary{padding:var(--spacing-md) var(--spacing-lg);font-family:var(--font-family-roboto);font-size:var(--font-title-small-size);font-weight:var(--font-title-small-weight);color:var(--color-regular-blue-600);cursor:pointer;list-style:none}.admin-restaurant-edit__details-summary::-webkit-details-marker{display:none}.admin-restaurant-edit__details-summary:before{content:"▸ "}.admin-restaurant-edit__details[open] .admin-restaurant-edit__details-summary:before{content:"▾ "}.admin-restaurant-edit__details-content{padding:0 var(--spacing-lg) var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg)}.admin-restaurant-edit__readonly{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-neutral-100)}.admin-restaurant-edit__readonly legend{font-family:var(--font-family-roboto);font-size:var(--font-label-small-size);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);padding:0 var(--spacing-xs)}.admin-restaurant-edit__readonly-list{display:grid;gap:var(--spacing-sm);margin:var(--spacing-sm) 0 0;font-family:var(--font-family-roboto);font-size:var(--font-size-sm)}.admin-restaurant-edit__readonly-list dt{font-weight:var(--font-weight-semibold);color:var(--color-text-muted);margin:0}.admin-restaurant-edit__readonly-list dd{margin:2px 0 0;color:var(--color-text)}.admin-restaurant-edit__readonly-list code{font-size:var(--font-size-xs);background-color:var(--color-surface);padding:2px 6px;border-radius:var(--radius-sm);word-break:break-all}.admin-restaurant-edit__actions{position:sticky;bottom:0;display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-md) 0;background-color:var(--color-surface);border-top:1px solid var(--color-border);margin-top:var(--spacing-xl)}.app{min-height:100vh;display:flex;flex-direction:column}.app__main{flex:1;overflow:hidden}:root{--color-regular-blue-800: #002699;--color-regular-blue-600: #1f57ff;--color-regular-blue-400: #4271FF;--color-regular-blue-200: #B2C6FF;--color-regular-blue-100: #EBF0FF;--color-regular-blue-50: #F5F7FF;--color-reservation-600: #041B3A;--color-window-seat-600: #3C4051;--color-chili-crisp-600: #FF2F00;--color-zest-600: #FF6940;--color-fortune-cookie-600: #FFBE44;--color-gelato-600: #E0EFEC;--color-neutral-50: #fafafa;--color-neutral-100: #f5f5f5;--color-neutral-200: #e5e5e5;--color-neutral-300: #d4d4d4;--color-neutral-400: #a3a3a3;--color-neutral-500: #737373;--color-neutral-600: #525252;--color-neutral-700: #404040;--color-neutral-800: #262626;--color-neutral-900: #171717;--color-primary: var(--color-brand-blue-vibrant);--color-primary-light: var(--color-brand-blue-light);--color-primary-dark: var(--color-brand-blue-deep);--color-text: var(--color-brand-dark-navy);--color-text-secondary: var(--color-brand-dark-slate);--color-text-muted: var(--color-neutral-500);--color-background: var(--color-neutral-50);--color-surface: #ffffff;--color-border: var(--color-neutral-200);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--font-family-roboto: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-moret: "Moret", "Georgia", "Times New Roman", serif;--font-display-large-size: 4.5rem;--font-display-large-weight: 900;--font-display-large-line-height: 1.1;--font-display-medium-size: 3.5rem;--font-display-medium-weight: 900;--font-display-medium-line-height: 1.1;--font-display-small-size: 2.75rem;--font-display-small-weight: 900;--font-display-small-line-height: 1.1;--font-header-large-size: 2.25rem;--font-header-large-weight: 700;--font-header-large-line-height: 1.2;--font-header-medium-size: 1.875rem;--font-header-medium-weight: 700;--font-header-medium-line-height: 1.2;--font-header-small-size: 1.5rem;--font-header-small-weight: 700;--font-header-small-line-height: 1.3;--font-title-large-size: 1.5rem;--font-title-large-weight: 600;--font-title-large-line-height: 1.4;--font-title-medium-size: 1.125rem;--font-title-medium-weight: 600;--font-title-medium-line-height: 1.4;--font-title-small-size: 1rem;--font-title-small-weight: 600;--font-title-small-line-height: 1.4;--font-body-large-size: 1.125rem;--font-body-large-weight: 400;--font-body-large-line-height: 1.6;--font-body-medium-size: 1rem;--font-body-medium-weight: 400;--font-body-medium-line-height: 1.6;--font-body-small-size: .875rem;--font-body-small-weight: 400;--font-body-small-line-height: 1.6;--font-label-large-size: 1rem;--font-label-large-weight: 600;--font-label-large-line-height: 1.5;--font-label-medium-size: .875rem;--font-label-medium-weight: 600;--font-label-medium-line-height: 1.5;--font-label-small-size: .75rem;--font-label-small-weight: 600;--font-label-small-line-height: 1.5;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-black: 900;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:var(--font-size-base);line-height:1.5;color:var(--color-text);background-color:var(--color-background);min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:1.2;color:var(--color-text)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}a{color:var(--color-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-primary-light)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
