/* ShahaR.Uz — design layer. SiteBill core and SEO remain untouched. */

@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-Medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-SemiBold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

html,
body {
  font-family: "Inter", Arial, sans-serif;
}

/* Agents catalog heading */
.agents-page-heading { margin: 0 0 22px; }
.agents-page-heading h1 {
  margin: 0 0 8px;
  color: #172b4d;
  font-size: clamp(25px, 3vw, 34px);
  font-weight: 700;
  line-height: 1.25;
}
.agents-page-subtitle { color: #64748b; font-size: 14px; line-height: 1.6; }

/* Search and sorting */
.agents-search-row { width: 100%; margin: 20px 0 14px; }
.agents-search-row .agents-search__form {
  display: flex;
  align-items: stretch;
  width: 100%;
  max-width: none;
  min-width: 0;
  min-height: 52px;
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid #d8dee8;
  border-radius: 12px;
  background: #fff;
}
.agents-search__field {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  min-width: 0;
}
.agents-search__icon {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin-left: 15px;
  color: #64748b;
  pointer-events: none;
}
.agents-search__field input {
  display: block;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 50px;
  padding: 0 38px 0 11px;
  box-sizing: border-box;
  border: 0;
  outline: 0;
  background: transparent;
  color: #172b4d;
  font: inherit;
  font-size: 15px;
}
.agents-search__field input:focus { box-shadow: inset 0 0 0 2px #dce9e2; }
.agents-search__clear {
  display: none;
  position: absolute;
  top: 50%;
  right: 7px;
  transform: translateY(-50%);
  padding: 4px;
  border: 0;
  background: transparent;
  color: #64748b;
  font-size: 23px;
  line-height: 1;
  cursor: pointer;
}
.agents-search__form > button[type="submit"] {
  flex: 0 0 auto;
  margin: 4px;
  padding: 0 22px;
  border: 0;
  border-radius: 9px;
  background: #16804a;
  color: #fff;
  font-family: inherit;
  font-weight: 600;
  cursor: pointer;
}
.agents-search__form > button[type="submit"]:hover { background: #116b3d; }
.agents-results-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  margin: 0 0 20px;
}
.agents-results-row .agents-toolbar__count {
  flex: 1 1 auto;
  min-width: 0;
  color: #334155;
  font-size: 14px;
  font-weight: 600;
}
.agents-results-row .agents-sort { flex: 0 1 260px; min-width: 180px; }
.agents-results-row .agents-sort select {
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid #d8dee8;
  border-radius: 10px;
  background: #fff;
  color: #334155;
  font-family: inherit;
  font-size: 14px;
  box-sizing: border-box;
}

/* Agent catalog cards: horizontal on desktop, stacked on narrow mobile */
.agents-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  margin: 20px 0 30px;
}
.agents-grid .agents-grid__card {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 100%;
  min-width: 0;
  min-height: 220px;
  height: auto;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid #e5eaf0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(15, 23, 42, .035);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.agents-grid .agents-grid__card:hover {
  border-color: #cbd5e1;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
  transform: translateY(-1px);
}
.agents-grid .agents-grid__card > a:first-child {
  display: block;
  flex: 0 0 210px;
  width: 210px;
  min-width: 0;
  align-self: stretch;
  overflow: hidden;
  background: #f1f5f9;
}
.agents-grid .agents-grid__photo {
  width: 100%;
  height: 100%;
  min-height: 220px;
  aspect-ratio: auto;
  overflow: hidden;
  background: #f1f5f9;
}
.agents-grid .agents-grid__photo img,
.agents-grid .agents-grid__photo .no-foto-user {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
}
.agents-grid .agents-grid__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  min-width: 0;
  padding: 20px 24px;
  box-sizing: border-box;
  text-align: left;
}
.agents-grid .agents-grid__name {
  margin: 0 0 7px;
  color: #172b4d;
  font-size: clamp(18px, 2vw, 23px);
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
  word-break: normal;
}
.agents-grid .agents-grid__name a { color: inherit; text-decoration: none; }
.agents-grid .agents-grid__name a:hover { color: #16804a; }
.agents-grid .agents-grid__type {
  margin: 0 0 7px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.5;
}
.agents-grid .agents-grid__company {
  margin: 0 0 8px;
  color: #334155;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.agents-grid .agents-grid__rating {
  min-height: 0;
  margin: 0 0 9px;
  color: #d99a00;
  font-size: 15px;
  font-weight: 600;
}
.agents-grid .agents-grid__count {
  margin: 0 0 12px;
  color: #64748b;
  font-size: 14px;
  line-height: 1.5;
}
.agents-grid .agents-grid__phone {
  width: 100%;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid #edf0f4;
  font-size: 14px;
}
.agents-grid .agents-grid__phone a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: auto;
  max-width: 100%;
  min-height: 42px;
  padding: 0 20px;
  box-sizing: border-box;
  border: 0;
  border-radius: 9px;
  background: #16804a;
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  overflow-wrap: normal;
  transition: background .2s ease;
}
.agents-grid .agents-grid__phone a:hover,
.agents-grid .agents-grid__phone a:focus { background: #116b3d; color: #fff; }
.agents-grid .agents-grid__phone a:focus-visible { outline: 2px solid #172b4d; outline-offset: 3px; }

/* Existing online indicator markup */
.agents-grid .agents-grid__body > div[style*="display:flex"] { line-height: 1.4; }

/* Infinite-scroll cards and fallback button */
.agents-grid .agents-grid__card[hidden] { display: none !important; }
.agents-load-more-wrap { display: flex; justify-content: center; margin: 8px 0 32px; }
#agents-load-more {
  min-width: 190px;
  min-height: 46px;
  padding: 0 24px;
  border: 1px solid #d8dee8;
  border-radius: 10px;
  background: #fff;
  color: #172b4d;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
#agents-load-more:hover { border-color: #cbd5e1; background: #f8fafc; }
#agents-load-more:disabled { opacity: .65; cursor: wait; }
.agents-pager-fallback { display: none !important; }

@media (max-width: 767px) {
  .agents-grid { gap: 12px; }
  .agents-grid .agents-grid__card { min-height: 190px; border-radius: 13px; }
  .agents-grid .agents-grid__card > a:first-child {
    flex: 0 0 155px;
    width: 155px;
  }
  .agents-grid .agents-grid__photo,
  .agents-grid .agents-grid__photo img,
  .agents-grid .agents-grid__photo .no-foto-user { min-height: 190px; }
  .agents-grid .agents-grid__body { padding: 15px 16px; }
  .agents-grid .agents-grid__name { font-size: 18px; }
}

@media (max-width: 520px) {
  .agents-search-row .agents-search__form { min-height: 48px; }
  .agents-search__form > button[type="submit"] { margin: 3px; padding: 0 13px; }
  .agents-results-row { align-items: flex-start; flex-direction: column; gap: 10px; }
  .agents-results-row .agents-sort { flex: 1 1 auto; width: 100%; min-width: 0; }
  .agents-grid .agents-grid__card { flex-direction: column; min-height: 0; }
  .agents-grid .agents-grid__card > a:first-child {
    flex: 0 0 auto;
    width: 100%;
    height: auto;
  }
  .agents-grid .agents-grid__photo {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
  .agents-grid .agents-grid__photo img,
  .agents-grid .agents-grid__photo .no-foto-user {
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
  .agents-grid .agents-grid__body { padding: 16px; }
  .agents-grid .agents-grid__name { font-size: 19px; }
  .agents-grid .agents-grid__phone a { width: 100%; }
}



/* ShahaR auth UI — first stage; scoped to auth modals only */

#prettyLogin .modal-dialog,

#prettyRegisterOk .modal-dialog {

  width: calc(100% - 28px);

  max-width: 470px;

  margin: 28px auto;

}



#prettyLogin .modal-content,

#prettyRegisterOk .modal-content {

  overflow: hidden;

  border: 1px solid #e5eaf0;

  border-radius: 18px;

  background: #fff;

  box-shadow: 0 22px 65px rgba(15, 23, 42, .18);

}



#prettyLogin .modal-header,

#prettyRegisterOk .modal-header {

  min-height: 20px;

  padding: 14px 18px 0;

  border: 0;

}



#prettyLogin .modal-header .close,

#prettyRegisterOk .modal-header .close {

  color: #64748b !important;

  font-size: 26px;

  font-weight: 400;

  opacity: .8;

  text-shadow: none;

}



#prettyLogin .modal-body,

#prettyRegisterOk .modal-body {

  padding: 12px 28px 28px;

  color: #172b4d;

  font-family: "Inter", Arial, sans-serif;

}



#prettyLogin .nav-tabs {

  display: flex;

  gap: 8px;

  margin: 0 0 24px;

  padding: 0 0 8px;

  border-bottom: 1px solid #e8edf2;

}



#prettyLogin .nav-tabs > li {

  float: none;

  flex: 1 1 0;

  margin: 0;

  text-align: center;

}



#prettyLogin .nav-tabs > li > a {

  margin: 0;

  padding: 12px 8px;

  border: 1px solid transparent;

  border-radius: 10px;

  color: #64748b;

  font-size: 14px;

  font-weight: 600;

  line-height: 1.4;

}



#prettyLogin .nav-tabs > li.active > a,

#prettyLogin .nav-tabs > li.active > a:hover,

#prettyLogin .nav-tabs > li.active > a:focus {

  border-color: #d8eee3;

  background: #edf8f1;

  color: #16804a;

}



#prettyLogin .tab-content {

  min-width: 0;

}



#prettyLogin .control-group.el {

  margin: 0 0 17px;

}



#prettyLogin .control-group.el .control-label {

  display: block;

  float: none;

  width: auto;

  margin: 0 0 7px;

  padding: 0;

  color: #334155;

  font-size: 13px;

  font-weight: 600;

  text-align: left;

}



#prettyLogin .control-group.el .controls {

  margin: 0;

}



#prettyLogin .control-group.el input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),

#prettyLogin .control-group.el select,

#prettyLogin .control-group.el textarea {

  display: block;

  width: 100%;

  min-width: 0;

  min-height: 46px;

  box-sizing: border-box;

  padding: 11px 13px;

  border: 1px solid #d8e0e8;

  border-radius: 10px;

  background: #fff;

  color: #172b4d;

  font-family: "Inter", Arial, sans-serif;

  font-size: 14px;

  box-shadow: none;

  transition: border-color .18s ease, box-shadow .18s ease;

}



#prettyLogin .control-group.el input:focus,

#prettyLogin .control-group.el select:focus,

#prettyLogin .control-group.el textarea:focus {

  border-color: #28a367;

  outline: 0;

  box-shadow: 0 0 0 3px rgba(40, 163, 103, .13);

}



#prettyLogin #login_button,

#prettyLogin #register_button,

#prettyRegisterOk .let_me_login {

  display: block;

  width: 100%;

  min-height: 48px;

  margin: 18px 0 0;

  padding: 12px 18px;

  border: 1px solid #16804a;

  border-radius: 10px;

  background: #16804a;

  color: #fff;

  font-family: "Inter", Arial, sans-serif;

  font-size: 15px;

  font-weight: 600;

  line-height: 1.4;

  text-align: center;

  text-shadow: none;

  box-shadow: none;

  transition: background .18s ease, border-color .18s ease;

}



#prettyLogin #login_button:hover,

#prettyLogin #register_button:hover,

#prettyRegisterOk .let_me_login:hover {

  border-color: #11683b;

  background: #11683b;

  color: #fff;

}



#prettyLogin .error,

#prettyLogin .error_mark {

  color: #b42318;

}



#prettyLogin .error {

  margin: 0 0 14px;

  padding: 10px 12px;

  border: 1px solid #f5c6c2;

  border-radius: 9px;

  background: #fff4f2;

  font-size: 13px;

  line-height: 1.5;

}



#prettyLogin .error p {

  margin: 0 0 5px;

}



#prettyLogin .error p:last-child {

  margin-bottom: 0;

}



#prettyLogin .required {

  color: #16804a !important;

}



#prettyLogin .modal-body a:focus-visible,

#prettyLogin .modal-body input:focus-visible,

#prettyRegisterOk .modal-body button:focus-visible {

  outline: 2px solid #16804a;

  outline-offset: 2px;

}



#prettyRegisterOk .modal-footer {

  padding: 0 28px 24px;

  border-top: 0;

}



@media (max-width: 520px) {

  #prettyLogin .modal-dialog,

  #prettyRegisterOk .modal-dialog {

    width: calc(100% - 20px);

    margin: 10px auto;

  }



  #prettyLogin .modal-body,

  #prettyRegisterOk .modal-body {

    padding: 8px 18px 22px;

  }



  #prettyLogin .nav-tabs > li > a {

    padding: 10px 5px;

    font-size: 13px;

  }

}



/* === Shahar Booking v1: scoped component; Inter faces are declared above === */
.shahar-booking { --sb-ink:#172b4d; --sb-muted:#64748b; --sb-line:#e5eaf0; --sb-green:#16804a; font:400 14px/1.6 "Inter",Arial,sans-serif; color:var(--sb-ink); margin:28px 0; padding:28px; border:1px solid var(--sb-line); border-radius:24px; background:#fff; box-shadow:0 12px 40px rgba(23,43,77,.05); }
.shahar-booking *, .shahar-booking *::before, .shahar-booking *::after { box-sizing:border-box; }
.shahar-booking .sb-header { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:26px; }
.shahar-booking .sb-eyebrow { margin:0 0 6px; color:var(--sb-green); font-size:11px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; }
.shahar-booking .reservation_title { margin:0 0 8px; font-size:26px; line-height:1.25; font-weight:700; color:var(--sb-ink); }
.shahar-booking .sb-subtitle { margin:0; color:var(--sb-muted); max-width:540px; }
.shahar-booking .sb-badge { flex-shrink:0; padding:7px 12px; border-radius:100px; background:#edf8f1; color:#11683b; font-size:12px; font-weight:500; }
.shahar-booking .sb-layout { display:grid; grid-template-columns:minmax(280px,.9fr) minmax(0,1.3fr); gap:28px; align-items:start; }
.shahar-booking .reservation-form, .shahar-booking .reservation-calender { float:none; width:auto; margin:0; padding:0; background:none; border:0; min-width:0; }
.shahar-booking .reservation-form { padding:22px; border:1px solid var(--sb-line); border-radius:18px; background:#f8faf9; }
.shahar-booking .sb-price { display:flex; align-items:baseline; gap:7px; flex-wrap:wrap; margin-bottom:4px; }
.shahar-booking .sb-price strong { font-size:28px; font-weight:700; line-height:1.2; color:var(--sb-ink); }
.shahar-booking .sb-price small, .shahar-booking .sb-price-note { font-size:12px; color:var(--sb-muted); }
.shahar-booking .sb-price-note { margin:5px 0 18px; }
.shahar-booking .reservation-cost-total { margin:12px 0; padding:14px; border:1px solid #d8eee3; border-radius:12px; background:#edf8f1; color:#11683b; font-weight:600; }
.shahar-booking .reservation-cost-total span { font-weight:700; }
.shahar-booking .reservation-nights-row { font-size:12px; color:var(--sb-muted); margin-bottom:12px; }
.shahar-booking form { margin:0; }
.shahar-booking form table { width:100%; border:0; background:none; }
.shahar-booking form td, .shahar-booking form th { border:0; padding:5px 0; background:none; }
.shahar-booking form .control-group, .shahar-booking form .form-group { margin:0 0 14px; }
.shahar-booking form .controls { margin-left:0; }
.shahar-booking form label, .shahar-booking form .control-label { display:block; float:none; width:auto; margin:0 0 6px; padding:0; color:#334155; font:500 12px/1.5 "Inter",Arial,sans-serif; text-align:left; }
.shahar-booking input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]), .shahar-booking select, .shahar-booking textarea { width:100%; max-width:100%; min-width:0; height:46px; margin:0; padding:11px 12px; border:1px solid #d8e0e8; border-radius:10px; background:#fff; color:var(--sb-ink); box-shadow:none; font:400 14px/1.4 "Inter",Arial,sans-serif; }
.shahar-booking textarea { height:90px; resize:vertical; }
.shahar-booking .input-append, .shahar-booking .input-prepend { display:flex; width:100%; }
.shahar-booking .input-append input, .shahar-booking .input-prepend input { flex:1; }
.shahar-booking .input-append .add-on, .shahar-booking .input-prepend .add-on { display:flex; align-items:center; justify-content:center; flex:0 0 42px; height:46px; padding:0; margin:0 0 0 -1px; border:1px solid #d8e0e8; border-radius:0 10px 10px 0; background:#fff; }
.shahar-booking .input-append input { border-radius:10px 0 0 10px !important; }
.shahar-booking .reservation_control, .shahar-booking input[type=submit] { display:block; width:100%; min-height:48px; padding:12px 16px; margin-top:14px; border:1px solid var(--sb-green); border-radius:12px; background:var(--sb-green); color:#fff; text-shadow:none; box-shadow:none; font:600 14px/1.5 "Inter",Arial,sans-serif; cursor:pointer; }
.shahar-booking .reservation_control:hover { background:#11683b; border-color:#11683b; }
.shahar-booking .reservation_control:disabled { opacity:.6; cursor:wait; }
.shahar-booking :is(input,select,textarea,button,a):focus-visible { outline:3px solid rgba(22,128,74,.3); outline-offset:3px; }
.shahar-booking .sb-footnote { margin:14px 0 0; color:var(--sb-muted); font-size:11px; line-height:1.7; text-align:center; }
.shahar-booking .reservation-form-msg:empty { display:none; }
.shahar-booking .reservation-form-msg { padding:12px; margin:12px 0; border:1px solid #f5c6c2; border-radius:10px; color:#b42318; background:#fff4f2; }
.shahar-booking .sb-calendar-heading { margin:0 0 6px; color:var(--sb-ink); font-size:17px; font-weight:600; }
.shahar-booking .sb-calendar-note { margin:0 0 18px; color:var(--sb-muted); font-size:12px; }
.shahar-booking .reservation-calender-holder { position:relative; padding:0; margin:0; }
.shahar-booking .sb-calendar-nav { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:10px; }
.shahar-booking .sb-calendar-nav span { color:var(--sb-muted); font-size:11px; }
.shahar-booking .reservation-calender-control { position:static; display:inline-flex; float:none; width:34px; height:34px; margin:0; padding:0; align-items:center; justify-content:center; border:1px solid var(--sb-line); border-radius:50%; background:#fff; color:var(--sb-ink); cursor:pointer; font:400 22px/1 Arial,sans-serif; }
.shahar-booking .reservation-calender-control:hover { background:#edf8f1; border-color:#b9dcc8; }
.shahar-booking #schedule { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; width:100%; padding:0; margin:0; background:none; }
.shahar-booking #schedule .month { display:block; float:none; width:auto; min-width:0; margin:0; padding:0; border:0; background:none; }
.shahar-booking .calendar_header { padding:5px 0 14px; margin:0; color:var(--sb-ink); background:none; font-size:13px; font-weight:600; text-align:center; }
.shahar-booking #schedule ul { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); list-style:none; width:100%; margin:0; padding:0; gap:3px; }
.shahar-booking #schedule li { display:flex; float:none; align-items:center; justify-content:center; width:auto; height:auto; min-height:30px; margin:0; padding:0; border:0; border-radius:7px; background:none; color:var(--sb-ink); font-size:11px; line-height:1; text-align:center; }
.shahar-booking #schedule .calendar_days_captions { margin-bottom:6px; }
.shahar-booking #schedule .calendar_days_captions li { color:var(--sb-muted); font-size:10px; }
.shahar-booking #schedule .calendar_days li:not(.disabled):not(.reserved) { background:#edf8f1; color:#11683b; }
.shahar-booking #schedule .calendar_days li.reserved { background:#f1f2f4; color:#929aa5; text-decoration:line-through; }
.shahar-booking #schedule .calendar_days li.disabled { color:#cbd1d8; background:none; }
.shahar-booking .status_legend { display:flex; flex-wrap:wrap; gap:18px; margin:20px 0 0; padding:0; }
.shahar-booking .status_arenda { display:inline-flex; align-items:center; gap:7px; float:none; margin:0; padding:0; border:0; background:none; color:var(--sb-muted); font-size:11px; }
.shahar-booking .status_arenda::before { content:""; display:block; width:9px; height:9px; border-radius:3px; background:#d8eee3; }
.shahar-booking .status_arenda.engaged::before { background:#cbd1d8; }
.shahar-booking .sb-help { margin-top:24px; padding-top:18px; border-top:1px solid var(--sb-line); color:var(--sb-muted); font-size:12px; }
.shahar-booking .sb-help strong { color:#334155; font-weight:500; }
.shahar-booking .sb-login { padding:20px; border:1px solid var(--sb-line); border-radius:14px; background:#f8faf9; }
.shahar-booking .sb-login a { color:var(--sb-green); text-decoration:underline; }
@media(max-width:1000px) { .shahar-booking .sb-layout { grid-template-columns:1fr; } .shahar-booking .reservation-form { order:2; } }
@media(max-width:540px) { .shahar-booking { margin:18px 0; padding:18px; border-radius:18px; } .shahar-booking .sb-header { display:block; margin-bottom:20px; } .shahar-booking .sb-badge { display:inline-block; margin-top:12px; } .shahar-booking .reservation_title { font-size:23px; } .shahar-booking .reservation-form { padding:16px; } .shahar-booking #schedule { grid-template-columns:1fr; gap:18px; } .shahar-booking #schedule li { min-height:36px; font-size:12px; } }

/* === Shahar Reservations: admin, owner and guest templates === */
.shahar-reservations {
  --sr-ink:#172b4d; --sr-muted:#64748b; --sr-line:#e5eaf0; --sr-green:#16804a;
  color:var(--sr-ink); font:400 14px/1.55 "Inter",Arial,sans-serif;
}
.shahar-reservations *, .shahar-reservations *::before, .shahar-reservations *::after { box-sizing:border-box; }
.shahar-reservations h1,.shahar-reservations h2,.shahar-reservations h3,.shahar-reservations h4,.shahar-reservations h5 { color:var(--sr-ink); font-family:"Inter",Arial,sans-serif; letter-spacing:-.02em; }
.shahar-reservations .widget-box,.shahar-reservations .widget-body,.shahar-reservations .widget-main { border-color:var(--sr-line); background:#fff; box-shadow:none; }
.shahar-reservations .widget-box { overflow:hidden; border:1px solid var(--sr-line); border-radius:16px; box-shadow:0 8px 28px rgba(23,43,77,.05); }
.shahar-reservations .widget-header { min-height:56px; padding:16px 20px; border-bottom:1px solid var(--sr-line); background:#fff; }
.shahar-reservations .widget-header h5 { margin:0; font-size:17px; font-weight:600; }
.shahar-reservations table.table { width:100%; border:1px solid var(--sr-line); border-collapse:separate; border-spacing:0; background:#fff; border-radius:12px; overflow:hidden; }
.shahar-reservations table.table th { padding:12px 14px; border-color:var(--sr-line); background:#f7f9fb; color:#475569; font-size:12px; font-weight:600; text-align:left; }
.shahar-reservations table.table td { padding:12px 14px; border-color:var(--sr-line); color:#334155; vertical-align:middle; }
.shahar-reservations table.table tbody tr:hover td { background:#f8fbf9; }
.shahar-reservations .btn { min-height:36px; padding:8px 12px; border:1px solid #d9e3dc; border-radius:9px; background:#fff; color:#334155; text-shadow:none; box-shadow:none; font:500 12px/1.4 "Inter",Arial,sans-serif; }
.shahar-reservations .btn:hover { border-color:#9cc8ad; background:#f3faf5; color:#11683b; }
.shahar-reservations .btn-primary,.shahar-reservations .btn-success { border-color:var(--sr-green); background:var(--sr-green); color:#fff; }
.shahar-reservations .btn-danger { border-color:#f0c9c5; background:#fff6f5; color:#b42318; }
.shahar-reservations .btn-info { border-color:#cbdcf0; background:#f2f7fd; color:#245b91; }
.shahar-reservations .label,.shahar-reservations .badge { display:inline-block; padding:4px 8px; border-radius:999px; font:500 11px/1.3 "Inter",Arial,sans-serif; }
.shahar-reservations .label-success,.shahar-reservations .badge-success { background:#eaf6ee; color:#11683b; }
.shahar-reservations .label-important,.shahar-reservations .badge-pink { background:#fff0ee; color:#b42318; }
.shahar-reservations input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),.shahar-reservations select,.shahar-reservations textarea { min-height:42px; max-width:100%; padding:9px 11px; border:1px solid #d8e0e8; border-radius:9px; background:#fff; color:var(--sr-ink); box-shadow:none; font:400 13px/1.4 "Inter",Arial,sans-serif; }
.shahar-reservations textarea { min-height:90px; }
.shahar-reservations label { color:#475569; font-weight:500; }
.shahar-reservations .modal-content { overflow:hidden; border:1px solid var(--sr-line); border-radius:16px; box-shadow:0 20px 60px rgba(23,43,77,.16); }
.shahar-reservations .modal-header { padding:16px 20px; border-bottom:1px solid var(--sr-line); background:#f8faf9; }
.shahar-reservations .modal-title { color:var(--sr-ink); font-size:17px; font-weight:600; }
.shahar-reservations .modal-body { padding:20px; }
.shahar-reservations .dateform,.shahar-reservations .rateform { padding:18px; border:1px solid var(--sr-line); border-radius:14px; background:#fbfcfc; }
.shahar-reservations .form-group { margin-bottom:16px; }
.shahar-reservations .activity_badge { display:inline-flex; width:30px; height:30px; align-items:center; justify-content:center; border:1px solid #f0c9c5; border-radius:50%; color:#b42318; }
.shahar-reservations .activity_badge.activity_badge_on { border-color:#b9dcc8; background:#edf8f1; color:#16804a; }
.shahar-reservations .cntrlcal { padding:18px; border:1px solid var(--sr-line); border-radius:16px; background:#fff; }
.shahar-reservations .cntrlcal-switcher-group { display:flex; justify-content:center; gap:8px; margin:12px 0 18px; }
.shahar-reservations .cntrlcal .week { display:flex; background:#f8faf9; }
.shahar-reservations .cntrlcal .day { flex:1 1 0; min-width:35px; height:76px; position:relative; border:1px solid #e8edf0; background:#fff; }
.shahar-reservations .cntrlcal .day.nowday { outline:2px solid #16804a; outline-offset:-2px; }
.shahar-reservations .cntrlcal .daynr { position:absolute; right:6px; top:5px; color:#64748b; font-size:11px; }
.shahar-reservations .cntrlcal .dayprice { line-height:76px; text-align:center; font-size:12px; font-weight:600; }
.shahar-reservations .cntrlcal .cntrlcal-title { text-align:center; font-size:18px; font-weight:600; }
.shahar-reservations .avdate.avdate_start { background:linear-gradient(90deg,#fff 50%,#ccebd7 50%); }
.shahar-reservations .avdate.avdate_end { background:linear-gradient(90deg,#ccebd7 50%,#fff 50%); }
.shahar-reservations .avdate.avdate_middle { background:#ccebd7; }
.shahar-reservations .timeline-control { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 16px; padding:12px 16px; border:1px solid var(--sr-line); border-radius:12px; background:#fff; font-weight:600; }
.shahar-reservations .timeline-control a { color:var(--sr-green); text-decoration:none; }
.shahar-reservations .timeline-wrap { overflow-x:auto; padding-bottom:10px; }
.shahar-reservations .timeline { float:none; display:flex; width:max-content; min-width:100%; overflow:hidden; border:1px solid var(--sr-line); border-radius:9px; }
.shahar-reservations .timeline .day,.shahar-reservations .rtitle { float:none; flex:0 0 28px; width:28px; height:28px; line-height:28px; border-color:var(--sr-line); font-size:11px; }
.shahar-reservations .rtitle { flex-basis:60px; width:60px; background:#f8faf9; }
.shahar-reservations .day.closed { background:#e5a9a1; color:#762f28; }
.shahar-reservations .day.semiclosed { background:#f8dfdc; }
.shahar-reservations .day.valid { box-shadow:inset 0 -2px #16804a; }
.shahar-reservations .day.nonvalid { box-shadow:inset 0 -2px #d98a36; }
.shahar-reservations .paging_bootstrap { margin:18px 0; }
.shahar-reservations .paging_bootstrap ul { display:flex; gap:4px; }
.shahar-reservations .paging_bootstrap a { border-radius:8px; color:#334155; }
.shahar-reservations .paging_bootstrap .active a { background:var(--sr-green); color:#fff; }
.shahar-reservations .shahar-payment-action { padding:12px 0; }
.shahar-reservations :is(input,select,textarea,button,a):focus-visible { outline:3px solid rgba(22,128,74,.28); outline-offset:2px; }
@media(max-width:700px) {
  .shahar-reservations table.table { display:block; overflow-x:auto; }
  .shahar-reservations .cntrlcal { overflow-x:auto; padding:12px; }
  .shahar-reservations .cntrlcal .week { min-width:560px; }
  .shahar-reservations .dateform,.shahar-reservations .rateform { padding:12px; }
}



/* ShahaR shared palette + welcome page — 2026-10-17 */
:root {
  --shahar-page-bg: #f5f7f8;
  --shahar-surface: #ffffff;
  --shahar-green-soft: #dce9e2;
  --shahar-green-soft-2: #e2ece6;
  --shahar-green-pale: #eef3f0;
  --shahar-green: #16804a;
  --shahar-green-hover: #116b3d;
  --shahar-navy: #172b4d;
  --shahar-muted: #647b99;
  --shahar-border: #e1e8ec;
  --shahar-line: #edf1f4;
}
body {
  background-color: var(--shahar-page-bg);
  color: var(--shahar-navy);
}

/* Welcome onboarding — palette and typography are centralized in this file. */
.shahar-welcome {
  max-width: 1120px;
  margin: 28px auto 48px;
  padding: 0 18px;
  color: var(--shahar-navy);
  font-family: "Inter", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.shahar-welcome,
.shahar-welcome * { box-sizing: border-box; }
.shahar-welcome__hero {
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--shahar-border);
  border-radius: 18px;
  background: var(--shahar-surface);
  box-shadow: 0 2px 8px rgba(23, 43, 77, .025);
}
.shahar-welcome__eyebrow {
  margin-bottom: 12px;
  color: var(--shahar-green);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .11em;
}
.shahar-welcome h1 {
  margin: 0 0 13px;
  color: var(--shahar-navy);
  font-size: clamp(27px, 3.5vw, 38px);
  font-weight: 700;
  line-height: 1.2;
}
.shahar-welcome__lead {
  max-width: 800px;
  margin: 0;
  color: var(--shahar-muted);
  font-size: 16px;
  line-height: 1.75;
}
.shahar-welcome__role {
  display: inline-block;
  margin-top: 18px;
  padding: 7px 12px;
  border: 1px solid #d4e3da;
  border-radius: 9px;
  background: var(--shahar-green-pale);
  color: var(--shahar-muted);
  font-size: 13px;
}
.shahar-welcome__role strong { color: var(--shahar-navy); }
.shahar-welcome__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.shahar-welcome__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 18px;
  border: 1px solid transparent;
  border-radius: 9px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none !important;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.shahar-welcome__button:hover { transform: translateY(-1px); }
.shahar-welcome__button--primary { background: var(--shahar-green); color: #fff !important; }
.shahar-welcome__button--primary:hover,
.shahar-welcome__button--primary:focus { background: var(--shahar-green-hover); color: #fff !important; }
.shahar-welcome__button--secondary { border-color: #d5e0e5; background: #fff; color: var(--shahar-navy) !important; }
.shahar-welcome__button--secondary:hover,
.shahar-welcome__button--secondary:focus { border-color: #b9d1c4; background: var(--shahar-green-pale); }
.shahar-welcome__button:focus-visible { outline: 2px solid var(--shahar-green); outline-offset: 3px; }
.shahar-welcome__section { margin-top: 28px; }
.shahar-welcome__section h2 {
  margin: 0 0 16px;
  color: var(--shahar-navy);
  font-size: 23px;
  font-weight: 700;
  line-height: 1.3;
}
.shahar-welcome__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.shahar-welcome__card {
  min-width: 0;
  padding: 22px;
  border: 1px solid var(--shahar-border);
  border-radius: 15px;
  background: var(--shahar-surface);
}
.shahar-welcome__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 26px;
  padding: 3px 7px;
  border-radius: 7px;
  background: var(--shahar-green-soft);
  color: var(--shahar-green);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
}
.shahar-welcome__card h3 { margin: 12px 0 8px; color: var(--shahar-navy); font-size: 18px; font-weight: 700; line-height: 1.35; }
.shahar-welcome__card p { margin: 0 0 16px; color: var(--shahar-muted); font-size: 14px; line-height: 1.7; }
.shahar-welcome__card a,
.shahar-welcome__footer a { color: var(--shahar-green); font-size: 14px; font-weight: 700; text-decoration: none; }
.shahar-welcome__card a:hover,
.shahar-welcome__footer a:hover { color: var(--shahar-green-hover); text-decoration: underline; }
.shahar-welcome__tips { padding: 23px 24px; border: 1px solid var(--shahar-border); border-radius: 15px; background: var(--shahar-green-pale); }
.shahar-welcome__tips p { margin: 0 0 12px; color: var(--shahar-muted); }
.shahar-welcome__tips p:last-child { margin-bottom: 0; }
.shahar-welcome__tips strong { color: var(--shahar-navy); }
.shahar-welcome__trust { padding-top: 14px; border-top: 1px solid #dce5e0; }
.shahar-welcome__footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 22px; padding: 17px 2px; color: var(--shahar-muted); font-size: 13px; }
@media (max-width: 800px) {
  .shahar-welcome__grid { grid-template-columns: 1fr; }
  .shahar-welcome__card { padding: 19px; }
  .shahar-welcome__section h2 { font-size: 21px; }
}
@media (max-width: 480px) {
  .shahar-welcome { margin-top: 16px; padding: 0 12px; font-size: 14px; }
  .shahar-welcome__hero { padding: 23px 18px; border-radius: 15px; }
  .shahar-welcome__lead { font-size: 15px; }
  .shahar-welcome__actions { flex-direction: column; }
  .shahar-welcome__button { width: 100%; }
  .shahar-welcome__tips { padding: 19px; }
}

/* SHAHAR BOOKING STAGE3 START — append to shahar-design.css */
.shb-pricing{font-family:Inter,Arial,sans-serif;background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:24px;margin:24px 0;color:#172b4d;max-width:100%;box-sizing:border-box}
.shb-pricing h2{font-size:24px;line-height:1.3;margin:0 0 12px;font-weight:700}.shb-pricing h3{font-size:18px;margin:24px 0 12px}
.shb-pricing p{line-height:1.65;color:#526176}.shb-form{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:12px 0}.shb-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;margin:0}
.shb-form input:not([type=hidden]):not([type=checkbox]){font:inherit;box-sizing:border-box;border:1px solid #b8c4d4;border-radius:10px;min-height:44px;padding:10px 12px;max-width:100%;width:220px;background:#fff;color:#172b4d}.shb-form input[type=checkbox]{min-height:20px;width:20px}
.shb-form button{font:inherit;font-weight:600;min-height:44px;padding:10px 18px;border:0;border-radius:10px;background:#176b53;color:white;cursor:pointer}.shb-form button:disabled{opacity:.55;cursor:wait}.shb-actions{display:flex;align-items:center;gap:8px}
.shb-help{position:relative;align-self:center}.shb-help summary{cursor:pointer;display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:50%;background:#edf4f2;color:#176b53;font-weight:700;list-style:none}.shb-help summary::-webkit-details-marker{display:none}.shb-help[open]{flex-basis:100%}.shb-help p{max-width:420px;margin:8px 0;padding:12px;background:#f3f7fa;border-radius:10px;font-size:14px}
.shb-pricing :focus-visible{outline:3px solid #3285ed;outline-offset:3px}.shb-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #edf1f6;flex-wrap:wrap}.shb-row .shb-form{margin:0}.shb-status{font-weight:600}.shb-breakdown{font-family:Inter,Arial,sans-serif;margin:16px 0}.shb-breakdown summary{cursor:pointer;padding:12px 0;font-weight:600}.shb-breakdown table{width:100%;border-collapse:collapse}.shb-breakdown td,.shb-breakdown th{padding:8px;text-align:left;border-bottom:1px solid #e2e8f0;font-size:13px}
@media(max-width:640px){.shb-pricing{padding:16px;border-radius:14px}.shb-form{align-items:stretch}.shb-form label{width:100%}.shb-form input:not([type=hidden]):not([type=checkbox]){width:100%}.shb-pricing h2{font-size:21px}}
/* SHAHAR BOOKING STAGE3 END */

/* SHAHAR BOOKING UI4 START */
.shahar-reservations{font-family:Inter,Arial,sans-serif;color:#203654;line-height:1.5;box-sizing:border-box}
.shahar-reservations .btn:not(.close){font-family:Inter,Arial,sans-serif!important;font-size:14px!important;font-weight:600!important;line-height:1.4!important;min-height:42px;box-sizing:border-box;padding:10px 16px!important;border-radius:10px!important;text-shadow:none!important;box-shadow:none!important;background-image:none!important;white-space:normal;vertical-align:middle}
.shahar-reservations .btn.btn-primary,.shahar-reservations .btn.btn-success{background:#176b53!important;border:1px solid #176b53!important;color:#fff!important}
.shahar-reservations .btn.btn-primary:hover,.shahar-reservations .btn.btn-success:hover{background:#115440!important;border-color:#115440!important}
.shahar-reservations .btn.btn-danger{background:#fff1f1!important;border:1px solid #ecc6c6!important;color:#a32b34!important}
.shahar-reservations .btn:not(.btn-primary):not(.btn-success):not(.btn-danger){background:#fff!important;border:1px solid #ceddd9!important;color:#203654!important}
.shahar-reservations :focus-visible{outline:3px solid #448be8!important;outline-offset:3px}
.shahar-reservations .rates,.shahar-reservations .dates{margin-top:24px;padding:20px;background:#fff;border:1px solid #e2e8f0;border-radius:18px}
.shb-rate-action{display:inline-flex;gap:6px;align-items:flex-start;margin:0 12px 12px 0;max-width:100%;vertical-align:top}.shb-rate-action .btn{flex:1}
.shb-inline-help{display:inline-block;vertical-align:middle;max-width:100%;margin:4px}.shb-inline-help summary{cursor:pointer;display:inline-grid;place-items:center;list-style:none;width:40px;height:40px;border-radius:50%;background:#edf4f2;color:#176b53;font-weight:700}.shb-inline-help summary::-webkit-details-marker{display:none}.shb-inline-help p{max-width:320px;padding:12px;background:#f3f7fa;border:1px solid #e2e8f0;border-radius:10px;white-space:normal;font-size:13px;line-height:1.6}
.shahar-reservations .modal-content{border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 18px 55px #20365426;background:#fff}.shahar-reservations .modal-header,.shahar-reservations .modal-body,.shahar-reservations .modal-footer{padding:20px}.shahar-reservations .modal-title{font-family:Inter,Arial,sans-serif;font-size:20px;font-weight:600;color:#203654}.shahar-reservations .modal-header{border-bottom:1px solid #edf1f6}
.shahar-reservations .form-group{margin-bottom:16px}.shahar-reservations label{font-family:Inter,Arial,sans-serif;font-size:13px;font-weight:500;line-height:1.5;color:#405570}
.shahar-reservations input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),.shahar-reservations select,.shahar-reservations textarea{font-family:Inter,Arial,sans-serif;box-sizing:border-box;border:1px solid #ccd8e5;border-radius:9px;min-height:42px;max-width:100%;padding:9px 11px;color:#203654;background:#fff;box-shadow:none}
.shahar-reservations input[type=checkbox]{accent-color:#176b53;width:18px;height:18px}.shahar-reservations .table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-top:18px}.shahar-reservations .table th{background:#f5f8fb;color:#526176;font-size:12px;font-weight:600}.shahar-reservations .table th,.shahar-reservations .table td{padding:12px;border:0;border-bottom:1px solid #edf1f6;vertical-align:middle}.shahar-reservations .table tbody tr:last-child td{border-bottom:0}
.shahar-reservations .label{display:inline-block;padding:5px 9px;border-radius:7px;text-shadow:none;white-space:normal}.shahar-reservations .label-success{background:#e7f4ee;color:#176b53}.shahar-reservations .label-important{background:#fff0ec;color:#a3462a}
.shahar-reservations .cntrlcal-switcher-group{display:flex;justify-content:center;gap:8px;margin:12px 0 18px}.shahar-reservations .cntrlcal{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:20px}.shahar-reservations .cntrlcal-title{font-size:20px;font-weight:600}.shahar-reservations .cntrlcal .week{display:flex}.shahar-reservations .cntrlcal .day{flex:1 1 0;min-width:0;box-sizing:border-box}.shahar-reservations .shb-calendar-message:empty{display:none}
.shahar-reservations .timeline-control{display:flex;gap:16px;align-items:center;justify-content:center;margin:20px 0}.shahar-reservations .timeline-control a{background:#edf4f2;border-radius:10px;padding:10px 18px;color:#176b53}.shahar-reservations .timeline-wrap{overflow-x:auto}
@media(max-width:640px){.shahar-reservations .rates,.shahar-reservations .dates,.shahar-reservations .cntrlcal{padding:12px}.shb-rate-action{display:flex;margin-right:0}.shahar-reservations .table{display:block;overflow-x:auto}.shahar-reservations .modal-body,.shahar-reservations .modal-header{padding:14px}.shahar-reservations .cntrlcal .day{height:64px}.shahar-reservations .cntrlcal .dayprice{line-height:64px;font-size:11px}}
/* SHAHAR BOOKING UI4 END */

/* SHAHAR BOOKING INBOX5 START */
.shb-inbox-card{border:1px solid #e2e8f0;background:#fff;border-radius:14px;padding:18px;margin:18px 0}.shb-inbox-card h3{margin:0 0 10px}.shb-inbox-card dl{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:8px 16px}.shb-inbox-card dt{color:#526176;font-weight:500}.shb-inbox-card dd{margin:0;overflow-wrap:anywhere}.shb-inbox-card a,.shb-pricing nav a{display:inline-block;color:#176b53;padding:10px;background:#edf4f2;border-radius:9px}.shb-inbox-card p{font-size:13px}@media(max-width:560px){.shb-inbox-card dl{grid-template-columns:1fr}.shb-inbox-card dd{margin-bottom:8px}}
/* SHAHAR BOOKING INBOX5 END */
.socialauth-brand--google {
    display: inline-block;
    width: 24px;
    height: 24px;
    max-width: 24px;
    max-height: 24px;
    flex: 0 0 24px;
    vertical-align: middle;
}

/* SHAHAR ACCOUNT UI v20261018 — оформление личного кабинета */
.profile_page {
  box-sizing: border-box;
  width: 100%;
  max-width: 1120px;
  margin: 24px auto 40px;
  padding: clamp(18px, 3vw, 30px);
  border: 1px solid var(--shahar-border, #e1e8ec);
  border-radius: 18px;
  background: var(--shahar-surface, #fff);
  box-shadow: 0 8px 28px rgba(23, 43, 77, .05);
  color: var(--shahar-navy, #172b4d);
  font-family: "Inter", Arial, sans-serif;
  line-height: 1.6;
}

.profile_page h1,
.profile_page h2,
.profile_page h3 {
  color: var(--shahar-navy, #172b4d);
  font-family: "Inter", Arial, sans-serif;
  letter-spacing: -.02em;
}

.profile_page a {
  color: var(--shahar-green, #16804a);
  text-decoration: none;
}

.profile_page a:hover {
  color: var(--shahar-green-hover, #116b3d);
}

.profile_page table {
  width: 100%;
  max-width: 100%;
  border-collapse: separate;
  border-spacing: 0 7px;
}

.profile_page td {
  padding: 8px;
  vertical-align: top;
}

.profile_page img {
  max-width: 100%;
  height: auto;
}

.profile_page input,
.profile_page select,
.profile_page textarea {
  box-sizing: border-box;
  max-width: 100%;
}

@media (max-width: 640px) {
  .profile_page {
    margin: 16px auto 28px;
    padding: 16px 12px;
    border-radius: 14px;
  }

  .profile_page table {
    display: block;
    overflow-x: auto;
  }
}

/* SHAHAR ACCOUNT NAVIGATION v20261018 */
.user-nav.dropdown-menu {
  padding: 8px;
  border: 1px solid var(--shahar-border, #e1e8ec);
  border-radius: 12px;
  background: var(--shahar-surface, #fff);
  box-shadow: 0 12px 30px rgba(23, 43, 77, .10);
}

.user-nav.dropdown-menu > li > a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--shahar-navy, #172b4d);
  transition: background .15s ease, color .15s ease;
}

.user-nav.dropdown-menu > li > a:hover,
.user-nav.dropdown-menu > li > a:focus {
  background: var(--shahar-green-pale, #eef3f0);
  color: var(--shahar-green-hover, #116b3d);
}

.user-nav.dropdown-menu > li > a i {
  color: var(--shahar-green, #16804a);
}

@media (max-width: 640px) {
  .user-nav.dropdown-menu > li > a {
    padding: 12px;
  }
}

/* SHAHAR ACCOUNT UI v20261018
   Additive styles only. Does not change PHP, Smarty or routes. */

/* Account page */
.profile_page {
  box-sizing: border-box;
  width: 100%;
  max-width: 1120px;
  margin: 24px auto 40px;
  padding: clamp(18px, 3vw, 30px);
  color: var(--shahar-navy, #172b4d);
  background: var(--shahar-surface, #fff);
  border: 1px solid var(--shahar-border, #e1e8ec);
  border-radius: 18px;
  box-shadow: 0 8px 28px rgba(23, 43, 77, .05);
  font-family: Inter, Arial, sans-serif;
  line-height: 1.6;
}

.profile_page h1,
.profile_page h2,
.profile_page h3 {
  color: var(--shahar-navy, #172b4d);
  font-family: Inter, Arial, sans-serif;
  letter-spacing: -.02em;
}

.profile_page a {
  color: var(--shahar-green, #16804a);
  text-decoration: none;
}

.profile_page a:hover,
.profile_page a:focus {
  color: var(--shahar-green-hover, #116b3d);
}

/* Tables and profile details */
.profile_page table {
  width: 100%;
  max-width: 100%;
  border-collapse: separate;
  border-spacing: 0 7px;
}

.profile_page td,
.profile_page th {
  padding: 9px 10px;
  vertical-align: top;
  border-color: var(--shahar-line, #edf1f4);
}

.profile_page img {
  max-width: 100%;
  height: auto;
}

/* Form controls */
.profile_page input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
.profile_page select,
.profile_page textarea {
  box-sizing: border-box;
  max-width: 100%;
  padding: 10px 12px;
  color: var(--shahar-navy, #172b4d);
  background: #fff;
  border: 1px solid var(--shahar-border, #e1e8ec);
  border-radius: 8px;
  font: inherit;
}

.profile_page input:focus,
.profile_page select:focus,
.profile_page textarea:focus {
  border-color: var(--shahar-green, #16804a);
  outline: 2px solid rgba(22, 128, 74, .12);
  outline-offset: 1px;
}

/* Account navigation dropdown */
.user-nav.dropdown-menu {
  min-width: 220px;
  padding: 8px;
  border: 1px solid var(--shahar-border, #e1e8ec);
  border-radius: 12px;
  background: var(--shahar-surface, #fff);
  box-shadow: 0 12px 30px rgba(23, 43, 77, .10);
}

.user-nav.dropdown-menu > li > a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--shahar-navy, #172b4d);
  transition: background .15s ease, color .15s ease;
}

.user-nav.dropdown-menu > li > a:hover,
.user-nav.dropdown-menu > li > a:focus {
  color: var(--shahar-green-hover, #116b3d);
  background: var(--shahar-green-pale, #eef3f0);
}

.user-nav.dropdown-menu > li > a i {
  color: var(--shahar-green, #16804a);
}

.user-nav.dropdown-menu > li > a.logout {
  color: #a83232;
}

.user-nav.dropdown-menu > li > a.logout i {
  color: #a83232;
}

/* Small screens */
@media (max-width: 640px) {
  .profile_page {
    margin: 16px auto 28px;
    padding: 16px 12px;
    border-radius: 14px;
  }

  .profile_page table {
    display: block;
    overflow-x: auto;
  }

  .user-nav.dropdown-menu > li > a {
    padding: 12px;
  }
}

/* SHAHAR ACCOUNT LOGIN — targeted test */
#admin_area.front_login_form {
  box-sizing: border-box;
  max-width: 480px;
  margin: 28px auto;
  padding: 28px;
  color: var(--shahar-navy, #172b4d);
  background: var(--shahar-surface, #fff);
  border: 1px solid var(--shahar-border, #e1e8ec);
  border-radius: 18px;
  box-shadow: 0 8px 28px rgba(23, 43, 77, .08);
  font-family: Inter, Arial, sans-serif;
}

#admin_area.front_login_form h1 {
  margin-top: 0;
  color: var(--shahar-navy, #172b4d);
}

#admin_area.front_login_form input:not([type="checkbox"]),
#admin_area.front_login_form input:not([type="hidden"]) {
  box-sizing: border-box;
  max-width: 100%;
  border: 1px solid var(--shahar-border, #e1e8ec);
  border-radius: 8px;
}

#admin_area.front_login_form button[type="submit"] {
  border: 0;
  border-radius: 8px;
  background: var(--shahar-green, #16804a);
  color: #fff;
}

@media (max-width: 520px) {
  #admin_area.front_login_form {
    width: calc(100% - 24px);
    padding: 20px 16px;
  }
}
