:root{--background:#fff;--foreground:#171717}*{box-sizing:border-box;margin:0;padding:0}html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;font-family:ui-sans-serif,system-ui,-apple-system,Hiragino Kaku Gothic ProN,Noto Sans JP,Meiryo,sans-serif;line-height:1.6;display:flex}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.btn{border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:.4em;padding:.6rem 1.1rem;font-size:.95rem;font-weight:600;line-height:1;transition:filter .15s,background .15s;display:inline-flex}.btn:hover{filter:brightness(1.08)}.btn-primary{background:var(--accent,#b8863b);color:#1b1206}.btn-ghost{background:0 0;border-color:currentColor}.btn-danger{color:#fff;background:#b23b3b}.btn-sm{border-radius:8px;padding:.35rem .7rem;font-size:.82rem}.btn:disabled{opacity:.5;cursor:not-allowed}.badge{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:.3em;padding:.18em .6em;font-size:.72rem;font-weight:700;display:inline-flex}.badge-soldout{color:#fff;background:#6b6b6b}.badge-limited{color:#fff;background:#7a4bd0}.badge-pickup{background:var(--accent,#b8863b);color:#1b1206}.badge-alcohol{color:#fff;background:#3b5bb2}.badge-muted{background:#80808040}.badge-outline{opacity:.75;background:0 0;border:1px solid}.tag{color:#c99a55;background:#b8863b29;border-radius:6px;align-items:center;gap:.25em;padding:.15em .55em;font-size:.76rem;display:inline-flex}.muted{opacity:.62}.empty-state{text-align:center;opacity:.7;padding:3rem 1rem}.dish-photo{aspect-ratio:4/3;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.dish-photo.is-rounded{border-radius:12px}.dish-photo-img{object-fit:cover;width:100%;height:100%;display:block}.customer-shell{--c-bg:#fff;--c-surface:#fff;--c-surface-2:#f5f1ea;--c-text:#211c16;--c-dim:#7b7266;--c-accent:#9c6b1f;--c-line:#140f081f;--c-shadow:0 1px 3px #140f080f, 0 8px 24px #140f080d;--accent:var(--c-accent);--bg:var(--c-bg);--surface:var(--c-surface);--text:var(--c-text);background:var(--c-bg);color:var(--c-text);flex-direction:column;flex:1;min-height:100vh;display:flex}.customer-header{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--c-line);background:#ffffffe0;padding:.7rem 1rem;position:sticky;top:0}.header-inner{align-items:center;gap:1rem;width:100%;max-width:960px;margin:0 auto;display:flex}.logo{flex:none;align-items:center;display:flex}.logo img{width:auto;height:clamp(2.1rem,8vw,2.5rem);display:block}.header-links{gap:1.1rem;margin-left:auto;margin-right:1.5rem;font-size:.9rem;font-weight:600;display:none}.header-links a{color:var(--c-dim)}.header-links a:hover{color:var(--c-text)}.header-actions{align-items:center;gap:.35rem;margin-left:auto;display:flex}.icon-btn{width:40px;height:40px;color:var(--c-text);background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;transition:background-color .12s;display:inline-flex}.icon-btn:hover{background:var(--c-surface-2)}.icon-btn:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.icon-btn-lg{width:56px;height:56px}.header-reserve-btn{white-space:nowrap;display:none}@media (min-width:860px){.header-links{display:flex}.header-burger{display:none}.header-reserve-btn{display:inline-flex}.header-actions{margin-left:0}}.content-width{width:100%;max-width:960px;margin:0 auto;padding:0 clamp(.85rem,3.5vw,1rem)}.drawer-root{z-index:100;position:fixed;inset:0}.drawer-backdrop{background:#00000080;animation:.15s drawer-fade;position:absolute;inset:0}.drawer-panel{background:var(--c-surface);border-left:1px solid var(--c-line);width:min(86vw,330px);height:100dvh;padding:1rem 1.15rem calc(1.5rem + env(safe-area-inset-bottom));overscroll-behavior:contain;flex-direction:column;gap:.25rem;animation:.18s drawer-slide;display:flex;position:absolute;top:0;right:0;overflow-y:auto;box-shadow:-12px 0 40px #140f082e}@keyframes drawer-fade{0%{opacity:0}}@keyframes drawer-slide{0%{transform:translate(100%)}}.drawer-head{border-bottom:1px solid var(--c-line);justify-content:space-between;align-items:center;gap:.5rem;padding-bottom:.4rem;display:flex}.drawer-head strong{letter-spacing:.04em;font-size:.98rem}.drawer-panel h3{text-transform:uppercase;letter-spacing:.12em;color:var(--c-dim);margin:1.1rem 0 .35rem;font-size:.72rem}.drawer-reserve-row{align-items:center;gap:.5rem;display:flex}.drawer-reserve-btn{flex:1;justify-content:center}.drawer-insta-btn{border:1px solid var(--c-line);border-radius:999px;flex:none}.drawer-link{border-radius:8px;align-items:center;gap:.5rem;padding:.65rem .5rem;font-size:.95rem;display:flex}.drawer-link:hover{background:var(--c-surface-2)}.drawer-tags{flex-wrap:wrap;gap:.35rem;padding:.15rem .35rem;display:flex}.pickup-carousel{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:.8rem;padding:1rem;display:flex;overflow-x:auto}.pickup-carousel::-webkit-scrollbar{display:none}.pickup-card{scroll-snap-align:start;background:var(--c-surface);border:1px solid var(--c-line);max-width:420px;box-shadow:var(--c-shadow);border-radius:16px;flex:0 0 86%;position:relative;overflow:hidden}.pickup-card .dish-photo{aspect-ratio:16/9;border-radius:0}.pickup-card-body{padding:.8rem 1rem 1rem}.pickup-card-body .kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--c-accent);font-size:.7rem}.pickup-card-body h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.15rem 0;font-size:1.02rem;display:-webkit-box;overflow:hidden}.pickup-card-body p{color:var(--c-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.83rem;display:-webkit-box;overflow:hidden}.cat-nav{border-bottom:1px solid var(--c-line);padding:.5rem 0 .75rem}.cat-nav-zone+.cat-nav-zone{border-top:1px dashed var(--c-line);margin-top:.5rem;padding-top:.5rem}.cat-nav-zone-label{letter-spacing:.12em;text-transform:uppercase;color:var(--c-dim);padding:0 .25rem .35rem;font-size:.68rem}.cat-chip-row{scrollbar-width:none;scroll-snap-type:x proximity;gap:.5rem;padding:.3rem .25rem;display:flex;overflow-x:auto}.cat-chip-row::-webkit-scrollbar{display:none}.cat-chip{scroll-snap-align:start;background:var(--c-surface);border:1px solid var(--c-line);max-width:100%;box-shadow:var(--c-shadow);color:var(--c-text);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:.45rem;padding:.42rem .85rem .42rem .5rem;font-size:.82rem;font-weight:600;display:inline-flex}.cat-chip:hover{border-color:var(--c-accent)}.cat-chip .ico{background:var(--c-surface-2);width:24px;height:24px;color:var(--c-accent);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:.8rem;display:flex}.menu-zone{padding:1.4rem 0 .4rem;scroll-margin-top:68px}.zone-head{align-items:baseline;gap:.6rem;margin-bottom:.8rem;display:flex}.zone-head h2{letter-spacing:.03em;word-break:break-word;font-size:clamp(1.05rem,4.6vw,1.25rem)}.zone-head .count{color:var(--c-dim);flex:none;font-size:.8rem}.zone-empty{text-align:center;padding:1.2rem 0 1.6rem;font-size:.85rem}.menu-subzone{border-left:2px solid var(--c-surface-2);margin-top:.3rem;margin-bottom:1.3rem;padding-left:.9rem}.zone-subhead{margin-bottom:.6rem}.zone-subhead h3{letter-spacing:.02em;color:var(--c-dim);word-break:break-word;font-size:clamp(.92rem,4vw,1.02rem)}.item-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.item-card{background:var(--c-surface);border:1px solid var(--c-line);box-shadow:var(--c-shadow);border-radius:14px;flex-direction:column;transition:transform .12s,box-shadow .12s;display:flex;overflow:hidden}.item-card:hover{border-color:#9c6b1f80;transform:translateY(-2px)}.item-card .dish-photo{border-radius:0}.item-card-body{flex-direction:column;flex:1;gap:.3rem;padding:.65rem .75rem .85rem;display:flex}.item-card-body .kana{color:var(--c-dim);font-size:.68rem;line-height:1.2}.item-card-body .name{word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.92rem;font-weight:700;line-height:1.34;display:-webkit-box;overflow:hidden}.item-card-body .sub{color:var(--c-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.item-card-body .price{color:var(--c-accent);margin-top:auto;font-weight:800}.item-card-body .price small{color:var(--c-dim);margin-left:.25em;font-size:.68rem;font-weight:600}.item-card-body .price-placeholder{min-height:1.5em;margin-top:auto}.item-card.is-soldout{opacity:.55;filter:grayscale(.7)}.badge-row{flex-wrap:wrap;gap:.3rem;display:flex}.tagline{text-align:center;color:var(--c-dim);padding:.9rem 1rem 0;font-size:.85rem}.price-note{color:var(--c-dim);border-top:1px solid var(--c-line);margin-top:1.5rem;padding:.9rem 0;font-size:.78rem}.customer-footer{text-align:center;color:var(--c-dim);border-top:1px solid var(--c-line);margin-top:1rem;padding:2rem 1rem 3rem;font-size:.78rem}.detail-page{flex:1;padding-bottom:3rem}.detail-gallery{background:var(--c-surface-2);position:relative}.gallery-track{scroll-snap-type:x mandatory;display:flex;overflow-x:auto}.gallery-track::-webkit-scrollbar{display:none}.gallery-slide{scroll-snap-align:center;flex:0 0 100%}.gallery-slide .dish-photo{aspect-ratio:1;border-radius:0}.gallery-slide.post-slide{aspect-ratio:1;background:var(--c-surface-2);text-align:center;flex-direction:column;flex:0 0 100%;justify-content:center;align-items:center;gap:.8rem;padding:1.5rem;display:flex}.gallery-dots{justify-content:center;gap:.35rem;padding:.7rem;display:flex}.gallery-dots i{background:var(--c-line);border-radius:999px;width:7px;height:7px}.detail-body{max-width:640px;margin:0 auto;padding:1rem 1.15rem}.detail-body .kana{color:var(--c-dim);margin-bottom:.1rem;font-size:.78rem}.detail-body h1{word-break:break-word;margin-bottom:.3rem;font-size:clamp(1.25rem,5.5vw,1.5rem)}.detail-body .detail-price{color:var(--c-accent);margin:.4rem 0 1rem;font-size:1.3rem;font-weight:800}.detail-body .lead{color:var(--c-text)}.genre-tags{flex-wrap:wrap;gap:.35rem;margin:.8rem 0;display:flex}.spec-table{border-collapse:collapse;width:100%;margin-top:1rem;font-size:.9rem}.spec-table th,.spec-table td{text-align:left;border-bottom:1px solid var(--c-line);vertical-align:top;padding:.55rem .4rem}.spec-table th{width:34%;color:var(--c-dim);font-weight:600}.detail-back{color:var(--c-dim);align-items:center;gap:.3rem;padding:1rem 1.15rem 0;font-size:.85rem;display:inline-flex}.form{flex-direction:column;gap:1rem;max-width:640px;margin:0 auto;padding:1.2rem 1.15rem 3rem;display:flex}.form h1{font-size:1.4rem}.field{flex-direction:column;gap:.35rem;display:flex}.field label{color:var(--c-dim);font-size:.82rem;font-weight:600}.field input[type=text],.field input[type=email],.field input[type=search],.field input[type=number],.field input[type=tel],.field input[type=date],.field input[type=time],.field select,.field textarea{background:var(--c-surface);border:1px solid var(--c-line);color:inherit;font:inherit;border-radius:10px;width:100%;padding:.6rem .75rem}.field input[type=date],.field input[type=time]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.field textarea{resize:vertical;min-height:120px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.8rem;display:grid}.checkbox-row{color:var(--c-dim);align-items:flex-start;gap:.55rem;font-size:.85rem;display:flex}.checkbox-row input{margin-top:.2rem}.filter-bar{flex-wrap:wrap;gap:.7rem;padding:1rem 0;display:flex}.chip-toggle{flex-wrap:wrap;gap:.3rem;display:inline-flex}.chip-toggle .chip{border:1px solid var(--c-line);background:var(--c-surface);border-radius:999px;padding:.35rem .7rem;font-size:.8rem}.chip-toggle .chip[data-active=true]{background:var(--c-accent);color:#1b1206;border-color:var(--c-accent)}.notice{background:#b8863b24;border:1px solid #b8863b66;border-radius:10px;padding:.8rem 1rem;font-size:.88rem}@media (min-width:560px){.item-grid{gap:.9rem}}@media (min-width:720px){.item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pickup-card{flex-basis:46%}.detail-gallery{border-radius:16px;max-width:640px;margin:1rem auto 0;overflow:hidden}}@media (min-width:1000px){.item-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:360px){.item-grid{grid-template-columns:1fr}.item-card{flex-direction:row}.item-card .dish-photo{aspect-ratio:1;flex:none;width:116px}}.admin-shell{--a-bg:#f4f4f5;--a-surface:#fff;--a-text:#1c1c1f;--a-dim:#6b6b72;--a-line:#e2e2e6;--a-accent:#8a5a1f;--accent:var(--a-accent);--bg:var(--a-bg);--surface:var(--a-surface);--text:var(--a-text);background:var(--a-bg);color:var(--a-text);flex-direction:column;flex:1;min-height:100vh;display:flex}.admin-main input[type=text],.admin-main input[type=number],.admin-main input[type=email],.admin-main input[type=tel],.admin-main input[type=search],.admin-main input[type=date],.admin-main input[type=time],.admin-main input[type=datetime-local],.admin-main input[type=url],.admin-main input[type=password],.admin-main select,.admin-main textarea{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border:1px solid var(--a-line);color:var(--a-text);font:inherit;background:#fff;border-radius:8px;padding:.45rem .6rem}.admin-main input[type=checkbox]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.admin-main input[type=text]:focus,.admin-main input[type=number]:focus,.admin-main input[type=email]:focus,.admin-main input[type=tel]:focus,.admin-main input[type=search]:focus,.admin-main input[type=date]:focus,.admin-main input[type=time]:focus,.admin-main input[type=datetime-local]:focus,.admin-main input[type=url]:focus,.admin-main input[type=password]:focus,.admin-main select:focus,.admin-main textarea:focus{border-color:var(--a-accent);outline:none;box-shadow:0 0 0 3px #8a5a1f24}.admin-topbar{z-index:30;color:#fff;background:#1c1c1f;padding:.65rem 1.1rem;position:sticky;top:0}.admin-topbar-inner{align-items:center;gap:1rem;max-width:1180px;margin:0 auto;display:flex}.admin-topbar .brand{letter-spacing:.06em;white-space:nowrap;flex:none;font-weight:800}.admin-topbar .brand span{color:#d3a35f}.admin-header-links{flex-wrap:wrap;gap:.15rem;margin-left:auto;margin-right:1.5rem;display:none}.admin-header-links a{color:#d8d8dc;white-space:nowrap;border-radius:7px;padding:.4rem .65rem;font-size:.84rem;position:relative}.admin-header-links a:hover,.admin-header-links a[data-active=true]{color:#fff;background:#3a3a40}.nav-dot{background:#b23b3b;border-radius:50%;width:6px;height:6px;position:absolute;top:3px;right:3px}.admin-header-actions{flex:none;align-items:center;gap:.35rem;margin-left:auto;display:flex}.admin-icon-btn{color:#fff;background:0 0;border:none}.admin-icon-btn:hover{background:#ffffff1a}.admin-icon-btn:focus-visible{outline-offset:2px;outline:2px solid #d3a35f}.admin-header-action-label{display:none}@media (max-width:959px){.admin-header-action{white-space:nowrap;background:#ffffff1f;border-radius:999px;gap:.3rem;width:auto;height:auto;min-height:38px;padding:.4rem .7rem;font-size:.78rem;font-weight:600}.admin-header-action-label{display:inline}.admin-header-action.is-danger{color:#ff8d8d;background:#d2464638}.admin-header-action.is-danger:hover{background:#d2464652}}@media (min-width:960px){.admin-header-links{display:flex}.admin-header-actions{margin-left:0}}.admin-bottom-nav{z-index:40;padding-bottom:env(safe-area-inset-bottom);background:#1c1c1f;border-top:1px solid #ffffff1f;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.admin-bottom-nav a,.admin-bottom-nav button{color:#ffffffa6;white-space:nowrap;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:56px;padding:6px 2px;font-family:inherit;font-size:.68rem;text-decoration:none;display:flex}.admin-bottom-nav a[data-active=true],.admin-bottom-nav button[data-active=true]{color:#d3a35f;font-weight:700}.admin-bottom-nav-icon{display:inline-flex;position:relative}.admin-bottom-nav-icon .nav-dot{top:-2px;right:-4px}@media (max-width:959px){.admin-shell .admin-main{padding-bottom:calc(56px + env(safe-area-inset-bottom) + 1rem)}}@media (min-width:960px),print{.admin-bottom-nav{display:none}}.item-edit-bar{display:none}@media (max-width:959px){.item-edit-bar{z-index:45;padding:.6rem .85rem calc(.6rem + env(safe-area-inset-bottom));background:#1c1c1f;border-top:1px solid #ffffff1f;grid-template-columns:1fr 2fr;gap:.6rem;display:grid;position:fixed;bottom:0;left:0;right:0}.item-edit-bar .btn{justify-content:center;min-height:44px}.item-edit-bar .btn:not(.btn-primary){color:#1c1c1f;background:#fff}.items-add{right:.85rem;bottom:calc(56px + env(safe-area-inset-bottom) + .75rem);z-index:35;position:fixed;margin:0!important}.items-add .btn{border-radius:999px;min-height:44px;padding:0 1.1rem;box-shadow:0 4px 14px #0000004d}}.admin-more-sheet{z-index:101;background:var(--a-surface);padding:.4rem 1.1rem calc(1.25rem + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;animation:.18s admin-sheet-up;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 40px #140f0840}.admin-more-sheet-handle{background:var(--a-line);border-radius:999px;width:36px;height:4px;margin:.55rem auto .9rem;display:block}.admin-more-sheet-grid{grid-template-columns:repeat(2,1fr);gap:.7rem;display:grid}.admin-more-sheet-item{background:var(--a-bg);min-height:84px;color:var(--a-text);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:.9rem .5rem;font-size:.85rem;font-weight:600;text-decoration:none;display:flex;position:relative}.admin-more-sheet-item[data-active=true]{background:var(--a-accent);color:#fff}.admin-more-sheet-icon{display:inline-flex;position:relative}.admin-more-sheet-icon .nav-dot{top:-3px;right:-6px}@keyframes admin-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-root{z-index:110;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-backdrop{background:#00000080;animation:.15s drawer-fade;position:absolute;inset:0}.modal-panel{background:var(--a-surface);border:1px solid var(--a-line);border-radius:14px;width:min(92vw,420px);max-height:86vh;padding:1.1rem 1.2rem;position:relative;overflow-y:auto;box-shadow:0 20px 60px #140f0840}.modal-panel.is-wide{width:min(94vw,640px)}.cropper-stage{background:#222;border-radius:10px;width:100%;height:clamp(180px,100dvh - 300px,360px);margin:.6rem 0;position:relative;overflow:hidden}@media (max-width:600px){.cropper-hint{display:none}.modal-panel.is-wide{max-height:96dvh;padding:.8rem .9rem}.modal-panel.is-wide .modal-actions{margin-top:.6rem}}.cropper-zoom-row{color:var(--a-dim);align-items:center;gap:.6rem;padding:0 .2rem;display:flex}.cropper-zoom-row input[type=range]{flex:1}.modal-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.3rem;display:flex}.modal-head strong{font-size:1rem}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:.9rem;display:flex}.modal-actions .btn-ghost{background:var(--a-surface,#fff);color:var(--a-text,#1c1c1f);border-color:var(--a-line,#d8d4cc)}.seat{cursor:pointer}.seat.is-selected{border-color:var(--a-accent);color:#5c4319;background:#f3e6d2}.seat.is-disabled{opacity:.4;cursor:not-allowed}.seat-hint{font-size:.62rem;font-weight:400}.seat-qty-fixed{font-size:.68rem;font-weight:800}.seat-qty{align-items:center;gap:.25rem;font-size:.68rem;font-weight:800;display:flex}.seat-qty button{border:1px solid var(--a-accent);width:18px;height:18px;color:var(--a-accent);background:#fff;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.72rem;line-height:1;display:flex}.seat-qty button:disabled{opacity:.4;cursor:not-allowed}.seat-remaining{text-align:center;color:var(--a-accent);font-size:.85rem;font-weight:700}.seat-remaining.is-done{color:#1f7a3d}.admin-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:1.4rem}.admin-main h1{margin-bottom:1rem;font-size:1.4rem}.admin-settings-back{color:var(--a-dim);padding:0 0 .6rem}.settings-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem;display:grid}.settings-card{background:var(--a-surface);border:1px solid var(--a-line);color:var(--a-text);border-radius:12px;align-items:center;gap:.8rem;padding:1rem;transition:filter .15s;display:flex}.settings-card:hover{filter:brightness(.98)}.settings-card-icon{width:42px;height:42px;color:var(--a-accent);background:#8a5a1f1f;border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.settings-card-title{font-size:.95rem;font-weight:700}.settings-card-desc{color:var(--a-dim);margin-top:.15rem;font-size:.8rem}.admin-main h2{margin:1.6rem 0 .7rem;font-size:1.05rem}.settings-section-head{justify-content:space-between;align-items:center;gap:.8rem;margin:1.6rem 0 .7rem;display:flex}.settings-section-head h2{margin:0}.floor-size-fields{flex-wrap:wrap;align-items:center;gap:.8rem;margin-bottom:.8rem;display:flex}.floor-size-fields label{color:var(--a-dim);align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;display:flex}.floor-size-fields input{width:64px}.theme-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.theme-group-title{margin:0 0 .9rem;font-size:.95rem}.theme-field{margin-bottom:.9rem}.theme-field label{color:var(--a-dim);margin-bottom:.3rem;font-size:.8rem;font-weight:600;display:block}.theme-field-row{align-items:center;gap:.5rem;display:flex}.theme-field-row input[type=color]{cursor:pointer;border:1px solid var(--a-line);background:#fff;border-radius:8px;width:40px;height:36px;padding:2px}.theme-field-row input[type=text]{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.theme-preview-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.theme-preview{border:1px solid var(--a-line);background:var(--bg);color:var(--text);border-radius:12px;overflow:hidden}.theme-preview-header{background:var(--surface);border-bottom:1px solid #00000014;padding:.7rem 1rem;font-weight:800}.theme-preview-body{padding:1rem}.theme-preview-card{background:var(--surface);border:1px solid #00000014;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.4rem;padding:.8rem;display:flex}.theme-preview-card-title{font-weight:700}.theme-preview-card-sub{opacity:.7;font-size:.8rem}.admin-card{background:var(--a-surface);border:1px solid var(--a-line);border-radius:12px;margin-bottom:1rem;padding:1.1rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem;display:grid}.stat{background:var(--a-surface);border:1px solid var(--a-line);border-radius:12px;padding:1rem}.stat .n{font-size:1.7rem;font-weight:800}.stat .l{color:var(--a-dim);font-size:.8rem}.data-table{border-collapse:collapse;background:var(--a-surface);border:1px solid var(--a-line);border-radius:12px;width:100%;font-size:.88rem;overflow:hidden}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--a-line);vertical-align:middle;padding:.6rem .7rem}.data-table th{color:var(--a-dim);text-transform:uppercase;letter-spacing:.04em;background:#ececee;font-size:.78rem}.data-table tr:last-child td{border-bottom:none}.data-table-fixed{table-layout:fixed;overflow:visible}.data-table-fixed th,.data-table-fixed td{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.data-table-fixed td.wrap-cell{white-space:normal;text-overflow:clip;overflow:visible}.data-table-fixed td.actions-cell{overflow:visible}.drag-cell{width:40px;padding-left:.3rem;padding-right:0}.drag-handle{width:28px;height:36px;color:var(--a-dim);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.drag-handle:focus-visible{outline:2px solid var(--a-accent);outline-offset:1px}.data-table tr.is-dragging{z-index:5;background:var(--a-surface);position:relative;box-shadow:0 4px 14px #0000002e}.data-table tr.is-dragging .drag-handle{cursor:grabbing}.cat-accordion{margin-bottom:.7rem}.cat-accordion>summary{background:color-mix(in srgb, var(--a-accent) 14%, var(--a-surface));cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:14px;align-items:center;gap:.5rem;min-height:48px;padding:0 .9rem;list-style:none;display:flex}.cat-accordion[open]>summary{border-radius:14px 14px 0 0}.cat-accordion>summary::-webkit-details-marker{display:none}.cat-accordion>summary:focus-visible{outline:2px solid var(--a-accent);outline-offset:2px}.cat-accordion>summary h2{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;display:flex}.cat-accordion-chevron{color:var(--a-accent);flex-shrink:0;transition:transform .15s}.cat-accordion[open]>summary .cat-accordion-chevron{transform:rotate(90deg)}.cat-accordion-subgroup+.cat-accordion-subgroup{margin-top:.8rem}.cat-accordion-subhead{color:var(--a-dim);flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .3rem;padding:0 .2rem;font-size:.85rem;font-weight:700;display:flex}.cat-accordion-count{box-sizing:border-box;background:var(--a-accent);color:#fff;border-radius:13px;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 7px;font-size:.8rem;font-weight:700;display:inline-flex}.sortable-list-row{align-items:flex-start;gap:.3rem;margin-bottom:.7rem;display:flex}.sortable-list-row:last-child{margin-bottom:0}.sortable-list-row .drag-handle{flex-shrink:0;margin-top:.3rem}.sortable-list-row.is-dragging{z-index:5;position:relative}.sortable-list-row.is-dragging .drag-handle{cursor:grabbing}.cat-tree{margin-top:1.1rem}.cat-card{flex:1;min-width:0}.cat-card-parent{border:1px solid var(--a-line);background:var(--a-surface);border-radius:14px;overflow:hidden}.cat-card-head{flex-wrap:wrap;align-items:center;gap:.5rem;padding:.65rem .8rem;display:flex}.cat-card-child{border:1px solid var(--a-line);background:var(--a-surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .65rem;display:flex}.cat-card-field{flex:140px;align-items:center;gap:.4rem;min-width:0;display:flex}.cat-card-field input[type=text]{width:100%}.cat-card-icon{flex-shrink:0;width:86px}.cat-card-children{border-top:1px solid var(--a-line);background:color-mix(in srgb, var(--a-accent) 5%, transparent);padding:.6rem .8rem .65rem 1.9rem}.cat-child-row{margin-bottom:.5rem}.cat-add-child,.cat-add-parent{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.cat-add-child input[type=text]:first-of-type,.cat-add-parent input[type=text]:first-of-type{flex:160px;min-width:0}.cat-add-child input[type=text]:last-of-type,.cat-add-parent input[type=text]:last-of-type{flex-shrink:0;width:86px}.item-kana-inline{color:var(--a-dim);font-size:.74em;font-weight:400}.items-table .item-thumb-cell{padding-top:.4rem;padding-bottom:.4rem}.items-table .item-thumb{aspect-ratio:1;border-radius:10px;width:56px}@media (max-width:820px){.data-table.items-table{display:table;overflow:visible}.data-table.items-table th,.data-table.items-table td{white-space:nowrap}}@media (max-width:560px){.data-table.items-table,.items-table tbody{display:block}.items-table thead{display:none}.items-table tr{border-bottom:1px solid var(--a-line);grid-template-rows:auto auto;grid-template-columns:30px 56px auto minmax(0,1fr) 44px;align-items:center;column-gap:.5rem;padding:.35rem 0;display:grid}.items-table tr:last-child{border-bottom:none}.items-table td{border-bottom:none;padding:0}.items-table .drag-cell{grid-area:1/1/span 2;padding-left:.2rem}.items-table .item-thumb-cell{grid-area:1/2/span 2;padding:0}.items-table .item-name-cell{-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;grid-area:1/3/auto/span 2;align-self:end;font-size:.95rem;font-weight:700;line-height:1.35;display:-webkit-box}.items-table .item-price-cell{font-variant-numeric:tabular-nums;grid-area:2/3;align-self:start;padding-top:.2rem;font-size:.85rem}.items-table .item-status-cell{white-space:normal;grid-area:2/4;align-self:start;padding-top:.2rem}.items-table .item-status-cell .badge-row{gap:4px}.items-table .item-status-cell .badge{padding:.15em .55em;font-size:.68rem}.items-table .table-icon-btn{background:0 0;border:none;width:44px;height:44px}.items-table td.actions-cell{grid-area:1/5/span 2;justify-self:end;padding-right:.2rem}}.data-table tr.is-muted>td:not(.actions-cell){opacity:.55}.row-actions{flex-wrap:wrap;gap:.35rem;display:flex}.table-icon-btn{border:1px solid var(--a-line);width:30px;height:30px;color:var(--a-dim);background:#fff;border-radius:8px;justify-content:center;align-items:center;transition:filter .15s,background .15s;display:inline-flex}.table-icon-btn:hover{filter:brightness(.96)}.table-icon-btn:focus-visible{outline:2px solid var(--a-accent);outline-offset:2px}.table-icon-btn svg{stroke:currentColor;flex-shrink:0;width:16px;height:16px;display:block}.row-actions-wrap{justify-content:flex-end;display:flex;position:relative}.row-menu-panel{z-index:40;background:var(--a-surface);border:1px solid var(--a-line);border-radius:10px;flex-direction:column;gap:.15rem;min-width:170px;padding:.3rem;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 10px 30px #140f082e}.row-menu-item{width:100%;color:var(--a-text);text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:7px;align-items:center;gap:.5rem;padding:.55rem .65rem;font-size:.85rem;font-weight:600;display:flex}.row-menu-item:hover{background:var(--a-bg)}.row-menu-item.is-primary{color:var(--a-accent)}.row-menu-item.is-danger{color:#b23b3b}.row-menu-item svg{flex-shrink:0}.cat-picker{position:relative}.cat-picker-trigger{border:1px solid var(--a-line);width:100%;font:inherit;color:var(--a-text);text-align:left;background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .7rem;display:flex}.cat-picker-trigger svg{color:var(--a-dim);flex-shrink:0}.cat-picker-panel{z-index:40;background:var(--a-surface);border:1px solid var(--a-line);border-radius:10px;flex-direction:column;gap:.1rem;max-height:320px;padding:.35rem;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 30px #140f082e}.cat-picker-group{flex-direction:column;flex-shrink:0;display:flex}.cat-picker-group-label{color:var(--a-dim);flex-shrink:0;padding:.5rem .65rem .2rem;font-size:.74rem;font-weight:700}.cat-picker-item{width:100%;color:var(--a-text);text-align:left;background:0 0;border:none;border-radius:7px;flex-shrink:0;padding:.5rem .65rem;font-size:.88rem;display:block}.cat-picker-item.is-child{padding-left:1.5rem}.cat-picker-item:hover{background:var(--a-bg)}.cat-picker-item.is-selected{background:var(--a-accent);color:#fff;font-weight:700}.cat-picker-item.is-disabled{color:#b23b3b;cursor:default;font-size:.8rem}.toggle-pill{border:1px solid var(--a-line);color:#666;background:#eee;border-radius:999px;padding:.25rem .7rem;font-size:.78rem;font-weight:700}.toggle-pill[data-on=true]{color:#fff;background:#1f7a3d;border-color:#0000}.toggle-pill.warn[data-on=true]{background:#b23b3b}.admin-form{gap:.9rem;max-width:640px;display:grid}.item-form{gap:1rem;max-width:none}.form-section{background:var(--a-surface);border:1px solid var(--a-line);border-radius:12px;flex-direction:column;gap:.9rem;padding:1.1rem 1.2rem;display:flex}.form-section-title{color:var(--a-dim);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.45rem;font-size:.78rem;font-weight:700;display:flex}.form-section-title svg{color:var(--a-accent);flex-shrink:0}.item-edit-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:1.6rem;display:grid}.admin-preview-frame{background:var(--a-surface);border:1px solid var(--a-line);border-radius:12px;padding:.9rem;position:sticky;top:1rem}.admin-preview-toolbar{color:var(--a-dim);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.7rem;font-size:.78rem;font-weight:700;display:flex}.admin-preview-warning{color:#7a5410;background:#fdf3e3;border:1px solid #ecd19a;border-radius:8px;margin-bottom:.8rem;padding:.5rem .65rem;font-size:.76rem}.admin-preview-label{color:var(--a-dim);text-transform:uppercase;letter-spacing:.05em;margin:1rem 0 .5rem;font-size:.72rem;font-weight:700}.admin-preview-label:first-of-type{margin-top:0}@media (max-width:1020px){.item-edit-layout{grid-template-columns:minmax(0,1fr)}.admin-preview-frame{max-width:340px;position:static}}.admin-form .field label{color:var(--a-dim)}.admin-form input[type=text],.admin-form input[type=email],.admin-form input[type=number],.admin-form input[type=datetime-local],.admin-form select,.admin-form textarea{border:1px solid var(--a-line);font:inherit;background:#fff;border-radius:9px;width:100%;padding:.55rem .7rem}.admin-form textarea{min-height:90px}.admin-form .chip-toggle .chip{border-color:var(--a-line);color:var(--a-text);cursor:pointer;background:#fff}.admin-form .chip-toggle .chip[data-active=true]{background:var(--a-accent);color:#fff;border-color:var(--a-accent)}.grid-2{grid-template-columns:1fr 1fr;gap:.9rem;display:grid}.inline-form{display:inline}.checkline{align-items:center;gap:.4rem;font-size:.88rem;display:flex}.switch{cursor:pointer;align-items:center;gap:.4rem;display:inline-flex}.switch input{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.switch-track{background:var(--a-line);border-radius:999px;flex-shrink:0;width:38px;height:22px;transition:background .15s}.switch-thumb{background:#fff;border-radius:50%;width:18px;height:18px;margin:2px;transition:transform .15s;display:block;box-shadow:0 1px 2px #0000004d}.switch input:checked+.switch-track{background:var(--a-accent)}.switch input:checked+.switch-track .switch-thumb{transform:translate(16px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--a-accent);outline-offset:2px}.switch input:disabled+.switch-track{opacity:.5;cursor:not-allowed}.floor-map{aspect-ratio:4/3;background:repeating-linear-gradient(45deg,#ededf0,#ededf0 10px,#f4f4f6 10px 20px);border:2px solid #cfcfd4;border-radius:12px;width:100%;max-width:720px;margin:0 auto;position:relative}.seat{color:#55555c;text-align:center;background:#fff;border:2px solid #9a9aa2;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:2px;font-size:.72rem;font-weight:700;line-height:1.15;display:flex;position:absolute}.seat.is-box{border-radius:10px}.seat.is-open{color:#145c2c;background:#e7f6ec;border-color:#1f7a3d}.seat .amt{font-size:.68rem;font-weight:800}.floor-map-editable{touch-action:none}.floor-map-editable .seat{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:box-shadow .1s}.floor-map-editable .seat.is-dragging{cursor:grabbing;z-index:20;border-color:var(--a-accent);box-shadow:0 6px 18px #140f0847}.floor-guide{pointer-events:none;z-index:15;position:absolute}.floor-guide-v{border-left:1px dashed var(--a-accent);width:0;top:0;bottom:0}.floor-guide-h{border-top:1px dashed var(--a-accent);height:0;left:0;right:0}.floor-map-empty{color:var(--a-dim);text-align:center;justify-content:center;align-items:center;padding:1rem;font-size:.85rem;display:flex;position:absolute;inset:0}.floor-legend{color:var(--a-dim);justify-content:center;gap:1rem;margin-top:.8rem;font-size:.8rem;display:flex}.floor-legend i{vertical-align:-1px;border:2px solid #9a9aa2;border-radius:3px;width:12px;height:12px;margin-right:.3rem;display:inline-block}.floor-legend i.open{background:#e7f6ec;border-color:#1f7a3d}.res-schedule{-webkit-overflow-scrolling:touch;gap:.7rem;padding-bottom:.4rem;display:flex;overflow-x:auto}.res-day{background:var(--a-surface);border:1px solid var(--a-line);border-radius:12px;flex-direction:column;flex:0 0 200px;gap:.4rem;padding:.7rem;display:flex}.res-day-head{border-bottom:1px solid var(--a-line);justify-content:space-between;align-items:baseline;padding-bottom:.4rem;font-size:.88rem;font-weight:700;display:flex}.res-day-count{color:var(--a-dim);font-size:.74rem;font-weight:600}.res-empty{color:var(--a-dim);padding:.4rem 0;font-size:.8rem}.res-slot{background:var(--a-bg);border-left:3px solid var(--a-accent);border-radius:8px;padding:.45rem .55rem;font-size:.82rem}.res-slot.is-pending{border-left-color:var(--a-accent);background:#fbf3e6}.res-slot.is-confirmed{background:#eaf6ee;border-left-color:#1f7a3d}.res-slot.is-cancelled{opacity:.6;background:#f0f0f2;border-left-color:#9a9aa2;text-decoration:line-through}.res-slot-time{font-weight:800}.res-slot-name{font-weight:600}.res-slot-note{color:var(--a-dim);white-space:normal;margin-top:.15rem;font-size:.76rem}.line-list{flex-direction:column;gap:.4rem;display:flex}.line{border-bottom:1px solid var(--a-line);grid-template-columns:1fr auto auto auto;align-items:center;gap:.6rem;padding:.55rem .2rem;font-size:.9rem;display:grid}.register-total{flex-direction:column;gap:.35rem;font-size:.95rem;display:flex}.register-total .row{justify-content:space-between;display:flex}.register-total .grand{border-top:2px solid var(--a-line);margin-top:.3rem;padding-top:.5rem;font-size:1.4rem;font-weight:800}.add-item-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;display:grid}.add-item-grid button{border:1px solid var(--a-line);text-align:left;background:#fff;border-radius:9px;padding:.5rem;font-size:.8rem}.add-item-grid button:hover{border-color:var(--a-accent)}.add-item-grid button[disabled]{opacity:.45}.receipt{background:#fff;border:1px solid #ccc;max-width:420px;margin:1rem auto;padding:1.8rem;font-size:.9rem}.receipt h2{text-align:center;letter-spacing:.3em;margin-bottom:1.2rem}.receipt .amount{text-align:center;border-top:2px solid #000;border-bottom:2px solid #000;margin:.8rem 0;padding:.6rem 0;font-size:1.8rem;font-weight:800}.receipt .rrow{justify-content:space-between;padding:.2rem 0;display:flex}.receipt .stamp{text-align:right;color:#444;margin-top:1.5rem}.print-hide{justify-content:center;gap:.5rem;max-width:420px;margin:1rem auto;display:flex}@media print{.admin-topbar,.print-hide{display:none!important}.admin-main{padding:0}.receipt{border:none}}@media (max-width:899px){.admin-topbar{padding:.55rem .85rem}.admin-topbar .brand{font-size:.9rem}}@media (max-width:820px){.admin-main{padding:1rem .85rem}.admin-main h1{font-size:1.2rem}.admin-main h2{font-size:1rem}.admin-card{padding:.9rem}.admin-form,.admin-form .grid-2,.grid-2{max-width:none}.grid-2{grid-template-columns:1fr}.data-table{-webkit-overflow-scrolling:touch;width:100%;display:block;overflow-x:auto}.data-table th,.data-table td{white-space:nowrap}.floor-map{aspect-ratio:1}.seat{font-size:.68rem}.seat>span:not(:first-child){display:none}.print-hide{flex-wrap:wrap}}@media (max-width:560px){.stat .n{font-size:1.4rem}.receipt{max-width:none;padding:1.3rem 1.1rem}.register-total .grand{font-size:1.2rem}.line{flex-wrap:wrap;align-items:center;gap:.4rem .6rem;display:flex}.line>span:first-child{flex:100%;font-weight:600}.line>span:last-child{margin-left:auto}.add-item-grid{grid-template-columns:1fr 1fr}}.pos-map{gap:.3rem;margin-top:1.2rem;display:grid}.pos-map-row{grid-template-columns:auto minmax(0,320px) auto;justify-content:center;align-items:center;gap:.3rem;display:grid}.pos-map-axis{color:var(--c-dim);font-size:.75rem;font-weight:600}.pos-map-axis-on{color:var(--c-accent);font-weight:800}.pos-map-axis-top,.pos-map-axis-bottom{text-align:center}.pos-map-svg{aspect-ratio:1;background:var(--c-surface-2);border-radius:10px;width:100%;max-width:320px;margin:0 auto}.pos-map-frame{fill:none;stroke:var(--c-line);stroke-width:.6px}.pos-map-axisline{stroke:var(--c-dim);stroke-width:.5px}.pos-map-self{fill:var(--c-accent);stroke:#fff;stroke-width:1px}.pos-map-ref circle{fill:var(--c-dim);opacity:.8;stroke:#fff;stroke-width:.8px}.pos-map-ref text{fill:#fff;text-anchor:middle;dominant-baseline:central;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:4px;font-weight:700}.pos-map-ref-list{flex-wrap:wrap;justify-content:center;gap:.3rem .8rem;margin:.5rem 0 0;padding:0;font-size:.74rem;list-style:none;display:flex}.pos-map-ref-list li{align-items:center;gap:.3rem;display:inline-flex}.pos-map-ref-num{background:var(--c-dim);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.3em;height:1.3em;font-size:.85em;font-weight:700;display:inline-flex}.pos-map-ref-list a{color:var(--c-dim);text-underline-offset:2px;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.save-bar{justify-content:flex-end;align-items:center;gap:.8rem;margin:.6rem 0;display:flex}.save-bar-state{color:var(--a-muted,#888);font-size:.85rem}.save-bar-state.is-dirty{color:#b23b3b;font-weight:700}
