.header__area-menubar-right-login-btn{
    display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 50px;
  padding: 0 18px;
  border-radius: 30px;

  color: #ffffff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;

  border: 1px dashed rgba(255, 255, 255, 0.45);
  background: rgba(255, 255, 255, 0.08);

  transition: 0.25s ease;
  line-height: 0;
}

.header__area-menubar-right-login-btn:focus {
    color: #ffffff;
}

.header__area-menubar-right-login-btn svg {
  width: 17px;
  height: 17px;
  transition: 0.25s ease !important;
}

.header__area-menubar-right-login-btn svg path {
  fill: #fff;
  transition: 0.25s ease;
}

.header__area-menubar-right-login-btn:hover {
  background: #ffffff;
  color: #17963b;
  border-color: #ffffff;
}

.header__area-menubar-right-login-btn:hover svg path {
  fill: #17963b;
}

/* ===================================================================
   CABINET — AUTH (login / register / reset)
   Uses project design tokens: --primary-color-1, --primary-color-3, etc.
=================================================================== */
.auth-wrap {
  display: flex;
  justify-content: center;
  padding: 20px 0 40px;
}
.auth-card {
  width: 100%;
  max-width: 520px;
  background: var(--bg-white);
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(25, 99, 55, 0.08), 0 2px 6px rgba(25, 99, 55, 0.04);
  padding: 28px 28px 24px;
  position: relative;
  overflow: hidden;
  font-family: var(--body-font);
}

/* Panes */
.auth-pane { display: none; animation: authFade .25s ease; }
.auth-pane.active { display: block; }
@keyframes authFade {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.auth-title {
  font-family: var(--heading-font);
  font-size: 24px;
  font-weight: 700;
  color: var(--text-heading-color);
  margin: 4px 0 6px;
}
.auth-sub {
  color: var(--body-color);
  font-size: 14px;
  margin-bottom: 22px;
  opacity: .8;
}

/* Stepper */
.auth-steps {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 6px;
  margin: 4px 0 22px;
  position: relative;
}
.auth-steps::before {
  content: '';
  position: absolute;
  top: 16px;
  left: 12%;
  right: 12%;
  height: 2px;
  background: var(--color-4);
  z-index: 0;
}
.auth-step {
  flex: 1;
  text-align: center;
  position: relative;
  z-index: 1;
}
.auth-step span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--color-4);
  color: var(--color-2);
  font-family: var(--heading-font);
  font-weight: 700;
  font-size: 14px;
  border: 2px solid var(--color-4);
  transition: all .25s ease;
}
.auth-step em {
  display: block;
  font-style: normal;
  font-size: 12px;
  color: var(--color-2);
  margin-top: 6px;
  font-weight: 500;
}
.auth-step.active span {
  background: var(--primary-color-1);
  color: var(--text-white);
  border-color: var(--primary-color-1);
  box-shadow: 0 0 0 4px rgba(25, 99, 55, 0.12);
}
.auth-step.active em { color: var(--text-heading-color); font-weight: 600; }
.auth-step.done span {
  background: rgba(25, 99, 55, 0.12);
  color: var(--primary-color-1);
  border-color: var(--primary-color-1);
}

/* Step panes */
.auth-step-pane { display: none; animation: authFade .25s ease; }
.auth-step-pane.active { display: block; }

/* Form fields */
.auth-form .auth-field { margin-bottom: 16px; }
.auth-form .auth-field label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-heading-color);
  margin-bottom: 6px;
  font-family: var(--body-font);
}
.auth-form .auth-field label sup {
  color: #e44;
  font-size: 14px;
  margin-left: 2px;
}
.auth-form .form-control {
  height: 48px;
  border-radius: 6px;
  border: 1px solid var(--color-3);
  padding: 0 14px;
  font-size: 14px;
  color: var(--body-color);
  background: var(--bg-white);
  font-family: var(--body-font);
  transition: border-color .2s, background .2s, box-shadow .2s;
  width: 100%;
}
.auth-form .form-control:focus {
  border-color: var(--primary-color-1);
  background: var(--bg-white);
  box-shadow: 0 0 0 3px rgba(25, 99, 55, 0.12);
  outline: none;
}
.auth-hint {
  display: block;
  font-size: 12px;
  color: var(--color-2);
  margin-top: 6px;
}
.auth-hint b { color: var(--text-heading-color); font-weight: 700; }

/* Password */
.auth-password { position: relative; }
.auth-password .form-control { padding-right: 44px; }
.auth-eye {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border: 0;
  background: transparent;
  color: var(--color-2);
  cursor: pointer;
  border-radius: 6px;
}
.auth-eye:hover { color: var(--primary-color-1); background: var(--color-4); }

/* Checkbox */
.auth-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-heading-color);
  cursor: pointer;
  margin: 0;
}
/* Override materialize.css global rule that hides native checkboxes
   (position: absolute; left: -9999px; opacity: 0). */
.auth-check input[type="checkbox"],
.auth-check input[type="checkbox"]:not(:checked),
.auth-check input[type="checkbox"]:checked {
  position: static !important;
  left: auto !important;
  opacity: 1 !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  accent-color: var(--primary-color-1);
  cursor: pointer;
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  pointer-events: auto !important;
}
.auth-check-block { display: flex; margin: 4px 0 18px; align-items: flex-start; }
.auth-check-block span { line-height: 1.4; }

/* Row helpers */
.auth-row-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 2px 0 18px;
  flex-wrap: wrap;
  gap: 8px;
}
.auth-row-between.gap-2 > .auth-btn { flex: 1; }

/* Buttons — match site btn-search / btn-one palette */
.auth-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  width: 100%;
  border-radius: 6px;
  background: var(--primary-color-1);
  color: var(--text-white);
  border: 0;
  font-size: 15px;
  font-weight: 600;
  font-family: var(--body-font);
  letter-spacing: .2px;
  cursor: pointer;
  transition: background .25s ease, transform .05s ease, box-shadow .25s ease;
  box-shadow: 0 6px 14px rgba(25, 99, 55, 0.18);
}
.auth-btn:hover {
  background: var(--primary-color-3);
  color: var(--text-white);
}
.auth-btn:active { transform: translateY(1px); }
.auth-btn-ghost {
  background: var(--color-4);
  color: var(--text-heading-color);
  box-shadow: none;
}
.auth-btn-ghost:hover {
  background: var(--color-5);
  color: var(--text-heading-color);
}

/* Foot */
.auth-foot {
  text-align: center;
  font-size: 13px;
  color: var(--body-color);
  margin: 16px 0 0;
}
.auth-link {
  color: var(--primary-color-1);
  font-weight: 600;
  text-decoration: none;
}
.auth-link:hover { color: var(--primary-color-3); text-decoration: underline; }

/* OTP boxes */
.auth-otp {
  display: flex;
  gap: 8px;
  justify-content: space-between;
  margin: 4px 0 4px;
}
.auth-otp-input {
  flex: 1;
  min-width: 0;
  height: 54px;
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  border-radius: 6px;
  border: 1px solid var(--color-3);
  background: var(--bg-white);
  color: var(--text-heading-color);
  font-family: var(--heading-font);
  transition: border-color .2s, background .2s, box-shadow .2s;
}
.auth-otp-input:focus {
  outline: none;
  border-color: var(--primary-color-1);
  background: var(--bg-white);
  box-shadow: 0 0 0 3px rgba(25, 99, 55, 0.12);
}

.d-none { display: none !important; }

/* Mobile */
@media (max-width: 480px) {
  .auth-card { padding: 22px 18px; border-radius: 14px; }
  .auth-otp-input { height: 48px; font-size: 18px; }
  .auth-step em { font-size: 11px; }
}
/* Cabinet auth — message + busy state */
.auth-msg{display:none;margin:0 0 12px;padding:10px 14px;border-radius:8px;font-size:14px;line-height:1.4;}
.auth-msg-err{display:block;background:#fde9e9;color:#a02323;border:1px solid #f3c2c2;}
.auth-msg-ok{display:block;background:#e8f6ec;color:#1d6d36;border:1px solid #bcdcc4;}
.auth-btn{position:relative;}
.auth-btn.is-busy{cursor:progress;pointer-events:none;}
.auth-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,0.45);border-top-color:#fff;border-radius:50%;animation:auth-spin .7s linear infinite;vertical-align:middle;}
.auth-btn-ghost .auth-spinner{border-color:rgba(25,99,55,0.25);border-top-color:var(--primary-color-1,#196337);}
@keyframes auth-spin{to{transform:rotate(360deg);}}
.auth-fetched .form-control[readonly]{background:#f7f7f7;}

.auth-testmode{background:#fff3cd;color:#7a5b00;border:1px solid #ffe08a;border-radius:8px;padding:10px 14px;margin-bottom:14px;font-size:13px;line-height:1.4;}
.auth-testmode code{background:rgba(0,0,0,0.08);padding:1px 6px;border-radius:4px;font-family:monospace;}

/* ===== Cabinet dashboard ===== */
.cab-card{background:var(--bg-white);border-radius:14px;box-shadow:0 12px 30px rgba(25,99,55,0.08);padding:22px 20px;text-align:center;font-family:var(--body-font);margin-bottom:20px;}
.cab-avatar{width:64px;height:64px;border-radius:50%;background:var(--primary-color-1);color:#fff;font-size:22px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-bottom:10px;text-transform:uppercase;font-family:var(--heading-font);}
.cab-name{font-family:var(--heading-font);font-size:18px;color:var(--text-heading-color);margin:0 0 2px;font-weight:700;}
.cab-sub{color:var(--color-2);font-size:13px;margin:0 0 14px;}
.cab-meta{list-style:none;padding:0;margin:8px 0 16px;text-align:left;border-top:1px solid var(--color-4);}
.cab-meta li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--color-4);font-size:13px;gap:10px;}
.cab-meta span{color:var(--color-2);}
.cab-meta b{color:var(--text-heading-color);font-weight:600;text-align:right;word-break:break-all;}
.cab-main{min-width:0;}
.cab-h2{font-family:var(--heading-font);font-size:22px;font-weight:700;color:var(--text-heading-color);margin:0 0 18px;}
.cab-empty{background:var(--bg-white);border-radius:12px;padding:30px;text-align:center;color:var(--color-2);box-shadow:0 6px 18px rgba(25,99,55,0.06);}
.cab-group{background:var(--bg-white);border-radius:12px;padding:14px 18px;margin-bottom:14px;box-shadow:0 6px 18px rgba(25,99,55,0.06);}
.cab-group-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.cab-group-head h3{font-family:var(--heading-font);font-size:15px;color:var(--text-heading-color);margin:0;font-weight:700;}
.cab-badge{background:rgba(25,99,55,0.1);color:var(--primary-color-1);padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;}
.cab-list{list-style:none;padding:0;margin:0;}
.cab-item{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--color-4);}
.cab-item:first-child{border-top:0;}
.cab-item-main{min-width:0;flex:1;}
.cab-item-title{font-weight:600;color:var(--text-heading-color);font-size:14px;margin-bottom:2px;word-break:break-word;}
.cab-item-sub{color:var(--color-2);font-size:12px;}
.cab-item-meta{text-align:right;font-size:12px;color:var(--color-2);white-space:nowrap;display:flex;flex-direction:column;align-items:flex-end;gap:4px;}
.cab-status{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;background:var(--color-4);color:var(--text-heading-color);}
.cab-status-success,.cab-status-успешно{background:#e8f6ec;color:#1d6d36;}
.cab-status-canceled,.cab-status-cancelled,.cab-status-отменено{background:#fde9e9;color:#a02323;}
.cab-status-processing,.cab-status-proccessing,.cab-status-обработка{background:#fff3cd;color:#7a5b00;}

/* Clickable list item (opens modal) */
.cab-item-clickable{padding:0;}
.cab-item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;width:calc(100% + 16px);padding:10px 8px;margin:0 -8px;background:transparent;border:0;border-radius:6px;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:background .15s ease;}
.cab-item-head:hover, .cab-item-head:focus, .cab-item-head:active { background: rgba(25, 99, 55, 0.04) !important; outline: none; }
.cab-item-head:hover .cab-item-title, .cab-item-head:focus .cab-item-title {color:var(--primary-color-1);}
.cab-item-head:focus-visible{outline:2px solid var(--primary-color-1) !important;outline-offset:2px;}
.cab-item-arrow{color:var(--color-2);font-size:20px;line-height:1;margin-top:-2px;transition:transform .15s ease,color .15s ease;}
.cab-item-head:hover .cab-item-arrow, .cab-item-head:focus .cab-item-arrow {color:var(--primary-color-1);transform:translateX(2px);}

/* Detail list (rendered inside modal body) */
.cab-detail-list{margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:0;}
@media (min-width:560px){.cab-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;}}
.cab-detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--color-4);font-size:13px;min-width:0;}
.cab-detail-row dt{margin:0;color:var(--color-2);flex:0 0 auto;font-weight:500;}
.cab-detail-row dd{margin:0;color:var(--text-heading-color);font-weight:600;text-align:right;word-break:break-word;min-width:0;}
.cab-detail-actions{margin-top:18px;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;}
.cab-detail-pdf{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:8px;background:var(--primary-color-1);color:#fff;font-size:13px;font-weight:600;text-decoration:none;transition:opacity .15s;}
.cab-detail-pdf:hover{opacity:0.9;color:#fff;}
.cab-detail-pdf::before{content:"\2913";font-size:14px;line-height:1;}
.cab-detail-cancel{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:8px;background:transparent;color:#c0392b;border:1px solid #e6b3ae;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,color .15s,border-color .15s;}
.cab-detail-cancel:hover{background:#fdecea;color:#a02323;border-color:#d99;}
.cab-detail-cancel::before{content:"\2715";font-size:12px;line-height:1;}

/* Modal */
.cab-modal{position:fixed;inset:0;display:none;z-index:1080;padding:32px 16px;}
.cab-modal.is-open{display:flex;align-items:center;justify-content:center;}
.cab-modal-backdrop{position:absolute;inset:0;background:rgba(15,25,30,0.55);animation:cabBackdropIn .15s ease both;}
.cab-modal-dialog{position:relative;width:min(640px,100%);max-height:calc(100vh - 64px);margin:0;background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,0.28);display:flex;flex-direction:column;overflow:hidden;animation:cabModalIn .18s cubic-bezier(.2,.8,.2,1) both;}
.cab-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 22px;border-bottom:1px solid var(--color-4);}
.cab-modal-title{margin:0;font-family:var(--heading-font);font-size:18px;font-weight:700;color:var(--text-heading-color);word-break:break-word;}
.cab-modal-close{appearance:none;background:transparent;border:0;cursor:pointer;font-size:28px;line-height:1;color:var(--color-2);padding:0 4px;flex:0 0 auto;border-radius:6px;transition:color .15s ease,background .15s ease;}
.cab-modal-close:hover,
.cab-modal-close:focus,
.cab-modal-close:focus-visible{color:var(--text-heading-color);background:transparent;outline:none;}
.cab-modal-close:focus-visible{outline:2px solid var(--primary-color-1);outline-offset:2px;}
.cab-modal-body{padding:8px 22px 22px;overflow:auto;}
body.cab-modal-lock{overflow:hidden;}
@keyframes cabBackdropIn{from{opacity:0;}to{opacity:1;}}
@keyframes cabModalIn{from{opacity:0;transform:translateY(-8px) scale(.98);}to{opacity:1;transform:none;}}

/* Tab pane visibility (Bootstrap-style without depending on its JS). */
.quote__area-left ul li a:hover {
    background: rgba(25, 99, 55, 0.04);
    color: var(--primary-color-1);
}
.quote__area-left ul li a.cab-active {
    background: rgba(25, 99, 55, 0.08);
    color: var(--primary-color-1);
    font-weight: 700;
}
.tab-content > .tab-pane{display:none;}
.tab-content > .tab-pane.show.active{display:block;}

/* ===== Header user dropdown ===== */
.header__user-drop{position:relative;display:inline-block;}
.header__user-trigger{cursor:pointer;}
.header__user-caret{font-style:normal;margin-left:4px;font-size:14px;line-height:1;}
.header__user-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:#fff;border-radius:10px;box-shadow:0 16px 40px rgba(0,0,0,0.18);padding:6px;list-style:none;margin:0;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease,visibility .15s;z-index:1000;}
.header__user-menu.is-open{opacity:1;visibility:visible;transform:translateY(0);}
.header__user-menu li{margin:0;}
.header__user-menu li a{display:block;padding:10px 14px;color:#1d2a32;text-decoration:none;border-radius:6px;font-size:14px;font-weight:500;}
.header__user-menu li a:hover{background:rgba(25,99,55,0.08);color:var(--primary-color-1);}
.header__user-info{padding:10px 14px 12px;border-bottom:1px solid #eee;margin-bottom:4px;line-height:1.3;}
.header__user-info b{display:block;color:#1d2a32;font-size:14px;font-weight:700;}
.header__user-info small{display:block;color:#888;font-size:12px;margin-top:2px;}
@media (max-width:768px){
  .header__user-menu{right:auto;left:0;}
}

/* ===== Cabinet: "no active policies" screen ===== */
.cab-nopolicy{max-width:560px;margin:30px auto;padding:20px;text-align:center;font-family:var(--body-font);}
.cab-nopolicy-illu{width:160px;height:160px;margin:0 auto 26px;}
.cab-nopolicy-illu svg{width:100%;height:100%;display:block;}
.cab-nopolicy-title{font-family:var(--heading-font);font-size:24px;font-weight:700;color:var(--text-heading-color);line-height:1.3;margin:0 0 12px;}
.cab-nopolicy-sub{color:var(--color-2);font-size:15px;line-height:1.65;margin:0 0 26px;}
.cab-nopolicy-btn{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 34px;border-radius:8px;background:var(--primary-color-1);color:var(--text-white);font-size:16px;font-weight:600;text-decoration:none;box-shadow:0 8px 18px rgba(25,99,55,0.22);transition:background .25s ease,transform .05s ease;}
.cab-nopolicy-btn:hover{background:var(--primary-color-3);color:var(--text-white);}
.cab-nopolicy-btn:active{transform:translateY(1px);}
.cab-nopolicy-actions{display:flex;flex-direction:column;align-items:center;gap:12px;}
.cab-nopolicy-btn-secondary{background:transparent;color:var(--primary-color-1);border:1px solid var(--primary-color-1);box-shadow:none;}
.cab-nopolicy-btn-secondary:hover{background:rgba(25,99,55,0.06);color:var(--primary-color-1);}
.cab-nopolicy-verify{margin-top:40px;padding-top:28px;border-top:1px solid var(--color-4);text-align:left;}
.cab-nopolicy-verify-hint{text-align:center;color:var(--color-2);font-size:14px;line-height:1.5;margin:0 0 18px;}
.cab-nopolicy-foot{margin-top:26px;}
.cab-nopolicy-foot a{color:#e44;font-size:13px;font-weight:600;text-decoration:none;}
.cab-nopolicy-foot a:hover{text-decoration:underline;}
@media (max-width:480px){
  .cab-nopolicy-title{font-size:20px;}
  .cab-nopolicy-illu{width:120px;height:120px;}
}

/* ===== Cabinet: identity-verification page + panel ===== */
.cab-verify-page{max-width:480px;margin:0 auto;}
.cab-verify-back{display:inline-block;margin-bottom:14px;color:var(--color-2);font-size:13px;font-weight:600;text-decoration:none;}
.cab-verify-back:hover{color:var(--primary-color-1);}
.cab-verify{background:var(--bg-white);border:1px solid var(--color-4);border-radius:14px;padding:22px 20px;max-width:480px;margin:0 auto;box-shadow:0 6px 18px rgba(25,99,55,0.06);}
.cab-verify-title{font-family:var(--heading-font);font-size:17px;font-weight:700;color:var(--text-heading-color);margin:0 0 6px;}
.cab-verify-sub{color:var(--color-2);font-size:13px;line-height:1.5;margin:0 0 16px;}
.cab-badge-unverified{display:inline-block;background:#fff3cd;color:#7a5b00;border:1px solid #ffe08a;border-radius:999px;padding:3px 12px;font-size:12px;font-weight:600;}
