:root{
  --primary:#F6B8C9;
  --primary-dark:#E88DAA;
  --secondary:#B8E7D5;
  --secondary-light:#CFE7D8;
  --accent:#F4D55A;
  --bg:#FFF8F5;
  --surface:#F9D7E4;
  --text:#4A4542;
  --text-light:#7A746F;
  --border:#F1D6E0;
  --white:#fff;
  --shadow:0 18px 50px rgba(74,69,66,.12);
  --safe-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:#f4efec;scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;color:var(--text);background:#f4efec;overscroll-behavior:none}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
img{display:block;width:100%}
.app{position:relative;max-width:430px;min-height:100dvh;margin:0 auto;background:var(--bg);overflow:hidden;padding-bottom:calc(92px + var(--safe-bottom));box-shadow:0 0 70px rgba(0,0,0,.08)}
.desktopNotice{display:none}
.topbar{position:fixed;z-index:50;top:0;left:50%;transform:translateX(-50%);width:min(430px,100%);height:64px;padding:calc(8px + env(safe-area-inset-top,0px)) 18px 8px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to bottom,rgba(255,248,245,.94),rgba(255,248,245,.72),transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.brand{border:0;background:none;padding:0;display:flex;align-items:flex-start;line-height:1}
.brand__word{font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:700;font-style:italic;letter-spacing:-1.5px}
.brand__heart{color:var(--primary-dark);font-size:16px;margin:0 0 0 4px}
.topbar__actions{display:flex;gap:8px}.iconBtn{width:36px;height:36px;border-radius:50%;border:1px solid rgba(232,141,170,.28);background:rgba(255,255,255,.72);font-size:21px;display:grid;place-items:center;backdrop-filter:blur(10px)}
.view{display:none;min-height:100dvh;padding-top:64px}.view.is-active{display:block;animation:fadeIn .28s ease both}@keyframes fadeIn{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}
.hero{position:relative;height:78dvh;min-height:580px;margin-top:-64px;overflow:hidden;background:#ddd}.hero__image{height:100%;object-fit:cover;object-position:47% center}.hero__scrim{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(255,248,245,.18) 15%,rgba(74,69,66,.03) 42%,rgba(54,42,48,.52) 100%)}
.hero__copy{position:absolute;left:22px;right:22px;bottom:40px;color:#fff}.eyebrow,.sectionLabel{font-size:10px;font-weight:800;letter-spacing:.18em}.hero__copy h1{font-family:Georgia,"Times New Roman",serif;font-size:72px;line-height:.88;margin:10px 0 14px;font-style:italic;letter-spacing:-4px;text-shadow:0 4px 24px rgba(0,0,0,.18)}.hero__copy h1 span{font-size:30px;color:#ffd4e2;vertical-align:top;margin-left:5px}.hero__copy>p:not(.eyebrow){font-size:16px;font-weight:650;margin:0 0 20px}.hero__buttons{display:flex;gap:9px;flex-wrap:wrap}
.pill{border:0;border-radius:999px;padding:13px 18px;font-size:11px;font-weight:800;letter-spacing:.09em;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px}.pill--primary{background:var(--primary-dark);color:#fff;box-shadow:0 10px 24px rgba(232,141,170,.25)}.pill--glass{background:rgba(255,255,255,.78);color:var(--text);backdrop-filter:blur(12px)}.pill--soft{background:var(--secondary-light);color:#38594d}.pill.full{width:100%}
.section{padding:48px 20px}.sectionLabel{color:var(--primary-dark);margin:0 0 10px}.section h2,.pageHero h2,.gachaPage h2{font-family:Georgia,"Times New Roman",serif;font-size:36px;line-height:1.06;letter-spacing:-1.6px;margin:0 0 16px;font-weight:700}.bodyText{font-size:14px;line-height:1.9;color:var(--text-light);margin:0 0 26px}.photoCard{position:relative;border-radius:28px;overflow:hidden;background:#eee}.photoCard img{aspect-ratio:4/3;object-fit:cover}.photoCard__tag{position:absolute;left:12px;bottom:12px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.82);font-size:9px;font-weight:800;letter-spacing:.12em;backdrop-filter:blur(12px)}
.featureSection{padding-top:12px}.sectionHead{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:20px}.sectionHead h2{font-size:30px;margin:0}.textLink{border:0;background:none;font-size:9px;font-weight:800;letter-spacing:.1em;padding:8px 0}.storyRail{display:grid;grid-auto-flow:column;grid-auto-columns:72%;overflow-x:auto;gap:12px;padding:0 1px 10px;scroll-snap-type:x mandatory;scrollbar-width:none}.storyRail::-webkit-scrollbar{display:none}.storyCard{position:relative;border-radius:24px;overflow:hidden;scroll-snap-align:start;background:#eee}.storyCard img{aspect-ratio:4/5;object-fit:cover}.storyCard span{position:absolute;left:13px;bottom:13px;background:#fff;border-radius:999px;padding:8px 12px;font-size:9px;font-weight:850;letter-spacing:.12em}
.gachaTeaser{margin:12px 16px 30px;padding:38px 24px;border-radius:34px;background:linear-gradient(145deg,var(--surface),#fff0f5 58%,#e7f7f0);position:relative;overflow:hidden}.gachaTeaser::after{content:"♡";position:absolute;right:-8px;bottom:-40px;font-family:Georgia,serif;font-size:160px;color:rgba(232,141,170,.14);transform:rotate(-10deg)}.gachaTeaser__bubble{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--accent);font:700 28px Georgia;color:#6a5820;margin-bottom:22px;transform:rotate(8deg)}.gachaTeaser h2{font-size:34px}.gachaTeaser>p:not(.sectionLabel){font-size:13px;line-height:1.7;color:var(--text-light);max-width:280px}.access{background:#fff}.access h2{font-size:46px;font-style:italic}.access>p:not(.sectionLabel){font-size:13px;line-height:1.9;color:var(--text-light);margin-bottom:22px}
.pageHero{padding:36px 20px 18px}.pageHero h2{font-size:38px}.pageHero>p:last-child{font-size:13px;color:var(--text-light);line-height:1.6}.searchBar{margin:4px 20px 14px;border:1px solid var(--border);background:#fff;border-radius:18px;display:flex;align-items:center;gap:10px;padding:0 14px;height:50px}.searchBar span{font-size:18px}.searchBar input{border:0;outline:0;background:transparent;min-width:0;width:100%;font-size:14px}.chipRail{display:flex;gap:8px;overflow-x:auto;padding:0 20px 18px;scrollbar-width:none}.chipRail::-webkit-scrollbar{display:none}.chip{white-space:nowrap;border:1px solid var(--border);border-radius:999px;background:#fff;padding:9px 13px;font-size:9px;font-weight:800;letter-spacing:.09em}.chip.is-active{background:var(--primary);border-color:var(--primary);color:#684453}
.nailGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 14px 30px}.nailCard{position:relative;border-radius:20px;overflow:hidden;background:#fff;min-width:0}.nailCard__visual{position:relative}.nailCard__visual img{aspect-ratio:3/4;object-fit:cover}.nailCard__heart{position:absolute;right:9px;top:9px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.83);display:grid;place-items:center;font-size:18px;backdrop-filter:blur(10px)}.nailCard__heart.is-liked{background:var(--primary-dark);color:#fff}.nailCard__meta{padding:10px 5px 14px}.nailCard__titleRow{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.nailCard__meta h3{font-size:13px;margin:2px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.nailCard__price{font-size:11px;color:#4d8b79;white-space:nowrap}.nailCard__meta p{font-size:8px;letter-spacing:.08em;color:var(--primary-dark);font-weight:800;margin:0;text-transform:uppercase}.emptyState{margin:20px;padding:30px;border:1px dashed var(--border);border-radius:24px;text-align:center;font-size:12px;color:var(--text-light);background:#fff}
.gachaPage{padding:36px 20px 40px;text-align:center}.gachaPage h2{font-size:38px;margin-bottom:10px}.gachaPage__lead{font-size:13px;line-height:1.7;color:var(--text-light);margin:0 auto 26px;max-width:310px}.gachaMachine{width:250px;margin:0 auto 18px;transition:.35s transform}.gachaMachine.is-spinning{animation:shake .55s ease 2}@keyframes shake{0%,100%{transform:rotate(0)}20%{transform:rotate(-4deg)}40%{transform:rotate(4deg)}60%{transform:rotate(-3deg)}80%{transform:rotate(3deg)}}.gachaMachine__top{height:188px;border:9px solid #f0a9bd;border-bottom-width:12px;border-radius:50% 50% 22% 22% / 55% 55% 20% 20%;background:rgba(255,255,255,.78);position:relative;overflow:hidden;box-shadow:inset 0 -20px 28px rgba(246,184,201,.14)}.capsule{position:absolute;width:64px;height:42px;border-radius:999px;border:4px solid rgba(255,255,255,.75);box-shadow:0 4px 10px rgba(0,0,0,.08)}.capsule--pink{background:linear-gradient(90deg,#f6b8c9 50%,#fff 50%);left:25px;bottom:18px;transform:rotate(16deg)}.capsule--mint{background:linear-gradient(90deg,#b8e7d5 50%,#fff 50%);right:26px;bottom:30px;transform:rotate(-12deg)}.capsule--yellow{background:linear-gradient(90deg,#f4d55a 50%,#fff 50%);left:95px;bottom:62px;transform:rotate(8deg)}.capsule--white{background:linear-gradient(90deg,#ffd8e6 50%,#d4f0e6 50%);right:50px;top:26px;transform:rotate(22deg)}.gachaMachine__logo{position:absolute;left:50%;top:56px;transform:translateX(-50%);font:700 italic 34px Georgia;color:var(--primary-dark);text-shadow:0 2px #fff}.gachaMachine__body{height:92px;background:#ef9fb7;border-radius:16px 16px 30px 30px;display:grid;place-items:center;box-shadow:0 12px 22px rgba(232,141,170,.22)}.gachaKnob{width:62px;height:62px;border:8px solid #fff0f5;background:var(--accent);border-radius:50%;display:grid;place-items:center;font-size:26px;color:#a45c71}.gachaButton{width:180px;height:54px;border:0;border-radius:999px;background:var(--primary-dark);color:#fff;font-size:15px;font-weight:900;letter-spacing:.12em;box-shadow:0 10px 24px rgba(232,141,170,.28)}.gachaHint{font-size:10px;color:var(--text-light);margin:10px 0 24px}.gachaResult{text-align:left;background:#fff;border-radius:28px;padding:12px;box-shadow:var(--shadow);margin-top:26px}.gachaResult__visual{position:relative;border-radius:20px;overflow:hidden}.gachaResult__visual img{aspect-ratio:4/3;object-fit:cover}.gachaResult__badge{position:absolute;left:12px;top:12px;background:#fff;border-radius:999px;padding:8px 11px;font-size:8px;font-weight:850;letter-spacing:.1em}.gachaResult__text{display:flex;align-items:center;justify-content:space-between;padding:14px 6px}.gachaResult__text p{margin:0 0 3px;color:var(--primary-dark);font-size:9px;font-weight:800;letter-spacing:.08em}.gachaResult__text h3{margin:0;font-size:20px}.gachaResult__price{display:block;margin-top:5px;font-size:13px;color:#4d8b79}.heartBtn{flex:0 0 auto;width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:#fff;font-size:20px}.heartBtn.is-liked{background:var(--primary-dark);color:white;border-color:var(--primary-dark)}
.menuHero{padding-bottom:10px}.menuList{padding:0 16px 24px}.menuGroup{background:#fff;border:1px solid rgba(241,214,224,.9);border-radius:24px;margin-bottom:12px;overflow:hidden}.menuGroup summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:18px 18px;font-family:Georgia,serif;font-size:22px;font-weight:700;color:var(--primary-dark)}.menuGroup summary::-webkit-details-marker{display:none}.menuGroup summary::after{content:"＋";font-family:system-ui;font-size:20px;font-weight:400}.menuGroup[open] summary::after{content:"−"}.menuGroup__body{padding:0 18px 18px}.menuRow{display:grid;grid-template-columns:1fr auto;gap:14px;padding:11px 0;border-top:1px dotted #ebcad6;align-items:start}.menuRow__name{font-size:12px;font-weight:650;line-height:1.55}.menuRow__sub{display:block;font-size:9px;color:var(--text-light);font-weight:500;margin-top:3px}.menuRow__price{font-size:13px;font-weight:800;color:#4d8b79;white-space:nowrap}.menuNote{font-size:9px;color:var(--text-light);padding:0 22px 20px;line-height:1.6}
.bottomNav{position:fixed;z-index:60;left:50%;bottom:0;transform:translateX(-50%);width:min(430px,100%);height:calc(72px + var(--safe-bottom));padding:8px 12px calc(8px + var(--safe-bottom));display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.92);border-top:1px solid rgba(241,214,224,.8);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.navItem{border:0;background:none;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#a39b97}.navItem span{font-size:19px;height:23px}.navItem small{font-size:7px;letter-spacing:.08em;font-weight:800}.navItem.is-active{color:var(--primary-dark)}.navItem--gacha span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--primary-dark);font-weight:900}.navItem--gacha.is-active span{background:var(--primary-dark);color:#fff}
.reserveFab{position:fixed;z-index:55;right:max(calc((100vw - 430px)/2 + 14px),14px);bottom:calc(81px + var(--safe-bottom));border:0;border-radius:999px;padding:12px 15px;background:#4a4542;color:#fff;font-size:9px;font-weight:850;letter-spacing:.09em;box-shadow:0 10px 28px rgba(74,69,66,.22)}
.sheet{position:fixed;z-index:100;inset:0;visibility:hidden;pointer-events:none}.sheet.is-open{visibility:visible;pointer-events:auto}.sheetBackdrop{position:absolute;inset:0;border:0;background:rgba(48,40,43,.36);opacity:0;transition:.25s}.sheet.is-open .sheetBackdrop{opacity:1}.sheetPanel{position:absolute;left:50%;bottom:0;width:min(430px,100%);max-height:89dvh;overflow:auto;transform:translate(-50%,105%);transition:.32s cubic-bezier(.2,.75,.25,1);background:var(--bg);border-radius:30px 30px 0 0;padding:12px 14px calc(24px + var(--safe-bottom));box-shadow:0 -20px 60px rgba(0,0,0,.15)}.sheet.is-open .sheetPanel{transform:translate(-50%,0)}.sheetHandle{width:42px;height:5px;border-radius:999px;background:#d7cfcb;margin:0 auto 12px}.sheetClose{position:absolute;right:20px;top:22px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.9);font-size:24px;z-index:2}.detailImg{aspect-ratio:4/3;object-fit:cover;border-radius:22px}.detailBody{padding:18px 6px 4px}.detailTags{margin:0 0 5px;color:var(--primary-dark);font-size:9px;font-weight:800;letter-spacing:.08em}.detailTitleRow{display:flex;align-items:center;justify-content:space-between;gap:12px}.detailTitleRow h3{font-family:Georgia,serif;font-size:26px;margin:0}.detailPrice{font-size:15px!important;font-weight:850;color:#4d8b79!important;margin:8px 0 0!important}.detailBody>p:not(.detailTags):not(.detailPrice){font-size:12px;line-height:1.75;color:var(--text-light);margin:12px 0 20px}.sheetPanel--compact{padding:12px 20px calc(34px + var(--safe-bottom))}.reservePreview{padding:28px 4px 6px}.reservePreview>span{font-size:9px;color:var(--primary-dark);font-weight:850;letter-spacing:.14em}.reservePreview h3{font:700 30px/1.1 Georgia,serif;margin:9px 0 14px}.reservePreview p{font-size:12px;color:var(--text-light);line-height:1.8}.reservePreview__steps{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:22px}.reservePreview__steps span{padding:14px 12px;border-radius:16px;background:#fff;border:1px solid var(--border);font-size:9px;font-weight:850;letter-spacing:.08em}
@media(min-width:700px){.desktopNotice{position:fixed;inset:0;display:grid;place-items:center;pointer-events:none}.desktopNotice__card{position:absolute;left:calc(50% + 260px);top:50%;transform:translateY(-50%);width:220px}.desktopNotice__logo{font:700 italic 52px Georgia;color:var(--primary-dark)}.desktopNotice__card p{font-size:12px;line-height:1.7}.desktopNotice__card span{font-size:9px;color:var(--text-light);letter-spacing:.08em}.app{margin-left:calc(50% - 215px)}}
@media(max-width:360px){.hero__copy h1{font-size:62px}.section h2,.pageHero h2,.gachaPage h2{font-size:32px}}
.firebaseState{margin:0 20px 16px;display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.72);font-size:9px;font-weight:750;letter-spacing:.04em;color:var(--text-light)}
.firebaseState::before{content:"";width:7px;height:7px;border-radius:50%;background:#d7cfcb}.firebaseState[data-state="online"]::before{background:#82c9ad}.firebaseState[data-state="loading"]::before{background:var(--accent);animation:syncPulse 1s ease-in-out infinite}.firebaseState[data-state="offline"]::before{background:#d9a4ad}.firebaseState[data-state="empty"]::before{background:var(--primary)}
@keyframes syncPulse{50%{opacity:.35;transform:scale(.72)}}

/* Reservation / Contact */
.reserveSheetPanel{padding-bottom:calc(30px + env(safe-area-inset-bottom,0px));max-height:94dvh;overflow:auto}.publicForm{display:grid;gap:13px;padding:4px 18px 18px}.publicForm h3{font:700 31px/1.05 Georgia,serif;margin:0}.formLead{margin:0;color:var(--text-light,#7A746F);font-size:12px;line-height:1.7}.publicForm label{display:grid;gap:7px;font-size:9px;font-weight:850;letter-spacing:.08em;color:#6f6561}.publicForm input,.publicForm select,.publicForm textarea{width:100%;border:1px solid var(--border);background:#fff;border-radius:15px;padding:13px 14px;outline:none;font:inherit;font-size:13px;color:var(--text);resize:vertical}.publicForm input:focus,.publicForm select:focus,.publicForm textarea:focus{border-color:var(--primary-dark);box-shadow:0 0 0 3px rgba(232,141,170,.11)}.formGrid2{display:grid;grid-template-columns:1fr 1fr;gap:9px}.referencePreview{display:grid;grid-template-columns:72px 1fr;gap:11px;align-items:center;padding:10px;background:#fff;border:1px solid var(--border);border-radius:18px}.referencePreview img{width:72px;height:72px;object-fit:cover;border-radius:14px}.referencePreview small{display:block;font-size:8px;letter-spacing:.1em;color:var(--primary-dark);font-weight:800}.referencePreview strong{display:block;margin-top:3px;font-size:12px}.referencePreview button{border:0;background:none;padding:5px 0 0;color:var(--text-light);font-size:9px;text-decoration:underline}.publicFormMessage{min-height:18px;margin:0;text-align:center;font-size:10px;color:var(--text-light)}.publicFormMessage[data-state="ok"]{color:#3d8a70}.publicFormMessage[data-state="error"]{color:#b94e63}.publicForm button:disabled{opacity:.5}.access button.pill{width:auto}

.detailPrice[hidden],.gachaResult__price[hidden]{display:none!important}

/* App loading / PWA */
.appLoader{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;background:#FFF8F5;opacity:1;visibility:visible;transition:opacity .38s ease,visibility .38s ease;overflow:hidden}
.appLoader::before,.appLoader::after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;filter:blur(8px);opacity:.26;pointer-events:none}
.appLoader::before{left:-90px;top:-60px;background:#F9D7E4}.appLoader::after{right:-110px;bottom:-70px;background:#CFE7D8}
.appLoader__inner{position:relative;width:min(76vw,330px);display:grid;justify-items:center;gap:18px;animation:loaderEnter .65s cubic-bezier(.2,.75,.25,1) both}
.appLoader__logo{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(232,141,170,.08));animation:loaderFloat 2.2s ease-in-out infinite}
.appLoader__dots{display:flex;gap:7px;height:12px;align-items:center}.appLoader__dots i{width:6px;height:6px;border-radius:50%;background:#E88DAA;animation:loaderDot 1.1s ease-in-out infinite}.appLoader__dots i:nth-child(2){animation-delay:.14s;background:#B8E7D5}.appLoader__dots i:nth-child(3){animation-delay:.28s;background:#F4D55A}
body.is-loading{overflow:hidden}body.is-loading .app{visibility:hidden}body.is-ready .appLoader{opacity:0;visibility:hidden;pointer-events:none}
@keyframes loaderEnter{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
@keyframes loaderFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes loaderDot{0%,60%,100%{opacity:.34;transform:scale(.72)}30%{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.appLoader__inner,.appLoader__logo,.appLoader__dots i{animation:none}.appLoader{transition:none}}
@media(min-width:700px){.appLoader__inner{width:300px}}

/* iPhone Safari: 日付・時間はネイティブピッカーを使い、表示だけ共通UIにする */
.reserveDateTimeGrid > label{min-width:0}
.nativePickerField{
  position:relative;
  display:block;
  width:100%;
  height:52px;
  min-width:0;
  border:1px solid var(--border);
  border-radius:15px;
  background:#fff;
  overflow:hidden;
}
.nativePickerField input[type="date"],
.nativePickerField input[type="time"]{
  position:absolute;
  inset:0;
  z-index:2;
  box-sizing:border-box;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:inherit;
  background:transparent;
  opacity:.001;
  color:transparent;
  -webkit-text-fill-color:transparent;
  -webkit-appearance:auto;
  appearance:auto;
  cursor:pointer;
}
.nativePickerValue{
  position:absolute;
  inset:0 38px 0 14px;
  z-index:1;
  display:flex;
  align-items:center;
  min-width:0;
  overflow:hidden;
  color:var(--text);
  font:inherit;
  font-size:14px;
  font-weight:600;
  white-space:nowrap;
  text-overflow:ellipsis;
  pointer-events:none;
}
.nativePickerValue.is-placeholder{color:var(--text-light);font-weight:500}
.nativePickerIcon{
  position:absolute;
  z-index:1;
  right:14px;
  top:50%;
  translate:0 -55%;
  color:var(--text);
  font-size:22px;
  line-height:1;
  pointer-events:none;
}
@supports (-webkit-touch-callout:none){
  .nativePickerField{height:54px}
  .nativePickerField input[type="date"],
  .nativePickerField input[type="time"]{font-size:16px}
}

/* iPhone Safari: bottom-sheet handle hit area */
.sheetHandle--interactive{
  position:relative;
  z-index:5;
  cursor:grab;
  touch-action:none;
  -webkit-user-select:none;
  user-select:none;
}
.sheetHandle--interactive::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:96px;
  height:44px;
  transform:translate(-50%,-50%);
  background:transparent;
}
.sheetHandle--interactive:active{cursor:grabbing}

/* Reservation calendar v1 */
.bookingPicker{display:grid;gap:12px;padding:2px 0 4px}.bookingWeekHead{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px}.bookingWeekHead strong{text-align:center;font-size:12px;letter-spacing:.04em}.weekMove{width:38px;height:38px;border:1px solid var(--border);border-radius:50%;background:#fff;font-size:22px;line-height:1}.weekMove:disabled{opacity:.25}.bookingWeek{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.bookingDay{min-width:0;border:1px solid var(--border);border-radius:16px;background:#fff;padding:9px 2px 8px;display:grid;place-items:center;gap:3px;color:var(--text)}.bookingDay span{font-size:8px;color:var(--text-light)}.bookingDay strong{font-size:14px}.bookingDay em{font-style:normal;font-size:10px;font-weight:900}.bookingDay em.is-open{color:#4b9c80}.bookingDay em.is-few{color:#c68a24}.bookingDay em.is-full{color:#b8aeaa}.bookingDay em.is-wait{color:#c9bfba}.bookingDay.is-selected{background:var(--surface);border-color:var(--primary-dark);box-shadow:0 0 0 2px rgba(232,141,170,.08)}.bookingDay:disabled{opacity:.38}.bookingTimeHead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:3px}.bookingTimeHead strong{font-size:11px}.bookingTimeHead span{font-size:8px;color:var(--primary-dark);font-weight:850}.bookingTimes{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;min-height:50px}.bookingTime{border:1px solid var(--border);border-radius:14px;background:#fff;padding:12px 4px;font-size:11px;font-weight:800}.bookingTime.is-selected{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}.bookingHint{grid-column:1/-1;margin:0;padding:16px 10px;border:1px dashed var(--border);border-radius:15px;text-align:center;color:var(--text-light);font-size:10px;line-height:1.6}

/* Google Material Symbols */
.material-symbols-rounded{font-family:'Material Symbols Rounded';font-weight:normal;font-style:normal;font-size:1em;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;font-feature-settings:'liga'}
.iconBtn .material-symbols-rounded{font-size:21px}
.searchBar>.material-symbols-rounded{font-size:18px;color:var(--text-light)}
.navItem>.material-symbols-rounded{font-size:21px;height:23px;display:grid;place-items:center}
.navItem--gacha>.material-symbols-rounded{width:30px;height:30px;border-radius:50%;background:var(--surface);color:var(--primary-dark);font-size:18px}
.navItem--gacha.is-active>.material-symbols-rounded{background:var(--primary-dark);color:#fff}
.sheetClose .material-symbols-rounded,.weekMove .material-symbols-rounded{font-size:22px}

/* Home price list */
.homeMenuSection{padding-top:6px}.homeMenuSection .menuList{margin-top:14px}.homeMenuSection .menuGroup:first-child{margin-top:0}

/* Account */
.accountActions{display:grid;gap:10px;padding:0 18px 110px}.accountAction{width:100%;border:1px solid var(--border);background:#fff;border-radius:20px;padding:16px;display:grid;grid-template-columns:34px 1fr 24px;align-items:center;gap:11px;text-align:left;color:var(--text)}.accountAction>.material-symbols-rounded:first-child{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:var(--surface);color:var(--primary-dark);font-size:19px}.accountAction div{display:grid;gap:3px}.accountAction strong{font-size:12px}.accountAction small{font-size:9px;color:var(--text-light)}.accountAction__arrow{font-size:20px;color:var(--text-light)}

.bottomNav .navItem small{font-size:7px}.bottomNav .navItem:last-child small{font-size:7px;letter-spacing:0}
.navItem--gacha>.material-symbols-rounded{font-weight:400}


/* Account hub */
.accountHero{padding-bottom:14px}.nextReservationCard{margin:0 18px 12px;padding:17px;border:1px solid rgba(232,141,170,.28);border-radius:24px;background:linear-gradient(145deg,#fff 0%,var(--surface) 100%);box-shadow:0 10px 30px rgba(92,62,72,.06)}.nextReservationCard__head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;font-weight:900}.reservationStatusChip{display:inline-flex;align-items:center;justify-content:center;min-height:23px;padding:0 9px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(232,141,170,.25);color:var(--primary-dark);font-size:8px;font-weight:900}.nextReservationCard__body{padding-top:13px;display:grid;gap:5px}.nextReservationDate{font-size:15px;letter-spacing:.01em}.nextReservationTime{margin:0;font-size:12px;font-weight:850}.nextReservationMenu{margin:2px 0 8px;color:var(--text-light);font-size:10px}.nextReservationEmpty,.accountLoading{margin:0 0 8px;color:var(--text-light);font-size:10px;line-height:1.65}.miniLinkButton{justify-self:start;border:0;background:transparent;padding:2px 0;color:var(--primary-dark);font-size:9px;font-weight:900;text-decoration:underline;text-underline-offset:3px}.accountActions{padding-top:0}.accountSheetPanel{max-height:min(82dvh,760px)}.accountSheetBody{padding:32px 18px max(28px,env(safe-area-inset-bottom));overflow:auto}.accountSheetBody h3{margin:4px 0 18px}.reservationHistoryList{display:grid;gap:9px}.historyCard{width:100%;border:1px solid var(--border);border-radius:18px;background:#fff;padding:14px;display:grid;grid-template-columns:1fr auto 18px;align-items:center;gap:9px;text-align:left;color:var(--text)}.historyCard>div{display:grid;gap:4px}.historyCard strong{font-size:10px}.historyCard span{font-size:9px;color:var(--text-light)}.historyCard>.material-symbols-rounded{font-size:18px}.historyStatus{font-style:normal;border-radius:999px;padding:5px 7px;background:var(--surface);font-size:7px;color:var(--primary-dark);font-weight:900}.historyStatus.is-cancelled{background:#f2efed;color:#999}.historyStatus.is-completed{background:var(--secondary-light);color:#4d8874}.accountEmpty{border:1px dashed var(--border);border-radius:18px;padding:22px 14px;text-align:center;color:var(--text-light);font-size:10px;line-height:1.7}.reservationDetailCard{display:grid;gap:7px}.reservationDetailCard>.reservationStatusChip{justify-self:start}.reservationDetailCard>strong{font-size:13px;margin-top:3px}.reservationDetailCard h4{font-size:24px;margin:0}.reservationDetailCard p{margin:0 0 5px;font-size:11px}.reservationDetailCard small{color:var(--text-light);font-size:8px}.reservationDetailCard dl{margin:8px 0 12px;display:grid;border-top:1px solid var(--border)}.reservationDetailCard dl>div{display:grid;grid-template-columns:76px 1fr;gap:8px;padding:10px 0;border-bottom:1px solid var(--border);font-size:9px}.reservationDetailCard dt{color:var(--text-light)}.reservationDetailCard dd{margin:0;text-align:right;overflow-wrap:anywhere}.memberRankCard{border:1px solid rgba(232,141,170,.25);border-radius:26px;background:linear-gradient(145deg,var(--surface),#fff);padding:26px 20px;text-align:center}.memberRankIcon{font-size:42px}.memberRankCard p{margin:10px 0 3px;color:var(--text-light);font-size:9px}.memberRankCard h4{margin:0;font-size:22px}.memberRankCard>strong{display:block;margin-top:8px;font-size:10px}.memberRankCard small{display:block;margin-top:8px;color:var(--text-light);font-size:8px}.rankProgress{height:7px;border-radius:999px;background:#fff;margin-top:16px;overflow:hidden}.rankProgress i{display:block;height:100%;border-radius:inherit;background:var(--primary-dark)}.paymentCardPlaceholder{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;border:1px solid var(--border);border-radius:20px;padding:16px;background:#fff}.paymentCardPlaceholder>.material-symbols-rounded{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--surface);color:var(--primary-dark);font-size:22px}.paymentCardPlaceholder strong{font-size:10px}.paymentCardPlaceholder p{margin:5px 0 0;color:var(--text-light);font-size:9px;line-height:1.6}.accountNote{margin:14px 2px 18px;color:var(--text-light);font-size:8px;line-height:1.7}.publicForm input[type="date"]{min-height:48px;color:var(--text);background:#fff}

/* Account: iPhone / mobile layout normalization */
@media (max-width: 699px){
  [data-view="account"]{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-x:hidden;
    padding-bottom:calc(92px + var(--safe-bottom));
  }
  [data-view="account"] .pageHero{
    width:100%;
    padding:28px 18px 14px;
  }
  [data-view="account"] .pageHero h2{
    margin-bottom:8px;
    font-size:34px;
    line-height:1.08;
  }
  [data-view="account"] .pageHero > p:last-child{
    margin:0;
    font-size:12px;
    line-height:1.65;
  }
  .nextReservationCard{
    width:auto;
    max-width:none;
    min-width:0;
    margin:0 14px 12px;
    padding:16px;
    border-radius:22px;
  }
  .nextReservationCard__head,
  .nextReservationCard__body,
  .accountAction,
  .accountAction > div{
    min-width:0;
  }
  .nextReservationCard__head{
    align-items:flex-start;
  }
  .nextReservationDate{
    font-size:14px;
    overflow-wrap:anywhere;
  }
  .nextReservationTime{font-size:12px}
  .nextReservationMenu{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .accountActions{
    width:100%;
    max-width:100%;
    padding:0 14px calc(104px + var(--safe-bottom));
    gap:9px;
  }
  .accountAction{
    width:100%;
    max-width:100%;
    min-height:66px;
    padding:13px 14px;
    grid-template-columns:38px minmax(0,1fr) 20px;
    gap:10px;
    border-radius:18px;
    overflow:hidden;
  }
  .accountAction > .material-symbols-rounded:first-child{
    width:38px;
    height:38px;
    border-radius:12px;
    font-size:20px;
  }
  .accountAction strong{
    display:block;
    max-width:100%;
    font-size:12px;
    line-height:1.35;
    overflow-wrap:anywhere;
  }
  .accountAction small{
    display:block;
    max-width:100%;
    font-size:9px;
    line-height:1.45;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .accountAction__arrow{
    width:20px;
    justify-self:end;
    font-size:19px;
  }

  /* Account sheets: keep all content inside the iPhone viewport */
  .accountSheetPanel{
    width:100%;
    max-width:430px;
    max-height:88dvh;
    overflow:hidden;
    padding-left:0;
    padding-right:0;
  }
  .accountSheetPanel .sheetHandle{margin-bottom:8px}
  .accountSheetBody{
    width:100%;
    min-width:0;
    max-height:calc(88dvh - 24px);
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    padding:28px 16px max(28px,env(safe-area-inset-bottom));
  }
  .accountSheetBody h3{
    padding-right:44px;
    font-size:27px;
    line-height:1.12;
  }
  #profileSheet .publicForm{
    width:100%;
    min-width:0;
    padding:4px 16px max(24px,env(safe-area-inset-bottom));
  }
  #profileSheet .publicForm label,
  #profileSheet .publicForm input{
    min-width:0;
    max-width:100%;
  }
  #profileSheet .publicForm input{
    font-size:16px;
    min-height:48px;
  }
  .historyCard{
    min-width:0;
    padding:13px;
    grid-template-columns:minmax(0,1fr) auto 18px;
    gap:7px;
  }
  .historyCard > div{min-width:0}
  .historyCard strong,
  .historyCard span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .reservationDetailCard dl > div{
    grid-template-columns:72px minmax(0,1fr);
  }
  .reservationDetailCard dd{
    min-width:0;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .memberRankCard{
    width:100%;
    max-width:100%;
    padding:22px 16px;
    border-radius:22px;
  }
  .paymentCardPlaceholder{
    width:100%;
    min-width:0;
    grid-template-columns:40px minmax(0,1fr);
    padding:14px;
  }
  .paymentCardPlaceholder > div{min-width:0}
}

@media (max-width: 360px){
  [data-view="account"] .pageHero h2{font-size:31px}
  .nextReservationCard{margin-left:12px;margin-right:12px;padding:14px}
  .accountActions{padding-left:12px;padding-right:12px}
  .accountAction{grid-template-columns:36px minmax(0,1fr) 18px;padding:12px}
  .accountAction > .material-symbols-rounded:first-child{width:36px;height:36px}
}

/* design id + reservation reference */
.nailCard__topline{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}.nailCard__topline p{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nailCard__id{flex:0 0 auto;font-size:7px;font-weight:850;letter-spacing:.08em;color:var(--text-light);background:#fff6f8;border:1px solid var(--border);border-radius:999px;padding:3px 5px}.detailDesignId{display:inline-flex!important;width:auto!important;margin:6px 0 0!important;padding:5px 8px;border-radius:999px;background:#fff;border:1px solid var(--border);font-size:8px!important;font-weight:850!important;letter-spacing:.1em!important;color:var(--text-light)!important}.reservationReferencePreview{display:grid;grid-template-columns:58px minmax(0,1fr) 34px;gap:10px;align-items:center;padding:9px;background:#fff;border:1px solid var(--border);border-radius:16px}.reservationReferencePreview[hidden]{display:none}.reservationReferencePreview img{width:58px;height:58px;border-radius:12px;object-fit:cover}.reservationReferencePreview div{min-width:0;display:grid;gap:3px}.reservationReferencePreview small{font-size:8px;font-weight:850;letter-spacing:.08em;color:var(--primary-dark)}.reservationReferencePreview strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reservationReferencePreview button{width:34px;height:34px;border:0;border-radius:50%;background:var(--bg);display:grid;place-items:center}.reservationReferencePreview button .material-symbols-rounded{font-size:18px}

/* Reference design searchable picker */
.reservationReferenceField{position:relative}
.reservationReferenceResults{position:absolute;z-index:40;left:0;right:0;top:calc(100% - 2px);max-height:260px;overflow:auto;-webkit-overflow-scrolling:touch;background:rgba(255,255,255,.98);border:1px solid var(--border);border-radius:16px;box-shadow:0 14px 34px rgba(74,69,66,.12);padding:6px}
.reservationReferenceResults[hidden]{display:none}
.referenceSearchItem{width:100%;display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center;border:0;background:transparent;padding:7px;border-radius:12px;text-align:left;color:var(--text)}
.referenceSearchItem:active,.referenceSearchItem.is-active{background:var(--bg)}
.referenceSearchItem img{width:52px;height:52px;object-fit:cover;border-radius:10px;background:var(--surface)}
.referenceSearchItem div{min-width:0;display:grid;gap:2px}
.referenceSearchItem small{font-size:8px;font-weight:850;letter-spacing:.07em;color:var(--primary-dark)}
.referenceSearchItem strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.referenceSearchEmpty{padding:12px 10px;font-size:10px;color:var(--text-light);text-align:center}

/* v1.3 design data sync + copy */
.nailCard__id{border:1px solid var(--border);background:#fff6f8;display:inline-flex;align-items:center;gap:2px;cursor:pointer}
.nailCard__id .material-symbols-rounded{font-size:10px;line-height:1}
.nailCard__menu{margin:5px 0 0!important;font-size:8px!important;line-height:1.35;color:var(--text-light)!important;font-weight:700!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:none!important;letter-spacing:.02em!important}
.detailDesignId{cursor:pointer;align-items:center;gap:4px}
.detailMenu{margin:7px 0 0;font-size:10px;color:var(--text-light);font-weight:700;line-height:1.45}
.reservationReferencePreview span{font-size:8px;color:var(--text-light);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.referenceSearchItem span{font-size:8px;color:var(--text-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reservationAutoMeta{margin:-4px 2px 2px;padding:8px 10px;border-radius:12px;background:#fff6f8;border:1px solid var(--border);font-size:9px;color:var(--text-light);font-weight:700;line-height:1.4}
.moiToast{position:fixed;z-index:9999;left:50%;bottom:max(88px,calc(70px + env(safe-area-inset-bottom)));transform:translate(-50%,12px);opacity:0;pointer-events:none;background:rgba(74,69,66,.92);color:#fff;border-radius:999px;padding:9px 14px;font-size:10px;font-weight:800;transition:.2s ease;white-space:nowrap}.moiToast.is-show{opacity:1;transform:translate(-50%,0)}

/* v1.3.2 Instagram header + menu duration */
.instagramBtn{display:grid;place-items:center;text-decoration:none}.instagramBtn img{width:21px;height:21px;display:block;object-fit:contain}.menuRow__duration{display:block;font-size:9px;color:var(--text-light);font-weight:600;margin-top:4px}

/* v1.3.3 menu + option display */
.nailCard__menu,.detailMenu{white-space:normal;overflow-wrap:anywhere;line-height:1.45}.nailCard__price,.detailPrice,.gachaResult__price{display:none!important}


/* v1.3.4: design MENU / OPTION layout */
.designServiceMeta{display:grid;gap:9px;margin-top:8px;text-transform:none;letter-spacing:0}
.designServiceMeta__group{display:grid;gap:3px}
.designServiceMeta__label{font-size:8px;font-weight:800;letter-spacing:.14em;color:var(--primary-dark,#e586a6)}
.designServiceMeta__value{font-size:10px;line-height:1.45;color:var(--text);font-weight:700}
.designServiceMeta__options{display:grid;gap:2px}
.designServiceMeta__options>span{font-size:10px;line-height:1.45;color:var(--text-light);font-weight:700}
.designServiceMeta__options b{font-weight:800;color:var(--text)}
.nailCard__menu .designServiceMeta{margin-top:0}
.detailMenu .designServiceMeta{margin-top:4px}
.reservationReferencePreview .designServiceMeta,.referenceSearchItem .designServiceMeta,.reservationAutoMeta .designServiceMeta{margin-top:4px}
.referenceSearchItem .designServiceMeta{gap:5px}
.referenceSearchItem .designServiceMeta__label{font-size:7px}
.referenceSearchItem .designServiceMeta__value,.referenceSearchItem .designServiceMeta__options>span{font-size:9px}
.reservationDurationMeta{display:block;margin-top:6px;font-size:10px;font-weight:700;color:var(--text-light)}


/* legacy tag chips (superseded by v1.4.0) */
.nailCard__topline{align-items:flex-start}
.nailCard__tagChips{display:flex;flex-wrap:wrap;gap:4px;min-width:0;flex:1}
.nailCard__tagChip{display:inline-flex;align-items:center;min-height:19px;padding:3px 8px;border-radius:999px;background:var(--primary);color:#fff;font-size:8px;font-weight:800;line-height:1;letter-spacing:.02em;white-space:nowrap;text-transform:none}
.nailCard__id{margin-top:0}

/* v1.3.6: quick tags + detailed filter sheet */
.nailFilterBar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 14px 18px}
.nailFilterBar__rail{padding:0;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.nailFilterBar__rail .chip{flex:0 0 auto}
.filterOpenBtn{position:relative;height:36px;padding:0 11px;border:1px solid var(--border);border-radius:999px;background:#fff;display:inline-flex;align-items:center;justify-content:center;gap:4px;color:var(--text);font-size:9px;font-weight:800;white-space:nowrap}
.filterOpenBtn>.material-symbols-rounded{font-size:15px}.filterOpenBtn em{position:absolute;right:-4px;top:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--primary-dark);color:#fff;font-size:8px;font-style:normal;display:grid;place-items:center}
.filterSheetPanel{max-height:min(82dvh,720px);display:flex;flex-direction:column;overflow:hidden}
.filterSheetBody{padding:2px 20px 18px;overflow-y:auto;-webkit-overflow-scrolling:touch}.filterSheetBody h3{margin:0 0 20px;font-size:24px}
.filterGroup{padding:0 0 20px;margin:0 0 18px;border-bottom:1px solid var(--border)}.filterGroup:last-child{border-bottom:0}.filterGroup h4{font-size:10px;letter-spacing:.13em;color:var(--text-light);margin:0 0 10px}
.filterChoiceGrid{display:flex;flex-wrap:wrap;gap:7px}.filterChoice{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:999px;padding:9px 12px;font-size:10px;font-weight:700;line-height:1}.filterChoice.is-selected{background:var(--primary);border-color:var(--primary);color:#fff}.filterEmpty{font-size:10px;color:var(--text-light)}
.filterSheetActions{display:grid;grid-template-columns:.8fr 1.4fr;gap:8px;padding:12px 20px calc(16px + env(safe-area-inset-bottom,0px));background:rgba(255,248,245,.95);border-top:1px solid var(--border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}

/* v1.3.7: filter trigger / sheet touch reliability */
.filterOpenBtn{
  z-index:3;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  cursor:pointer;
}
#filterSheet{z-index:160;}
#filterSheet .sheetBackdrop{touch-action:manipulation;}
#filterSheet .filterChoice,#filterSheet .pill,#filterSheet .sheetClose{touch-action:manipulation;}


/* v1.4.0: design card hashtags + horizontal tag rail */
.nailCard__topline--id{display:flex;justify-content:flex-end;align-items:center;margin-bottom:6px}
.nailCard__tagRail{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;overflow-y:hidden;margin-top:10px;padding:2px 1px 4px;min-width:0;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none}
.nailCard__tagRail::-webkit-scrollbar{display:none}
.nailCard__tagText{flex:0 0 auto;color:var(--primary-dark);font-size:10px;font-weight:750;line-height:1.35;white-space:nowrap}
.nailCard__titleRow{display:none!important}

/* v1.4.2: customer-facing design card/detail separated from Admin */
.nailCard__meta{display:flex;flex-direction:column;gap:0}
.nailCard__topline--id{justify-content:flex-start;margin-bottom:8px}
.nailCard__id{font-size:9px;padding:5px 8px;background:transparent;border:0;color:var(--text-light);letter-spacing:.06em}
.nailCard__id .material-symbols-rounded{font-size:12px}
.publicDesignService{display:grid;gap:6px;margin:0 0 2px}
.publicDesignService__menu{font-size:11px;line-height:1.45;color:var(--text);font-weight:750}
.publicDesignService__options{display:grid;gap:3px}
.publicDesignService__options span{font-size:10px;line-height:1.45;color:var(--text-light);font-weight:700}
.nailCard__tagRail{order:10;margin-top:10px;padding-bottom:2px}
.nailCard__tagText{font-size:10px;color:var(--primary-dark);font-weight:750}
.detailTitleRow h3{display:none!important}
.detailTitleRow{justify-content:flex-end;min-height:36px}
.detailDesignId{font-size:10px!important;background:transparent;border:0;padding:3px 0;margin:4px 0 8px!important;color:var(--text-light)!important}
.detailMenu .publicDesignService{margin-top:0;gap:7px}
.detailMenu .publicDesignService__menu{font-size:13px}
.detailMenu .publicDesignService__options span{font-size:12px}
.detailTags{display:flex;flex-wrap:nowrap;gap:12px;overflow-x:auto;overflow-y:hidden;margin:12px 0 4px!important;padding:2px 0 4px;-webkit-overflow-scrolling:touch;scrollbar-width:none;white-space:nowrap}
.detailTags::-webkit-scrollbar{display:none}
.detailTags span{flex:0 0 auto;font-size:10px;color:var(--primary-dark);font-weight:750;letter-spacing:0}


/* v1.4.3 design ID button */
.nailCard__topline--id{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
}
.nailCard__id.designIdCopy{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:auto;
  max-width:100%;
  min-height:28px;
  margin:0;
  padding:5px 9px;
  border:1px solid rgba(232,145,174,.26);
  border-radius:999px;
  background:rgba(255,247,250,.88);
  color:var(--primary-dark);
  font-size:9px;
  font-weight:850;
  line-height:1;
  letter-spacing:.055em;
  white-space:nowrap;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  box-shadow:none;
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
.nailCard__id.designIdCopy .material-symbols-rounded{
  flex:0 0 auto;
  font-size:13px;
  line-height:1;
  font-variation-settings:'wght' 450;
}
@media (hover:hover){
  .nailCard__id.designIdCopy:hover{
    background:#fff;
    border-color:rgba(232,145,174,.48);
    transform:translateY(-1px);
  }
}
.nailCard__id.designIdCopy:active{transform:scale(.98);}
.nailCard__id.designIdCopy:focus-visible{
  outline:2px solid rgba(232,145,174,.34);
  outline-offset:2px;
}


/* v1.4.4: customer detail modal hierarchy */
#detailSheet .sheetPanel{padding-left:14px;padding-right:14px}
#detailSheet .detailImg{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:22px}
#detailSheet .detailBody{padding:16px 6px 4px}
#detailSheet .detailTitleRow{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;margin:0 0 14px}
#detailSheet .detailTitleRow h3{display:block!important;min-width:0;margin:0;font-family:inherit;font-size:18px;font-weight:800;line-height:1.35;color:var(--text);letter-spacing:.01em;overflow-wrap:anywhere}
#detailSheet .heartBtn{flex:0 0 auto;width:40px;height:40px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.82);display:grid;place-items:center;font-size:22px;color:var(--primary-dark);box-shadow:none}
#detailSheet .heartBtn.is-liked{background:var(--primary);border-color:var(--primary);color:#fff}
#detailSheet .detailMenu{margin:0!important}
#detailSheet .detailMenu .publicDesignService{display:grid;gap:7px;margin:0}
#detailSheet .detailMenu .publicDesignService__menu{font-size:13px;line-height:1.55;font-weight:800;color:var(--text)}
#detailSheet .detailMenu .publicDesignService__options{display:grid;gap:4px}
#detailSheet .detailMenu .publicDesignService__options span{font-size:12px;line-height:1.5;font-weight:700;color:var(--text-light)}
#detailSheet .detailTags{display:flex;flex-wrap:nowrap;gap:12px;overflow-x:auto;overflow-y:hidden;margin:16px 0 18px!important;padding:2px 0 5px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;white-space:nowrap}
#detailSheet .detailTags::-webkit-scrollbar{display:none}
#detailSheet .detailTags span{flex:0 0 auto;font-size:11px;line-height:1.4;font-weight:750;color:var(--primary-dark);letter-spacing:0}
#detailSheet .detailCta{margin-top:0;min-height:48px}
