
:root{
  --cream:#F7F3EC;--cream-2:#F1EBDE;--surface:#FCFAF4;
  --teal:#17423F;--teal-deep:#0F302E;--teal-soft:#2C5B57;
  --gold:#BE9B4E;--gold-deep:#A5842F;--gold-soft:#E7D6AC;
  --sage:#9DA592;--sage-deep:#7E8A72;--sage-soft:#D3D8C9;
  --ink:#1E2B29;--muted:#6C7A74;--line:#E4DCCB;--line-2:#D8CFBB;--stone:#867A6C;
  --star:#BE9B4E;--clay:#B0563A;--clay-dim:#9A4B32;
  --serif:'Cormorant Garamond',Georgia,serif;--sans:'Inter',system-ui,sans-serif;
  --shadow:0 1px 2px rgba(23,66,63,.05),0 18px 40px -22px rgba(23,66,63,.30);
  color-scheme:light;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;overflow-x:hidden;}
html,body{background:#F7F3EC;}
body{font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5;width:100%;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
img{max-width:100%;display:block;}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px;}
.wm{display:inline-flex;align-items:center;gap:9px;line-height:1;white-space:nowrap;}
.wm .spark{color:var(--gold);font-size:.9em;}
.wm .bella{font-family:var(--serif);font-weight:700;color:var(--teal);font-size:1.5em;}
.wm .conecta{font-weight:600;color:var(--gold-deep);letter-spacing:.34em;font-size:.66em;text-transform:uppercase;}
header.nav{position:sticky;top:0;z-index:60;background:rgba(247,243,236,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav-in{max-width:1200px;margin:0 auto;padding:15px 24px;display:flex;align-items:center;gap:22px;}
.nav-links{display:flex;gap:24px;margin-left:14px;}
.nav-links a{font-size:14.5px;font-weight:500;padding:6px 2px;}
.nav-links a:hover{color:var(--teal);}
.nav-spacer{flex:1;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:14.5px;padding:11px 20px;border-radius:12px;transition:.15s;white-space:nowrap;}
.btn:active{transform:translateY(1px);}
.btn-teal{background:var(--teal);color:#F7F3EC;}.btn-teal:hover{background:var(--teal-deep);}
.btn-gold{background:var(--gold);color:#25200F;}.btn-gold:hover{background:var(--gold-deep);color:#fff;}
.btn-ghost{background:transparent;border:1.5px solid var(--line-2);color:var(--ink);}.btn-ghost:hover{border-color:var(--teal);color:var(--teal);}
.btn-block{width:100%;}.btn-lg{padding:15px 26px;font-size:16px;border-radius:14px;}.btn-sm{padding:8px 14px;font-size:13px;border-radius:10px;}
.demo-switch{white-space:nowrap;}
@media(max-width:820px){.nav-links{display:none;}header.nav .btn:not(.demo-switch){display:none;}}
.hero{position:relative;overflow:hidden;background:radial-gradient(90% 120% at 85% -10%, #EAE7D6 0%, rgba(234,231,214,0) 55%),linear-gradient(180deg,var(--cream),var(--cream-2));}
.hero-in{max-width:1200px;margin:0 auto;padding:70px 24px 84px;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;}
@media(max-width:900px){.hero-in{grid-template-columns:1fr;padding:44px 24px 56px;}}
.hero h1{font-family:var(--serif);font-weight:600;font-size:55px;line-height:1.04;color:var(--teal);margin:0 0 16px;}
@media(max-width:900px){.hero h1{font-size:42px;}}
.hero .lede{font-size:17px;color:var(--muted);max-width:460px;margin:0 0 26px;}
.searchbar{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:10px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr auto;gap:8px;}
@media(max-width:560px){.searchbar{grid-template-columns:1fr;}}
.searchbar .fx{display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:13px;}
.searchbar .fx svg{width:19px;height:19px;stroke:var(--gold-deep);fill:none;stroke-width:1.8;flex:none;}
.searchbar .fx .box{display:flex;flex-direction:column;flex:1;}
.searchbar .fx label{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--sage-deep);}
.searchbar .fx input{border:none;background:none;font-size:14.5px;color:var(--ink);padding:2px 0;width:100%;font-family:inherit;}
.searchbar .fx input:focus{outline:none;}
.searchbar .fx.split{border-left:1px solid var(--line);border-radius:0;}
@media(max-width:560px){.searchbar .fx.split{border-left:none;border-top:1px solid var(--line);border-radius:13px;}}
.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.hero-tags a{font-size:13px;color:var(--teal);background:rgba(157,165,146,.18);padding:7px 13px;border-radius:999px;}
.hero-tags a:hover{background:var(--sage-soft);}
.hero-art{position:relative;aspect-ratio:1/1;border-radius:28px;overflow:hidden;background:linear-gradient(160deg,#EEE9D8,#D8DDCC 60%,#C6CEB9);border:1px solid var(--gold-soft);box-shadow:var(--shadow);}
@media(max-width:900px){.hero-art{display:none;}}
.hero-art .ring{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.hero-art .ring svg{width:62%;height:62%;}
.hero-badge{position:absolute;left:18px;bottom:18px;background:var(--surface);border-radius:14px;padding:12px 15px;box-shadow:var(--shadow);display:flex;align-items:center;gap:10px;}
.hero-badge .n{font-family:var(--serif);font-size:26px;font-weight:700;color:var(--teal);line-height:1;}
.hero-badge .l{font-size:11.5px;color:var(--muted);}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px;}
.sec{padding:60px 0;}
.sec-head{text-align:center;max-width:600px;margin:0 auto 34px;}
.sec-head .kicker{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);}
.sec-head h2{font-family:var(--serif);font-weight:600;font-size:38px;color:var(--teal);margin:8px 0 10px;line-height:1.1;}
.sec-head p{color:var(--muted);font-size:15.5px;margin:0;}
.cats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
@media(max-width:900px){.cats{grid-template-columns:repeat(3,1fr);}}
@media(max-width:520px){.cats{grid-template-columns:repeat(2,1fr);}}
.cat{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 14px;text-align:center;transition:.15s;cursor:pointer;display:block;}
.cat:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:var(--shadow);}
.cat .ic{width:44px;height:44px;margin:0 auto 10px;border-radius:12px;background:rgba(157,165,146,.18);display:flex;align-items:center;justify-content:center;}
.cat .ic svg{width:22px;height:22px;stroke:var(--teal);fill:none;stroke-width:1.7;}
.cat .t{font-size:13.5px;font-weight:600;}
.pros-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:900px){.pros-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.pros-grid{grid-template-columns:1fr;}}
.procard{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;text-align:left;transition:.15s;cursor:pointer;display:flex;flex-direction:column;}
.procard:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.procard .ph{height:150px;position:relative;background-size:cover;background-position:center;}
.procard .badge{position:absolute;left:10px;top:10px;background:var(--gold);color:#25200F;font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:999px;}
.procard .bd{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1;}
.procard .nm{font-weight:700;font-size:15.5px;}.procard .sub{font-size:12.5px;color:var(--muted);margin-top:2px;}
.procard .rrow{display:flex;align-items:center;gap:6px;margin-top:9px;font-size:12.5px;}
.stars{color:var(--star);letter-spacing:.5px;font-size:13px;}
.procard .foot{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;}
.procard .price{font-size:13px;color:var(--muted);}.procard .price b{color:var(--ink);font-size:14.5px;}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:820px){.steps{grid-template-columns:1fr;}}
.step{text-align:center;padding:8px;}
.step .num{width:52px;height:52px;margin:0 auto 14px;border-radius:50%;background:var(--teal);color:var(--gold-soft);font-family:var(--serif);font-size:24px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.step h3{font-family:var(--serif);font-size:23px;color:var(--teal);margin:0 0 6px;font-weight:600;}
.step p{color:var(--muted);font-size:14.5px;margin:0 auto;max-width:300px;}
.band{background:linear-gradient(120deg,#EDE8D7,#E6E9DA);border:1px solid var(--gold-soft);border-radius:26px;padding:48px 44px;display:grid;grid-template-columns:1.4fr 1fr;gap:30px;align-items:center;}
@media(max-width:820px){.band{grid-template-columns:1fr;padding:34px 26px;text-align:center;}}
.band h2{font-family:var(--serif);font-size:36px;font-weight:600;margin:0 0 10px;color:var(--teal);}
.band p{color:var(--muted);font-size:15.5px;margin:0;max-width:440px;}
@media(max-width:820px){.band p{margin:0 auto;}}
.band .acts{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;}
@media(max-width:820px){.band .acts{justify-content:center;}}
footer{border-top:1px solid var(--line);margin-top:20px;}
.foot-in{max-width:1200px;margin:0 auto;padding:40px 24px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px;}
.foot-in .links{display:flex;gap:20px;flex-wrap:wrap;}
.search-top{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:63px;z-index:40;}
.search-top-in{max-width:1320px;margin:0 auto;padding:14px 24px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.minisearch{display:flex;align-items:center;gap:8px;background:var(--cream);border:1px solid var(--line-2);border-radius:12px;padding:8px 12px;flex:1;min-width:200px;}
.minisearch svg{width:17px;height:17px;stroke:var(--gold-deep);fill:none;stroke-width:1.8;}
.minisearch input{border:none;background:none;font-size:14px;flex:1;font-family:inherit;}
.minisearch input:focus{outline:none;}
.chips{display:flex;gap:8px;overflow-x:auto;}
.chip{font-size:13px;font-weight:500;padding:8px 13px;border-radius:999px;border:1.5px solid var(--line-2);background:var(--surface);color:var(--ink);white-space:nowrap;transition:.13s;}
.chip:hover{border-color:var(--sage-deep);}
.chip.on{background:var(--teal);border-color:var(--teal);color:#F5F1E6;}
.chip.gold.on{background:var(--gold);border-color:var(--gold);color:#25200F;}
.search-body{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:260px 1fr 1fr;}
@media(max-width:1080px){.search-body{grid-template-columns:1fr 1fr;}.filters-col{display:none;}}
@media(max-width:760px){.search-body{grid-template-columns:1fr;}.map-col{display:none;}.search-body.showmap .list-col{display:none;}.search-body.showmap .map-col{display:block;}}
.filters-col{border-right:1px solid var(--line);padding:22px 20px;height:calc(100vh - 128px);overflow:auto;position:sticky;top:128px;}
.filters-col h4{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--sage-deep);margin:22px 0 10px;}
.filters-col h4:first-child{margin-top:0;}
.fgroup{display:flex;flex-wrap:wrap;gap:7px;}
.frow{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:14px;cursor:pointer;}
.frow input{width:17px;height:17px;accent-color:var(--teal);}
.price-tags{display:flex;flex-direction:column;gap:7px;}
.clearbtn{margin-top:20px;font-size:13px;color:var(--gold-deep);font-weight:600;}
.list-col{padding:20px;height:calc(100vh - 128px);overflow:auto;}
.list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.list-head .count{font-size:14px;}.list-head .count b{color:var(--teal);}
.list-head select{font-size:13px;padding:7px 10px;border-radius:10px;border:1px solid var(--line-2);background:var(--surface);font-family:inherit;}
.result{display:flex;gap:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);margin-bottom:12px;transition:.13s;cursor:pointer;}
.result:hover,.result.hl{border-color:var(--gold);box-shadow:var(--shadow);}
.result .av{width:76px;height:76px;border-radius:12px;flex:none;background-size:cover;background-position:center;}
.result .nm{font-weight:700;font-size:15.5px;}.result .sub{font-size:12.5px;color:var(--muted);margin-top:2px;}
.result .tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;}
.result .tags span{font-size:11px;background:rgba(157,165,146,.16);color:var(--sage-deep);padding:3px 8px;border-radius:6px;}
.result .b2{margin-left:auto;text-align:right;display:flex;flex-direction:column;justify-content:space-between;}
.result .pin-n{width:22px;height:22px;border-radius:50%;background:var(--teal);color:#F5F1E6;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-left:auto;}
.result .from{font-size:12px;color:var(--muted);}.result .from b{color:var(--ink);font-size:14px;}
.map-col{position:sticky;top:128px;height:calc(100vh - 128px);}
.map-wrap{position:relative;width:100%;height:100%;overflow:hidden;background:#E9E4D6;}
#leafmap{width:100%;height:100%;background:#E9E4D6;}
.map-fallback{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-size:14px;padding:20px;text-align:center;}
.price-marker{background:transparent;border:none;}
.price-badge{display:inline-block;transform:translate(-50%,-100%);background:var(--teal);color:#F5F1E6;font-weight:700;font-size:12.5px;padding:5px 10px;border-radius:999px;white-space:nowrap;cursor:pointer;box-shadow:0 2px 8px rgba(23,66,63,.35);border:1.5px solid #F5F1E6;transition:.12s;}
.price-badge.on{background:var(--gold);color:#25200F;border-color:#fff;transform:translate(-50%,-100%) scale(1.08);z-index:1000;}
.map-toggle{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:50;display:none;}
@media(max-width:760px){.map-toggle{display:block;bottom:calc(76px + env(safe-area-inset-bottom));}}
.profile-hero{height:220px;background-size:cover;background-position:center;position:relative;}
.profile-in{max-width:1000px;margin:0 auto;padding:0 24px;}
.profile-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;margin-top:-70px;position:relative;padding:24px;display:flex;gap:22px;box-shadow:var(--shadow);}
@media(max-width:640px){.profile-card{flex-direction:column;}}
.profile-card .av{width:120px;height:120px;border-radius:20px;flex:none;background-size:cover;background-position:center;border:4px solid var(--surface);margin-top:-56px;box-shadow:var(--shadow);}
.profile-card h1{font-family:var(--serif);font-size:34px;color:var(--teal);margin:0 0 4px;font-weight:600;}
.profile-card .sub{color:var(--muted);font-size:14.5px;}
.profile-card .rrow{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:14px;}
.profile-card .url{font-size:13px;color:var(--gold-deep);margin-top:10px;}
.profile-grid{max-width:1000px;margin:26px auto 60px;padding:0 24px;display:grid;grid-template-columns:1fr 340px;gap:26px;align-items:start;}
@media(max-width:820px){.profile-grid{grid-template-columns:1fr;}}
.block{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;margin-bottom:20px;}
.block h3{font-family:var(--serif);font-size:23px;color:var(--teal);margin:0 0 14px;font-weight:600;}
.svc{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line);}
.svc:last-child{border-bottom:none;}
.svc>div:first-child{flex:1 1 auto;min-width:0;}
.svc .snm{font-weight:600;font-size:14.5px;}.svc .sdu{font-size:12.5px;color:var(--muted);margin-top:2px;}
.svc .spr{margin-left:auto;font-weight:700;white-space:nowrap;font-size:14.5px;}
.svc .bookmini{margin-left:12px;white-space:nowrap;}
@media(max-width:560px){.svc>div:first-child{flex:1 1 100%;}.svc .spr{margin-left:0;}.svc .bookmini{margin-left:auto;}}
.port{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;}
.port div{aspect-ratio:1;border-radius:12px;background-size:cover;background-position:center;}
.review{border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:12px;}
.review .rh{display:flex;justify-content:space-between;align-items:center;}
.review .rt{font-size:13.5px;color:var(--ink);line-height:1.5;margin:8px 0 0;}
.review .rsp{border-top:1px solid var(--line);margin-top:10px;padding-top:8px;font-size:12.5px;color:var(--muted);}
.aside .book-cta{position:sticky;top:90px;}
.aside .miniinfo{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--muted);margin-bottom:12px;}
.aside .miniinfo svg{width:17px;height:17px;stroke:var(--gold-deep);fill:none;stroke-width:1.8;flex:none;}
.modal-back{position:fixed;inset:0;background:rgba(15,48,46,.42);backdrop-filter:blur(3px);z-index:90;display:none;align-items:center;justify-content:center;padding:20px;}
.modal-back.show{display:flex;}
.modal{background:var(--cream);border-radius:22px;width:100%;max-width:440px;max-height:90vh;overflow:auto;box-shadow:var(--shadow);}
.modal-head{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--cream);z-index:2;}
.modal-head h3{font-family:var(--serif);font-size:22px;color:var(--teal);margin:0;flex:1;font-weight:600;}
.modal-head .x{width:32px;height:32px;border-radius:50%;background:var(--cream-2);font-size:16px;display:flex;align-items:center;justify-content:center;}
.modal-body{padding:20px 22px 24px;}
.prog{display:flex;gap:6px;margin-bottom:18px;}
.prog i{height:3px;flex:1;border-radius:2px;background:var(--line-2);}.prog i.on{background:var(--gold);}
.radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--line-2);flex:none;}
.radio.on{border-color:var(--gold-deep);background:radial-gradient(circle,var(--gold-deep) 0 5px,transparent 6px);}
.weekstrip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;}
.day{flex:none;width:54px;text-align:center;padding:9px 0;border-radius:13px;border:1.5px solid var(--line-2);background:var(--surface);cursor:pointer;}
.day.on{background:var(--teal);border-color:var(--teal);color:#F5F1E6;}
.day .wd{font-size:10.5px;text-transform:uppercase;color:var(--muted);}.day.on .wd{color:var(--gold-soft);}
.day .dn{font-size:16px;font-weight:700;margin-top:2px;}
.times{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px;}
.times button{padding:11px 0;border-radius:11px;border:1.5px solid var(--line-2);background:var(--surface);font-size:13.5px;font-weight:500;}
.times button.on{background:var(--gold);border-color:var(--gold);color:#25200F;}
.times button:disabled{color:var(--line-2);border-style:dashed;cursor:not-allowed;}
.field{margin-bottom:14px;}.field label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px;}
.field input{width:100%;padding:12px 13px;border-radius:11px;border:1.5px solid var(--line-2);background:var(--surface);font-size:14px;font-family:inherit;}
.summ{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:16px;}
.summ .r{display:flex;justify-content:space-between;font-size:14px;margin-bottom:8px;}.summ .r:last-child{margin-bottom:0;}
.okmark{width:70px;height:70px;border-radius:50%;background:var(--sage-deep);margin:14px auto 16px;display:flex;align-items:center;justify-content:center;}
.okmark svg{width:32px;height:32px;stroke:#F5F1E6;stroke-width:2.4;fill:none;}
.dash-nav{background:var(--surface);color:var(--ink);position:sticky;top:0;z-index:60;border-bottom:1px solid var(--line);}
.dash-nav-in{max-width:1200px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:8px;}
.dash-nav .wm .bella{color:var(--teal);}.dash-nav .wm .conecta{color:var(--gold-deep);}
.dash-tabs{display:flex;gap:4px;margin-left:20px;flex-wrap:wrap;}
.dash-tabs a{font-size:14px;font-weight:500;color:var(--muted);padding:8px 14px;border-radius:10px;}
.dash-tabs a:hover{background:var(--cream-2);color:var(--teal);}
.dash-tabs a.on{background:var(--teal);color:#F5F1E6;}
@media(max-width:820px){.dash-tabs{display:none;}}
.dash-wrap{max-width:1100px;margin:0 auto;padding:28px 24px 70px;}
.dh{font-family:var(--serif);font-size:30px;color:var(--teal);font-weight:600;margin:0 0 4px;}
.trial-bar{background:linear-gradient(120deg,var(--gold-soft),#EFE3C2);border:1px solid var(--gold-soft);border-radius:14px;padding:14px 18px;display:flex;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap;}
.trial-bar .pill{background:var(--teal);color:var(--gold-soft);font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;}
.trial-bar .txt{font-size:14px;color:var(--teal-deep);flex:1;min-width:180px;}
.dash-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.av-initials{width:64px;height:64px;border-radius:16px;background:var(--teal);color:var(--gold-soft);font-family:var(--serif);font-weight:700;font-size:24px;display:flex;align-items:center;justify-content:center;flex:none;}
.av-initials.sm{width:46px;height:46px;border-radius:12px;font-size:17px;}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;}
@media(max-width:800px){.kpis{grid-template-columns:1fr 1fr;}}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;gap:11px;align-items:center;}
.kpi .ic{width:40px;height:40px;border-radius:11px;background:var(--cream-2);display:flex;align-items:center;justify-content:center;flex:none;}
.kpi .ic svg{width:20px;height:20px;stroke:var(--teal);fill:none;stroke-width:1.7;}
.kpi .kv{font-family:var(--serif);font-size:23px;font-weight:700;color:var(--teal);line-height:1;}
.kpi .kl{font-size:11.5px;color:var(--muted);margin-top:3px;line-height:1.25;}
.next-card{background:#F3EEDF;border:1px solid var(--gold-soft);border-left:4px solid var(--gold);border-radius:18px;padding:18px 20px;margin-bottom:16px;}
.next-card .nc-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep);font-weight:700;}
.next-card .nc-main{display:flex;align-items:center;gap:16px;margin:10px 0 14px;}
.next-card .nc-time{font-family:var(--serif);font-size:34px;font-weight:700;color:var(--teal);line-height:1;}
.next-card .nc-name{font-weight:700;font-size:16px;color:var(--ink);}
.next-card .nc-svc{font-size:13px;color:var(--muted);margin-top:2px;}
.next-card .nc-actions{display:flex;gap:10px;}
.next-card .nc-actions .btn{flex:1;}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:16px;}
.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.panel-head h3{font-family:var(--serif);font-size:18px;color:var(--teal);margin:0;font-weight:600;}
.panel-head a{font-size:13px;color:var(--gold-deep);font-weight:600;}
.bars{display:flex;align-items:flex-end;gap:10px;height:132px;}
.bar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;}
.bar .col{width:100%;max-width:30px;background:var(--sage);border-radius:7px 7px 0 0;min-height:6px;}
.bar.today .col{background:var(--gold);}
.bar .wd{font-size:11px;color:var(--muted);}.bar .pc{font-size:10px;color:var(--stone);}
.tl .item{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);align-items:center;}
.tl .item:last-child{border-bottom:none;}
.tl .tm{font-size:13px;color:var(--muted);width:46px;flex:none;font-variant-numeric:tabular-nums;}
.tl .dot{width:9px;height:9px;border-radius:50%;background:var(--gold);flex:none;}.tl .item.free .dot{background:var(--line-2);}
.tl .txt{flex:1;min-width:0;}.tl .txt .t{font-weight:600;font-size:14px;}.tl .txt .s{font-size:12px;color:var(--muted);margin-top:1px;}
.tl .st{font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;background:#E6EADB;color:var(--sage-deep);white-space:nowrap;}
.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
@media(max-width:560px){.quick{grid-template-columns:1fr;}}
.quick a,.quick button{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;font-size:13.5px;font-weight:600;color:var(--teal);display:flex;align-items:center;justify-content:center;gap:8px;}
.quick a:hover,.quick button:hover{border-color:var(--gold);}
.quick svg{width:17px;height:17px;stroke:var(--gold-deep);fill:none;stroke-width:1.8;}
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
@media(max-width:820px){.plans-grid{grid-template-columns:1fr;}}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;}
.plan.pop{border:1.5px solid var(--gold);position:relative;}
.plan.pop .tag{position:absolute;top:-11px;left:20px;background:var(--gold);color:#25200F;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;}
.plan .pn{font-weight:700;font-size:16px;}.plan .pp{font-family:var(--serif);font-size:26px;color:var(--teal);font-weight:700;margin:6px 0;}
.plan .pp small{font-size:13px;color:var(--muted);font-family:var(--sans);font-weight:500;}
.plan ul{list-style:none;padding:0;margin:12px 0 0;font-size:13.5px;}
.plan ul li{padding:5px 0 5px 22px;position:relative;}.plan ul li:before{content:"\2713";position:absolute;left:0;color:var(--gold-deep);font-weight:700;}
.listpage{max-width:640px;margin:0 auto;padding:20px 20px 40px;}
.listpage>h2{font-family:var(--serif);font-size:28px;color:var(--teal);margin:6px 0 4px;font-weight:600;}
.listpage .sub{color:var(--muted);font-size:14px;margin-bottom:8px;}
.sec-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--sage-deep);margin:22px 0 10px;}
.appt{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:16px;margin-bottom:12px;}
.appt .top{display:flex;gap:12px;align-items:center;}
.appt .av{width:52px;height:52px;border-radius:12px;background-size:cover;background-position:center;flex:none;}
.appt .nm{font-weight:700;font-size:15px;}.appt .metatxt{font-size:12.5px;color:var(--muted);margin-top:2px;}
.appt .when{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;font-size:14px;}
.appt .when svg{width:16px;height:16px;stroke:var(--gold-deep);fill:none;stroke-width:1.8;flex:none;}
.appt .actions{display:flex;gap:10px;margin-top:12px;}.appt .actions .btn{flex:1;}
.status-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;margin-left:auto;white-space:nowrap;}
.status-badge.ok{background:#E6EADB;color:var(--sage-deep);}.status-badge.cancel{background:#F3E1D9;color:var(--clay-dim);}.status-badge.done{background:var(--cream-2);color:var(--ink);}
.appt.cancelled{opacity:.7;}.cancel-note{font-size:12px;color:var(--clay-dim);margin-top:8px;}
.fav-row{display:flex;gap:13px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);margin-bottom:12px;}
.fav-row .av{width:58px;height:58px;border-radius:12px;background-size:cover;background-position:center;flex:none;}
.fav-row .heart{margin-left:auto;width:38px;height:38px;border-radius:50%;background:var(--cream-2);display:flex;align-items:center;justify-content:center;flex:none;}
.fav-row .heart svg{width:18px;height:18px;fill:var(--clay);stroke:var(--clay);stroke-width:1.4;}
.conta-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 0;border-bottom:1px solid var(--line);text-align:left;font-size:14.5px;}
.conta-row:last-child{border-bottom:none;}
.conta-row .ci{display:flex;align-items:center;gap:12px;}.conta-row .ci svg{width:19px;height:19px;stroke:var(--gold-deep);fill:none;stroke-width:1.8;}
.conta-row .arw{color:var(--stone);font-size:18px;}
.li-day{font-family:var(--serif);font-size:16px;color:var(--teal);font-weight:600;margin:20px 0 10px;display:flex;align-items:center;gap:8px;}
.li-day .li-tag{font-family:var(--sans);font-size:11px;font-weight:700;background:var(--gold);color:#25200F;padding:2px 9px;border-radius:999px;}
.li-row{display:flex;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--surface);margin-bottom:9px;}
.li-time{font-weight:700;font-size:14px;color:var(--teal);width:52px;flex:none;font-variant-numeric:tabular-nums;}
.li-name{font-weight:600;font-size:14.5px;}.li-svc{font-size:12.5px;color:var(--muted);margin-top:1px;}
.st{font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;background:#E6EADB;color:var(--sage-deep);white-space:nowrap;}
.empty-wrap{max-width:440px;margin:40px auto;padding:30px 24px;text-align:center;}
.empty-ic{width:74px;height:74px;border-radius:20px;background:var(--cream-2);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;}
.empty-ic svg{width:32px;height:32px;stroke:var(--gold-deep);fill:none;stroke-width:1.6;}
.empty-wrap h2{font-family:var(--serif);font-size:26px;color:var(--teal);margin:0 0 8px;font-weight:600;}
.empty-wrap p{color:var(--muted);font-size:14.5px;line-height:1.6;margin:0 0 20px;}.empty-wrap .btn{width:auto;display:inline-flex;}
.gate-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px;max-width:560px;margin:0 auto;}
.wm.big{font-size:22px;margin-bottom:6px;}
.gate-sub{color:var(--muted);font-size:15px;margin:8px 0 26px;}
.gate-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%;}
@media(max-width:480px){.gate-cards{grid-template-columns:1fr;}}
.gate-card{border:1.5px solid var(--line-2);border-radius:18px;background:var(--surface);padding:24px 18px;text-align:center;transition:.15s;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:9px;}
.gate-card:hover,.gate-card.sel{border-color:var(--gold);background:#FBF6EA;box-shadow:var(--shadow);}
.gate-card .gic{width:52px;height:52px;border-radius:14px;background:var(--gold-soft);display:flex;align-items:center;justify-content:center;}
.gate-card .gic svg{width:26px;height:26px;stroke:var(--teal);fill:none;stroke-width:1.7;}
.gate-card .gt{font-family:var(--serif);font-size:20px;color:var(--teal);font-weight:600;}
.gate-card .gd{font-size:12.5px;color:var(--muted);line-height:1.4;}
.gate-jump{width:100%;margin:22px 0 16px;text-align:left;}
.gate-jump label{display:block;font-size:12px;font-weight:700;color:var(--sage-deep);margin-bottom:7px;text-transform:uppercase;letter-spacing:.06em;}
.gate-jump select{width:100%;padding:13px 14px;border-radius:12px;border:1.5px solid var(--line-2);background:var(--surface);font-size:14.5px;font-family:inherit;}
.ac-pop{position:absolute;z-index:200;background:var(--surface);border:1px solid var(--line-2);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;padding:6px;max-height:320px;overflow-y:auto;}
.ac-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border-radius:9px;font-size:14px;color:var(--ink);}
.ac-item:hover{background:var(--cream-2);}
.ac-ic{width:26px;height:26px;border-radius:7px;background:rgba(157,165,146,.2);display:flex;align-items:center;justify-content:center;flex:none;}
.ac-ic svg{width:15px;height:15px;stroke:var(--teal);fill:none;stroke-width:1.8;}
.ac-tag{margin-left:auto;font-size:11px;color:var(--muted);}
.bottom-nav{display:none;}
.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10.5px;color:var(--muted);height:100%;font-weight:500;}
.bottom-nav a .bi{width:23px;height:23px;stroke:var(--muted);fill:none;stroke-width:1.7;}
.bottom-nav a.on{color:var(--teal);}.bottom-nav a.on .bi{stroke:var(--gold-deep);}
@media(max-width:820px){
  .bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;height:62px;background:rgba(252,250,244,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line);z-index:70;padding-bottom:env(safe-area-inset-bottom);}
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom));}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important;}}
