:root{--bg:#f6f2ee;--surface:#fffdf9;--surface-strong:#fff;--ink:#252321;--muted:#746f68;--line:#e3d9cf;--accent:#bb4f47;--accent-dark:#8f352f;--green:#22755c;--shadow:0 18px 50px #3a2a201c}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,Noto Sans JP,Yu Gothic UI,Hiragino Sans,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.app-shell{justify-content:center;min-height:100vh;padding:18px;display:flex}.mobile-screen{background:var(--surface);border:1px solid var(--line);width:min(100%,440px);min-height:calc(100vh - 36px);box-shadow:var(--shadow);border-radius:24px;overflow:hidden}.site-nav{background:var(--surface-strong);border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) minmax(132px,156px);align-items:center;gap:10px;padding:14px;display:grid;position:relative}.icon-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;place-content:center;gap:5px;width:44px;height:44px;display:grid}.icon-button span{background:var(--ink);border-radius:2px;width:18px;height:2px;display:block}.brand-mark{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;gap:2px;padding:0;display:grid}.brand-mark span{color:var(--accent-dark);font-size:11px;font-weight:800}.brand-mark strong{text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.nav-search{color:var(--muted);font-size:0;display:block;position:relative}.nav-search span{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.nav-search input{border-radius:8px;height:42px;padding:10px 12px;font-size:13px}.menu-dropdown{border:1px solid var(--line);background:#fff;border-radius:8px;gap:12px;margin:12px 14px 0;padding:12px;display:grid;box-shadow:0 16px 34px #3a2a2024}.menu-block{gap:8px;display:grid}.menu-block p{color:var(--accent-dark);margin:0;font-size:12px;font-weight:900}.menu-block button{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fbf7f1;border-radius:8px;padding:11px 12px}.hero-section{padding:26px 22px 18px}.hero-section p:last-child{color:var(--muted);margin:12px 0 0;font-size:14px;line-height:1.7}.category-quadrants{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;display:grid}.quadrant-card{border:1px solid var(--line);min-height:178px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:10px;padding:14px;display:flex}.quadrant-card:first-child{background:#fff7f0}.quadrant-card:nth-child(2){background:#f6f8ef}.quadrant-card:nth-child(3){background:#f8f2f6}.quadrant-card:nth-child(4){background:#f1f7f8}.quadrant-card.active{border-color:var(--accent);box-shadow:0 0 0 3px #bb4f471f}.quadrant-number{color:var(--accent-dark);font-size:12px;font-weight:900}.quadrant-title{font-size:18px;font-weight:900;line-height:1.28}.quadrant-copy{color:var(--muted);font-size:12px;line-height:1.55}.quadrant-meta{color:var(--green);font-size:12px;font-weight:900}.selection-note{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;margin:0 14px 16px;padding:14px}.selection-note span{color:var(--accent-dark);font-size:12px;font-weight:900}.selection-note strong{margin-top:4px;display:block}.selection-note p{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.5}.back-button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;margin:14px 14px 0;padding:10px 12px;font-weight:800}.home-section,.category-page,.store-detail-page,.booking-page{padding:14px}.section-heading,.page-heading{margin-bottom:14px}.page-heading{padding:8px 0 4px}.page-heading p:last-child{color:var(--muted);margin:10px 0 0;font-size:14px;line-height:1.65}.store-stack{gap:10px;display:grid}.store-list-card{border:1px solid var(--line);background:var(--surface-strong);text-align:left;cursor:pointer;border-radius:8px;grid-template-columns:92px minmax(0,1fr);gap:12px;width:100%;padding:10px;display:grid}.store-list-card:hover,.store-list-card:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #bb4f471f}.store-hero-image{border:1px solid var(--line);background-color:#efe2d9;background-image:linear-gradient(135deg,#bb4f4738,#22755c29),none;background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:8px;width:100%;min-height:220px;margin-bottom:16px}.detail-grid{grid-template-columns:1fr;gap:8px;margin:12px 0;display:grid}.detail-grid div,.fee-summary{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px}.detail-grid span,.fee-summary span{color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:800;display:block}.detail-grid strong,.fee-summary strong{line-height:1.4;display:block}.detail-copy{color:var(--muted);margin:14px 0;font-size:14px;line-height:1.75}.detail-section{margin-top:16px}.detail-section h2{margin-bottom:10px}.video-link{border:1px solid var(--line);color:var(--accent-dark);background:#fff8ec;border-radius:8px;padding:13px;font-weight:800;display:block}.sticky-action{margin-top:18px;position:sticky;bottom:12px;box-shadow:0 14px 30px #8f352f3d}.fee-summary{gap:12px;margin-bottom:14px;display:grid}.fee-summary div:first-child strong{color:var(--accent-dark);font-size:24px}.trial-price{align-items:baseline;gap:12px;display:flex}.trial-price del{color:var(--muted);font-size:18px;font-weight:800}.trial-price b{color:var(--accent-dark);font-size:30px}.fee-summary small{color:var(--muted);margin-top:4px;display:block}.modal-backdrop{z-index:50;background:#25232173;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.signup-modal{border:1px solid var(--line);width:min(100%,390px);box-shadow:var(--shadow);background:#fff;border-radius:12px;gap:12px;padding:22px;display:grid;position:relative}.signup-modal p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.modal-close{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;width:34px;height:34px;position:absolute;top:10px;right:10px}.oauth-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.oauth-grid button,.text-button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;padding:12px;font-weight:800}.text-button{color:var(--muted);border:0;padding:8px}.topbar,.admin-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding:24px;display:flex}.eyebrow{color:var(--accent-dark);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}h1,h2{letter-spacing:0;margin:0;line-height:1.15}h1{font-size:26px}h2{font-size:20px}.admin-link,.admin-actions a,.admin-actions button,.table-panel button{border:1px solid var(--line);background:var(--surface-strong);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:999px;padding:10px 14px}.category-tabs,.admin-tabs{border-bottom:1px solid var(--line);gap:8px;padding:16px 18px;display:flex;overflow-x:auto}.category-tabs button,.admin-tabs button{border:1px solid var(--line);background:var(--surface-strong);color:var(--muted);cursor:pointer;border-radius:999px;flex:none;padding:10px 14px}.category-tabs button.active,.admin-tabs button.active{background:var(--ink);border-color:var(--ink);color:#fff}.store-list{gap:10px;padding:16px;display:grid}.store-row{border:1px solid var(--line);background:var(--surface-strong);text-align:left;cursor:pointer;border-radius:16px;grid-template-columns:86px minmax(0,1fr);gap:12px;width:100%;padding:10px;display:grid}.store-row.selected{border-color:var(--accent);box-shadow:0 0 0 3px #bb4f471f}.store-thumb{background-color:#efe2d9;background-image:linear-gradient(135deg,#bb4f4733,#22755c2e),none;background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:12px;width:86px;height:86px}.store-copy{flex-direction:column;gap:7px;min-width:0;display:flex}.store-title{font-size:16px;font-weight:800}.store-meta,.store-copy small,td small{color:var(--muted);font-size:12px;line-height:1.45;display:block}.tag-line{flex-wrap:wrap;gap:6px;display:flex}.tag-line span,.pill{color:var(--accent-dark);background:#f1e4dc;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:700}.booking-panel,.table-panel,.store-admin-panel,.login-panel{background:var(--surface-strong);border:1px solid var(--line);border-radius:18px;margin:16px;padding:18px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.price{color:var(--accent-dark);white-space:nowrap;margin:0;font-weight:900}.service-picker{gap:8px;margin-bottom:16px;display:grid}.service-picker button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fbf7f1;border-radius:12px;justify-content:space-between;gap:12px;padding:12px;display:flex}.service-picker button.active{border-color:var(--green);background:#eef8f3}.service-picker small{color:var(--muted);white-space:nowrap}.booking-form,.admin-form{gap:12px;display:grid}label{color:var(--muted);gap:6px;font-size:13px;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:12px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #bb4f471f}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.primary-button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:14px;width:100%;padding:14px 16px;font-weight:900}.primary-button:disabled{cursor:progress;opacity:.7}.status-message,.empty-state{border:1px solid var(--line);color:var(--accent-dark);background:#fff8ec;border-radius:14px;margin:16px;padding:12px;line-height:1.5}.admin-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:24px 0 48px}.admin-header{border-bottom:0;padding:20px 0}.admin-actions{gap:10px;display:flex}.metric-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.metric-strip div{background:var(--surface-strong);border:1px solid var(--line);border-radius:16px;padding:16px}.metric-strip span{color:var(--muted);margin-bottom:8px;font-size:13px;display:block}.metric-strip strong{font-size:26px}.admin-tabs{border-bottom:0;margin:20px 0 12px;padding:0}.status-filter{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.status-filter button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;padding:8px 10px}.status-filter button.active{background:var(--ink);border-color:var(--ink);color:#fff}.status-select{border-radius:999px;min-width:150px;padding:8px 10px;font-size:12px;font-weight:800}.table-panel,.store-admin-panel,.login-panel{margin:0}.login-panel{max-width:420px;margin:12vh auto 0}.table-wrap{border:1px solid var(--line);border-radius:14px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:900px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px;font-size:13px}th{color:var(--muted);text-transform:uppercase;background:#fbf5ef;font-size:12px}tr:last-child td{border-bottom:0}.pill.pending{color:#775800;background:#fff2c2}.pill.confirmed{color:#1f6b50;background:#dff5ea}.pill.cancelled{color:#8f352f;background:#f6ddda}.store-form{grid-template-columns:repeat(2,minmax(0,1fr))}.store-form label:nth-child(10),.store-form label:nth-child(11),.store-form .field-grid,.store-form .primary-button{grid-column:1/-1}.store-form .field-grid{grid-template-columns:2fr 1fr 1fr}@media (max-width:720px){.app-shell{padding:0}.mobile-screen{border:0;border-radius:0;width:100%;min-height:100vh}.topbar,.admin-header{padding:18px}.site-nav{grid-template-columns:44px minmax(0,1fr) minmax(106px,34%);padding:12px}.brand-mark strong{font-size:15px}.nav-search input{padding:9px 10px}h1{font-size:22px}.field-grid,.metric-strip,.store-form,.store-form .field-grid{grid-template-columns:1fr}.admin-shell{width:min(100% - 24px,1180px)}.admin-header{flex-direction:column;align-items:stretch}}
