@font-face{font-family:Vazirmatn;src:url('/fonts/vazirmatn-arabic.woff2') format('woff2');font-style:normal;font-weight:400 900;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+10E60-10E7F,U+1EE00-1EEFF}
@font-face{font-family:Vazirmatn;src:url('/fonts/vazirmatn-latin.woff2') format('woff2');font-style:normal;font-weight:400 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122}
:root{
  --ink:#201b2b;
  --muted:#696579;
  --accent:#5e42c3;
  --accent-dark:#46309d;
  --accent-soft:#efebfc;
  --bg:#f8f7fb;
  --paper:#ffffff;
  --line:#e6e2ee;
  --lime:#dff286;
  --violet:#d7c9ff;
  --shadow:0 22px 70px rgba(40,27,85,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 "Segoe UI Variable","Segoe UI",Arial,sans-serif}
html[lang=fa] body{font-family:Vazirmatn,Tahoma,sans-serif;line-height:1.8}
[lang=fa],.lang select{font-family:Vazirmatn,"Segoe UI",Tahoma,sans-serif}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.12;letter-spacing:-.035em}
h1{font-weight:780}
h2,h3{font-weight:730}
p{color:var(--muted)}
html[lang=fa] h1,html[lang=fa] h2,html[lang=fa] h3{letter-spacing:0}
:focus-visible{outline:3px solid #a893f3;outline-offset:3px}
.sr{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}
.muted{color:var(--muted)}
.top{height:84px;max-width:1360px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:11px;font-size:23px;font-weight:780;letter-spacing:-.055em}
.brand>span:last-child{display:flex;align-items:baseline;gap:7px}
.brand small{font-size:12px;font-weight:550;color:var(--muted);letter-spacing:0}
.brandmark{position:relative;width:40px;height:40px;border-radius:13px;background:var(--ink);color:white;display:flex;align-items:center;justify-content:center;font-size:27px;font-weight:800;letter-spacing:-.1em;box-shadow:0 7px 15px #29213924}
.brandmark span{position:absolute;right:6px;top:6px;color:var(--lime);font-size:15px;letter-spacing:0}
.header-actions{display:flex;align-items:center;gap:17px}
.lang select{border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);padding:8px 11px;font-size:12px;font-weight:700}
.link{border:0;background:none;color:var(--accent-dark);font-weight:730;padding:8px 0}
.link:hover{text-decoration:underline}
.user-pill{padding:8px 12px;background:var(--accent-soft);border-radius:30px;color:var(--accent-dark);font-size:12px;font-weight:750}
.primary,.secondary,.small-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:11px;padding:12px 18px;font-weight:750;border:1px solid transparent;transition:transform .18s,background .18s,box-shadow .18s}
.primary{background:var(--accent);color:#fff;box-shadow:0 10px 21px #5e42c32e}
.primary:hover{background:var(--accent-dark)}
.primary:hover,.secondary:hover,.small-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px #41318526}
.primary b{font-size:17px;font-weight:500}
.secondary{background:white;color:var(--ink);border-color:var(--line)}
.secondary:hover{border-color:#bfb3ea}
.secondary.light{background:#fff;color:var(--accent-dark);border-color:#fff}
.wide{width:100%}
.eyebrow,.overline{display:inline-flex;align-items:center;gap:7px;color:var(--accent-dark);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
html[lang=fa] .eyebrow,html[lang=fa] .overline{letter-spacing:0}
.sparkle{font-size:16px;color:var(--accent)}

/* Landing */
.hero{max-width:1360px;margin:0 auto;padding:47px 5% 84px;min-height:660px;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:5%}
.hero-copy{position:relative;z-index:1}
.hero .eyebrow{background:var(--accent-soft);border-radius:40px;padding:8px 12px}
.hero h1{font-size:clamp(52px,5.1vw,78px);max-width:700px;margin:23px 0 22px;line-height:1.03}
.hero-copy>p{max-width:540px;font-size:17px;line-height:1.75}
.hero-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.hero-buttons .primary,.hero-buttons .secondary{min-height:51px}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:47px}
.hero-meta span{color:var(--muted);font-size:11px;font-weight:700;background:#fff;border:1px solid var(--line);padding:7px 10px;border-radius:30px}
.hero-art{height:548px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;background:radial-gradient(circle at 83% 14%,#f1ebff 0,#e6dcff 29%,#d4c3fb 74%,#baa4ef 100%);border-radius:32px;overflow:hidden;box-shadow:var(--shadow)}
.hero-art:before,.hero-art:after{content:"";position:absolute;border:1px solid #ffffff7c;border-radius:50%;z-index:-1}
.hero-art:before{width:520px;height:520px;top:-155px;right:-170px}
.hero-art:after{width:300px;height:300px;left:-160px;bottom:-110px}
.art-orb{position:absolute;width:180px;height:180px;border-radius:50%;background:#f4f0ff9c;filter:blur(18px);left:4%;top:4%;z-index:-1}
.preview-shell{width:min(380px,77%);padding:20px;background:#fff;border:1px solid #ffffffdb;border-radius:24px;box-shadow:0 28px 64px #3e298c35;transform:rotate(-3deg)}
.preview-top{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.preview-monogram{position:relative;width:33px;height:33px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--ink);color:white;font-weight:850;font-size:22px;letter-spacing:-.1em}
.preview-monogram span{position:absolute;right:5px;top:4px;color:var(--lime);font-size:12px;letter-spacing:0}
.preview-brand{display:grid;font-size:14px;font-weight:800;line-height:1.1}
.preview-brand small{margin-top:3px;font-size:9px;color:var(--muted);font-weight:500}
.preview-menu{margin-inline-start:auto;color:#9c94aa;letter-spacing:2px}
.preview-search{display:flex;align-items:center;gap:9px;background:#f7f5fb;border:1px solid #eeebf3;border-radius:10px;padding:10px 12px;color:#837d91}
.preview-search span{font-size:22px;line-height:14px}
.preview-search small{font-size:10px}
.preview-caption{margin:19px 0 9px;font-size:9px;letter-spacing:.15em;font-weight:800;color:#8b8497;text-transform:uppercase}
html[lang=fa] .preview-caption{letter-spacing:0}
.preview-pro{display:flex;align-items:center;gap:13px;background:#f7f4fe;border:1px solid #eee9fb;border-radius:13px;padding:12px}
.preview-avatar{width:56px;height:56px;min-width:56px;border-radius:12px;background:linear-gradient(135deg,#7360b9,#b9a8f5);display:grid;place-items:center;color:#fff;font-size:28px}
.preview-pro>div:nth-child(2){display:grid;gap:1px;min-width:0}
.preview-type{font-size:9px;font-weight:800;color:var(--accent);text-transform:uppercase}
.preview-pro strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.preview-pro small{font-size:10px;color:var(--muted)}
.preview-arrow{margin-inline-start:auto;align-self:flex-start;color:var(--accent);font-size:17px}
.preview-slots{display:flex;gap:7px}
.preview-slots span{flex:1;text-align:center;padding:7px 3px;border:1px solid #d9d0fa;border-radius:8px;background:#f9f7ff;color:var(--accent-dark);font-size:10px;font-weight:700}
.preview-slots span:first-child{background:var(--accent);color:white;border-color:var(--accent)}
.preview-book{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:10px 13px;border-radius:9px;background:var(--ink);color:#fff;font-size:11px;font-weight:750}
.floating-note{position:absolute;bottom:30px;left:4%;display:flex;gap:11px;align-items:center;background:white;border-radius:14px;padding:12px 16px;box-shadow:0 15px 34px #3729782a;transform:rotate(3deg);z-index:1}
.floating-symbol{width:33px;height:33px;display:grid;place-items:center;background:var(--lime);border-radius:9px;color:#344213}
.floating-note>div{display:grid}
.floating-note strong{font-size:11px}
.floating-note small{font-size:9px;color:var(--muted)}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;max-width:1360px;margin:auto;padding:0 5% 82px}
.value-grid>div{border:1px solid var(--line);background:var(--paper);border-radius:18px;padding:26px;box-shadow:0 9px 30px #3f32810a}
.value-grid .num{display:inline-block;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.value-grid h3{font-size:21px;margin:16px 0 8px}
.value-grid p{font-size:13px;line-height:1.6;margin:0}
footer{max-width:1360px;margin:auto;padding:27px 5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:11px}
footer i{color:var(--accent);font-style:normal}
.footer-install{border:1px solid #d6ccef;background:#fff;color:var(--accent-dark);padding:6px 11px;border-radius:8px;font-size:11px;font-weight:750}
.footer-install:hover{background:var(--accent-soft)}

/* App shell */
.container{max-width:1280px;margin:0 auto;padding:25px 5% 100px}
.app-main{min-height:70vh}
.tabs{display:flex;gap:7px;overflow:auto;padding:0 0 22px;border-bottom:1px solid var(--line);scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{border:0;background:transparent;padding:10px 15px;color:var(--muted);font-size:13px;font-weight:750;white-space:nowrap;border-radius:9px}
.tabs button:hover{background:var(--accent-soft);color:var(--accent-dark)}
.tabs button.active{background:var(--accent);color:#fff}
.dashboard-head,.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:37px 0 27px}
.dashboard-head h1,.section-head h1{font-size:clamp(34px,3.7vw,52px);margin:9px 0 7px}
.dashboard-head p{margin:0}
.section-head h2{font-size:28px}
.visibility{background:var(--accent-soft);color:var(--accent-dark);padding:9px 13px;border-radius:30px;font-size:12px;font-weight:750;white-space:nowrap}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:19px}
.metrics>div{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:22px 23px;display:grid;gap:4px;position:relative;overflow:hidden}
.metrics>div:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--violet)}
.metrics>div:nth-child(2):before{background:var(--lime)}
.metrics>div:nth-child(3):before{background:#f1c9de}
.metrics b{font-size:38px;line-height:1;font-weight:800}
.metrics span{font-size:12px;color:var(--muted)}
.two-col{display:grid;grid-template-columns:1.3fr .85fr;gap:18px}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:25px;box-shadow:0 6px 22px #352b6710}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}
.panel-heading h2,.panel>h2{font-size:20px;margin:0}
.panel-heading>span{font-size:12px;color:var(--muted)}
.invite-panel{background:linear-gradient(145deg,#f1edff,#fcfbff)}
.invite-panel>p{font-size:13px}
.invite-panel>small{display:block;margin-top:14px;color:var(--muted);line-height:1.5}
.copy-box{display:flex;gap:5px;background:white;border:1px solid var(--line);border-radius:9px;padding:5px}
.copy-box input{flex:1;min-width:0;border:0;background:none;padding:8px;color:var(--ink);font-size:11px}
.copy-box button{border:0;border-radius:6px;background:var(--accent);color:white;padding:6px 11px;font-size:11px;font-weight:750}
.reviews-panel{margin-top:18px}
.review{border-top:1px solid var(--line);padding:15px 0}
.review:first-of-type{margin-top:15px}
.review strong{color:var(--accent);letter-spacing:2px}
.review p{margin:5px 0;color:var(--ink)}
.review small{color:var(--muted)}
.appt-list{display:grid}
.appt{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);padding:16px 0}
.appt:first-child{border-top:0;padding-top:0}
.date-square{width:98px;min-width:98px;background:#f4f1fb;border-radius:10px;padding:10px;font-size:11px;text-align:center;line-height:1.4;color:var(--accent-dark)}
.date-square b{font-weight:750}
.appt-content{flex:1;display:grid;gap:3px}
.appt-content>span{color:var(--muted);font-size:12px}
.status{width:max-content;padding:3px 7px;border-radius:5px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:750}
.status.confirmed{background:#e7f4e4;color:#326849}
.status.cancelled{background:#fbe6eb;color:#a84861}
.status.completed{background:#efebfc;color:var(--accent-dark)}
.appt-actions{display:flex;gap:7px}
.small-btn{padding:8px 11px;font-size:11px;background:var(--accent);color:white}
.small-btn.outline{background:white;color:var(--accent-dark);border-color:#cfc5ef}
.empty{padding:47px 15px;text-align:center;color:#a99ac5;font-size:37px}
.empty p{font-size:13px}

/* Cards and forms */
.service-grid,.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.cards>.empty{grid-column:1/-1;background:var(--paper);border:1px dashed #cec4eb;border-radius:15px;color:var(--muted);font-size:15px;min-height:160px;display:grid;place-items:center;padding:30px}
.service-empty{text-align:center;padding:52px 24px;margin-bottom:18px;background:linear-gradient(145deg,#fff,#f5f1ff)}
.service-empty .empty-mark{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 14px;border-radius:18px;background:var(--accent-soft);color:var(--accent);font-size:30px}
.service-empty h2{margin:0 0 5px;font-size:22px}
.service-empty p{margin:0 auto 19px;max-width:380px}
.service-card,.pro-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:23px;min-height:210px;box-shadow:0 5px 19px #352b670d}
.service-card h2{font-size:26px;min-height:60px;margin:18px 0}
.service-detail{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-bottom:22px}
.pro-card{display:flex;gap:14px;min-height:176px}
.avatar{width:54px;height:54px;min-width:54px;border-radius:15px;background:linear-gradient(135deg,#6b52c9,#b7a7f3);color:#fff;display:grid;place-items:center;font-size:25px;font-weight:800}
.pro-card-body{flex:1;min-width:0}
.pro-card h3{font-size:20px;margin:9px 0 6px}
.pro-card p{font-size:12px;min-height:31px}
.card-foot{display:flex;align-items:center;justify-content:space-between;gap:6px}
.rating{font-size:12px;color:var(--accent)}
.rating small{color:var(--muted)}
.form-panel{margin-bottom:19px}
.form-grid{display:grid;gap:15px}
.cols2{grid-template-columns:repeat(2,1fr)}
.field{display:grid;gap:6px;color:var(--ink);font-size:12px;font-weight:750}
.field input,.field select,.field textarea,.searchbar input,.searchbar select{background:white;border:1px solid #dcd7e9;border-radius:9px;padding:10px 12px;min-height:43px;color:var(--ink);width:100%;outline:none}
.field textarea{resize:vertical;min-height:96px}
.field input:focus,.field select:focus,.field textarea:focus,.searchbar input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e9e1ff}
.wide-field{grid-column:1/-1}
.check-row{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700}
.check-row input,.toggle-row input{accent-color:var(--accent);width:17px;height:17px}
.hint{font-size:12px;line-height:1.6;margin:15px 0}
.form-panel>.primary{margin-top:21px}
.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:15px;background:var(--accent-soft);border-radius:11px;padding:16px 18px;margin:24px 0}
.toggle-row span{display:grid;gap:3px}
.toggle-row small{color:var(--muted)}
.toggle-row input{width:22px;height:22px}
.subhead{font-size:19px;margin:28px 0 14px}
.hours-grid{display:grid;gap:6px}
.hour-row{display:grid;grid-template-columns:1fr 120px 15px 120px;gap:10px;align-items:center;background:#f8f7fc;padding:8px 12px;border-radius:8px}
.hour-row label{font-size:12px;font-weight:750}
.hour-row input[type=time]{border:1px solid var(--line);padding:6px;border-radius:6px;width:100%;background:white}
.searchbar{display:flex;gap:9px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:9px;margin-bottom:23px}
.searchbar input{flex:1}
.searchbar select{max-width:220px}
.pref-panel{background:linear-gradient(135deg,#eee9fc,#fff)}

/* Booking profile */
.profile-hero{background:linear-gradient(120deg,#33275a,#6650ba);color:white;border-radius:20px;padding:34px 40px;margin-top:15px;min-height:280px;position:relative;overflow:hidden}
.profile-hero:after{content:"✦";position:absolute;right:5%;top:-120px;font:380px/1 "Segoe UI",sans-serif;color:#ffffff16}
.profile-hero .link{display:block;color:#e9ddff;margin-bottom:16px;text-align:start}
.profile-hero .overline{color:#d9c9ff}
.profile-hero h1{font-size:clamp(43px,5vw,70px);margin:14px 0}
.profile-hero p{color:#e5def8;max-width:620px}
.profile-hero .rating,.profile-hero .rating small{color:#f4e9b8}
.profile-facts{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin:25px 0}
.profile-facts>span{font-size:12px}
.profile-columns{margin:19px 0}
.service-choice{display:flex;width:100%;justify-content:space-between;align-items:center;gap:10px;padding:16px 8px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:start;color:var(--ink)}
.service-choice:hover,.service-choice.selected{background:var(--accent-soft);border-radius:8px;padding-inline:11px}
.service-choice span{display:grid;gap:2px}
.service-choice small{color:var(--muted)}
.slot-days{max-height:360px;overflow:auto;display:grid;gap:18px;padding-inline-end:5px}
.slot-day h3{font-size:14px;margin:0 0 9px;color:var(--ink)}
.slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.slot{background:#f6f3ff;border:1px solid #dad0f7;border-radius:8px;padding:10px;color:var(--accent-dark);font-size:12px;font-weight:750}
.slot:hover{background:var(--accent);color:white}

/* Onboarding */
.auth-wrap{display:grid;grid-template-columns:.9fr 1.1fr;max-width:1200px;min-height:650px;margin:30px auto 74px;background:var(--paper);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.auth-art{background:radial-gradient(circle at 95% 95%,#957ee8 0,#6c52c9 32%,#35275e 78%);color:white;padding:52px;position:relative;overflow:hidden}
.auth-art:after{content:"";position:absolute;width:440px;height:440px;border:1px solid #ffffff4d;border-radius:50%;bottom:-250px;right:-190px}
.auth-art h1{font-size:clamp(45px,4.5vw,68px);margin:55px 0 18px}
.auth-art p{color:#e9e2ff;max-width:385px}
.auth-art .overline{color:var(--lime)}
.auth-glyph{position:absolute;bottom:-85px;right:-30px;color:#ffffff18;font:330px/1 "Segoe UI",sans-serif}
.auth-panel{padding:42px 51px;display:flex;align-items:center}
.auth-panel form{width:100%}
.auth-panel h2{font-size:26px;margin-bottom:23px}
.auth-panel .form-grid{grid-template-columns:repeat(2,1fr)}
.auth-panel .form-grid .field:nth-child(3),.auth-panel .form-grid .field:nth-child(4){grid-column:1/-1}
.auth-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:17px;justify-content:center}
.auth-links button{font-size:11px}
.invite-banner{background:var(--accent-soft);padding:15px;border-radius:10px;display:grid;gap:2px;margin-bottom:20px}
.invite-banner>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.invite-banner small{color:var(--muted)}
.modal-back{position:fixed;inset:0;background:#181026a8;display:grid;place-items:center;z-index:10;padding:20px}
.modal{width:min(440px,100%);background:var(--paper);padding:29px;border-radius:16px;display:grid;gap:17px}
.modal h2{margin:0}
.booking-modal{box-shadow:0 28px 80px #160f3166}
.booking-modal h2{font-size:29px}
.booking-summary{display:grid;gap:4px;padding:19px;background:var(--accent-soft);border-radius:12px}
.booking-summary strong{font-size:21px}
.booking-summary span,.booking-summary small{color:var(--muted)}
.booking-summary b{font-size:17px;color:var(--accent-dark);margin-top:8px}
.booking-actions{display:flex;gap:9px}
.booking-actions button{flex:1}
.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:10px 18px;border-radius:9px;z-index:20;max-width:90vw;box-shadow:var(--shadow)}

@media(max-width:960px){
  .hero{grid-template-columns:1fr;gap:36px;min-height:0;padding-top:30px}
  .hero-art{height:500px}
  .two-col{grid-template-columns:1fr}
  .service-grid,.cards{grid-template-columns:repeat(2,1fr)}
  .searchbar{flex-wrap:wrap}
  .searchbar input{flex:1 0 100%}
  .searchbar select{flex:1;max-width:none}
  .auth-wrap{display:block;margin:18px 4% 50px;min-height:0}
  .auth-art{padding:30px 36px;min-height:220px}
  .auth-art h1{font-size:clamp(34px,5vw,48px);margin:18px 0 8px;max-width:560px}
  .auth-art p{max-width:550px}
  .auth-glyph{font-size:200px;bottom:-55px}
  .auth-panel{padding:36px}
}
@media(max-width:640px){
  body{font-size:14px}
  .top{height:70px;padding:0 5%}
  .brand{font-size:19px}
  .brandmark{width:35px;height:35px}
  .brand small,.user-pill{display:none}
  .header-actions{gap:9px}
  .lang select{font-size:11px;padding:6px 7px}
  .hero{padding:24px 5% 50px;gap:34px}
  .hero h1{font-size:clamp(42px,10vw,58px);margin:19px 0}
  .hero-copy>p{font-size:15px}
  .hero-buttons{gap:8px}
  .hero-buttons .primary,.hero-buttons .secondary{padding:11px 12px;font-size:12px;min-height:46px}
  .hero-meta{margin-top:30px}
  .hero-meta span{font-size:10px;padding:6px 8px}
  .hero-art{height:430px;border-radius:22px}
  .preview-shell{width:81%;padding:14px;border-radius:19px}
  .preview-pro{padding:9px}
  .preview-avatar{width:47px;height:47px;min-width:47px}
  .floating-note{left:3%;bottom:16px;padding:9px 11px}
  .value-grid{grid-template-columns:1fr;padding:0 5% 55px}
  .value-grid>div{padding:20px}
  .container{padding:17px 5% 80px}
  .dashboard-head,.section-head{align-items:start;flex-direction:column}
  .dashboard-head h1,.section-head h1{font-size:35px}
  .metrics{gap:7px}
  .metrics>div{padding:16px 11px}
  .metrics b{font-size:30px}
  .metrics span{font-size:10px}
  .panel{padding:18px}
  .service-grid,.cards{grid-template-columns:1fr}
  .service-card{min-height:0}
  .service-card h2{min-height:0}
  .auth-wrap{display:block;margin:8px 4% 45px}
  .auth-art{padding:26px;min-height:185px}
  .auth-art h1{font-size:37px;margin:17px 0 8px}
  .auth-art p{font-size:12px;margin:0}
  .auth-glyph{font-size:170px;bottom:-45px}
  .auth-panel{display:block;padding:24px}
  .auth-panel .form-grid,.cols2{grid-template-columns:1fr}
  .auth-panel .form-grid .field:nth-child(3),.auth-panel .form-grid .field:nth-child(4){grid-column:auto}
  .hour-row{grid-template-columns:1fr 88px 8px 88px;gap:4px;padding:8px}
  .hour-row input[type=time]{font-size:11px;padding:4px}
  .appt{align-items:start;flex-wrap:wrap}
  .appt-actions{width:100%;justify-content:end}
  .searchbar{flex-wrap:wrap}
  .searchbar input{min-width:100%}
  .searchbar select{flex:1;max-width:none}
  .profile-hero{padding:25px}
  .slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .booking-actions{flex-direction:column-reverse}
  .profile-hero h1{font-size:43px}
  .slot-list{grid-template-columns:repeat(2,1fr)}
  footer{padding:23px 5%;flex-direction:column}
}
@media(max-width:390px){
  .hero-buttons{display:grid}
  .hero-buttons .primary,.hero-buttons .secondary{width:100%}
  .preview-shell{width:86%}
  .preview-pro strong{font-size:12px}
  .hour-row{grid-template-columns:1fr 75px 7px 75px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}

.info-page{max-width:820px;margin-block:48px;min-height:60vh}.info-page .panel{padding:clamp(24px,5vw,48px)}.info-page h1{font-size:clamp(28px,5vw,44px);line-height:1.12}.info-page p{line-height:1.8}.key-panel input{font-family:monospace;min-width:0;font-size:14px}.key-panel .field{margin-block:24px}.privacy-note{font-size:13px;line-height:1.7;margin-block:18px}.privacy-note summary{cursor:pointer;font-weight:600}.install-steps{padding-inline-start:24px;line-height:1.8}.install-steps li{margin-block:18px}footer{flex-wrap:wrap;gap:16px}
/* Persian letterforms need comfortable leading, with no Latin tracking. */
html[lang=fa] :is(h1,h2,h3){line-height:1.5;letter-spacing:0}
html[lang=fa] :is(.hero h1,.auth-art h1){line-height:1.45;font-weight:800}
html[lang=fa] :is(.hero-copy>p,.auth-art p,.info-page p){line-height:1.95}
html[lang=fa] :is(.brand,.preview-monogram,.invite-banner>span){letter-spacing:0}
@media(max-width:600px){html[lang=fa] body{font-size:15px}html[lang=fa] :is(.field input,.field textarea,.field select){font-size:16px}html[lang=fa] .auth-art p{font-size:14px}}

.transfer-panel{margin-block:18px;padding:16px;border:1px solid var(--line);border-radius:12px;min-width:0;overflow-wrap:anywhere}.transfer-panel summary{cursor:pointer;font-weight:700}.transfer-panel p{margin-block:12px}.transfer-panel input{max-width:100%}.transfer-panel .check-row{margin-block:16px}.transfer-panel bdi{direction:ltr;unicode-bidi:isolate}
