:root{
  --bg:#f6f7f9;
  --surface:#ffffff;
  --surface-soft:#fafbfc;
  --text:#22262c;
  --muted:#747d88;
  --line:#e5e8ec;
  --line-dark:#d9dde2;
  --red:#cf252c;
  --red-dark:#b81f25;
  --blue:#445e8e;
  --blue-dark:#253555;
  --green:#1f7658;
  --green-soft:#eaf5f0;
  --danger:#b42335;
  --danger-soft:#fff3f5;
  --shadow:0 10px 30px rgba(31,39,48,.06);
  --sidebar:252px;
}

*{box-sizing:border-box}
html{background:var(--bg)}
body{
  margin:0;
  min-width:320px;
  color:var(--text);
  background:var(--bg);
  font-family:"Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing:antialiased
}
button,input{font:inherit}
button{touch-action:manipulation}
.hidden{display:none!important}
.muted{color:var(--muted)}
.eyebrow{
  color:var(--red);
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase
}

/* ---------- AUTH ---------- */
.auth-screen{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:36px;
  background:#f4f5f7
}
.auth-shell{
  width:min(980px,100%);
  min-height:590px;
  display:grid;
  grid-template-columns:1fr .86fr;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 55px rgba(30,37,44,.09)
}
.auth-identity{
  display:flex;
  flex-direction:column;
  padding:42px 44px;
  border-right:1px solid var(--line);
  background:linear-gradient(180deg,#fff,#f8f9fb)
}
.auth-logo{
  width:220px;
  height:auto;
  display:block;
  border-radius:14px
}
.auth-copy{
  max-width:450px;
  margin:auto 0
}
.auth-overline{
  margin-bottom:12px;
  color:var(--red);
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase
}
.auth-copy h1{
  margin:0 0 16px;
  color:#20242a;
  font-size:37px;
  line-height:1.13;
  letter-spacing:-.03em
}
.auth-copy p{
  margin:0;
  color:#69727d;
  font-size:15px;
  line-height:1.62
}
.auth-security{
  display:flex;
  gap:11px;
  align-items:flex-start;
  padding:14px 15px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff
}
.shield{
  width:25px;height:25px;
  display:grid;place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  color:var(--green);
  background:var(--green-soft);
  font-size:12px;
  font-weight:900
}
.auth-security strong,.auth-security small{display:block}
.auth-security strong{font-size:11px}
.auth-security small{
  margin-top:3px;
  color:#88919c;
  font-size:9px;
  line-height:1.4
}
.auth-card{
  align-self:center;
  padding:50px 44px
}
.auth-card h2{
  margin:8px 0 9px;
  font-size:27px;
  letter-spacing:-.02em
}
.auth-card p{
  margin:0;
  font-size:13px;
  line-height:1.55
}
.mode-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  margin-bottom:32px;
  padding:4px;
  border-radius:11px;
  background:#f0f2f4
}
.mode-tab{
  padding:10px;
  border:0;
  border-radius:8px;
  color:#75808b;
  background:transparent;
  font-weight:700;
  cursor:pointer
}
.mode-tab.active{
  color:#20242a;
  background:#fff;
  box-shadow:0 2px 8px rgba(26,34,42,.06)
}
label{
  display:block;
  margin:23px 0 7px;
  font-size:11px;
  font-weight:700
}
input{
  width:100%;
  padding:14px 15px;
  border:1px solid #d9dee4;
  border-radius:10px;
  color:#20242a;
  background:#fff;
  outline:none
}
input:focus{
  border-color:#9aa6b1;
  box-shadow:0 0 0 3px rgba(68,94,142,.08)
}
.otp-input{
  font-size:23px;
  font-weight:800;
  letter-spacing:.22em;
  text-align:center
}
.primary,.secondary{
  width:100%;
  padding:13px 16px;
  border:0;
  border-radius:9px;
  font-weight:750;
  cursor:pointer
}
.primary{
  margin-top:17px;
  color:#fff;
  background:var(--red)
}
.primary:hover{background:var(--red-dark)}
.secondary{
  margin-top:8px;
  color:#30363d;
  background:#f0f2f4
}
button:disabled{cursor:not-allowed;opacity:.55}
.text-btn{
  padding:0;
  border:0;
  color:var(--blue);
  background:transparent;
  font-weight:700;
  cursor:pointer
}
.back{margin-bottom:22px}
.field-error{
  min-height:16px;
  margin-top:5px;
  color:var(--danger);
  font-size:10px
}
.service-error{
  margin-top:13px;
  padding:11px 13px;
  border:1px solid #f0cbd1;
  border-radius:9px;
  color:var(--danger);
  background:var(--danger-soft);
  font-size:11px;
  line-height:1.45;
  font-weight:650
}
.security-note{
  margin-top:22px;
  color:#8d96a0;
  font-size:10px;
  line-height:1.45
}
.success-icon{
  width:48px;height:48px;
  display:grid;place-items:center;
  margin-bottom:18px;
  border-radius:50%;
  color:var(--green);
  background:var(--green-soft);
  font-size:23px;
  font-weight:900
}
.privacy-copy{
  margin-top:15px;
  padding:12px 13px;
  border-radius:9px;
  color:#727d88;
  background:#f5f6f8;
  font-size:10px;
  line-height:1.5
}

/* ---------- PORTAL ---------- */
.portal-screen{
  min-height:100vh;
  background:var(--bg)
}
.sidebar{
  position:fixed;
  inset:0 auto 0 0;
  z-index:20;
  width:var(--sidebar);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:24px 18px 20px;
  border-right:1px solid var(--line);
  background:#fff
}
.logo-wrap{
  padding:5px 5px 20px;
  border-bottom:1px solid #eceff2
}
.sidebar-logo{
  width:194px;
  max-width:100%;
  height:auto;
  display:block;
  border-radius:11px
}
.side-nav{
  display:grid;
  gap:5px;
  margin-top:22px
}
.side-item{
  min-height:46px;
  display:grid;
  grid-template-columns:30px 1fr auto;
  align-items:center;
  gap:8px;
  width:100%;
  padding:8px 11px;
  border:1px solid transparent;
  border-radius:10px;
  color:#697481;
  background:transparent;
  text-align:left;
  font-size:12px;
  font-weight:650
}
.side-item.active{
  color:#20242a;
  border-color:#eceff2;
  background:#f7f8f9
}
.side-item.active:before{
  content:"";
  position:absolute;
  left:18px;
  width:3px;
  height:24px;
  border-radius:3px;
  background:var(--red)
}
.side-item small{
  color:#acb3bb;
  font-size:7px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase
}
.side-icon{
  width:26px;height:26px;
  display:grid;place-items:center;
  border-radius:7px;
  color:#6b7885;
  background:#f1f3f5;
  font-size:12px
}
.sidebar-bottom{
  display:grid;
  gap:10px
}
.session-note{
  display:flex;
  gap:9px;
  align-items:center;
  padding:11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fafbfb
}
.session-note>span{
  width:22px;height:22px;
  display:grid;place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  color:var(--green);
  background:var(--green-soft);
  font-size:10px;
  font-weight:900
}
.session-note strong,.session-note small{display:block}
.session-note strong{font-size:9px}
.session-note small{margin-top:2px;color:#939ca6;font-size:8px}
.sidebar-logout{
  width:100%;
  padding:10px 12px;
  border:1px solid #e2e5e8;
  border-radius:9px;
  color:#5f6974;
  background:#fff;
  font-size:11px;
  font-weight:700;
  cursor:pointer
}
.sidebar-logout:hover{background:#f7f8f9}

.workspace{
  min-height:100vh;
  margin-left:var(--sidebar);
  padding:38px 46px 30px
}
.workspace-header{
  width:min(1050px,100%);
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin:0 auto 25px
}
.workspace-header h1{
  margin:7px 0 5px;
  color:#20242a;
  font-size:27px;
  line-height:1.15;
  font-weight:720;
  letter-spacing:-.02em
}
.workspace-header p{
  margin:0;
  color:#7b858f;
  font-size:12px
}
.count-badge{
  flex:0 0 auto;
  padding:7px 11px;
  border:1px solid var(--line-dark);
  border-radius:999px;
  color:#65717d;
  background:#fff;
  font-size:9px;
  font-weight:750
}

.state-card,
.contracts-list,
.portal-footer{
  width:min(1050px,100%);
  margin-left:auto;
  margin-right:auto
}
.state-card{
  min-height:104px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:21px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
  box-shadow:var(--shadow)
}
.state-card strong,.state-card p{display:block}
.state-card strong{font-size:13px}
.state-card p{margin:4px 0 0;color:#858e98;font-size:10px}
.state-error{
  color:var(--danger);
  border-color:#efcfd4;
  background:#fff8f9
}
.spinner{
  width:22px;height:22px;
  border:3px solid #e6eaee;
  border-top-color:var(--red);
  border-radius:50%;
  animation:spin .8s linear infinite
}
@keyframes spin{to{transform:rotate(360deg)}}

.contracts-list{
  display:grid;
  gap:20px
}
.contract-dashboard{
  display:grid;
  gap:14px
}
.primary-debt-card{
  min-height:205px;
  display:grid;
  grid-template-columns:1fr 245px;
  align-items:stretch;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:17px;
  background:#fff;
  box-shadow:var(--shadow)
}
.debt-main{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:34px 38px 35px 42px
}
.debt-main:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:var(--red)
}
.debt-label{
  color:#7d8791;
  font-size:10px;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase
}
.debt-value{
  margin-top:13px;
  color:#1f2328;
  font-size:45px;
  line-height:1;
  font-weight:760;
  letter-spacing:-.035em
}
.debt-value span{
  color:#838c96;
  font-size:17px;
  font-weight:600
}
.debt-update{
  margin-top:14px;
  color:#8a939d;
  font-size:10px
}
.debt-contract{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:28px;
  border-left:1px solid var(--line);
  background:#fafbfc
}
.debt-contract span,.debt-contract strong,.debt-contract small{display:block}
.debt-contract span{
  color:#9199a3;
  font-size:9px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em
}
.debt-contract strong{
  margin-top:8px;
  color:var(--blue-dark);
  font-size:24px;
  font-weight:760
}
.debt-contract small{
  margin-top:6px;
  color:#8b949e;
  font-size:10px
}

.facts-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px
}
.fact-card{
  min-height:105px;
  padding:19px 20px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff
}
.fact-card span,.fact-card strong,.fact-card small{display:block}
.fact-title{
  color:#8a949e;
  font-size:9px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em
}
.fact-card strong{
  margin-top:8px;
  color:#2c3238;
  font-size:15px;
  font-weight:700
}
.fact-card small{
  margin-top:6px;
  color:#a0a7af;
  font-size:9px
}

.debt-more{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff
}
.debt-more summary{
  min-height:69px;
  display:grid;
  grid-template-columns:1fr auto auto;
  align-items:center;
  gap:18px;
  padding:14px 18px;
  cursor:pointer;
  list-style:none
}
.debt-more summary::-webkit-details-marker{display:none}
.debt-more summary:after{
  content:"+";
  width:26px;height:26px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#7b858f;
  background:#f2f4f6;
  font-size:17px
}
.debt-more[open] summary:after{content:"−"}
.debt-more summary div strong,
.debt-more summary div small{display:block}
.debt-more summary div strong{
  color:#343a40;
  font-size:12px
}
.debt-more summary div small{
  margin-top:3px;
  color:#999fa7;
  font-size:9px
}
.summary-total{
  color:#4d5864;
  font-size:13px;
  font-weight:750;
  white-space:nowrap
}
.debt-more-body{
  border-top:1px solid var(--line);
  background:#fbfcfc
}
.debt-parts{
  display:grid;
  grid-template-columns:repeat(4,1fr)
}
.debt-parts>div{
  padding:16px 18px;
  border-right:1px solid var(--line)
}
.debt-parts>div:last-child{border-right:0}
.debt-parts span,.debt-parts strong{display:block}
.debt-parts span{
  color:#939ba4;
  font-size:8px
}
.debt-parts strong{
  margin-top:5px;
  color:#30363d;
  font-size:11px
}
.cession-info{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:12px 18px;
  border-top:1px solid var(--line);
  color:#929aa3
}
.cession-info span{font-size:8px}
.cession-info strong{
  max-width:66%;
  color:#606b76;
  font-size:8px;
  text-align:right
}
.portal-footer{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:27px;
  padding-top:16px;
  border-top:1px solid #e2e5e8;
  color:#9aa2ab;
  font-size:8px
}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  :root{--sidebar:210px}
  .workspace{padding:30px 28px}
  .primary-debt-card{grid-template-columns:1fr 210px}
  .debt-value{font-size:38px}
}
@media(max-width:760px){
  .sidebar{
    position:static;
    width:100%;
    padding:14px;
    border-right:0;
    border-bottom:1px solid var(--line)
  }
  .sidebar-top{
    display:flex;
    align-items:center;
    gap:14px
  }
  .logo-wrap{
    width:145px;
    padding:0;
    border:0
  }
  .sidebar-logo{width:145px}
  .side-nav{
    display:flex;
    flex:1;
    gap:3px;
    margin:0;
    overflow:auto
  }
  .side-item{
    width:auto;
    min-width:max-content;
    grid-template-columns:25px auto;
    padding:7px 9px
  }
  .side-item small{display:none}
  .side-item.active:before{display:none}
  .sidebar-bottom{display:none}
  .workspace{
    margin-left:0;
    padding:24px 16px
  }
  .primary-debt-card{grid-template-columns:1fr}
  .debt-contract{
    border-left:0;
    border-top:1px solid var(--line)
  }
  .facts-row{grid-template-columns:1fr}
  .debt-parts{grid-template-columns:1fr 1fr}
  .auth-shell{grid-template-columns:1fr}
  .auth-identity{display:none}
}
@media(max-width:520px){
  .sidebar-top{display:block}
  .logo-wrap{margin-bottom:12px}
  .workspace-header{display:block}
  .count-badge{display:inline-block;margin-top:12px}
  .debt-main{padding:28px 24px 29px}
  .debt-value{font-size:32px}
  .debt-parts{grid-template-columns:1fr}
  .debt-parts>div{
    border-right:0;
    border-bottom:1px solid var(--line)
  }
  .debt-more summary{
    grid-template-columns:1fr auto
  }
  .summary-total{grid-column:1}
  .debt-more summary:after{
    grid-column:2;
    grid-row:1/3
  }
  .cession-info{display:block}
  .cession-info strong{
    display:block;
    max-width:none;
    margin-top:5px;
    text-align:left
  }
  .portal-footer{display:block}
  .portal-footer span{display:block;margin-top:4px}
}


/* =========================================================
   V7.1 — рабочая Главная + отдельный раздел "Мои договоры"
   ========================================================= */

.content-view{
  width:min(1050px,100%);
  margin-left:auto;
  margin-right:auto;
}

.home-dashboard{
  display:grid;
  gap:14px;
}

.contract-open-btn{
  align-self:flex-start;
  margin-top:20px;
  padding:9px 13px;
  border:1px solid #d9dee4;
  border-radius:8px;
  color:#394d72;
  background:#fff;
  font-size:10px;
  font-weight:750;
  cursor:pointer;
}

.contract-open-btn:hover{
  border-color:#c7cdd4;
  background:#f7f8f9;
}

.next-section{
  min-height:100px;
  padding:19px 21px;
  border:1px dashed #d8dde3;
  border-radius:14px;
  background:#fafbfc;
}

.next-section-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}

.section-kicker{
  color:#a0a7af;
  font-size:8px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.next-section h3{
  margin:5px 0 4px;
  color:#343a40;
  font-size:14px;
}

.next-section p{
  margin:0;
  color:#949ca5;
  font-size:9px;
}

.soon-pill{
  flex:0 0 auto;
  padding:6px 9px;
  border-radius:999px;
  color:#8a939c;
  background:#eef1f3;
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
}

.contract-record{
  overflow:hidden;
  margin-bottom:14px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
  box-shadow:var(--shadow);
}

.contract-record-head{
  display:grid;
  grid-template-columns:1fr auto;
  gap:30px;
  align-items:center;
  padding:23px 24px;
}

.record-label,
.record-number,
.contract-record-head small,
.record-balance span,
.record-balance strong,
.record-balance small{
  display:block;
}

.record-label{
  color:#929aa3;
  font-size:8px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.record-number{
  margin-top:6px;
  color:#253555;
  font-size:21px;
  font-weight:760;
}

.contract-record-head small{
  margin-top:4px;
  color:#929aa3;
  font-size:9px;
}

.record-balance{
  min-width:260px;
  text-align:right;
}

.record-balance span{
  color:#929aa3;
  font-size:8px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.record-balance strong{
  margin-top:6px;
  color:#20242a;
  font-size:22px;
  font-weight:760;
}

.record-balance small{
  margin-top:4px;
  color:#969fa8;
  font-size:8px;
}

.contract-record .debt-more{
  margin:0 15px 15px;
  box-shadow:none;
}

.side-item:not(:disabled){
  cursor:pointer;
}

@media(max-width:760px){
  .contract-record-head{
    grid-template-columns:1fr;
  }

  .record-balance{
    min-width:0;
    text-align:left;
  }
}

@media(max-width:520px){
  .next-section-head{
    display:block;
  }

  .soon-pill{
    display:inline-block;
    margin-top:12px;
  }
}


/* =========================================================
   V7.2 — masked IIN + My Profile
   ========================================================= */

.profile-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--shadow);
}

.profile-head{
  display:flex;
  align-items:center;
  gap:15px;
  padding:24px;
  border-bottom:1px solid var(--line);
}

.profile-avatar{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  color:#fff;
  background:var(--blue-dark);
  font-size:18px;
  font-weight:750;
}

.profile-head span,
.profile-head strong,
.profile-head small{
  display:block;
}

.profile-head span{
  color:#929aa3;
  font-size:8px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.profile-head strong{
  margin-top:5px;
  color:#282d33;
  font-size:17px;
}

.profile-head small{
  margin-top:4px;
  color:#8e97a1;
  font-size:10px;
}

.profile-fields{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
}

.profile-fields>div{
  min-height:88px;
  padding:18px 20px;
  border-right:1px solid var(--line);
}

.profile-fields>div:last-child{
  border-right:0;
}

.profile-fields span,
.profile-fields strong{
  display:block;
}

.profile-fields span{
  color:#969ea7;
  font-size:8px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.profile-fields strong{
  margin-top:8px;
  color:#343a40;
  font-size:11px;
}

.profile-fields .profile-ok{
  color:var(--green);
}

.profile-privacy{
  padding:13px 20px;
  border-top:1px solid var(--line);
  color:#929aa3;
  background:#fafbfc;
  font-size:9px;
  line-height:1.5;
}

@media(max-width:760px){
  .profile-fields{
    grid-template-columns:1fr;
  }

  .profile-fields>div{
    min-height:auto;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
}


/* =========================================================
   V7.3 — current composition + cleaner contracts view
   ========================================================= */

.home-dashboard{
  display:grid;
  gap:14px;
}

.home-debt-card{
  min-height:190px;
}

.debt-label-current{
  color:#59636e;
  font-size:13px;
  font-weight:760;
  letter-spacing:.02em;
  text-transform:none;
}

.debt-label-current strong{
  color:#242a31;
  font-size:13px;
  font-weight:760;
}

.debt-main{
  padding-top:31px;
  padding-bottom:31px;
}

.debt-value{
  margin-top:16px;
}

.debt-contract-inline{
  justify-content:center;
  gap:16px;
}

.contract-inline-text{
  color:#2f3740;
  font-size:14px;
  line-height:1.5;
  font-weight:680;
}

.debt-contract-inline .contract-open-btn{
  margin-top:0;
}

.current-composition{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
  box-shadow:var(--shadow);
}

.current-composition-head{
  padding:18px 20px 14px;
  border-bottom:1px solid var(--line);
}

.current-composition-head h3{
  margin:0;
  color:#30363d;
  font-size:15px;
  font-weight:760;
}

.current-parts{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}

.current-parts>div{
  min-height:86px;
  padding:17px 19px;
  border-right:1px solid var(--line);
}

.current-parts>div:last-child{
  border-right:0;
}

.current-parts span,
.current-parts strong{
  display:block;
}

.current-parts span{
  color:#59636e;
  font-size:11px;
  font-weight:680;
}

.current-parts strong{
  margin-top:8px;
  color:#242a31;
  font-size:15px;
  font-weight:760;
}

.composition-warning{
  padding:16px 18px;
  border:1px solid #eadfbd;
  border-radius:13px;
  background:#fffaf0;
}

.composition-warning strong,
.composition-warning span{
  display:block;
}

.composition-warning strong{
  color:#66562c;
  font-size:11px;
}

.composition-warning span{
  margin-top:4px;
  color:#98865a;
  font-size:9px;
}

.contract-record-history{
  padding:0;
}

.contract-title-line{
  padding:21px 23px;
  border-bottom:1px solid var(--line);
  color:#2b333b;
  font-size:16px;
  line-height:1.4;
  font-weight:730;
}

.cession-composition{
  background:#fff;
}

.cession-composition-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding:20px 23px 16px;
}

.cession-composition-head h3{
  margin:0;
  color:#252b31;
  font-size:17px;
  line-height:1.35;
  font-weight:780;
}

.cession-total{
  flex:0 0 auto;
  text-align:right;
}

.cession-total span,
.cession-total strong{
  display:block;
}

.cession-total span{
  color:#7f8993;
  font-size:9px;
  font-weight:700;
  text-transform:uppercase;
}

.cession-total strong{
  margin-top:5px;
  color:#2e353c;
  font-size:16px;
  font-weight:770;
}

.cession-parts{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.cession-parts>div{
  min-height:92px;
  padding:18px 20px;
  border-right:1px solid var(--line);
}

.cession-parts>div:last-child{
  border-right:0;
}

.cession-parts span,
.cession-parts strong{
  display:block;
}

.cession-parts span{
  color:#505a64;
  font-size:12px;
  font-weight:700;
}

.cession-parts strong{
  margin-top:9px;
  color:#20262c;
  font-size:15px;
  font-weight:780;
}

.cession-info-visible{
  padding:14px 20px;
  background:#fafbfc;
}

.cession-info-visible span{
  color:#79838d;
  font-size:9px;
}

.cession-info-visible strong{
  color:#4d5862;
  font-size:9px;
}

@media(max-width:760px){
  .primary-debt-card{
    grid-template-columns:1fr;
  }

  .current-parts,
  .cession-parts{
    grid-template-columns:1fr 1fr;
  }

  .current-parts>div:nth-child(2),
  .cession-parts>div:nth-child(2){
    border-right:0;
  }

  .current-parts>div,
  .cession-parts>div{
    border-bottom:1px solid var(--line);
  }

  .cession-composition-head{
    display:block;
  }

  .cession-total{
    margin-top:14px;
    text-align:left;
  }
}

@media(max-width:520px){
  .current-parts,
  .cession-parts{
    grid-template-columns:1fr;
  }

  .current-parts>div,
  .cession-parts>div{
    border-right:0;
  }

  .debt-label-current,
  .debt-label-current strong{
    font-size:12px;
  }

  .contract-inline-text{
    font-size:13px;
  }
}


/* =========================================================
   V7.7 — consolidated final overrides
   No legacy V7.4–V7.6 conflicts below this point.
   ========================================================= */

/* Hide contract counter in upper-right corner */
.count-badge{
  display:none !important;
}

/* Main current debt amount — red accent */
.home-debt-card .debt-value,
.home-debt-card .debt-value span{
  color:#c8242f !important;
}

/* EXACTLY THE SAME typography for both home headings */
.home-debt-card .debt-main .current-debt-title,
.current-composition .current-composition-head h3.current-composition-title{
  margin:0 !important;
  padding:0 !important;
  font-family:"Times New Roman", Times, serif !important;
  font-size:12pt !important;
  line-height:1.25 !important;
  font-weight:600 !important;
  font-style:normal !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  text-align:left !important;
  color:#252a30 !important;
}

/* Same left edge: 10 mm from the block border */
.home-debt-card .debt-main{
  padding-left:10mm !important;
  padding-right:10mm !important;
}

.current-composition .current-composition-head{
  padding-left:10mm !important;
  padding-right:10mm !important;
}

/* Contract number/date — one line on desktop */
.primary-debt-card.home-debt-card{
  grid-template-columns:minmax(0,1fr) 340px !important;
}

.debt-contract-inline{
  padding-left:28px !important;
  padding-right:28px !important;
}

.debt-contract-inline .contract-inline-text{
  white-space:nowrap !important;
  color:#252b31 !important;
  font-size:14px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
}

/* Current composition table */
.current-parts>div{
  min-height:86px !important;
  padding:17px 5mm !important;
}

.current-parts span{
  display:block !important;
  padding:0 !important;
  text-align:center !important;
  color:#343b43 !important;
  font-size:12px !important;
  font-weight:700 !important;
}

.current-parts strong{
  display:block !important;
  margin-top:9px !important;
  padding:0 !important;
  text-align:right !important;
  color:#20262c !important;
  font-size:14px !important;
  font-weight:700 !important;
}

/* Contract status:
   "Действующий" must be small and red, not inherited 24px */
.debt-contract .contract-status-line{
  display:flex !important;
  align-items:baseline !important;
  justify-content:center !important;
  gap:5px !important;
  margin-top:4px !important;
  white-space:nowrap !important;
}

.debt-contract .contract-status-line span{
  margin:0 !important;
  color:#8a929b !important;
  font-size:8.5pt !important;
  line-height:1.25 !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

.debt-contract .contract-status-line strong{
  margin:0 !important;
  color:#c8242f !important;
  font-size:10pt !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

/* Contract page heading/date */
.contract-title-line{
  white-space:nowrap !important;
  color:#252b31 !important;
  font-size:16px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
}

.cession-composition-title{
  margin:0 !important;
  font-family:"Times New Roman", Times, serif !important;
  font-size:16pt !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  color:#20242a !important;
}

/* Historical cession table */
.cession-parts>div{
  min-height:92px !important;
  padding:18px 5mm !important;
}

.cession-parts span{
  display:block !important;
  padding:0 !important;
  text-align:center !important;
  color:#343b43 !important;
  font-size:12px !important;
  font-weight:700 !important;
}

.cession-parts strong{
  display:block !important;
  margin-top:9px !important;
  padding:0 !important;
  text-align:right !important;
  color:#20262c !important;
  font-size:14px !important;
  font-weight:700 !important;
}

/* Mobile */
@media(max-width:760px){
  .primary-debt-card.home-debt-card{
    grid-template-columns:1fr !important;
  }

  .debt-contract-inline .contract-inline-text,
  .contract-title-line{
    white-space:normal !important;
  }
}


/* =========================================================
   V7.8 — contracts tab refinements only
   Everything else remains V7.7.
   ========================================================= */

/* Contract number/date and status in one line */
.contract-record-history .contract-title-row{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:24px;
  padding:21px 23px;
  border-bottom:1px solid var(--line);
}

.contract-record-history .contract-title-row .contract-title-line{
  padding:0 !important;
  border:0 !important;
  white-space:nowrap !important;
}

.contract-page-status{
  display:flex;
  align-items:baseline;
  gap:5px;
  flex:0 0 auto;
  white-space:nowrap;
}

.contract-page-status span{
  color:#8a929b;
  font-size:9pt;
  font-weight:500;
}

.contract-page-status strong{
  color:#c8242f;
  font-size:10pt;
  font-weight:700;
}

/* Historical composition title: quieter and consistent */
.contract-record-history .cession-composition-title{
  font-family:"Times New Roman", Times, serif !important;
  font-size:12pt !important;
  line-height:1.25 !important;
  font-weight:600 !important;
  color:#252a30 !important;
}

/* Clarify that total is historical, not today's debt */
.contract-record-history .cession-total span{
  color:#7f8993 !important;
  font-size:9px !important;
  font-weight:700 !important;
  text-transform:none !important;
  letter-spacing:.02em !important;
}

/* Legal basis: one readable line */
.contract-record-history .cession-info-inline{
  display:block !important;
  padding:14px 20px !important;
  font-size:10pt !important;
  line-height:1.4 !important;
  white-space:normal !important;
}

.contract-record-history .cession-info-inline span,
.contract-record-history .cession-info-inline strong{
  display:inline !important;
  margin:0 !important;
  padding:0 !important;
  font-size:10pt !important;
  line-height:1.4 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}

.contract-record-history .cession-info-inline span{
  color:#6f7882 !important;
  font-weight:500 !important;
}

.contract-record-history .cession-info-inline strong{
  color:#3a424a !important;
  font-weight:700 !important;
  text-align:left !important;
}

/* Responsive: preserve existing mobile behaviour */
@media(max-width:760px){
  .contract-record-history .contract-title-row{
    display:block;
  }

  .contract-page-status{
    margin-top:7px;
  }

  .contract-record-history .contract-title-row .contract-title-line{
    white-space:normal !important;
  }
}


/* =========================================================
   V7.9 — MULTI-CONTRACT HOME ONLY
   Single-contract Home and V7.8 contract cards stay unchanged.
   ========================================================= */

.multi-contract-summary{
  justify-content:center !important;
}

.multi-contract-stats{
  width:100%;
  display:grid;
  gap:8px;
  margin-bottom:14px;
}

.multi-contract-stats>div{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:6px;
  white-space:nowrap;
}

.multi-contract-stats span{
  color:#7f8892;
  font-size:10pt;
  font-weight:500;
}

.multi-contract-stats strong{
  color:#252b31;
  font-size:12pt;
  font-weight:700;
}

.multi-contract-stats .multi-active-count{
  color:#c8242f;
}

.multi-contract-summary .contract-open-btn{
  margin-top:0 !important;
}

@media(max-width:760px){
  .multi-contract-stats>div{
    justify-content:flex-start;
  }
}


/* =========================================================
   V7.10 — collection expenses only
   Existing V7.7/V7.8/V7.9 layout is unchanged otherwise.
   ========================================================= */

.current-parts.with-expenses{
  grid-template-columns:repeat(5,1fr) !important;
}

@media(max-width:760px){
  .current-parts.with-expenses{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   V7.11 — PAYMENTS TAB ONLY
   Approved Home / Contracts styles remain untouched.
   ========================================================= */

.payments-page{
  display:grid;
  gap:14px;
}

.payments-filter{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  min-height:38px;
}

.payments-filter label{
  color:#7e8790;
  font-size:10pt;
  font-weight:500;
}

.payments-filter select{
  min-width:260px;
  height:36px;
  padding:0 34px 0 12px;
  border:1px solid var(--line);
  border-radius:9px;
  color:#30363c;
  background:#fff;
  font:600 10pt Arial, sans-serif;
  outline:none;
}

.payments-filter select:focus{
  border-color:#afb8c2;
}

.payments-selected-contract{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  padding:14px 18px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}

.payments-selected-contract span{
  color:#30363c;
  font-size:11pt;
  font-weight:700;
}

.payments-selected-contract strong{
  font-size:10pt;
  font-weight:700;
}

.payment-status-active{
  color:#c8242f;
}

.payment-status-completed{
  color:#55705f;
}

.payments-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid var(--line);
  border-radius:15px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow);
}

.payments-summary-card{
  min-height:102px;
  padding:20px 10mm;
  border-right:1px solid var(--line);
}

.payments-summary-card:last-child{
  border-right:0;
}

.payments-summary-card span,
.payments-summary-card strong,
.payments-summary-card small{
  display:block;
}

.payments-summary-card span{
  margin-bottom:10px;
  font-family:"Times New Roman", Times, serif;
  font-size:12pt;
  line-height:1.25;
  font-weight:600;
  color:#252a30;
}

.payments-summary-card strong{
  color:#252b31;
  font-size:18px;
  line-height:1.25;
  font-weight:700;
  text-align:right;
}

.payments-summary-card small{
  margin-top:5px;
  color:#8a929b;
  font-size:9pt;
  text-align:right;
}

.payments-history-card,
.payments-other{
  border:1px solid var(--line);
  border-radius:15px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow);
}

.payments-section-title{
  padding:17px 10mm;
  border-bottom:1px solid var(--line);
  font-family:"Times New Roman", Times, serif;
  font-size:12pt;
  line-height:1.25;
  font-weight:600;
  color:#252a30;
}

.payments-table-wrap{
  width:100%;
  overflow-x:auto;
}

.payments-table{
  width:100%;
  border-collapse:collapse;
  table-layout:auto;
}

.payments-table th,
.payments-table td{
  padding:13px 18px;
  border-bottom:1px solid #edf0f2;
  color:#394149;
  font-size:10pt;
  vertical-align:middle;
}

.payments-table th{
  background:#fafbfc;
  color:#69737d;
  font-weight:700;
  text-align:left;
  white-space:nowrap;
}

.payments-table td{
  font-weight:500;
}

.payments-table tr:last-child td{
  border-bottom:0;
}

.payments-table .num{
  text-align:right;
  padding-right:5mm;
  white-space:nowrap;
}

.payments-table .payment-amount{
  color:#346b4d;
  font-weight:700;
}

.payments-empty{
  padding:25px 10mm;
  color:#87909a;
  font-size:10pt;
}

.payments-other summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:16px 10mm;
  cursor:pointer;
  list-style:none;
  font-family:"Times New Roman", Times, serif;
  font-size:12pt;
  line-height:1.25;
  font-weight:600;
  color:#252a30;
}

.payments-other summary::-webkit-details-marker{
  display:none;
}

.payments-other summary small{
  min-width:25px;
  padding:3px 8px;
  border-radius:999px;
  color:#737d87;
  background:#eef1f3;
  font:700 9pt Arial, sans-serif;
  text-align:center;
}

.payments-other[open] summary{
  border-bottom:1px solid var(--line);
}

.operation-plus{
  color:#a16b19 !important;
  font-weight:700 !important;
}

.operation-minus{
  color:#68727c !important;
  font-weight:700 !important;
}

@media(max-width:760px){
  .payments-filter{
    display:block;
  }

  .payments-filter label{
    display:block;
    margin-bottom:6px;
  }

  .payments-filter select{
    width:100%;
    min-width:0;
  }

  .payments-summary-grid{
    grid-template-columns:1fr;
  }

  .payments-summary-card{
    min-height:auto;
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  .payments-summary-card:last-child{
    border-bottom:0;
  }

  .payments-selected-contract{
    display:block;
  }

  .payments-selected-contract strong{
    display:block;
    margin-top:6px;
  }
}


/* =========================================================
   V7.12 — unified Payments table only
   Home and Contracts remain untouched.
   ========================================================= */

.payments-unified-table .writeoff-amount{
  color:#68727c;
  font-weight:700;
}

.payments-unified-table .expense-amount{
  color:#8d6726;
  font-weight:700;
}

.payments-unified-table th.num{
  white-space:normal;
  line-height:1.25;
  vertical-align:middle;
}

.payments-unified-table td.num,
.payments-unified-table th.num{
  text-align:right;
  padding-right:5mm;
}


/* =========================================================
   V7.14 — payment math / start balance only
   Approved Home and Contracts tabs are untouched.
   ========================================================= */

.payments-math-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
  box-shadow:var(--shadow);
}

.payments-math-title{
  padding:15px 10mm;
  border-bottom:1px solid var(--line);
  font-family:"Times New Roman", Times, serif;
  font-size:12pt;
  line-height:1.25;
  font-weight:600;
  color:#252a30;
}

.payments-math-row{
  display:grid;
  grid-template-columns:
    minmax(145px,1.15fr)
    24px
    minmax(110px,.9fr)
    24px
    minmax(110px,.9fr)
    24px
    minmax(110px,.9fr)
    24px
    minmax(145px,1.15fr);
  align-items:center;
  gap:5px;
  padding:18px 10mm 14px;
}

.payments-math-item{
  min-width:0;
  text-align:center;
}

.payments-math-item span,
.payments-math-item strong{
  display:block;
}

.payments-math-item span{
  min-height:30px;
  color:#777f88;
  font-size:8.5pt;
  line-height:1.25;
  font-weight:600;
}

.payments-math-item strong{
  margin-top:6px;
  color:#293039;
  font-size:11pt;
  line-height:1.2;
  font-weight:700;
  white-space:nowrap;
}

.payments-math-item.start strong{
  color:#c8242f;
  font-weight:800;
}

.payments-math-item.current strong{
  color:#252b31;
  font-weight:800;
}

.payments-math-sign{
  color:#9aa2aa;
  font-size:18px;
  line-height:1;
  font-weight:600;
  text-align:center;
}

.payments-math-check{
  padding:0 10mm 13px;
  color:#5d7565;
  font-size:8.5pt;
  text-align:right;
}

.payments-math-check.pending{
  color:#9a7a48;
}

/* First row per contract: debt at cession */
.payments-unified-table tr.payment-start-row td{
  background:#fcfafb;
}

.payment-start-date-note,
.payment-start-note{
  display:block;
  margin-top:4px;
  color:#979fa8;
  font-size:7.5pt;
  line-height:1.2;
  font-weight:500;
}

.payments-unified-table td.payment-start-balance{
  color:#c8242f !important;
  font-weight:800 !important;
}

.payments-unified-table td.payment-start-balance .payment-start-note{
  color:#a27b7e !important;
  font-weight:600 !important;
}

@media(max-width:900px){
  .payments-math-row{
    grid-template-columns:1fr;
    gap:8px;
  }

  .payments-math-sign{
    transform:rotate(90deg);
  }

  .payments-math-item span{
    min-height:0;
  }

  .payments-math-check{
    text-align:left;
  }
}


/* =========================================================
   V7.16 — MY PROFILE ONLY
   Approved Home / Contracts / Payments tabs remain untouched.
   ========================================================= */

.profile-page{
  display:grid;
  gap:14px;
}

.profile-contact-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--shadow);
}

.profile-contact-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:20px 10mm 16px;
  border-bottom:1px solid var(--line);
}

.profile-contact-head h3{
  margin:0;
  font-family:"Times New Roman", Times, serif;
  font-size:12pt;
  line-height:1.25;
  font-weight:600;
  color:#252a30;
}

.profile-contact-head p{
  margin:5px 0 0;
  color:#8a929b;
  font-size:9pt;
  line-height:1.4;
}

.profile-provided-meta{
  flex:0 0 auto;
  padding-top:2px;
  color:#79838d;
  font-size:8.5pt;
  line-height:1.35;
  white-space:nowrap;
}

.profile-contact-form{
  padding:20px 10mm 18px;
}

.profile-form-field{
  display:block;
}

.profile-form-field>span{
  display:block;
  margin-bottom:7px;
  color:#4b535c;
  font-size:10pt;
  font-weight:700;
}

.profile-form-field textarea,
.profile-form-field input{
  width:100%;
  box-sizing:border-box;
  border:1px solid #d8dde2;
  border-radius:9px;
  color:#293039;
  background:#fff;
  font:500 10pt Arial, sans-serif;
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}

.profile-form-field textarea{
  min-height:82px;
  padding:11px 12px;
  resize:vertical;
  line-height:1.45;
}

.profile-form-field input{
  height:40px;
  padding:0 12px;
}

.profile-form-field textarea:focus,
.profile-form-field input:focus{
  border-color:#aeb7c0;
  box-shadow:0 0 0 3px rgba(81,96,116,.07);
}

.profile-form-field small{
  display:block;
  margin-top:6px;
  color:#9098a1;
  font-size:8.5pt;
  line-height:1.35;
}

.profile-phone-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:18px;
}

.profile-contact-note{
  margin-top:16px;
  padding:11px 13px;
  border:1px solid #e5e8eb;
  border-radius:9px;
  color:#747d86;
  background:#fafbfc;
  font-size:8.5pt;
  line-height:1.45;
}

.profile-form-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:18px;
}

.profile-save-message{
  min-height:18px;
  color:#7c858e;
  font-size:9pt;
  line-height:1.35;
}

.profile-save-message.success{
  color:#46705a;
  font-weight:600;
}

.profile-save-message.error{
  color:#b63a43;
  font-weight:600;
}

.profile-save-btn{
  flex:0 0 auto;
  min-width:170px;
  height:38px;
  padding:0 18px;
  border:0;
  border-radius:9px;
  color:#fff;
  background:#c8242f;
  font-size:9.5pt;
  font-weight:700;
  cursor:pointer;
}

.profile-save-btn:hover{
  filter:brightness(.96);
}

.profile-save-btn:disabled{
  opacity:.62;
  cursor:not-allowed;
}

@media(max-width:760px){
  .profile-contact-head,
  .profile-form-actions{
    display:block;
  }

  .profile-provided-meta{
    margin-top:8px;
    white-space:normal;
  }

  .profile-phone-grid{
    grid-template-columns:1fr;
  }

  .profile-save-btn{
    width:100%;
    margin-top:12px;
  }
}

/* ---------- V7.17 PASSWORD AUTH ONLY ---------- */
.remember-row{
  display:flex;
  align-items:center;
  gap:9px;
  margin:14px 0 0;
  color:#69727d;
  font-size:11px;
  line-height:1.45;
  font-weight:600;
  cursor:pointer
}
.remember-row input{
  width:16px;
  height:16px;
  margin:0;
  flex:0 0 auto;
  accent-color:var(--red)
}
.recovery-link{
  display:block;
  margin:15px auto 0;
  font-size:11px;
  text-align:center
}
.password-help{
  margin-top:9px;
  color:#8a939d;
  font-size:10px;
  line-height:1.5
}


/* =========================================================
   V7.18 — REQUISITES & CONTACTS ONLY
   Existing Home / Contracts / Payments / Profile styles untouched.
   ========================================================= */
.requisites-page{
  display:grid;
  gap:14px;
}

.requisites-banner{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:52px 1fr;
  gap:16px;
  align-items:center;
  min-height:104px;
  padding:20px 24px;
  border-radius:16px;
  color:#fff;
  background:linear-gradient(115deg,#253555 0%,#304f9b 58%,#445ed0 100%);
  box-shadow:0 12px 30px rgba(37,53,85,.12);
}
.requisites-banner:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--red);
}
.requisites-banner:after{
  content:"";
  position:absolute;
  right:-18px;
  bottom:-48px;
  width:250px;
  height:160px;
  opacity:.12;
  border:16px solid #fff;
  border-left:0;
  border-bottom:0;
  transform:rotate(-38deg);
  border-radius:22px;
}
.requisites-banner-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#253555;
  background:#fff;
  font:800 21px/1 Georgia,serif;
  z-index:1;
}
.requisites-banner>div:last-child{position:relative;z-index:1}
.requisites-banner strong{
  display:block;
  font-size:16px;
  line-height:1.25;
  font-weight:760;
}
.requisites-banner p{
  margin:4px 0 0;
  font-size:13px;
  line-height:1.4;
  font-weight:650;
}
.requisites-banner small{
  display:block;
  margin-top:7px;
  color:rgba(255,255,255,.82);
  font-size:10px;
  line-height:1.45;
}

.requisites-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:14px;
  align-items:start;
}
.requisites-side-stack{
  display:grid;
  gap:14px;
}
.requisites-card,
.requisites-important{
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--shadow);
}
.requisites-card{overflow:hidden}
.requisites-card-head{
  display:flex;
  align-items:center;
  gap:10px;
  padding:18px 20px 15px;
  border-bottom:1px solid var(--line);
}
.requisites-card-head h3{
  margin:0;
  color:#263044;
  font-size:14px;
  line-height:1.25;
  font-weight:760;
}
.requisites-card-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:8px;
  color:#2c55c7;
  background:#eef3ff;
  font-size:15px;
  font-weight:850;
}
.requisites-card-icon.address{
  color:var(--red);
  background:#fff2f3;
}

.requisites-table{padding:4px 20px 12px}
.requisites-row{
  min-height:43px;
  display:grid;
  grid-template-columns:145px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  border-bottom:1px solid #edf0f3;
}
.requisites-row:last-child{border-bottom:0}
.requisites-row>span{
  color:#737e89;
  font-size:10.5px;
  font-weight:620;
}
.requisites-row>strong{
  min-width:0;
  color:#252b33;
  font-size:11px;
  line-height:1.4;
  font-weight:700;
  overflow-wrap:anywhere;
}
.requisites-purpose>strong{color:#3d4c67}
.copy-btn{
  height:28px;
  padding:0 9px;
  border:1px solid #dbe1e7;
  border-radius:7px;
  color:#596675;
  background:#fff;
  font-size:8.5px;
  font-weight:750;
  cursor:pointer;
  transition:.15s ease;
}
.copy-btn:hover{background:#f5f7f9;border-color:#cbd2d9}
.copy-btn.copied{
  color:#1f7658;
  border-color:#cae5da;
  background:#eff8f4;
}
.requisites-info-note{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:0 20px 20px;
  padding:11px 12px;
  border:1px solid #e1e7f3;
  border-radius:10px;
  color:#66748a;
  background:#f6f8fc;
}
.requisites-info-note>span{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid #3d61bd;
  border-radius:50%;
  color:#3d61bd;
  font:800 11px/1 Georgia,serif;
}
.requisites-info-note p{
  margin:0;
  font-size:9.5px;
  line-height:1.5;
}

.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:16px 16px 10px;
}
.contact-tile{
  min-height:70px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid #e5e9ee;
  border-radius:11px;
  color:inherit;
  background:#fff;
  text-decoration:none;
  transition:.15s ease;
}
.contact-tile:hover{
  border-color:#d5dce5;
  background:#fafbfc;
  transform:translateY(-1px);
}
.contact-symbol{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:#315ac7;
  background:#f0f4ff;
  font-size:14px;
  font-weight:850;
}
.contact-symbol.whatsapp{color:#159447;background:#eef9f2;font-size:10px}
.contact-symbol.mail{color:var(--red);background:#fff2f3}
.contact-symbol.web{color:#315ac7;background:#f0f4ff;font-size:18px}
.contact-tile small,
.contact-tile strong{display:block}
.contact-tile small{
  color:#87909a;
  font-size:8.5px;
  font-weight:650;
}
.contact-tile strong{
  margin-top:3px;
  color:#2c323a;
  font-size:10.5px;
  line-height:1.35;
  font-weight:720;
  overflow-wrap:anywhere;
}
.contact-copy-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:0 16px 16px;
}

.address-card{padding-bottom:4px}
.address-card .requisites-card-head{border-bottom:0;padding-bottom:8px}
.office-address{
  margin:0;
  padding:0 20px 14px;
  color:#505b67;
  font-size:10.5px;
  line-height:1.6;
}
.director-line{
  display:grid;
  grid-template-columns:20px 1fr;
  gap:8px;
  align-items:center;
  margin:0 20px 16px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
.director-line>span{
  color:#536b9f;
  font-size:8px;
}
.director-line p{margin:0}
.director-line small,
.director-line strong{display:block}
.director-line small{color:#8a939d;font-size:8px}
.director-line strong{margin-top:2px;color:#3b444f;font-size:10px}

.requisites-important{
  padding:18px 20px 16px;
}
.requisites-important-title{
  display:flex;
  align-items:center;
  gap:9px;
  color:#273044;
  font-size:13px;
}
.requisites-important-title>span{
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border:1px solid #e8aab0;
  border-radius:50%;
  color:var(--red);
  background:#fff5f6;
  font-weight:850;
}
.requisites-important ul{
  display:grid;
  gap:7px;
  margin:12px 0 0;
  padding-left:19px;
  color:#69737e;
  font-size:10px;
  line-height:1.45;
}
.requisites-important li::marker{color:var(--red)}

@media(max-width:980px){
  .requisites-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .requisites-banner{
    grid-template-columns:40px 1fr;
    padding:17px 16px;
  }
  .requisites-banner-icon{width:38px;height:38px;font-size:18px}
  .requisites-row{
    grid-template-columns:1fr auto;
    gap:6px 10px;
    padding:9px 0;
  }
  .requisites-row>span{grid-column:1 / -1}
  .contact-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .requisites-banner{display:block}
  .requisites-banner-icon{margin-bottom:10px}
  .requisites-row{grid-template-columns:1fr}
  .copy-btn{justify-self:start}
}
