.sidebar{position:fixed;inset:0 auto 0 0;width:248px;padding:24px 14px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column}
.sidebar-brand{display:block;text-decoration:none;margin:0 8px 37px}
.sidebar-brand .brand-logo{width:204px}
.nav-caption{padding:0 16px 12px;color:var(--quiet);font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.admin-nav{display:grid;gap:7px}
.nav-item{min-height:49px;width:100%;display:flex;align-items:center;gap:14px;padding:12px 16px;border:0;border-radius:7px;background:transparent;color:var(--muted);text-decoration:none;font:400 14px/1.3 var(--body);text-align:left}
.nav-item svg{width:21px;height:21px}
.nav-item:hover{background:var(--surface);color:var(--purple)}
.nav-item.active{color:var(--purple);font-weight:500;background:var(--purple-light)}
.sidebar-bottom{margin-top:auto}
.preview-link{margin-bottom:14px}
.local-status{display:flex;align-items:flex-start;gap:9px;padding:18px 16px 0;border-top:1px solid var(--line);font-size:11px;color:var(--purple)}
.local-status>i{margin-top:6px;width:6px;height:6px;flex:none;border-radius:50%;background:var(--orange)}
.local-status small{display:block;color:var(--quiet);margin-top:3px;font-size:10px}
.admin-main{margin-left:248px;padding:34px 32px 45px}
.page-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.page-header h1{font:italic 600 47px/1.06 var(--display);letter-spacing:-.025em;color:var(--purple);margin:8px 0 6px}
.page-header>div>p:last-child{font-size:14px;color:var(--muted)}
.page-header .section-label{font-size:10px;color:var(--quiet)}
.page-header>.button{flex:none}
.preview-banner{display:flex;align-items:center;gap:10px;padding:12px 15px;border:1px solid #e7def0;border-radius:7px;background:var(--surface);color:var(--muted);font-size:12px;line-height:1.5;margin-bottom:25px}
.preview-banner svg{width:17px;height:17px;color:var(--purple)}
.preview-banner strong{font-weight:500;color:var(--purple)}
.toolbar{display:flex;gap:14px;align-items:flex-end;margin-bottom:20px}
.toolbar .search-field{flex:1;max-width:420px}
.category-select{width:200px;font-size:11px;color:var(--muted);gap:5px}
.category-select select{height:44px;font-size:13px;color:var(--ink)}
.view-toggle{display:flex;align-items:center;border:1px solid var(--line);border-radius:7px;overflow:hidden;margin-left:auto}
.view-toggle button{min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 13px;border:0;background:#fff;color:var(--muted);font-size:12px}
.view-toggle svg{width:16px;height:16px}
.view-toggle .selected{background:var(--purple);color:#fff}
.table-scroll{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:9px}
.catalog-table{width:100%;border-collapse:collapse;font-size:13px}
.catalog-table th{padding:14px 15px;background:var(--surface);color:var(--muted);text-align:left;font-size:9px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.catalog-table td{padding:13px 15px;border-top:1px solid var(--line);vertical-align:middle}
.catalog-table tbody tr:hover{background:#fcfbfd}
.catalog-table th:first-child{width:32%}
.catalog-table th:nth-child(3){width:25%}
.service-name{display:flex;align-items:center;gap:13px;min-width:230px}
.service-name img{width:74px;height:74px;object-fit:cover;object-position:center 14%;border:1px solid var(--line);border-radius:7px}
.service-name strong{display:block;font-size:13px;font-weight:500;line-height:1.4}
.service-name small{display:block;margin-top:5px;color:var(--muted);font-size:11px}
.category-pill{display:inline-block;padding:5px 8px;border-radius:5px;background:var(--purple-light);color:var(--purple);font-size:10px;white-space:nowrap}
.price-lines{display:grid;gap:7px;min-width:120px}
.price-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.price-line span{color:var(--muted);font-size:11px;line-height:1.4}
.price-line b{font-weight:500;font-size:13px;white-space:nowrap}
.status{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);white-space:nowrap}
.status i{height:6px;width:6px;border-radius:50%;background:#b9b1c0}
.status.published{color:#477154}
.status.published i{background:#6b9a68}
.row-actions{display:flex;align-items:center;gap:6px}
.row-actions .icon-button{height:33px;width:33px;border-radius:5px}
.row-actions svg{width:15px;height:15px}
.row-actions .danger{color:#b34b57}
.catalog-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:17px;color:var(--muted);font-size:11px}
.catalog-footer>div{display:flex;flex-wrap:wrap;gap:11px}
.text-button{display:inline-flex;align-items:center;gap:5px;padding:5px 0;border:0;background:none;color:var(--muted);font:400 11px/1.4 var(--body);text-decoration:none}
.text-button:hover{color:var(--purple)}
.text-button svg{width:13px;height:13px}
.import-button{position:relative;cursor:pointer}
.import-button:focus-within{outline:2px solid var(--purple);outline-offset:3px}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.admin-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.admin-card>img{display:block;width:100%;height:170px;object-fit:cover;object-position:center 14%}
.admin-card-body{padding:17px}
.admin-card-meta{display:flex;justify-content:space-between;align-items:center;gap:7px;margin-bottom:12px}
.admin-card h2{font:italic 600 27px/.98 var(--display);color:var(--purple);margin-bottom:8px}
.admin-card p{font-size:11px;color:var(--muted);line-height:1.5;margin-bottom:14px}
.admin-card .row-actions{padding-top:13px;margin-top:14px;border-top:1px solid var(--line);justify-content:flex-end}
.empty-state{padding:60px 24px;text-align:center;border:1px solid var(--line);border-radius:8px;color:var(--muted)}
.empty-state h2{font:italic 600 31px/1.1 var(--display);color:var(--purple);margin-bottom:9px}
.empty-state p{font-size:13px}
.category-table .category-name{font:italic 600 26px/1 var(--display);color:var(--purple)}
.category-description{font-size:12px;line-height:1.5;color:var(--muted);margin-top:5px;max-width:400px}
.category-table td{padding-block:22px}
.restaurant-form{max-width:700px;display:grid;gap:21px;padding:26px;border:1px solid var(--line);border-radius:10px}
.settings-heading{display:flex;align-items:center;gap:14px;padding-bottom:20px;margin-bottom:2px;border-bottom:1px solid var(--line)}
.settings-heading>[data-icon]{width:43px;height:43px;background:var(--purple-light);border-radius:8px;color:var(--purple)}
.settings-heading h2{font:italic 600 30px/1 var(--display);color:var(--purple)}
.settings-heading p{color:var(--muted);font-size:12px;margin-top:5px}
.restaurant-form>.button{justify-self:start}
.drawer{position:fixed;inset:0 0 0 auto;margin:0;width:570px;max-width:100%;height:100dvh;max-height:none;border:0;border-left:1px solid var(--line);border-radius:0}
.drawer[open]{display:flex;flex-direction:column}
.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:26px 27px 21px;flex-shrink:0}
.modal-header h2{font:italic 600 36px/1 var(--display);color:var(--purple);letter-spacing:-.02em}
.modal-header p{font-size:12px;color:var(--muted);margin-top:7px}
.modal-header>.icon-button{border:0;background:none;margin-top:-5px}
.editor-form{display:flex;flex-direction:column;min-height:0;flex:1}
.form-content{display:flex;flex-direction:column;gap:18px;padding:0 27px 24px;overflow:auto;min-height:0;flex:1}
.image-uploader{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.image-uploader img{display:block;width:100%;height:202px;object-fit:cover;object-position:center 15%}
.image-uploader .button{position:absolute;right:12px;bottom:12px;min-height:35px;font-size:11px;box-shadow:0 3px 14px #30263c12}
.image-uploader svg{width:15px;height:15px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.toggle-fields{display:flex;flex-wrap:wrap;gap:18px}
.check-field{display:flex;align-items:center;gap:9px;min-height:36px;font-size:12px}
.check-field input{position:relative;appearance:none;width:39px;height:23px;padding:0;margin:0;border:1px solid #c4b9cf;border-radius:20px;background:#d4ccd9;cursor:pointer;flex:none}
.check-field input::before{content:"";position:absolute;width:17px;height:17px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #34234120;transition:transform .18s}
.check-field input:checked{background:var(--purple);border-color:var(--purple)}
.check-field input:checked::before{transform:translateX(15px)}
.pricing-editor{padding-top:19px;border-top:1px solid var(--line)}
.pricing-editor h3{font:italic 600 29px/1 var(--display);color:var(--purple)}
.pricing-editor>p{font-size:11px;color:var(--muted);margin:6px 0 16px}
.variant-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 36px;gap:9px;align-items:flex-end;margin-bottom:11px}
.variant-row .field{font-size:11px}
.variant-row .field input{font-size:13px;padding:10px}
.variant-row .icon-button{width:36px;height:44px}
.variant-row .icon-button svg{width:15px;height:15px}
.add-row{min-height:39px;width:100%;display:flex;align-items:center;justify-content:center;gap:6px;border:1px dashed #cfbfdc;background:#fff;color:var(--purple);border-radius:6px;font-size:12px}
.add-row:hover{background:var(--surface)}
.add-row svg{width:15px;height:15px}
.form-footer{display:flex;gap:12px;padding:17px 27px max(17px,env(safe-area-inset-bottom));border-top:1px solid var(--line);flex-shrink:0;background:#fff}
.form-footer .button{flex:1}
.compact-modal{width:480px;max-width:calc(100% - 32px);max-height:90svh;margin:auto;border-radius:12px;overflow:auto}
.compact-modal .modal-header h2{font-size:31px}
.category-form-content{display:grid;gap:18px;padding:0 27px 24px}
.confirmation{padding:0 27px 27px}
.confirmation>p{font-size:14px;color:var(--muted);line-height:1.7}
.confirmation-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
@media(min-width:1600px){.admin-main{padding-inline:55px}.service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1150px){.sidebar{width:208px}.sidebar-brand{margin-inline:0}.sidebar-brand .brand-logo{width:180px}.admin-main{margin-left:208px;padding:28px 24px}.toolbar{flex-wrap:wrap}.catalog-table{min-width:880px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-select{width:175px}.view-toggle button{padding-inline:10px}}
@media(max-width:720px){.sidebar{position:static;width:100%;display:grid;grid-template-columns:1fr auto;gap:13px;padding:15px 16px 0;border-right:0;border-bottom:1px solid var(--line)}.sidebar-brand{margin:0}.sidebar-brand .brand-logo{width:155px}.nav-caption{display:none}.admin-nav{grid-column:1/-1;grid-row:2;display:flex;gap:6px;padding-bottom:13px}.nav-item{min-height:42px;width:auto;font-size:12px;padding:10px 12px;gap:8px}.nav-item svg{width:17px;height:17px}.sidebar-bottom{grid-column:2;grid-row:1;align-self:center;margin:0}.preview-link{width:39px;height:39px;padding:10px;margin:0;font-size:0;gap:0;border:1px solid var(--line)}.local-status{display:none}.admin-main{margin:0;padding:25px 16px 35px}.page-header{align-items:flex-start;gap:12px;margin-bottom:20px}.page-header h1{font-size:34px;margin-top:6px}.page-header>div>p:last-child{font-size:12px;max-width:245px}.page-header .section-label{font-size:8px}.page-header>.button{min-height:40px;padding:9px 11px;font-size:11px;margin-top:24px;gap:5px}.page-header>.button svg{width:15px;height:15px}.preview-banner{font-size:11px;align-items:flex-start;padding:11px 12px;margin-bottom:22px}.preview-banner svg{margin-top:1px}.toolbar{gap:12px}.toolbar .search-field{flex-basis:100%;max-width:none}.category-select{flex:1;min-width:145px;width:auto}.view-toggle button{padding:10px;font-size:11px;gap:5px}.view-toggle svg{width:14px;height:14px}.service-grid{grid-template-columns:1fr}.admin-card>img{height:190px}.catalog-footer{align-items:flex-start;flex-direction:column;gap:8px}.catalog-footer>div{gap:13px}.restaurant-form{padding:20px;gap:19px}.modal-header{padding:23px 19px 19px}.modal-header h2{font-size:32px}.form-content{padding:0 19px 20px}.field-grid{grid-template-columns:1fr;gap:18px}.form-footer{padding-inline:19px}.variant-row{grid-template-columns:minmax(0,1fr) 90px 34px;gap:7px}.variant-row .icon-button{width:34px}.variant-row .field input{font-size:16px;padding:10px 8px}.category-form-content{padding-inline:19px}.confirmation{padding-inline:19px}.drawer{border:0}.category-table{min-width:650px}}
@media(prefers-reduced-motion:no-preference){.drawer[open]{animation:drawer-in .2s var(--ease)}@keyframes drawer-in{from{transform:translateX(25px);opacity:.5}to{transform:translateX(0);opacity:1}}}

.form-content>*{flex-shrink:0}

.variant-veg{grid-column:1/-1;color:#26743f;margin-top:2px}
.variant-veg>span{display:inline-flex;align-items:center;gap:6px}
.variant-veg svg{width:15px;height:15px}
.variant-veg input:checked{background:#26743f;border-color:#26743f}
.price-option{display:inline-flex;flex-wrap:wrap;align-items:center;gap:7px}
.price-option .veg-badge{font-size:9px;padding:3px 6px}
.price-option .veg-badge svg{width:12px;height:12px}
