@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Fraunces:opsz,wght@9..144,500;9..144,700&display=swap");:root{--bg:#f4f2ee;--surface:#ffffff;--surface-soft:#f8f5f0;--surface-tint:#efe9df;--text:#1e1d1a;--muted:#6f6a63;--border:#dfd8cd;--accent:#b47a56;--accent-strong:#9f6645;--accent-soft:#f3e5d8;--danger:#bb5252;--shadow-soft:0 16px 40px rgba(43,30,19,0.08)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Manrope,Avenir Next,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(1200px 700px at -3% -8%,rgba(180,122,86,.13),transparent 58%),radial-gradient(900px 660px at 110% -15%,rgba(161,145,120,.12),transparent 56%),linear-gradient(180deg,#f6f4ef,#f1eee8);line-height:1.5}a{color:inherit;text-decoration:none}.shell{width:min(1260px,94vw);margin:0 auto;padding:1.1rem 0 2.8rem}.nav{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.3rem;padding:.72rem .25rem;border-bottom:1px solid rgba(223,216,205,.78)}.brand,.nav{align-items:center}.brand{display:inline-flex;gap:.18rem;color:var(--accent-strong);font-weight:800;letter-spacing:.04em;font-size:.94rem}.brand img{display:block}.navLinks{display:flex;align-items:center;gap:.72rem;color:var(--muted);font-size:.9rem;flex-wrap:wrap}.navLinks a{transition:color .16s ease}.navLinks a:hover{color:var(--text)}.page{grid-gap:1rem;gap:1rem}.hero,.page{display:grid}.hero{border:1px solid var(--border);border-radius:24px;background:radial-gradient(300px 120px at 8% -4%,rgba(180,122,86,.14),transparent 72%),linear-gradient(155deg,rgba(255,255,255,.96),rgba(247,242,234,.9));padding:clamp(1.2rem,3vw,2rem);grid-gap:.85rem;gap:.85rem;box-shadow:var(--shadow-soft)}.hero h1{margin:0;font-family:Fraunces,Times New Roman,serif;font-size:clamp(2rem,3.3vw,3rem);line-height:1.03;letter-spacing:-.02em;font-weight:700}.hero p{margin:0;color:var(--muted);max-width:78ch;font-size:1rem}.actionsRow,.badgeRow,.heroCta{display:flex;align-items:center;flex-wrap:wrap;gap:.62rem}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid transparent;min-height:42px;padding:.6rem .94rem;font-size:.83rem;line-height:1;font-weight:700;letter-spacing:.01em;transition:transform .13s ease,box-shadow .13s ease,background-color .13s ease;cursor:pointer}.button:hover{transform:translateY(-1px)}.buttonPrimary{background:linear-gradient(180deg,var(--accent),var(--accent-strong));color:#fff;box-shadow:0 8px 18px rgba(159,102,69,.24)}.buttonPrimary:hover{background:linear-gradient(180deg,#bf8663,#a96e4c)}.buttonSecondary{background:#2e4d58;color:#fff;box-shadow:0 8px 18px rgba(46,77,88,.2)}.buttonSecondary:hover{background:#263f49}.buttonGhost{background:rgba(255,255,255,.76);border-color:var(--border);color:var(--text)}.card{border:1px solid var(--border);background:linear-gradient(165deg,rgba(255,255,255,.97),rgba(248,245,240,.93));border-radius:20px;overflow:hidden;box-shadow:var(--shadow-soft)}.cardPad{padding:1.2rem}.stack{display:grid;grid-gap:.82rem;gap:.82rem}.muted{color:var(--muted)}.sectionTitle{margin:0;font-family:Fraunces,Times New Roman,serif;font-size:1.3rem;letter-spacing:-.01em}.kpis{display:grid;grid-gap:.72rem;gap:.72rem;grid-template-columns:repeat(3,minmax(0,1fr))}.kpi{border:1px solid var(--border);background:rgba(255,255,255,.86);border-radius:16px;padding:.88rem .9rem}.kpiValue{font-size:1.15rem;font-weight:800;margin-bottom:.18rem}.kpiLabel{font-size:.82rem;color:var(--muted)}.proHero{gap:1.15rem}.proHeroHead{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;flex-wrap:wrap}.proKpis{grid-template-columns:repeat(4,minmax(0,1fr))}.proDashboardGrid{display:grid;grid-gap:.95rem;gap:.95rem;grid-template-columns:1.45fr 1fr}.sectionHeaderLine{gap:.6rem;flex-wrap:wrap}.proAppointment,.sectionHeaderLine{display:flex;align-items:center;justify-content:space-between}.proAppointment{border:1px solid var(--border);background:rgba(255,255,255,.9);border-radius:14px;padding:.72rem .74rem;gap:.7rem}.proQuickGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.62rem;gap:.62rem}.quickCard{border:1px solid var(--border);border-radius:14px;background:linear-gradient(160deg,rgba(255,255,255,.96),rgba(245,240,230,.84));padding:.86rem;display:grid;grid-gap:.24rem;gap:.24rem;min-height:88px}.quickCard:hover{border-color:#ccb6a1}.quickCardMobile{position:relative;gap:.3rem;min-height:108px}.quickCardHead{display:flex;align-items:center;justify-content:space-between}.quickIcon{width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:.94rem;background:rgba(255,255,255,.74)}.quickArrow{font-size:1.1rem;color:rgba(52,43,35,.6)}.tone-blue{background:linear-gradient(160deg,rgba(75,146,231,.12),rgba(255,255,255,.92))}.tone-green{background:linear-gradient(160deg,rgba(70,170,108,.13),rgba(255,255,255,.92))}.tone-amber{background:linear-gradient(160deg,rgba(221,164,77,.16),rgba(255,255,255,.92))}.tone-violet{background:linear-gradient(160deg,rgba(148,109,217,.14),rgba(255,255,255,.92))}.tone-pink{background:linear-gradient(160deg,rgba(221,115,156,.15),rgba(255,255,255,.92))}.tone-sand{background:linear-gradient(160deg,rgba(193,126,90,.14),rgba(255,255,255,.92))}.proMetaList{display:grid;grid-gap:.7rem;gap:.7rem}.proMetaList div{display:grid;grid-gap:.12rem;gap:.12rem}.grid2{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:1.1fr 1fr}.mapCard{border:1px solid var(--border);background:var(--surface);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-soft)}.mapFrame{display:block;width:100%;height:min(58vh,460px);border:none}.salonCard{border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.95);overflow:hidden;box-shadow:var(--shadow-soft)}.salonCard img{width:100%;height:170px;object-fit:cover}.salonBody{padding:.9rem;display:grid;grid-gap:.55rem;gap:.55rem}.salonBody h3{margin:0;font-size:1.08rem}.badge{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);color:var(--muted);padding:.2rem .56rem;font-size:.74rem}.badgeAccent{border-color:#cfb39b;background:var(--accent-soft);color:#7d5035}.form{grid-gap:.8rem;gap:.8rem}.form,label{display:grid}label{grid-gap:.4rem;gap:.4rem;color:var(--muted);font-size:.86rem}.input,.select,.textarea{width:100%;min-height:44px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.92);color:var(--text);font:inherit;padding:.58rem .72rem}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:#c69b7e;box-shadow:0 0 0 3px rgba(180,122,86,.16)}.textarea{min-height:120px;resize:vertical}.notice{border:1px solid rgba(180,122,86,.4);background:rgba(180,122,86,.12);border-radius:12px;padding:.6rem .72rem;font-size:.88rem}.error{border-color:rgba(187,82,82,.44);background:rgba(187,82,82,.1)}.reservationItem,.serviceRow{border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.95);display:grid;grid-gap:.52rem;gap:.52rem;padding:.9rem;box-shadow:var(--shadow-soft)}.bookingLayout{display:grid;grid-template-columns:1fr 340px;grid-gap:1rem;gap:1rem}.modalOverlay{position:fixed;inset:0;z-index:50;background:rgba(18,14,11,.42);display:grid;place-items:center;padding:1rem}.modalCard{width:min(680px,100%);border-radius:18px;border:1px solid var(--border);background:#fff;padding:1rem;display:grid;grid-gap:.82rem;gap:.82rem;box-shadow:var(--shadow-soft)}.slotGrid{display:grid;grid-gap:.45rem;gap:.45rem;grid-template-columns:repeat(auto-fill,minmax(94px,1fr))}.slot{min-height:38px;border-radius:11px;border:1px solid var(--border);background:#fff;color:var(--text);font-size:.82rem;font-weight:700}.slot.selected{border-color:#c59676;background:rgba(180,122,86,.17);color:#75492d}.slot.disabled{opacity:.38}.logoLine{display:inline-flex;align-items:center;gap:0}.logoLine img{width:68px;height:44px;margin-right:-8px;object-fit:contain}.logoLine span{color:var(--accent-strong);font-size:1.68rem;font-weight:800;letter-spacing:-.03em}.loginScreen{position:relative;min-height:calc(100vh - 96px);border-radius:22px;border:1px solid rgba(206,185,161,.56);background:radial-gradient(880px 420px at 8% 8%,rgba(180,122,86,.16),transparent 58%),radial-gradient(600px 420px at 92% 0,rgba(129,154,148,.15),transparent 54%),linear-gradient(180deg,#f5f3ee,#f0ece4);display:grid;place-items:center;overflow:hidden;padding:1.4rem}.bgDot{position:absolute;width:14px;height:14px;border-radius:999px;background:rgba(180,122,86,.26)}.dotA{top:22%;left:18%}.dotB{top:14%;right:18%}.dotC{bottom:22%;left:72%}.loginCard{width:min(440px,100%);background:rgba(255,255,255,.88);border:1px solid #dbcbbb;border-radius:20px;padding:1.3rem;box-shadow:0 26px 50px rgba(31,21,14,.12);display:grid;grid-gap:.9rem;gap:.9rem;position:relative;z-index:1}.loginCard h1{margin:0;font-family:Fraunces,Times New Roman,serif;font-size:1.8rem;line-height:1.1;font-weight:700}.loginCard>.muted{margin:-.22rem 0 .18rem;font-size:.92rem}.loginLogoLine{display:inline-flex;align-items:center;gap:0;margin-bottom:.15rem}.loginLogoLine img{width:66px;height:42px;margin-right:-8px;object-fit:contain}.loginLogoLine span{color:var(--accent-strong);font-size:1.96rem;font-weight:800;letter-spacing:-.02em}.roleSwitch{display:grid;grid-template-columns:1fr 1fr;grid-gap:.4rem;gap:.4rem}.roleBtn{min-height:38px;border-radius:11px;border:1px solid #d8cdc1;background:#fff;color:#6e645a;font-size:.84rem;font-weight:700;cursor:pointer}.roleBtn.active{background:rgba(180,122,86,.15);border-color:rgba(180,122,86,.54);color:#7b4f34}.loginSubmit{width:100%;min-height:44px}.salonManagePage{gap:1.05rem}.salonManageHero{min-height:180px;align-content:end}.salonManageGrid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:1.6fr 1fr}.salonManageFormCard{background:linear-gradient(165deg,rgba(255,255,255,.98),rgba(251,248,242,.94))}.salonManageSide{align-content:start}.salonForm{gap:1rem}.salonFormSection{border:1px solid var(--border);border-radius:16px;padding:.9rem;background:rgba(255,255,255,.78);display:grid;grid-gap:.7rem;gap:.7rem}.salonFormFields{display:grid;grid-gap:.75rem;gap:.75rem}.salonInline{display:grid;grid-template-columns:180px 1fr;grid-gap:.62rem;gap:.62rem}.salonToggle{display:inline-flex;align-items:center;gap:.55rem;color:var(--text);font-weight:600}.salonToggle input{width:18px;height:18px;accent-color:var(--accent-strong)}.salonActionRow{display:flex;justify-content:flex-start}@media (max-width:1120px){.bookingLayout,.grid2,.proDashboardGrid,.salonManageGrid{grid-template-columns:1fr}.kpis,.proKpis,.proQuickGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.mapFrame{height:320px}.shell{width:min(1260px,96vw)}}@media (max-width:720px){.hero{border-radius:18px;padding:1rem}.hero h1{font-size:1.7rem}.kpis,.proKpis,.proQuickGrid,.roleSwitch,.salonInline{grid-template-columns:1fr}.card,.loginCard{border-radius:16px}.loginCard{padding:1rem}}