html {
  --lx-ink: #111111;
  --lx-ink2: #3F3F46;
  --lx-mute: #6B6B76;
  --lx-page: #FFFFFF;
  --lx-page2: var(--k-faf8ff);
  --lx-surface: #FFFFFF;
  --lx-blush: var(--k-f5f3ff);
  --lx-line: rgba(17, 17, 17, .10);
  --lx-line2: rgba(17, 17, 17, .18);
  --lx-gold: var(--k-7c3aed);
  --lx-gold2: var(--k-c4b5fd);
  --lx-gold-soft: rgba(var(--k-124-58-237), .18);
  --lx-accent: var(--k-7c3aed);
  --lx-accent2: var(--k-a855f7);
  --lx-on-accent: #FFFFFF;
  --lx-stage1: color-mix(in srgb, var(--k-5b21b6) 62%, #000);
  --lx-stage2: color-mix(in srgb, var(--k-6d28d9) 78%, #000);
  --lx-stage3: var(--k-6d28d9);
  --lx-on-stage: #FFFFFF;
  --lx-on-stage2: rgba(255, 255, 255, .78);
  --lx-shadow: 0 22px 44px -24px rgba(var(--k-44-20-90), .35);
  --lx-r-card: 18px;
  --lx-r-ctl: 12px;
  --lx-ease: cubic-bezier(.2, .7, .2, 1);
  --lx-acc-rgb: var(--k-124-58-237);
  --lx-acc2-rgb: var(--k-139-92-246);
  --lx-acc-lt-rgb: var(--k-196-181-253);
  --lx-accent-lt: var(--k-c4b5fd);
}

.modal-share { position: absolute; z-index: 20; top: 14px; left: 14px; border: 1px solid rgba(var(--k-124-58-237), .25); border-radius: 999px; padding: .45rem .95rem; font: 600 .74rem var(--font-b); letter-spacing: .06em; color: var(--k-7c3aed); background: rgba(255, 255, 255, .95); cursor: pointer; box-shadow: 0 6px 18px -10px rgba(var(--k-76-29-149), .5); }
.terms-note { font-size: .78rem; line-height: 1.55; color: #6B6B76; margin: .7rem 0 0; }
.terms-note a { color: var(--k-7c3aed); cursor: pointer; }

#themeRibbon { display: none; position: absolute; top: var(--nav-h, 64px); left: 0; right: 0; z-index: 5; padding: .55rem 1rem; text-align: center; font: 500 .72rem var(--font-b); letter-spacing: .22em; text-transform: uppercase; color: var(--k-7c3aed); background: var(--k-f5f3ff); border-bottom: 1px solid rgba(var(--k-124-58-237), .14); border-radius: 0 !important; }
html[class*="theme-"]:not(.theme-classic39) #themeRibbon:not(:empty) { display: block; }
body.dark-mode #themeRibbon { color: var(--k-c4b5fd); background: rgba(var(--k-124-58-237), .14); border-bottom-color: rgba(var(--k-196-181-253), .18); }
@media (max-width: 540px) { #themeRibbon { font-size: .64rem; letter-spacing: .14em; padding: .5rem .8rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } }

.info-overlay { position: fixed; inset: 0; z-index: 720; display: flex; align-items: flex-end; justify-content: center; background: rgba(17, 17, 17, .45); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); opacity: 0; pointer-events: none; transition: opacity .3s var(--lx-ease); }
.info-overlay.open { opacity: 1; pointer-events: auto; }
.info-sheet { width: 100%; max-width: 760px; max-height: 100%; height: 100%; overflow-y: auto; overscroll-behavior: contain; background: var(--lx-page); color: var(--lx-ink); transform: translateY(24px); transition: transform .4s var(--lx-ease); }
.info-overlay.open .info-sheet { transform: none; }
@media (min-width: 800px) { .info-overlay { align-items: center; padding: 2.5rem; } .info-sheet { height: auto; max-height: calc(100vh - 5rem); border-radius: 20px; box-shadow: 0 40px 90px -40px rgba(17, 17, 17, .45); } }
.info-top { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.25rem; background: rgba(255, 255, 255, .92); backdrop-filter: blur(12px); border-bottom: 1px solid var(--lx-line); }
.info-back { border: 1px solid var(--lx-line2); background: var(--lx-surface); color: var(--lx-ink); border-radius: 8px; padding: .45rem 1rem .45rem .8rem; font: 500 .84rem var(--font-b); cursor: pointer; display: inline-flex; align-items: center; gap: .35rem; }
.info-back::before { content: ''; width: 7px; height: 7px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-right: .1rem; }
.info-brand { font-family: var(--font-s) !important; font-size: 1.05rem; color: var(--lx-ink); }
.info-body { padding: 1.6rem 1.25rem 3rem; }
@media (min-width: 800px) { .info-body { padding: 2.2rem 2.6rem 3rem; } }
.ip-head { margin-bottom: 1.6rem; }
.ip-title { font-family: var(--font-s) !important; font-weight: 400; font-size: clamp(1.9rem, 6.5vw, 2.6rem); line-height: 1.12; margin: 0 0 .6rem; color: var(--lx-ink); }
.ip-lead { font-size: 1.02rem; line-height: 1.6; color: var(--lx-mute); max-width: 36rem; }
.ip-muted { color: var(--lx-mute); font-size: .92rem; line-height: 1.6; }
.ip-ok { padding: 1rem 1.2rem; border-radius: 14px; background: var(--lx-blush); font-weight: 600; }
.ip-faq { display: grid; gap: .6rem; }
.ip-q { border: 1px solid var(--lx-line); border-radius: 14px; background: var(--lx-surface); overflow: hidden; }
.ip-q[open] { border-color: rgba(var(--k-124-58-237), .35); }
.ip-q summary { list-style: none; cursor: pointer; padding: 1rem 2.6rem 1rem 1.1rem; font-weight: 600; font-size: .98rem; position: relative; }
.ip-q summary::-webkit-details-marker { display: none; }
.ip-q summary::after { content: ''; position: absolute; right: 1.1rem; top: 50%; width: 9px; height: 9px; margin-top: -7px; border-right: 2px solid var(--lx-accent); border-bottom: 2px solid var(--lx-accent); transform: rotate(45deg); transition: transform .3s; }
.ip-q[open] summary::after { transform: rotate(225deg); margin-top: -2px; }
.ip-q p { padding: 0 1.1rem 1.1rem; line-height: 1.65; color: var(--lx-ink2); font-size: .95rem; }
.ip-more { margin-top: 1.4rem; color: var(--lx-mute); }
.ip-more a, .ip-legal a { color: var(--lx-accent); font-weight: 600; }
.ip-contacts { display: grid; gap: .7rem; }
.ip-contact { display: flex; align-items: center; gap: .9rem; padding: 1rem 1.1rem; border-radius: 14px; border: 1px solid var(--lx-line); background: var(--lx-surface); color: inherit; text-decoration: none; transition: border-color .25s; }
a.ip-contact:hover { border-color: var(--lx-accent); }
.ip-contact .ico, .ip-ic-txt { flex: none; width: 40px; height: 40px; padding: 10px; border-radius: 50%; background: var(--lx-blush); color: var(--lx-accent); }
.ip-ic-txt { display: inline-flex; align-items: center; justify-content: center; padding: 0; font-weight: 700; }
.ip-contact span { display: flex; flex-direction: column; gap: .1rem; }
.ip-contact small { font-size: .78rem; color: var(--lx-mute); font-weight: 500; }
.ip-contact b { font-size: 1rem; font-weight: 600; }
.ip-socials { display: flex; gap: .6rem; margin-top: 1rem; flex-wrap: wrap; }
.ip-social { border-radius: 8px; padding: .6rem 1.1rem; font-weight: 500; text-decoration: none; color: #fff; background: var(--lx-accent); }
.ip-legal { line-height: 1.75; color: var(--lx-ink2); }
.ip-legal h2, .ip-legal h3 { font-family: var(--font-s) !important; font-weight: 400; color: var(--lx-ink); margin: 1.4rem 0 .5rem; font-size: 1.3rem; }
.ip-legal p { margin: 0 0 .8rem; }
.ip-flow { list-style: none; counter-reset: s; display: grid; gap: .7rem; margin: 0 0 1.6rem; padding: 0; }
.ip-flow li { counter-increment: s; position: relative; padding: 1rem 1.1rem 1rem 3.6rem; border-radius: 14px; background: var(--lx-surface); border: 1px solid var(--lx-line); display: flex; flex-direction: column; gap: .2rem; }
.ip-flow li::before { content: counter(s); position: absolute; left: 1rem; top: 1rem; width: 1.9rem; height: 1.9rem; border-radius: 50%; display: grid; place-items: center; font: 600 .9rem var(--font-b); color: var(--lx-accent); background: var(--lx-blush); }
.ip-flow b { font-size: 1rem; font-weight: 600; }
.ip-flow span { color: var(--lx-mute); font-size: .92rem; line-height: 1.5; }
.ip-benefits { display: grid; gap: .7rem; margin-bottom: 1.8rem; }
@media (min-width: 640px) { .ip-benefits { grid-template-columns: 1fr 1fr; } }
.ip-benefits div { padding: 1.1rem; border-radius: 14px; border: 1px solid var(--lx-line); background: var(--lx-surface); display: flex; flex-direction: column; gap: .3rem; transition: border-color .25s; }
.ip-benefits div:hover { border-color: rgba(var(--k-124-58-237), .45); }
.ip-benefits b { font-family: var(--font-s) !important; font-weight: 400; font-size: 1.12rem; }
.ip-benefits span { color: var(--lx-mute); font-size: .92rem; line-height: 1.5; }
.ip-h2 { font-family: var(--font-s) !important; font-weight: 400; font-size: 1.6rem; margin: 0 0 .9rem; }
.ip-plans { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin-bottom: .8rem; }
@media (min-width: 700px) { .ip-plans { grid-template-columns: repeat(4, 1fr); } }
.ip-plan { position: relative; padding: 1rem; border-radius: 14px; background: var(--lx-surface); border: 1px solid var(--lx-line); display: flex; flex-direction: column; gap: .2rem; }
.ip-plan.best { border: 2px solid var(--lx-accent); padding: calc(1rem - 1px); }
.ip-plan.best .ipp-l { color: var(--lx-accent); }
.ipp-l { font-size: .82rem; font-weight: 500; color: var(--lx-mute); }
.ip-plan b { font-family: var(--font-b); font-size: 1.25rem; font-weight: 600; }
.ip-plan small { font-size: .78rem; color: var(--lx-mute); }
.ip-cta { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.6rem; }
.ip-primary, .ip-install { border: 0; border-radius: 8px; padding: .9rem 1.6rem; font: 500 .78rem var(--font-b); letter-spacing: .14em; text-transform: uppercase; color: #fff; background: var(--lx-accent); cursor: pointer; transition: background .2s; }
.ip-primary:hover, .ip-install:hover { background: var(--k-6d28d9); }
.ip-secondary { border: 1px solid rgba(var(--k-124-58-237), .4); border-radius: 8px; padding: .9rem 1.5rem; font: 500 .78rem var(--font-b); letter-spacing: .14em; text-transform: uppercase; color: var(--lx-accent); background: #fff; cursor: pointer; }
.ip-steps { display: grid; gap: .8rem; }
@media (min-width: 640px) { .ip-steps { grid-template-columns: 1fr 1fr; } .ip-install { grid-column: 1 / -1; justify-self: start; } }
.ip-step { padding: 1.1rem 1.2rem; border-radius: 14px; background: var(--lx-surface); border: 1px solid var(--lx-line); opacity: .72; }
.ip-step.on { opacity: 1; border-color: var(--lx-accent); }
.ip-step h3 { font-family: var(--font-s) !important; font-weight: 400; font-size: 1.2rem; margin-bottom: .5rem; }
.ip-step ol { margin: 0; padding-left: 1.2rem; display: grid; gap: .35rem; line-height: 1.5; color: var(--lx-ink2); }
html.info-open, body.info-open { overflow: hidden; }

.host-gate { position: fixed; inset: 0; z-index: 800; display: grid; place-items: center; padding: 1.5rem; overflow: auto; color: var(--lx-ink); background: #FFFFFF; }
.host-gate[hidden] { display: none; }
.hg-card { position: relative; width: min(420px, 100%); text-align: center; padding: 2.4rem 1.6rem 1.8rem; }
.hg-mark { width: 64px; height: auto; margin: 0 auto 1.2rem; display: block; }
.hg-title { font-family: var(--font-s) !important; font-weight: 400; font-size: 2.1rem; line-height: 1.15; margin-bottom: .7rem; color: var(--lx-ink); }
.hg-sub { color: var(--lx-mute); line-height: 1.6; margin-bottom: 1.6rem; }
.hg-btns { display: grid; gap: .6rem; }
.hg-primary { border: 0; border-radius: 8px; padding: 1rem 1.2rem; font: 500 .8rem var(--font-b); letter-spacing: .18em; text-transform: uppercase; color: #fff; background: var(--lx-accent); cursor: pointer; transition: background .2s; }
.hg-primary:hover { background: var(--k-6d28d9); }
.hg-secondary { border: 1px solid rgba(var(--k-124-58-237), .4); border-radius: 8px; padding: 1rem 1.2rem; font: 500 .8rem var(--font-b); letter-spacing: .18em; text-transform: uppercase; color: var(--lx-accent); background: #fff; cursor: pointer; }
.hg-link { display: inline-block; margin-top: 1.4rem; color: var(--lx-accent); font-size: .86rem; text-decoration: none; border-bottom: 1px solid rgba(var(--k-124-58-237), .35); padding-bottom: 2px; }
html.gate-on body { overflow: hidden; }
body.dark-mode .host-gate { background: #121216; color: #F0F0F0; }
body.dark-mode .hg-title { color: #F0F0F0; }
body.dark-mode .hg-sub { color: #A8A8B3; }
body.dark-mode .hg-secondary { background: transparent; color: var(--k-c4b5fd); border-color: rgba(var(--k-196-181-253), .4); }
body.dark-mode .hg-link { color: var(--k-c4b5fd); }

.slk { display: flex; gap: 1.2rem; align-items: stretch; padding: 1.2rem 1.25rem; margin-bottom: 1.2rem; border-radius: 18px; color: var(--lx-ink); background: #FFFFFF; border: 1px solid var(--lx-line); }
.slk-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .45rem; }
.slk-title { font-family: var(--font-s) !important; font-size: 1.3rem; color: var(--lx-ink); }
.slk-sub { font-size: .86rem; line-height: 1.55; color: var(--lx-mute); }
.slk-url { display: block; font-weight: 500; color: var(--lx-accent); text-decoration: none; word-break: break-all; font-size: .95rem; margin: .15rem 0 .3rem; }
.slk-url:hover { text-decoration: underline; }
.slk-btns { display: flex; flex-wrap: wrap; gap: .45rem; }
.slk-btn { border: 1px solid var(--lx-accent); border-radius: 8px; padding: .6rem 1rem; font: 500 .82rem var(--font-b); color: #fff; background: var(--lx-accent); cursor: pointer; transition: background .2s; }
.slk-btn:hover { background: var(--k-6d28d9); }
.slk-btn.ghost { color: var(--lx-accent); background: #fff; border-color: rgba(var(--k-124-58-237), .35); }
.slk-btn.ghost:hover { background: var(--lx-blush); }
.slk-edit { display: none; margin-top: .5rem; }
.slk-edit.open { display: block; }
.slk-edit label { display: block; font-size: .8rem; color: var(--lx-mute); margin-bottom: .35rem; }
.slk-row { display: flex; gap: .45rem; }
.slk-row input { flex: 1; min-width: 0; border-radius: 8px; border: 1px solid var(--lx-line2); background: #fff; color: var(--lx-ink); padding: .6rem .7rem; font: 500 .95rem var(--font-b); }
.slk-row input:focus { outline: none; border-color: var(--lx-accent); box-shadow: 0 0 0 3px rgba(var(--k-124-58-237), .14); }
.slk-save { border: 0; border-radius: 8px; padding: .6rem 1rem; font: 500 .84rem var(--font-b); color: #fff; background: var(--lx-accent); cursor: pointer; }
.slk-edit small { display: block; margin-top: .35rem; font-size: .76rem; color: var(--lx-mute); }
.slk-qr { flex: none; width: 112px; align-self: center; padding: 8px; border-radius: 12px; background: #fff; border: 1px solid var(--lx-line); }
.slk-qr svg { display: block; width: 100%; height: auto; }
@media (max-width: 520px) { .slk { flex-direction: column; } .slk-qr { width: 140px; } }
body.dark-mode .slk { background: #1A1A1F; border-color: rgba(255, 255, 255, .1); color: #F0F0F0; }
body.dark-mode .slk-title { color: #F0F0F0; }
body.dark-mode .slk-sub, body.dark-mode .slk-edit label, body.dark-mode .slk-edit small { color: #A8A8B3; }
body.dark-mode .slk-url { color: var(--k-c4b5fd); }
body.dark-mode .slk-btn.ghost { background: transparent; color: var(--k-c4b5fd); border-color: rgba(var(--k-196-181-253), .4); }
body.dark-mode .slk-row input { background: #121216; color: #F0F0F0; border-color: rgba(255, 255, 255, .18); }

.pf-delete { margin-top: 1.6rem; border-top: 1px solid rgba(17, 17, 17, .1); padding-top: 1rem; }
.pf-delete summary { cursor: pointer; color: #B42318; font-weight: 600; font-size: .9rem; }
.pf-delete p { font-size: .86rem; line-height: 1.55; color: #6B6B76; margin: .7rem 0; }
.pf-del-btn { margin-top: .6rem; border: 0; border-radius: 8px; padding: .7rem 1.1rem; font: 500 .86rem var(--font-b); color: #fff; background: #B42318; cursor: pointer; }
.pf-delete .pw-wrap input { width: 100%; height: 46px; padding: 0 14px; border-radius: 8px; border: 1px solid rgba(17, 17, 17, .16); background: #fff; color: #111111; font: 500 16px var(--font-b); outline: none; transition: border-color .2s, box-shadow .2s; }
.pf-delete .pw-wrap input:focus { border-color: #B42318; box-shadow: 0 0 0 3px rgba(180, 35, 24, .14); }
body.dark-mode .pf-delete { border-top-color: rgba(255, 255, 255, .1); }
body.dark-mode .pf-delete .pw-wrap input { background: #1A1A1F; color: #F0F0F0; border-color: rgba(255, 255, 255, .16); }

.dash { margin: 0 0 1.4rem; }
.dash-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: .9rem; }
.dash-hello { font-family: var(--font-s) !important; font-size: 1.6rem; line-height: 1.2; margin: 0; }
.dash-date { margin: 0; font-size: .88rem; font-weight: 500; opacity: .7; }
.dash-grid { display: grid; gap: .7rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 760px) { .dash-sa .dash-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .dash-salon .dash-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.dash-tile { position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: flex-start; gap: .2rem; text-align: left; padding: 1rem 1rem .95rem; border-radius: 18px; border: 1px solid transparent; font: inherit; color: inherit; cursor: default; isolation: isolate; transition: border-color .25s; }
button.dash-tile { cursor: pointer; }
.dt-label { font-size: .8rem; font-weight: 500; opacity: .78; }
.dt-value { font-family: var(--font-s) !important; font-weight: 400; font-size: clamp(1.6rem, 6vw, 2.1rem); line-height: 1.05; letter-spacing: -.01em !important; }
.dt-value small { font-family: var(--font-b) !important; font-size: .95rem; opacity: .6; margin-left: .15rem; }
.dt-sub { font-size: .78rem; font-weight: 500; opacity: .7; }
.dash-spark { width: 100%; max-width: 160px; height: 30px; margin-top: .45rem; display: block; }
.dash-spark rect { fill: currentColor; opacity: .35; }
.dash-spark rect.on { opacity: 1; }
.dash-salon .dash-hello { color: var(--lx-ink); }
.dash-salon .dash-tile { background: #fff; border-color: var(--lx-line); color: var(--lx-ink); }
.dash-salon button.dash-tile:hover { border-color: rgba(var(--k-124-58-237), .4); }
.dash-salon .t-book { background: var(--lx-accent); color: #fff; border-color: transparent; }
.dash-salon button.t-book:hover { border-color: transparent; background: var(--k-6d28d9); }
.dash-salon .t-book .dash-spark rect { fill: #fff; }
.dash-salon .t-pending.hot { border-color: var(--lx-accent); box-shadow: inset 0 0 0 1px var(--lx-accent); }
.dash-salon .t-pending.hot .dt-value { color: var(--lx-accent); }
.dash-salon .t-money .dt-value { font-size: clamp(1.3rem, 5vw, 1.7rem); }
body.dark-mode .dash-salon .dash-tile:not(.t-book) { background: #1A1A1F; border-color: rgba(255, 255, 255, .1); color: #F0F0F0; }
body.dark-mode .dash-salon .dash-hello { color: #F0F0F0; }
.dash-sa .dash-hello { color: #FFFFFF; }
.dash-sa .dash-date { color: rgba(255, 255, 255, .65); }
.dash-sa .dash-tile { color: #FFFFFF; background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .1); }
.dash-sa button.dash-tile:hover { border-color: rgba(var(--k-196-181-253), .45); }
.dash-sa .t-book { background: var(--lx-accent); border-color: transparent; }
.dash-sa button.t-book:hover { border-color: transparent; background: var(--k-6d28d9); }
.dash-sa .t-book .dash-spark rect { fill: #fff; }
.dash-sa .hot { border-color: var(--k-c4b5fd); box-shadow: inset 0 0 0 1px var(--k-c4b5fd); }

.theme-grid2 { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important; gap: .8rem !important; }
.tc2 { position: relative; display: flex; flex-direction: column; border-radius: 14px; background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .1); overflow: hidden; transition: border-color .25s; }
.tc2:hover { border-color: rgba(var(--k-196-181-253), .5); }
.tc2.active { border-color: var(--k-a78bfa); box-shadow: inset 0 0 0 1px var(--k-a78bfa); }
.tc2-main { display: flex; flex-direction: column; align-items: flex-start; gap: .25rem; padding: 0 0 .85rem; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; width: 100%; }
.tc2-stage { position: relative; display: grid; place-items: center; width: 100%; height: 112px; margin-bottom: .65rem; background: #FFFFFF; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.tc2-pv { display: flex; flex-direction: column; align-items: center; gap: .15rem; text-align: center; line-height: 1.1; }
.tc2-pv b, .tc2-pv i { font-family: 'Playfair Display', Georgia, serif !important; }
.tc2-pv i { font-style: italic !important; }
.tc2-pv b { font-weight: 400; font-size: 1rem; color: #111111; }
.tc2-pv i { font-size: 1.22rem; background: linear-gradient(135deg, var(--k-7c3aed), var(--k-ec4899) 55%, var(--k-a855f7)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.tc2-pv u { margin-top: .4rem; text-decoration: none; font: 500 .52rem var(--font-b); letter-spacing: .16em; text-transform: uppercase; color: #fff; background: var(--k-7c3aed); border-radius: 4px; padding: .3rem .6rem; }
.tc2-dots { position: absolute; left: 10px; bottom: 9px; display: flex; gap: 4px; }
.tc2-dots i { width: 10px; height: 10px; border-radius: 50%; }
.tc2-dots i:nth-child(1) { background: var(--k-7c3aed); }
.tc2-dots i:nth-child(2) { background: var(--k-ec4899); }
.tc2-dots i:nth-child(3) { background: var(--k-c4b5fd); }
.tc2-name { padding: 0 .9rem; font-weight: 600; font-size: .95rem; color: #FFFFFF; }
.tc2-hello { padding: 0 .9rem; font-size: .76rem; color: rgba(255, 255, 255, .6); line-height: 1.4; min-height: 2.1em; }
.tc2-on, .tc2-use { margin: .35rem .9rem 0; font-size: .72rem; font-weight: 600; border-radius: 6px; padding: .25rem .6rem; }
.tc2-on { color: #fff; background: #7C3AED; }
.tc2-use { color: rgba(255, 255, 255, .8); border: 1px solid rgba(255, 255, 255, .2); }
.tc2-prev { display: block; text-align: center; padding: .6rem; font-size: .8rem; font-weight: 500; color: #C4B5FD; text-decoration: none; border-top: 1px solid rgba(255, 255, 255, .08); }
.tc2-prev:hover { background: rgba(196, 181, 253, .08); }

.sas-grid { display: grid; gap: .9rem; }
@media (min-width: 900px) { .sas-grid { grid-template-columns: 1fr 1fr; } .sas-grid .sas-card:first-child { grid-row: span 2; } }
.sas-card { display: flex; flex-direction: column; gap: .7rem; }
.sas-card h3 { margin: 0; }
.sas-muted { margin: 0; font-size: .84rem; line-height: 1.55; color: rgba(255, 255, 255, .62); }
.sas-muted b { color: #C4B5FD; }
.sas-fields { display: grid; gap: .6rem; }
.sas-f { display: flex; flex-direction: column; gap: .3rem; font-size: .78rem; font-weight: 500; color: rgba(255, 255, 255, .75); }
.sas-f input { padding: .65rem .8rem; font: 500 .92rem var(--font-b); }
.sas-card textarea { width: 100%; min-height: 140px; padding: .7rem .8rem; font: 500 .8rem/1.5 ui-monospace, Menlo, Consolas, monospace; resize: vertical; }
.sas-state { margin: 0; font-size: .82rem; font-weight: 600; color: rgba(255, 255, 255, .55); }
.sas-state.on { color: #7FE0AE; }
.sas-row { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; }
.sas-link { color: #C4B5FD; font-weight: 500; font-size: .86rem; text-decoration: none; }
.sas-link.big { font-size: 1rem; word-break: break-all; }
.sas-card .sa-add-btn { align-self: flex-start; padding: .65rem 1.2rem !important; }
.artist-card-ini { display: flex; align-items: center; justify-content: center; font: 400 2.1rem/1 var(--font-s, Georgia, serif); color: var(--lx-accent); background: var(--lx-blush); user-select: none; }
.bks-pay-one { cursor: default; }
.bks-pay-rule { margin: .55rem .15rem 0; font-size: .78rem; line-height: 1.5; color: #6B6B76; }
body.dark-mode .bks-pay-rule { color: #A8A8B3; }
.sp-durs { display: flex; flex-wrap: wrap; gap: .4rem; }
.sp-dur { border: 1px solid rgba(var(--k-124-58-237), .3); background: #fff; color: #3F3F46; border-radius: 999px; padding: .5rem .85rem; font: 500 .84rem var(--font-b); cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
.sp-dur.on { background: var(--k-7c3aed); border-color: var(--k-7c3aed); color: #fff; }
body.dark-mode .sp-dur { background: transparent; color: #D6D6DD; border-color: rgba(255, 255, 255, .18); }
body.dark-mode .sp-dur.on { background: var(--k-7c3aed); color: #fff; border-color: var(--k-7c3aed); }
.cscard-left { font-size: .72rem; color: var(--k-7c3aed); margin-top: .15rem; }

.fav-btn { position: relative; display: inline-grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50% !important; background: rgba(255, 255, 255, .94); color: #3F3F46; cursor: pointer; box-shadow: 0 4px 14px -6px rgba(17, 17, 17, .35); transition: transform .15s, color .15s; }
.fav-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linejoin: round; }
.fav-btn.on { color: var(--k-ec4899); }
.fav-btn.on svg { fill: currentColor; }
.fav-btn:active { transform: scale(.88); }
.fav-btn:focus-visible { outline: 2px solid var(--k-7c3aed); outline-offset: 2px; }
.fav-card { position: absolute; top: 10px; right: 10px; z-index: 6; }
.salon-card .featured-badge, .salon-card .unavail-badge { z-index: 5; }
.modal-fav-slot { position: absolute; z-index: 20; top: 12px; right: 64px; }
.modal-fav-slot .fav-btn { width: 36px; height: 36px; }
.fav-overlay { position: fixed; inset: 0; z-index: 760; display: flex; align-items: flex-end; justify-content: center; background: rgba(17, 17, 17, .45); opacity: 0; pointer-events: none; transition: opacity .25s; }
.fav-overlay.open { opacity: 1; pointer-events: auto; }
.fav-sheet { width: 100%; max-width: 1080px; max-height: 92vh; display: flex; flex-direction: column; background: #fff; border-radius: 22px 22px 0 0 !important; overflow: hidden; transform: translateY(24px); transition: transform .3s var(--lx-ease); }
.fav-overlay.open .fav-sheet { transform: none; }
@media (min-width: 800px) { .fav-overlay { align-items: center; padding: 2.5rem; } .fav-sheet { border-radius: 20px !important; } }
.fav-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid rgba(17, 17, 17, .08); }
.fav-head h2 { font-family: var(--font-s); font-weight: 400; font-size: 1.5rem; margin: 0; }
.fav-x { width: 36px; height: 36px; border-radius: 50% !important; border: 1px solid rgba(17, 17, 17, .14); background: #fff; font-size: 1.2rem; line-height: 1; cursor: pointer; color: #3F3F46; }
.fav-body { overflow-y: auto; padding: 1.1rem 1.25rem 1.6rem; }
.fav-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; }
.fav-grid .salon-card { min-width: 0; flex: none; }
@media (max-width: 640px) { .fav-grid { grid-template-columns: 1fr 1fr; gap: .7rem; } }
.fav-empty { display: flex; flex-direction: column; align-items: center; gap: .4rem; text-align: center; padding: 3rem 1rem; color: #6B6B76; }
.fav-empty svg { width: 40px; height: 40px; fill: none; stroke: var(--k-c4b5fd); stroke-width: 1.6; margin-bottom: .4rem; }
.fav-empty b { color: #111; font-weight: 600; }
.fav-retry { margin-top: .6rem; border: 1px solid rgba(var(--k-124-58-237), .35); background: #fff; color: var(--k-7c3aed); border-radius: 999px !important; padding: .55rem 1.1rem; cursor: pointer; font: 500 .84rem var(--font-b); }
body.dark-mode .fav-sheet, body.dark-mode .fav-x { background: #1A1A1F; color: #F0F0F0; }
body.dark-mode .fav-head { border-bottom-color: rgba(255, 255, 255, .1); }
body.dark-mode .fav-empty b { color: #F0F0F0; }
body.dark-mode .fav-btn { background: rgba(26, 26, 31, .9); color: #D6D6DD; }

.mi-actions { display: flex; gap: .6rem; margin-top: 1.3rem; }
.mi-actions .mi-book-btn { margin-top: 0; flex: 1.4; }
.mi-chat-btn { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; padding: 1rem .8rem; border: 1px solid rgba(var(--k-124-58-237), .4); border-radius: 16px !important; background: #fff; color: var(--k-7c3aed); font: 600 .86rem var(--font-b); cursor: pointer; }
.mi-chat-btn svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
body.dark-mode .mi-chat-btn { background: transparent; color: var(--k-c4b5fd); border-color: rgba(var(--k-196-181-253), .4); }

.nav-chat { margin-right: .35rem; }
.chat-backdrop { position: fixed; inset: 0; z-index: 740; background: rgba(17, 17, 17, .35); opacity: 0; pointer-events: none; transition: opacity .25s; }
.chat-backdrop.open { opacity: 1; pointer-events: auto; }
.chat-panel { position: fixed; z-index: 750; top: 0; right: 0; bottom: 0; width: min(420px, 100vw); display: flex; flex-direction: column; background: #fff; border-left: 1px solid rgba(17, 17, 17, .08); border-radius: 20px 0 0 20px !important; box-shadow: -18px 0 50px -30px rgba(17, 17, 17, .45); transform: translateX(104%); transition: transform .3s var(--lx-ease); }
.chat-panel.open { transform: none; }
@media (max-width: 700px) { .chat-panel { width: 100vw; border-radius: 0 !important; border-left: 0; } }
body.chat-open { overflow: hidden; }
.chat-root { display: flex; flex-direction: column; min-height: 0; flex: 1; }
.chat-admin { border: 1px solid rgba(17, 17, 17, .1); border-radius: 18px !important; background: #fff; overflow: hidden; min-height: 420px; height: min(70vh, 640px); display: flex; flex-direction: column; }
.ch-head { display: flex; align-items: center; gap: .7rem; padding: .9rem 1rem; border-bottom: 1px solid rgba(17, 17, 17, .08); flex: none; }
.ch-head-t { flex: 1; font-family: var(--font-s); font-size: 1.35rem; color: #111; }
.ch-head-who { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .1rem; }
.ch-head-who b { font-weight: 600; font-size: .98rem; color: #111; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ch-head-who small { font-size: .76rem; color: #6B6B76; }
.ch-link { align-self: flex-start; border: 0; background: none; padding: 0; color: var(--k-7c3aed); font: 500 .76rem var(--font-b); cursor: pointer; }
.ch-x, .ch-back { flex: none; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50% !important; border: 1px solid rgba(17, 17, 17, .12); background: #fff; color: #3F3F46; cursor: pointer; font-size: 1.2rem; line-height: 1; padding: 0; }
.ch-back svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ch-refresh { border: 1px solid rgba(var(--k-124-58-237), .35); background: #fff; color: var(--k-7c3aed); border-radius: 999px !important; padding: .45rem .9rem; font: 500 .8rem var(--font-b); cursor: pointer; }
.ch-list { overflow-y: auto; flex: 1; padding: .35rem; }
.ch-row { width: 100%; display: flex; align-items: center; gap: .75rem; padding: .7rem .65rem; border: 0; background: none; border-radius: 14px !important; text-align: left; cursor: pointer; font: inherit; color: inherit; }
.ch-row:hover { background: var(--k-f5f3ff); }
.ch-av { flex: none; width: 46px; height: 46px; border-radius: 50% !important; object-fit: cover; background: var(--k-f5f3ff); }
.ch-av-mark { display: grid; place-items: center; }
.ch-av-mark img { width: 60%; height: auto; }
.ch-av-ini { display: grid; place-items: center; font: 500 1.1rem var(--font-b); color: var(--k-7c3aed); }
.ch-head .ch-av { width: 40px; height: 40px; }
.ch-row-t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .15rem; }
.ch-row-t b { font-weight: 500; font-size: .95rem; color: #111; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ch-row-t small { font-size: .8rem; color: #6B6B76; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ch-row.unread .ch-row-t b { font-weight: 700; }
.ch-row.unread .ch-row-t small { color: #111; }
.ch-row-m { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: .3rem; }
.ch-row-m small { font-size: .72rem; color: #8A8A94; }
.ch-row-m i { font-style: normal; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px !important; background: var(--k-7c3aed); color: #fff; font: 600 .7rem/20px var(--font-b); text-align: center; }
.ch-empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .45rem; text-align: center; padding: 2.5rem 1.5rem; color: #6B6B76; font-size: .9rem; line-height: 1.5; }
.ch-empty svg { width: 42px; height: 42px; fill: none; stroke: var(--k-c4b5fd); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.ch-empty b { color: #111; font-weight: 600; }
.ch-msgs { flex: 1; min-height: 0; overflow-y: auto; padding: 1rem .9rem; display: flex; flex-direction: column; gap: .5rem; background: var(--k-faf8ff); overscroll-behavior: contain; }
.ch-hint, .ch-older { align-self: center; font-size: .8rem; color: #6B6B76; background: #fff; border: 1px solid rgba(17, 17, 17, .08); border-radius: 999px !important; padding: .45rem .9rem; text-align: center; max-width: 90%; }
.ch-msg { display: flex; flex-direction: column; align-items: flex-start; gap: .2rem; max-width: 82%; }
.ch-msg.mine { align-self: flex-end; align-items: flex-end; }
.ch-bubble { padding: .6rem .85rem; border-radius: 18px 18px 18px 6px !important; background: #fff; border: 1px solid rgba(17, 17, 17, .08); color: #111; font-size: .92rem; line-height: 1.45; word-break: break-word; }
.ch-msg.mine .ch-bubble { background: var(--k-7c3aed); border-color: var(--k-7c3aed); color: #fff; border-radius: 18px 18px 6px 18px !important; }
.ch-msg small { font-size: .68rem; color: #8A8A94; padding: 0 .3rem; }
.ch-form { flex: none; display: flex; align-items: flex-end; gap: .5rem; padding: .7rem .8rem calc(.7rem + env(safe-area-inset-bottom)); border-top: 1px solid rgba(17, 17, 17, .08); background: #fff; }
.ch-form textarea { flex: 1; min-height: 44px; max-height: 140px; resize: none; padding: .7rem 1rem; border: 1px solid rgba(17, 17, 17, .14); border-radius: 22px !important; font: 400 16px/1.4 var(--font-b); color: #111; background: #fff; outline: none; }
.ch-form textarea:focus { border-color: var(--k-7c3aed); box-shadow: 0 0 0 3px rgba(var(--k-124-58-237), .14); }
.ch-send { flex: none; width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 50% !important; background: var(--k-7c3aed); color: #fff; cursor: pointer; }
.ch-send svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.ch-send:disabled { opacity: .6; }
body.dark-mode .chat-panel, body.dark-mode .chat-admin, body.dark-mode .ch-form, body.dark-mode .ch-x, body.dark-mode .ch-back, body.dark-mode .ch-refresh { background: #1A1A1F; color: #F0F0F0; border-color: rgba(255, 255, 255, .1); }
body.dark-mode .ch-head { border-bottom-color: rgba(255, 255, 255, .1); }
body.dark-mode .ch-head-t, body.dark-mode .ch-head-who b, body.dark-mode .ch-row-t b, body.dark-mode .ch-empty b, body.dark-mode .ch-row.unread .ch-row-t small { color: #F0F0F0; }
body.dark-mode .ch-row:hover { background: rgba(255, 255, 255, .05); }
body.dark-mode .ch-msgs { background: #121216; }
body.dark-mode .ch-bubble, body.dark-mode .ch-hint, body.dark-mode .ch-older { background: #1F1F25; color: #F0F0F0; border-color: rgba(255, 255, 255, .08); }
body.dark-mode .ch-msg.mine .ch-bubble { background: var(--k-7c3aed); color: #fff; }
body.dark-mode .ch-form textarea { background: #121216; color: #F0F0F0; border-color: rgba(255, 255, 255, .16); }

.footer-socials { margin-bottom: 1.6rem; }
.soc-row { display: flex; justify-content: center; align-items: center; gap: 1.1rem; flex-wrap: wrap; }
.soc-ic { position: relative; display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50% !important; color: #3F3F46; text-decoration: none; cursor: pointer; transition: color .2s, background .2s, transform .2s; outline: none; }
.soc-ic svg { width: 26px; height: 26px; fill: currentColor; }
.soc-ic:hover, .soc-ic:focus-visible, .soc-ic.open { color: var(--k-7c3aed); background: rgba(var(--k-124-58-237), .08); }
.soc-ic:focus-visible { box-shadow: 0 0 0 2px var(--k-7c3aed); }
.soc-ic:active { transform: scale(.92); }
.soc-bubble { position: absolute; bottom: calc(100% + 26px); left: 50%; transform: translate(-50%, 8px) scale(.92); transform-origin: 30% 100%; display: flex; flex-direction: column; align-items: center; gap: .25rem; min-width: 150px; padding: .85rem 1.2rem; background: #fff; border: 2px solid var(--k-7c3aed); border-radius: 46% 54% 50% 50% / 60% 60% 42% 42% !important; box-shadow: 0 14px 30px -18px rgba(var(--k-76-29-149), .55); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s, transform .25s var(--lx-ease), visibility 0s linear .25s; z-index: 30; }
.soc-bubble::before, .soc-bubble::after { content: ''; position: absolute; background: #fff; border: 2px solid var(--k-7c3aed); border-radius: 50% !important; }
.soc-bubble::before { width: 14px; height: 14px; left: 46%; bottom: -17px; }
.soc-bubble::after { width: 8px; height: 8px; left: 43%; bottom: -28px; }
.soc-bubble a { font: 600 .95rem var(--font-b); color: #111; text-decoration: none; white-space: nowrap; letter-spacing: .02em; }
.soc-bubble a:hover { color: var(--k-7c3aed); }
@media (hover: hover) { .soc-phone:hover .soc-bubble { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0) scale(1); transition: opacity .2s, transform .25s var(--lx-ease); } }
.soc-phone.open .soc-bubble, .soc-phone:focus-within .soc-bubble { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0) scale(1); transition: opacity .2s, transform .25s var(--lx-ease); }
body.dark-mode .soc-ic { color: #D6D6DD; }
body.dark-mode .soc-ic:hover, body.dark-mode .soc-ic.open { color: var(--k-c4b5fd); background: rgba(var(--k-196-181-253), .1); }
body.dark-mode .soc-bubble, body.dark-mode .soc-bubble::before, body.dark-mode .soc-bubble::after { background: #1A1A1F; border-color: var(--k-a78bfa); }
body.dark-mode .soc-bubble a { color: #F0F0F0; }
.ip-social { display: inline-flex; align-items: center; gap: .5rem; }
.ip-social svg, .ip-ic-svg svg { width: 18px; height: 18px; fill: currentColor; }
.ip-ic-svg { flex: none; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: var(--lx-blush); color: var(--lx-accent); }

.gc-body { border: 1px solid var(--gc-line, rgba(17, 17, 17, .12)) !important; border-radius: 18px !important; overflow: hidden; background: #fff; }
.gc-body .gc-head { border-radius: 0 !important; border-left: 0 !important; border-right: 0 !important; border-top: 0 !important; box-shadow: none !important; }
.gc-scroll { border-radius: 0 0 18px 18px !important; }
body.dark-mode .gc-body { background: #1A1A1F; border-color: rgba(255, 255, 255, .12) !important; }

.search-bar { border-radius: 999px !important; padding: 5px 5px 5px 8px !important; }
.search-bar button { border-radius: 999px !important; }
.search-bar input { border-radius: 999px !important; }
.search-history { border-radius: 20px !important; }
input[type="search"], .sa-search, .gc-search input { border-radius: 999px !important; }

.xp-welcome { width: 100%; display: flex; align-items: center; gap: .8rem; margin: .2rem 0 .9rem; padding: .8rem 1rem; border: 1.5px dashed rgba(var(--k-124-58-237), .45); border-radius: 16px !important; background: var(--k-f5f3ff); color: #111; text-align: left; cursor: pointer; font: inherit; transition: border-color .2s, background .2s; }
.xp-welcome:hover { border-color: var(--k-7c3aed); background: var(--k-ede9fe); }
.xp-welcome > span:last-child { display: flex; flex-direction: column; gap: .1rem; }
.xp-welcome b { font-weight: 600; font-size: .95rem; color: var(--k-7c3aed); }
.xp-welcome small { font-size: .78rem; color: #6B6B76; }
body.dark-mode .xp-welcome { background: rgba(var(--k-124-58-237), .14); color: #F0F0F0; }
body.dark-mode .xp-welcome small { color: #A8A8B3; }
body.dark-mode .xp-welcome b { color: var(--k-c4b5fd); }
.ph-tag { display: inline-flex; align-items: center; gap: .18em; color: var(--lx-accent); font-weight: 600; white-space: nowrap; }
.ph-tag img { width: 1.05em; height: 1.05em; object-fit: contain; border-radius: 50% !important; background: #fff; flex: none; }
.ph-multi { position: absolute; top: 6px; right: 6px; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 7px !important; background: rgba(17, 17, 17, .38); pointer-events: none; }
.ph-multi svg { width: 15px; height: 15px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.phm { display: flex; flex-direction: column; gap: 1rem; }
.phm-wait { font-size: .85rem; color: var(--lx-mute); padding: 1rem 0; }
.phm-busy { opacity: .6; pointer-events: none; }
.phm-block { border: 1px solid var(--lx-line); border-radius: 18px !important; background: #fff; padding: 1rem; }
.phm-h { display: flex; align-items: center; flex-wrap: wrap; gap: .25rem .6rem; margin-bottom: .8rem; }
.phm-h b { font: 600 .95rem var(--font-b); color: var(--lx-ink); }
.phm-h small { font-size: .76rem; color: var(--lx-mute); flex: 1 1 200px; }
.phm-new { margin-left: auto; height: 38px !important; padding: 0 1rem !important; }
.phm-main { position: relative; display: block; width: 100%; max-width: 420px; aspect-ratio: 4 / 3; border-radius: 14px !important; overflow: hidden; background: var(--lx-blush); border: 1px solid var(--lx-line); }
.phm-main img, .phm-slot img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0 !important; }
.phm-empty { border: 1.5px dashed rgba(var(--lx-acc-rgb), .35); background: var(--lx-page2); color: var(--lx-accent); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; cursor: pointer; font: inherit; }
.phm-empty:hover { background: var(--lx-blush); }
.phm-empty .ico { width: 26px; height: 26px; }
.phm-empty b { font: 600 .86rem var(--font-b); color: var(--lx-ink); }
.phm-empty small { font-size: .74rem; color: var(--lx-mute); }
.phm-acts { position: absolute; left: 8px; right: 8px; bottom: 8px; display: flex; gap: .4rem; justify-content: flex-end; }
.phm-acts button { display: inline-flex; align-items: center; gap: .3rem; height: 34px; padding: 0 .75rem; border: 1px solid rgba(17, 17, 17, .08); border-radius: 17px !important; background: rgba(255, 255, 255, .94); color: var(--lx-ink); font: 600 .78rem var(--font-b); cursor: pointer; }
.phm-acts button .ico { width: 15px; height: 15px; }
.phm-acts button.dang { color: #B42318; }
.phm-slots { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; }
.phm-slot { position: relative; aspect-ratio: 4 / 3; border-radius: 12px !important; overflow: hidden; border: 1px solid var(--lx-line); }
.phm-slot .phm-acts { left: 6px; right: 6px; bottom: 6px; }
.phm-slot .phm-acts button { width: 32px; height: 32px; padding: 0; justify-content: center; }
.phm-grid, .gal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
.phm-post, .gal-tile { position: relative; aspect-ratio: 1; padding: 0; border: 0; border-radius: 10px !important; overflow: hidden; background: var(--lx-blush); cursor: pointer; display: block; }
.phm-post img, .gal-tile img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0 !important; transition: transform .35s var(--lx-ease); }
.phm-post:hover img, .gal-tile:hover img { transform: scale(1.035); }
.phm-post:focus-visible, .gal-tile:focus-visible { outline: 2px solid var(--lx-accent); outline-offset: 2px; }
.phm-none { display: flex; align-items: center; gap: .8rem; padding: .9rem 1rem; border: 1px dashed var(--lx-line2); border-radius: 14px !important; color: var(--lx-mute); font-size: .84rem; }
.phm-none .ico { width: 24px; height: 24px; color: var(--lx-accent); flex: none; }
.phm-arts { display: flex; flex-direction: column; gap: .5rem; }
.phm-art { display: flex; align-items: center; gap: .7rem; padding: .55rem .6rem; border: 1px solid var(--lx-line); border-radius: 14px !important; }
.phm-av { width: 46px; height: 46px; flex: none; border-radius: 50% !important; overflow: hidden; background: var(--lx-blush); color: var(--lx-accent); display: grid; place-items: center; font: 600 1rem var(--font-b); }
.phm-av img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; }
.phm-art-t { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.phm-art-t b { font: 600 .88rem var(--font-b); color: var(--lx-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.phm-art-t small { font-size: .74rem; color: var(--lx-mute); }
.phm-mini { height: 34px; padding: 0 .85rem; border: 1px solid rgba(var(--lx-acc-rgb), .35); border-radius: 17px !important; background: #fff; color: var(--lx-accent); font: 600 .76rem var(--font-b); cursor: pointer; white-space: nowrap; }
.phm-mini.dang { color: #B42318; border-color: rgba(180, 35, 24, .3); }
.phm-note { font-size: .82rem; color: var(--lx-mute); }
.pe-ov { position: fixed; inset: 0; z-index: 1300; display: flex; align-items: flex-end; justify-content: center; background: rgba(17, 17, 17, .45); opacity: 0; pointer-events: none; transition: opacity .2s; }
.pe-ov.open { opacity: 1; pointer-events: auto; }
.pe-box { width: min(560px, 100%); max-height: 92dvh; display: flex; flex-direction: column; background: #fff; border-radius: 22px 22px 0 0 !important; transform: translateY(20px); transition: transform .25s var(--lx-ease); overflow: hidden; }
.pe-ov.open .pe-box { transform: none; }
@media (min-width: 700px) { .pe-ov { align-items: center; padding: 2rem; } .pe-box { border-radius: 22px !important; } }
.pe-head { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.1rem .7rem; border-bottom: 1px solid var(--lx-line); }
.pe-head b { font: 600 1.05rem var(--font-b); color: var(--lx-ink); }
.pe-x, .gp-x { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--lx-line); border-radius: 50% !important; background: #fff; color: var(--lx-ink); cursor: pointer; }
.pe-x .ico, .gp-x .ico { width: 16px; height: 16px; }
.pe-body { padding: 1rem 1.1rem; overflow-y: auto; display: flex; flex-direction: column; gap: .45rem; }
.pe-lbl { font: 600 .82rem var(--font-b); color: var(--lx-ink); margin-top: .35rem; display: flex; justify-content: space-between; gap: .5rem; }
.pe-lbl small { font-weight: 400; color: var(--lx-mute); }
.pe-strip { display: flex; gap: .5rem; overflow-x: auto; padding-bottom: .3rem; scroll-snap-type: x proximity; }
.pe-th { position: relative; flex: none; width: 104px; aspect-ratio: 1; border-radius: 12px !important; overflow: hidden; border: 1px solid var(--lx-line); scroll-snap-align: start; }
.pe-th img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; }
.pe-n { position: absolute; top: 5px; left: 5px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px !important; background: rgba(17, 17, 17, .55); color: #fff; font: 600 .7rem/20px var(--font-b); text-align: center; }
.pe-th-acts { position: absolute; left: 4px; right: 4px; bottom: 4px; display: flex; justify-content: space-between; }
.pe-th-acts button { width: 28px; height: 28px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50% !important; background: rgba(255, 255, 255, .94); color: var(--lx-ink); cursor: pointer; }
.pe-th-acts button[disabled] { opacity: .35; cursor: default; }
.pe-th-acts button.dang { color: #B42318; }
.pe-th-acts .ico { width: 14px; height: 14px; }
.pe-add { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .3rem; border: 1.5px dashed rgba(var(--lx-acc-rgb), .35); background: var(--lx-page2); color: var(--lx-accent); cursor: pointer; font: inherit; padding: .4rem; text-align: center; }
.pe-add .ico { width: 22px; height: 22px; }
.pe-add small { font-size: .7rem; color: var(--lx-ink2); line-height: 1.3; }
.pe-in { width: 100%; border: 1px solid var(--lx-line2); border-radius: 12px !important; padding: .7rem .8rem; font: 400 .92rem var(--font-b); color: var(--lx-ink); background: #fff; }
.pe-in:focus { outline: none; border-color: var(--lx-accent); box-shadow: 0 0 0 3px rgba(var(--lx-acc-rgb), .12); }
.pe-cap { resize: vertical; min-height: 96px; line-height: 1.5; }
.pe-hint { font-size: .74rem; color: var(--lx-mute); margin: 0; }
.pe-prev { border: 1px solid var(--lx-line); border-radius: 12px !important; background: var(--lx-page2); padding: .7rem .8rem; font-size: .88rem; line-height: 1.6; color: var(--lx-ink); word-break: break-word; }
.pe-foot { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding: .8rem 1.1rem calc(.8rem + env(safe-area-inset-bottom)); border-top: 1px solid var(--lx-line); }
.pe-foot-r { display: flex; gap: .5rem; }
.pe-foot .sp-add[disabled] { opacity: .5; cursor: default; }
.pe-del { border: 0; background: none; color: #B42318; font: 600 .84rem var(--font-b); cursor: pointer; padding: .5rem .2rem; border-radius: 8px !important; }
.modal-tab .gal-count { margin-left: .4em; font-size: .9em; color: var(--lx-mute); letter-spacing: 0; }
.modal-tab.active .gal-count { color: inherit; }
.gal-head { font-size: .8rem; color: var(--lx-mute); margin-bottom: .6rem; }
.gal-head b { color: var(--lx-ink); }
.gal-more { height: 1px; }
.gal-empty { display: flex; flex-direction: column; align-items: center; gap: .6rem; padding: 2.2rem 1rem; text-align: center; color: var(--lx-mute); font-size: .86rem; border: 1px dashed var(--lx-line2); border-radius: 16px !important; }
.gal-empty img { width: 44px; height: 44px; opacity: .55; }
.gp-ov { position: fixed; inset: 0; z-index: 1250; display: none; align-items: center; justify-content: center; gap: 1rem; padding: 1.5rem; background: rgba(17, 17, 17, .72); }
.gp-ov.open { display: flex; }
body.gp-lock { overflow: hidden; }
.gp-card { width: min(500px, 100%); max-height: calc(100dvh - 3rem); display: flex; flex-direction: column; background: #fff; border-radius: 20px !important; overflow: hidden; }
.gp-head { display: flex; align-items: center; gap: .65rem; padding: .7rem .8rem; border-bottom: 1px solid var(--lx-line); }
.gp-av { width: 38px; height: 38px; flex: none; border-radius: 50% !important; overflow: hidden; border: 1.5px solid rgba(var(--lx-acc-rgb), .45); background: #fff; display: grid; place-items: center; }
.gp-av img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; }
.gp-av img.gp-av-mark { width: 70%; height: 70%; object-fit: contain; }
.gp-who { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.gp-who b { font: 600 .9rem var(--font-b); color: var(--lx-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gp-who small { font-size: .76rem; color: var(--lx-accent); }
.gp-media { position: relative; background: var(--lx-page2); }
.gp-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.gp-track::-webkit-scrollbar { display: none; }
.gp-slide { flex: 0 0 100%; aspect-ratio: 1; scroll-snap-align: center; display: grid; place-items: center; }
.gp-slide img { width: 100%; height: 100%; object-fit: contain; border-radius: 0 !important; user-select: none; }
.gp-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 50% !important; background: rgba(255, 255, 255, .9); color: var(--lx-ink); cursor: pointer; box-shadow: 0 4px 14px -6px rgba(17, 17, 17, .4); }
.gp-arrow.l { left: 10px; } .gp-arrow.r { right: 10px; }
.gp-arrow .ico { width: 16px; height: 16px; }
.gp-count { position: absolute; top: 10px; right: 10px; padding: .15rem .55rem; border-radius: 12px !important; background: rgba(17, 17, 17, .55); color: #fff; font: 600 .72rem var(--font-b); }
.gp-dots { position: absolute; left: 0; right: 0; bottom: 10px; display: flex; justify-content: center; gap: 5px; pointer-events: none; }
.gp-dots span { width: 6px; height: 6px; border-radius: 50% !important; background: rgba(255, 255, 255, .6); box-shadow: 0 0 0 1px rgba(17, 17, 17, .12); transition: background .2s, transform .2s; }
.gp-dots span.on { background: var(--lx-accent); transform: scale(1.2); }
.gp-body { padding: .8rem .95rem 1rem; overflow-y: auto; display: flex; flex-direction: column; gap: .45rem; }
.gp-cap { margin: 0; font-size: .9rem; line-height: 1.6; color: var(--lx-ink); word-break: break-word; }
.gp-time { font-size: .74rem; color: var(--lx-mute); }
.gp-nav { flex: none; width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 50% !important; background: rgba(255, 255, 255, .92); color: var(--lx-ink); cursor: pointer; }
.gp-nav[hidden] { visibility: hidden; display: grid; }
.gp-nav .ico { width: 18px; height: 18px; }
@media (max-width: 700px) {
  .gp-ov { padding: 0; gap: 0; background: #fff; align-items: stretch; }
  .gp-card { width: 100%; max-height: none; height: 100dvh; border-radius: 0 !important; }
  .gp-media { flex: none; }
  .gp-nav { display: none !important; }
  .phm-slots { gap: .45rem; }
  .phm-acts button { height: 32px; padding: 0 .6rem; }
  .phm-block { padding: .85rem; }
}
@media (hover: none) { .gp-arrow { display: none; } }
.phm-slots { max-width: 760px; }
.gp-artist { padding: .6rem .95rem 0; font-size: .78rem; color: var(--lx-accent); font-weight: 600; }
.gp-feed-mode { display: none; }
.gp-ov.gp-feed-mode.open { display: block; padding: 0; background: #fff; }
.gp-feed { position: absolute; inset: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; background: #fff; }
.gp-bar { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; gap: .7rem; padding: .6rem .8rem; background: rgba(255, 255, 255, .96); border-bottom: 1px solid var(--lx-line); }
.gp-feed .gp-card { width: 100%; height: auto; max-height: none; border-radius: 0 !important; border-bottom: 1px solid var(--lx-line); }
.gp-feed .gp-body { overflow: visible; }
.gp-feed .gp-card { position: relative; z-index: 0; }
.gp-feed .gp-bar { z-index: 5; background: #fff; transform: translateZ(0); }
#profileOverlay .profile-box { overflow-y: auto !important; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
html.in-app #notifPanel { bottom: 0 !important; }
html.app-dark { filter: invert(1) hue-rotate(180deg); background: #fff; color-scheme: light; }
html.app-dark img:not(.leaflet-tile), html.app-dark video, html.app-dark canvas, html.app-dark picture, html.app-dark iframe,
html.app-dark .av, html.app-dark .av-emo, html.app-dark .np-mark { filter: invert(1) hue-rotate(180deg); }
html.app-dark .av img, html.app-dark .av-emo img { filter: none; }
html.app-dark .leaflet-tile { filter: brightness(1.12) contrast(.92); }
html.app-dark *, html.app-dark *::before, html.app-dark *::after { box-shadow: none !important; text-shadow: none !important; }
html.app-dark .confirm-overlay, html.app-dark .pay-overlay, html.app-dark .mod-overlay, html.app-dark .warn-overlay, html.app-dark .gift-ov, html.app-dark .pe-ov, html.app-dark .bks-overlay { background: rgba(255, 255, 255, .6) !important; }
html.in-app.app-profile .profile-quicklinks, html.in-app.app-profile .profile-section-divider { display: none !important; }
#xpOverlay { justify-content: flex-end !important; align-items: stretch !important; background: rgba(0, 0, 0, .45); }
#xpOverlay .profile-box { width: 25vw; min-width: 380px; max-width: 460px; max-height: none !important; height: 100vh; height: 100dvh; margin: 0; border-radius: 0 !important; animation: none !important; transform: translateX(100%); transition: transform .32s var(--lx-ease); overflow-y: auto !important; overscroll-behavior: contain; padding: 2rem 1.8rem; }
#xpOverlay.open .profile-box { transform: translateX(0); }
#xpOverlay .xp-intro { font-size: .86rem; color: var(--lx-mute); margin: -.4rem 0 1rem; }
@media (max-width: 768px) { #xpOverlay .profile-box { width: 100vw; min-width: 0; max-width: 100vw; } }
html.in-app #xpOverlay { background: #FFFFFF !important; padding: 0 !important; align-items: stretch !important; }
html.in-app #xpOverlay > * { max-width: none !important; width: 100% !important; min-height: 100% !important; max-height: none !important; border-radius: 0 !important; border: 0 !important; box-shadow: none !important; }
html.in-app #xpOverlay h2, html.in-app #xpOverlay .auth-close { display: none !important; }
html.bt-app #xpOverlay .profile-box { height: 100% !important; }
.ar-section { max-width: 1080px; margin: 0 auto; padding: 4rem 1.5rem 3rem; }
.ar-video { width: min(340px, 100%); margin: 1.6rem auto 0; aspect-ratio: 9 / 16; border-radius: 22px !important; overflow: hidden; border: 1px solid var(--lx-line); background: var(--lx-page2); }
.ar-video.ar-ig { aspect-ratio: auto; height: calc(min(340px, 100vw - 3rem) * 16 / 9 + 120px); }
.ar-video iframe, .ar-video video { width: 100%; height: 100%; border: 0; display: block; border-radius: 0 !important; background: #000; }
.ar-video.ar-ig iframe { background: #fff; }
.ar-more { margin-top: 2.2rem; }
.ar-title { text-align: center; font: 600 1.25rem var(--font-b); color: var(--lx-ink); margin-bottom: 1.2rem; }
.ar-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.ar-card { display: flex; flex-direction: column; gap: .8rem; padding: 1.4rem 1.4rem 1.3rem; border: 1px solid var(--lx-line); border-radius: 20px !important; background: #fff; }
.ar-card-salon { border-color: rgba(var(--lx-acc-rgb), .35); background: linear-gradient(160deg, var(--lx-blush), #fff 70%); }
.ar-card b { font: 600 1.02rem var(--font-b); color: var(--lx-ink); }
.ar-card ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: .55rem; flex: 1; }
.ar-card li { position: relative; padding-left: 1.4rem; font-size: .9rem; line-height: 1.5; color: var(--lx-ink2); }
.ar-card li::before { content: ''; position: absolute; left: 0; top: .42em; width: .62rem; height: .62rem; border-radius: 50% !important; background: var(--lx-accent); opacity: .85; }
.ar-btns { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .3rem; }
.ar-btn { display: inline-flex; align-items: center; justify-content: center; height: 44px; padding: 0 1.15rem; border: 1.5px solid var(--lx-accent); border-radius: 22px !important; background: var(--lx-accent); color: #fff; font: 600 .86rem var(--font-b); text-decoration: none; cursor: pointer; }
.ar-btn.ghost { background: #fff; color: var(--lx-accent); }
.ar-btn:hover { filter: brightness(1.06); }
html.in-app #aboutReel { display: none !important; }
@media (max-width: 760px) { .ar-section { padding: 3rem 1rem 2rem; } .ar-cards { grid-template-columns: 1fr; } }

::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-thumb { border-radius: 999px; }
@media (hover: hover) and (pointer: fine) {
  ::-webkit-scrollbar { width: 12px; height: 12px; background: transparent; }
  ::-webkit-scrollbar-track, ::-webkit-scrollbar-corner { background: transparent; }
  ::-webkit-scrollbar-thumb { min-height: 44px; min-width: 44px; border: 4px solid transparent; border-radius: 999px; background-clip: padding-box; background-color: var(--gold); background-color: color-mix(in srgb, var(--gold) 55%, transparent); }
  ::-webkit-scrollbar-thumb:hover { border-width: 2.5px; background-color: color-mix(in srgb, var(--gold) 85%, transparent); }
  ::-webkit-scrollbar-thumb:active { border-width: 2px; background-color: var(--gold); }
}
#search.search-section { border-radius: 28px !important; width: calc(100% - 32px); scroll-margin-top: 84px; }
@media (min-width: 769px) { #search.search-section { padding: 2.75rem 2.5rem 2.5rem; } }
.pill-row { scroll-padding-inline: 12px; }
section#uramshuulal.row-section.promo-bg { border-radius: 28px !important; width: calc(100% - 32px); }
@media (min-width: 901px) {
  #uramshuulal .track-wrap { scrollbar-width: none; }
  #uramshuulal .track-wrap::-webkit-scrollbar { display: none; }
}
@media (max-width: 540px) {
  #search.search-section, section#uramshuulal.row-section.promo-bg { border-radius: 22px !important; width: calc(100% - 24px); }
}
#profileOverlay .profile-box, #xpOverlay .profile-box { padding-bottom: calc(2.5rem + env(safe-area-inset-bottom)) !important; }
@media (min-width: 769px) {
  #profileOverlay, #xpOverlay { padding: 14px !important; }
  #profileOverlay .profile-box, #xpOverlay .profile-box { height: auto !important; max-height: 100% !important; border-radius: 24px !important; transform: translateX(calc(100% + 28px)); box-shadow: 0 24px 64px rgba(17, 17, 17, .22); }
  #profileOverlay.open .profile-box, #xpOverlay.open .profile-box { transform: translateX(0); }
}
@media (max-width: 768px) {
  #profileOverlay, #xpOverlay { padding: 0 !important; }
  #profileOverlay .profile-box, #xpOverlay .profile-box { width: 100% !important; max-width: none !important; height: auto !important; max-height: 100% !important; }
}
.intro-ov { position: fixed; inset: 0; z-index: 1200; display: none; align-items: center; justify-content: center; padding: 14px; background: rgba(10, 6, 20, .62); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.intro-ov.open { display: flex; }
body.intro-lock { overflow: hidden; }
.intro-box { width: min(760px, 100%); height: 100%; display: flex; flex-direction: column; background: #F3F1F8; border-radius: 24px; overflow: hidden; box-shadow: 0 24px 64px rgba(0, 0, 0, .3); }
.intro-bar { display: flex; align-items: center; gap: .6rem; padding: .85rem .9rem .85rem 1.25rem; background: #FFFFFF; border-bottom: 1px solid var(--lx-line); }
.intro-title { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.intro-title b { font: 600 1rem var(--font-b); color: var(--lx-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.intro-title small { font-size: .78rem; color: var(--lx-mute); }
.intro-x { width: 38px; height: 38px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--lx-line2); border-radius: 50% !important; background: #FFFFFF; color: var(--lx-ink); cursor: pointer; padding: 0; }
.intro-x .ico { width: 18px; height: 18px; }
.intro-pages { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 1rem; display: flex; flex-direction: column; gap: 1rem; }
.intro-page { display: block; width: 100%; height: auto; border-radius: 16px; background: #FFFFFF; box-shadow: 0 6px 24px rgba(17, 17, 17, .10); }
.intro-end { display: flex; justify-content: center; padding: .5rem 0 1rem; }
@media (max-width: 600px) {
  .intro-ov { padding: 0; }
  .intro-box { width: 100%; border-radius: 0; }
  .intro-pages { padding: .75rem; gap: .75rem; }
  .intro-page { border-radius: 12px; }
}
body.dark-mode .intro-box { background: #0E0E10; }
body.dark-mode .intro-bar { background: #161616; border-color: rgba(255, 255, 255, .08); }
body.dark-mode .intro-title b { color: #F0F0F0; }
body.dark-mode .intro-x { background: #1E1E1E; color: #F0F0F0; border-color: rgba(255, 255, 255, .14); }
.modal .modal-close { top: 12px; width: 36px; height: 36px; border-radius: 50% !important; background: rgba(255, 255, 255, .94) !important; border: 0 !important; box-shadow: 0 2px 10px rgba(17, 17, 17, .14); }
body.dark-mode .modal .modal-close { background: rgba(30, 30, 30, .94) !important; color: #F0F0F0 !important; }
body.dark-mode .profile-summary-name { color: #F0F0F0; }
.intro-page { -webkit-user-drag: none; -webkit-touch-callout: none; user-select: none; -webkit-user-select: none; }
.lv-choices { display: flex; flex-direction: column; gap: .6rem; margin: .4rem 0 .2rem; }
.lv-ch { display: flex; align-items: center; gap: .85rem; width: 100%; padding: .95rem 1rem; border: 1.5px solid var(--lx-line2); border-radius: 16px !important; background: #FFFFFF; color: var(--lx-ink); text-align: left; cursor: pointer; transition: border-color .15s, background .15s; }
.lv-ch:hover, .lv-ch:focus-visible { border-color: var(--lx-accent); background: rgba(var(--k-124-58-237), .04); }
.lv-ch:disabled { opacity: .6; cursor: default; }
.lv-ch.busy { opacity: 1; border-color: var(--lx-accent); }
.lv-ic { width: 42px; height: 42px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 50% !important; background: rgba(var(--k-124-58-237), .09); color: var(--lx-accent); }
.lv-ic .ico { width: 21px; height: 21px; }
.lv-t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .1rem; }
.lv-t b { font: 600 .95rem var(--font-b); }
.lv-t small { font-size: .8rem; color: var(--lx-mute); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lv-go { color: var(--lx-mute); display: inline-flex; }
.lv-go .ico { width: 18px; height: 18px; }
#authLoginStep .verify-tip { margin-top: .8rem; }
body.dark-mode .lv-ch { background: #1E1E1E; color: #F0F0F0; border-color: rgba(255, 255, 255, .14); }
.dev-block { margin-top: 1.6rem; padding-top: 1.2rem; border-top: 1px solid var(--lx-line); }
.dev-block:empty { display: none; }
.dev-title { font: 600 .92rem var(--font-b); color: var(--lx-ink); }
.dev-sub { font-size: .76rem; color: var(--lx-mute); margin: .2rem 0 .8rem; line-height: 1.45; }
.dev-list { display: flex; flex-direction: column; gap: .5rem; }
.dev-row { display: flex; align-items: center; gap: .7rem; padding: .7rem .8rem; border: 1px solid var(--lx-line); border-radius: 14px !important; background: #FFFFFF; }
.dev-ic { width: 34px; height: 34px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 50% !important; background: rgba(var(--k-124-58-237), .08); color: var(--lx-accent); }
.dev-ic .ico { width: 17px; height: 17px; }
.dev-t { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.dev-t b { font: 600 .84rem var(--font-b); color: var(--lx-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dev-t b em { font-style: normal; font-weight: 500; font-size: .7rem; color: var(--lx-accent); margin-left: .4rem; }
.dev-t small { font-size: .72rem; color: var(--lx-mute); }
.dev-x { flex-shrink: 0; height: 32px; padding: 0 .8rem; border: 1px solid var(--lx-line2); border-radius: 16px !important; background: transparent; color: var(--lx-ink2); font: 500 .76rem var(--font-b); cursor: pointer; }
.dev-x.armed { border-color: #C0392B; color: #C0392B; }
.dev-empty { font-size: .8rem; color: var(--lx-mute); padding: .4rem 0; }
body.dark-mode .dev-row { background: #1A1A1A; border-color: rgba(255, 255, 255, .1); }
body.dark-mode .dev-t b, body.dark-mode .dev-title { color: #F0F0F0; }
body.admin-mode .dev-row { background: #FFFFFF; }
.row-empty { color: var(--lx-mute); padding: 2rem 0; font-size: .86rem; }
.sa-auto-note { font-size: .8rem; line-height: 1.6; color: var(--s0-text2, #6B6B76); padding: .7rem .9rem; border-radius: 12px; background: rgba(var(--k-124-58-237), .06); }
#lvCodeArea .code-input, #lvCodeArea .auth-submit { width: 100%; box-sizing: border-box; }
#lvCodeArea > * + * { margin-top: .8rem; }
#lvResend { color: var(--v-acc, var(--lx-accent)); cursor: pointer; font-weight: 600; }
#lvResend.off { color: var(--v-mute, var(--lx-mute)); cursor: default; font-weight: 400; }
#authLoginStep .auth-sub b { color: var(--v-ink, var(--lx-ink)); word-break: break-all; }
html.bt-app body .pay-box, html.bt-app body .confirm-box, html.bt-app body .mod-box, html.bt-app body .warn-box, html.bt-app body .sa-edit-box, html.bt-app body .sab-ov .sab-box { max-height: 100% !important; }
.mi-social { margin-top: 1.4rem; }
.mi-social .svc-title { margin-bottom: .7rem; }
.ms-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: .6rem; }
.ms-link { display: flex; align-items: center; gap: .75rem; padding: .8rem .95rem; border: 1px solid var(--lx-line); border-radius: 16px !important; background: #FFFFFF; color: var(--lx-ink); text-decoration: none; transition: border-color .15s, transform .15s; min-width: 0; }
.ms-link:hover { border-color: var(--lx-accent); }
.ms-ic { width: 40px; height: 40px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px !important; color: #FFFFFF; }
.ms-ic svg { width: 21px; height: 21px; fill: currentColor; }
.ms-instagram .ms-ic { background: radial-gradient(circle at 30% 107%, #FDF497 0%, #FDF497 5%, #FD5949 45%, #D6249F 60%, #285AEB 90%); }
.ms-facebook .ms-ic { background: #1877F2; }
.ms-t { display: flex; flex-direction: column; min-width: 0; }
.ms-t b { font: 600 .9rem var(--font-b); }
.ms-t small { font-size: .78rem; color: var(--lx-mute); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.dark-mode .ms-link { background: #1A1A1A; border-color: rgba(255, 255, 255, .1); color: #F0F0F0; }
.art-mail { display: flex; align-items: center; gap: .4rem; margin-top: .35rem; font-size: .72rem; color: var(--s0-text2, #6B6B76); max-width: 100%; }
.art-mail input { flex: 1; min-width: 0; max-width: 260px; border: 1px solid var(--border, rgba(0, 0, 0, .15)); border-radius: 10px !important; padding: .3rem .55rem; font: 400 .76rem var(--font-b); background: transparent; color: inherit; }

.gcal .gc-col { background-color: #F4F2F8; background-image: linear-gradient(to bottom, var(--gc-line) 1px, transparent 1px), repeating-linear-gradient(135deg, transparent 0 7px, rgba(112, 117, 122, .07) 7px 14px); background-size: 100% var(--hour), auto; }
.gcal .gc-col.today { background-color: #F1EDFA; }
.gc-open { position: absolute; left: 0; right: 0; z-index: 0; background-color: #fff; background-image: linear-gradient(to bottom, var(--gc-line) 1px, transparent 1px); background-size: 100% var(--hour); box-shadow: inset 3px 0 0 rgba(52, 168, 83, .55); pointer-events: none; }
.gc-col.today .gc-open { background-color: #FCFBFF; }
.gc-mcell.shut { background: repeating-linear-gradient(135deg, #FAF9FC 0 7px, #F1EFF5 7px 14px); }
.gc-mcell.shut .gc-mnum span { color: #9AA0A6; }
.gc-open-btn { border-color: var(--k-7c3aed) !important; color: var(--k-7c3aed) !important; font-weight: 600 !important; }
.gc-open-btn:hover { background: var(--k-f6f4ff); }
.gc-notice { display: flex; align-items: center; gap: .8rem; margin: 0 0 .7rem; padding: .8rem .9rem; border-radius: 16px !important; background: #FFF7E6; border: 1px solid #F6D58E; }
.gc-notice[hidden] { display: none; }
.gc-notice-t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .15rem; }
.gc-notice-t b { font-size: .88rem; color: #6B4A00; }
.gc-notice-t span { font-size: .76rem; color: #8A6A1F; line-height: 1.4; }
.gc-notice-b { flex: none; height: 38px; padding: 0 1rem; border: 0; border-radius: 19px !important; background: var(--k-7c3aed); color: #fff; font: 600 .82rem var(--font-b); cursor: pointer; }
.go-sq { background: #fff; box-shadow: inset 3px 0 0 rgba(52, 168, 83, .7), 0 0 0 1px #DADCE0; }
.go-new { width: 100%; height: 46px; border: 0; border-radius: 23px !important; background: var(--k-7c3aed); color: #fff; font: 600 .92rem var(--font-b); cursor: pointer; }
.go-sum { margin: .7rem .2rem .2rem; font-size: .8rem; color: #70757A; line-height: 1.45; }
.go-sum b { color: #202124; }
.go-sec { margin: 1rem .2rem .4rem; font-size: .74rem; font-weight: 600; color: #70757A; }
.go-group { border-radius: 16px !important; background: #F6F5F9; overflow: hidden; }
.go-row { display: flex; align-items: center; gap: .6rem; width: 100%; padding: .8rem .9rem; border: 0; background: none; text-align: left; cursor: pointer; font: inherit; color: inherit; }
.go-row + .go-row { border-top: 1px solid #E7E5EC; }
.go-row-t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .12rem; }
.go-row-t b { font-size: .95rem; color: #202124; font-variant-numeric: tabular-nums; }
.go-row-t span { font-size: .8rem; color: #3C4043; line-height: 1.35; }
.go-row-t small { font-size: .72rem; color: #70757A; }
.go-row.over { opacity: .55; }
.go-chev { font-size: 1.4rem; color: #9AA0A6; line-height: 1; }
.go-h { margin: .4rem .1rem -.2rem; font-size: .74rem; font-weight: 600; color: #70757A; }
.go-box { border-radius: 16px !important; background: #F6F5F9; padding: .2rem 0; }
.go-opt { display: flex !important; flex-direction: row !important; align-items: center; gap: .8rem !important; padding: .7rem .9rem; font-size: .92rem !important; color: #202124 !important; font-weight: 400 !important; cursor: pointer; min-height: 48px; }
.go-opt + .go-opt, .go-wd + .go-opt { border-top: 1px solid #E7E5EC; }
.go-opt input[type=radio] { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.go-dot { flex: none; width: 22px; height: 22px; border-radius: 50% !important; border: 2px solid #9AA0A6; position: relative; }
.go-opt.on .go-dot { border-color: var(--k-7c3aed); }
.go-opt.on .go-dot::after { content: ''; position: absolute; inset: 3px; border-radius: 50%; background: var(--k-7c3aed); }
.go-opt input[type=radio]:focus-visible + .go-dot { outline: 2px solid var(--k-7c3aed); outline-offset: 2px; }
.go-opt-t { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; }
.gcs-form .go-num { width: 54px !important; height: 34px !important; padding: 0 .3rem !important; text-align: center; border: 0 !important; border-bottom: 2px solid #C8C3D6 !important; border-radius: 0 !important; background: transparent !important; font-size: .95rem !important; font-variant-numeric: tabular-nums; }
.gcs-form .go-date { width: auto !important; height: 34px !important; border-radius: 10px !important; padding: 0 .5rem !important; font-size: .85rem !important; }
.go-wd { display: flex; justify-content: space-between; gap: .2rem; padding: .3rem .8rem .8rem 3.3rem; }
.go-wd[hidden] { display: none; }
.go-wdb { width: 36px; height: 36px; flex: none; border-radius: 50% !important; border: 1px solid transparent; background: transparent; color: #202124; font: 600 .78rem var(--font-b); cursor: pointer; }
.go-wdb.sun { color: #D93025; }
.go-wdb.sat { color: #1A73E8; }
.go-wdb.on { border-color: var(--k-7c3aed); background: rgba(124, 58, 237, .1); }
.go-say { margin: .3rem .2rem 0; font-size: .82rem; color: #3C4043; line-height: 1.5; }
@media (max-width: 400px) { .go-wd { padding-left: .8rem; } .go-wdb { width: 34px; height: 34px; } }
