:root{
  --v2-green:#236b5b;
  --v2-green-strong:#185246;
  --v2-green-soft:#eef7f3;
  --v2-ink:#17211e;
  --v2-muted:#6f7d78;
  --v2-line:#e6ece9;
  --v2-surface:#ffffff;
  --v2-bg:#f7f9f8;
  --v2-danger:#b9403a;
  --v2-radius:18px;
  --v2-shadow:0 10px 30px rgba(29,68,56,.07);
}

html,body{background:var(--v2-bg);color:var(--v2-ink)}
body{font-family:"Vazirmatn",system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,select,textarea{font-family:inherit}
.page{background:var(--v2-bg)}
.container{width:min(100% - 28px,1120px)}

/* Shared hierarchy */
.customer-main,.staff-main,.staff-screen-body{padding-bottom:104px}
.customer-head,.staff-top,.staff-screen-head{background:rgba(247,249,248,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.customer-head h1,.staff-screen-head h1{font-weight:800;letter-spacing:-.02em}
.customer-section-title h2,.staff-title-row h2,.staff-section h2{font-size:17px;letter-spacing:-.02em}
.customer-section-title p,.staff-section small{color:var(--v2-muted)}

/* Customer navigation: one clear four-destination bar */
.bottom-nav{
  left:50%;right:auto;transform:translateX(-50%);
  width:min(calc(100% - 24px),520px);
  bottom:max(10px,env(safe-area-inset-bottom));
  border:1px solid var(--v2-line);
  border-radius:22px;
  padding:7px;
  background:rgba(255,255,255,.96);
  box-shadow:0 14px 42px rgba(28,57,48,.13);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.bottom-nav .nav-item{min-height:58px;border-radius:16px;color:#7a8782;gap:4px}
.bottom-nav .nav-item .icon{width:22px;height:22px}
.bottom-nav .nav-item span{font-size:11px;font-weight:600}
.bottom-nav .nav-item.active{background:var(--v2-green-soft);color:var(--v2-green-strong)}
.bottom-nav .nav-item.active:before{display:none}

/* Customer home */
.customer-search,.discover-search{
  border:1px solid var(--v2-line)!important;
  background:#fff!important;
  box-shadow:none!important;
  border-radius:17px!important;
  min-height:54px;
}
.offer-banner{
  border:0!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#236b5b,#2f806c)!important;
  box-shadow:var(--v2-shadow)!important;
}
.next-booking,.repeat-booking,.customer-next-card,.customer-detail-card,.customer-profile-card,
.wallet-balance,.review-compose,.booking-status{
  border:1px solid var(--v2-line)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.repeat-booking{background:var(--v2-green-soft)!important;border-color:transparent!important}
.popular-services button,.suggested-barbers button,.recent-salon,.discover-result,
.past-booking,.customer-capabilities button,.customer-menu-list button{
  border-color:var(--v2-line)!important;
  box-shadow:none!important;
}
.popular-services button{border-radius:17px!important;background:#fff!important}
.nearby-scroll article{background:#fff;border:1px solid var(--v2-line);border-radius:18px;padding:8px}
.salon-placeholder{border-radius:14px!important;background:var(--v2-green-soft)!important}

/* Account: keep capabilities, reduce cognitive load */
.account-quick{gap:9px!important}
.account-quick button{border:1px solid var(--v2-line)!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important}
.customer-menu-list{border:1px solid var(--v2-line);background:#fff;border-radius:20px;overflow:hidden;padding:0!important}
.customer-menu-list button{border:0!important;border-bottom:1px solid var(--v2-line)!important;border-radius:0!important;min-height:58px;background:#fff!important}
.customer-menu-list button:last-child{border-bottom:0!important}
.customer-menu-list .danger{color:var(--v2-danger)!important}
.v2-account-caption{font-size:12px;color:var(--v2-muted);margin:22px 4px 9px;font-weight:700}

/* Booking flow */
.progress-steps,.booking-progress{background:transparent!important}
.choice,.summary,.coupon,.ticket{border:1px solid var(--v2-line)!important;border-radius:20px!important;box-shadow:none!important}
.choice.selected{border-color:var(--v2-green)!important;background:var(--v2-green-soft)!important}
.booking-footer{background:rgba(255,255,255,.96)!important;border-top:1px solid var(--v2-line)!important;backdrop-filter:blur(14px)}
.primary{border-radius:14px!important;box-shadow:none!important}

/* Staff: four primary destinations + floating create */
.staff-bottom-nav{
  left:50%!important;right:auto!important;transform:translateX(-50%);
  width:min(calc(100% - 24px),560px)!important;
  bottom:max(10px,env(safe-area-inset-bottom))!important;
  border:1px solid var(--v2-line)!important;
  border-radius:22px!important;
  padding:7px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 14px 42px rgba(28,57,48,.13)!important;
  grid-template-columns:repeat(4,1fr)!important;
}
.staff-bottom-nav>button{min-height:58px;border-radius:16px!important;color:#798680!important;background:transparent!important}
.staff-bottom-nav>button.active{background:var(--v2-green-soft)!important;color:var(--v2-green-strong)!important}
.staff-bottom-nav .new-booking{display:none!important}
.v2-staff-fab{
  position:fixed;z-index:80;
  left:max(18px,calc((100vw - 560px)/2 + 18px));
  bottom:88px;
  width:54px;height:54px;border:0;border-radius:18px;
  display:grid;place-items:center;
  background:var(--v2-green);color:#fff;
  font-size:28px;line-height:1;
  box-shadow:0 12px 28px rgba(35,107,91,.28);
}
.v2-staff-fab small{position:absolute;white-space:nowrap;left:62px;background:#173c34;color:#fff;padding:7px 10px;border-radius:10px;font-size:11px;opacity:0;pointer-events:none;transition:.15s}
.v2-staff-fab:hover small,.v2-staff-fab:focus-visible small{opacity:1}
.staff-welcome,.next-client,.staff-section,.staff-appointment,.profile-green,.income-hero,.appointment-customer{
  border:1px solid var(--v2-line)!important;
  border-radius:20px!important;
  box-shadow:none!important;
}
.staff-welcome.operational{background:#fff!important}
.staff-shortcuts.ref{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.staff-shortcuts.ref button{border:1px solid var(--v2-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:none!important}
.staff-mini-stats{border-top:1px solid var(--v2-line)!important}
.staff-new-shortcut{display:none!important}
.profile-links.extended{border:1px solid var(--v2-line);border-radius:20px;overflow:hidden;background:#fff}
.profile-links.extended button{border-radius:0!important;border-bottom:1px solid var(--v2-line)!important}

/* Owner dashboard: calm desktop rail */
.dashboard{background:var(--v2-bg)!important}
.dashboard .sidebar{width:230px!important;background:#fff!important;border-left:1px solid var(--v2-line)!important;box-shadow:none!important;padding:18px 12px!important}
.dashboard .sidebar .brand{margin-bottom:22px!important}
.dashboard .side-item{border-radius:13px!important;margin:3px 0!important;padding:11px 12px!important;color:#60716a!important}
.dashboard .side-item.active{background:var(--v2-green-soft)!important;color:var(--v2-green-strong)!important;font-weight:800}
.dashboard .dash-main{padding:28px!important}
.dashboard .stat,.dashboard .panel,.invite-panel{border:1px solid var(--v2-line)!important;border-radius:20px!important;box-shadow:none!important;background:#fff!important}
.v2-owner-group{font-size:11px;color:#91a09a;padding:14px 12px 5px;font-weight:700}

/* Super admin */
.super-admin{background:var(--v2-bg)!important}
.admin-sidebar{background:#fff!important;border-left:1px solid var(--v2-line)!important;box-shadow:none!important}
.admin-sidebar nav button{border-radius:13px!important;margin:3px 8px!important}
.admin-sidebar nav button.active{background:var(--v2-green-soft)!important;color:var(--v2-green-strong)!important}
.admin-panel,.admin-stat-grid>div,.data-row,.salon-admin-row,.booking-admin-row{border-color:var(--v2-line)!important;box-shadow:none!important}
.admin-mobile-tabs{scrollbar-width:none}
.admin-mobile-tabs::-webkit-scrollbar{display:none}

/* Accessibility / motion */
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(35,107,91,.22)!important;outline-offset:2px}
button{touch-action:manipulation}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

@media(max-width:760px){
  .container{width:min(100% - 22px,1120px)}
  .customer-head,.staff-top,.staff-screen-head{padding-inline:11px!important}
  .offer-banner{min-height:164px!important}
  .staff-mini-stats{grid-template-columns:repeat(3,1fr)!important}
  .dashboard .sidebar{display:none!important}
  .dashboard .dash-main{padding:18px 12px 96px!important}
  .dashboard .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dashboard .dash-grid{grid-template-columns:1fr!important}
  .admin-main{padding-bottom:82px!important}
}
