@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

:root{
  --yellow:#FFD600;
  --black:#0B0D0F;
  --bg:#111111;
  --card:#17191C;
  --card2:#1D2024;
  --border:#30343A;
  --white:#FFFFFF;
  --gray:#9E9E9E;
  --muted:#70757D;
  --green:#63D391;
  --blue:#70C8FF;
}

*{
  box-sizing:border-box;
}

html,
body{
  margin:0;
  padding:0;
  min-height:100%;
  background:var(--bg)!important;
  color:var(--white)!important;
  font-family:Montserrat,Arial,sans-serif;
}

body{
  font-size:14px;
}

a{
  color:inherit;
}

button,
input,
textarea,
select{
  font:inherit;
}

/* =========================
   HEADER
   ========================= */

.crm-header{
  background:#0B0D0F;
  color:#fff;
  border-bottom:1px solid var(--border);
}

.header-inner{
  max-width:1240px;
  margin:0 auto;
  padding:14px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.brand{
  display:flex;
  align-items:center;
  gap:14px;
  color:#fff;
  text-decoration:none;
  min-width:0;
}

.crm-logo{
  display:block;
  width:230px;
  height:auto;
  max-height:62px;
  object-fit:contain;
}

.brand span{
  display:none;
}

.header-right{
  display:flex;
  align-items:center;
  gap:20px;
}

.header-label{
  color:var(--gray);
  font-size:12px;
}

.site-link{
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
}

.site-link:hover{
  color:var(--yellow);
}

.logout-link{
  display:inline-flex;
  align-items:center;
  padding:9px 13px;
  border:1px solid var(--border);
  border-radius:9px;
  color:#fff;
  text-decoration:none;
  font-size:12px;
  font-weight:700;
  background:transparent;
}

.logout-link:hover{
  border-color:var(--yellow);
  color:var(--yellow);
}

/* =========================
   MAIN
   ========================= */

.crm-main{
  max-width:1240px;
  margin:0 auto;
  padding:34px 24px 60px;
  background:var(--bg);
}

.crm-main .container{
  max-width:none;
  margin:0;
  padding:0;
}

.top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:26px;
}

.top h1{
  margin:0;
  color:#fff;
  font-size:36px;
  letter-spacing:-1.5px;
}

.top p{
  margin:8px 0 0;
  color:var(--gray);
  font-size:14px;
}

/* =========================
   BUTTONS
   ========================= */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 17px;
  border:1px solid var(--yellow);
  border-radius:10px;
  background:var(--yellow);
  color:#111;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}

.btn:hover{
  background:#FFE44D;
  color:#111;
}

.btn.secondary{
  background:transparent;
  border-color:var(--border);
  color:#fff;
}

.btn.secondary:hover{
  border-color:var(--yellow);
  color:var(--yellow);
}

/* =========================
   STATS
   ========================= */

.stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-bottom:26px;
}

.stat{
  position:relative;
  overflow:hidden;
  min-height:120px;
  padding:22px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:none;
}

.stat:after{
  content:"";
  position:absolute;
  right:-28px;
  top:-28px;
  width:100px;
  height:100px;
  border-radius:50%;
  background:rgba(255,214,0,.06);
}

.stat b{
  position:relative;
  z-index:1;
  display:block;
  color:var(--yellow);
  font-size:34px;
  line-height:1;
  letter-spacing:-1.5px;
}

.stat span{
  position:relative;
  z-index:1;
  display:block;
  margin-top:10px;
  color:var(--gray);
  font-size:13px;
}

/* =========================
   SOURCE CARDS
   ========================= */

.lead-source-dashboard{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-bottom:24px;
}

.lead-source-card{
  display:block;
  padding:18px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  text-decoration:none;
}

.lead-source-card:hover{
  border-color:var(--yellow);
  background:var(--card2);
}

.lead-source-card .label{
  display:block;
  color:var(--gray);
  font-size:11px;
  font-weight:700;
  margin-bottom:9px;
}

.lead-source-card .count{
  display:block;
  color:var(--yellow);
  font-size:28px;
  line-height:1;
  font-weight:800;
}

.lead-source-card .hint{
  display:block;
  margin-top:8px;
  color:var(--muted);
  font-size:10px;
}

/* =========================
   FILTERS
   ========================= */

.sales-filter{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:0 0 12px;
}

.sales-filter a{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--card);
  color:var(--gray);
  text-decoration:none;
  font-size:11px;
  font-weight:700;
}

.sales-filter a:hover{
  border-color:var(--yellow);
  color:#fff;
}

.sales-filter a.active{
  background:var(--yellow);
  border-color:var(--yellow);
  color:#111;
}

/* =========================
   SECTION HEAD
   ========================= */

.clients-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:30px 0 12px;
}

.clients-head h2{
  margin:0;
  color:#fff;
  font-size:20px;
  letter-spacing:-.5px;
}

.clients-head span{
  display:block;
  margin-top:5px;
  color:var(--gray);
  font-size:11px;
}

/* =========================
   CLIENT LIST
   ========================= */

.clients-list{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
}

.client-row{
  display:grid;
  grid-template-columns:1.2fr 1.4fr .9fr 30px;
  align-items:center;
  gap:20px;
  padding:17px 20px;
  background:var(--card);
  border-bottom:1px solid var(--border);
  color:#fff;
  text-decoration:none;
}

.client-row:last-child{
  border-bottom:0;
}

.client-row:hover{
  background:var(--card2);
}

.client-main{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.client-avatar{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:var(--yellow);
  color:#111;
  font-weight:800;
}

.client-info{
  min-width:0;
}

.client-info strong{
  display:block;
  color:#fff;
  font-size:14px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.client-info span{
  display:block;
  margin-top:4px;
  color:var(--gray);
  font-size:12px;
}

.client-reason{
  min-width:0;
}

.client-reason small,
.client-status small{
  display:block;
  color:var(--muted);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.client-reason span{
  display:block;
  margin-top:5px;
  color:#fff;
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.client-status{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}

.client-status small{
  font-size:10px;
  text-transform:none;
  letter-spacing:0;
}

.client-arrow{
  color:var(--yellow);
  font-size:25px;
  text-align:right;
}

/* =========================
   STATUS
   ========================= */

.status-badge,
.sales-badge,
.source-badge{
  display:inline-flex;
  align-items:center;
  padding:5px 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}

.status-badge{
  background:#292D32;
  color:#fff;
}

.status-new{
  background:#332E00;
  color:var(--yellow);
}

.status-ip{
  background:#182A35;
  color:var(--blue);
}

.status-ready{
  background:#12351F;
  color:var(--green);
}

.status-account{
  background:#123737;
  color:#6DE0DF;
}

.status-kep{
  background:#2B2140;
  color:#C6A5FF;
}

.status-permit{
  background:#382711;
  color:#FFB866;
}

.status-active{
  background:#12351F;
  color:var(--green);
}

/* SALES */

.sales-badge{
  background:#332E00;
  color:var(--yellow);
}

.sales-badge.paid{
  background:#12351F;
  color:var(--green);
}

.sales-badge.waiting{
  background:#382711;
  color:#FFD966;
}

.sales-badge.work{
  background:#182A35;
  color:var(--blue);
}

/* SOURCES */

.source-badge.max{
  background:#182A35;
  color:var(--blue);
}

.source-badge.telegram{
  background:#122D3A;
  color:#69C8F5;
}

.source-badge.site{
  background:#14331F;
  color:#70E09B;
}

.source-badge.manual{
  background:#292D32;
  color:#C4C8CE;
}

/* =========================
   EMPTY
   ========================= */

.empty-state{
  padding:55px 20px;
  text-align:center;
  background:var(--card);
}

.empty-state strong{
  display:block;
  color:#fff;
  font-size:16px;
}

.empty-state span{
  display:block;
  margin-top:7px;
  color:var(--gray);
  font-size:13px;
}

/* =========================
   CARDS / TABLE
   ========================= */

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

.table-wrap{
  overflow-x:auto;
}

table{
  width:100%;
  border-collapse:collapse;
}

th,
td{
  text-align:left;
  padding:14px 18px;
  border-bottom:1px solid var(--border);
}

th{
  background:#0D0F11;
  color:var(--gray);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

td{
  color:#fff;
  font-size:13px;
}

td a{
  color:#fff;
  text-decoration:none;
  font-weight:700;
}

td a:hover{
  color:var(--yellow);
}

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

/* =========================
   PASSPORT
   ========================= */

.passport-card{
  margin-bottom:18px;
  padding:20px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:none;
}

.passport-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:16px;
}

.passport-head h2{
  margin:0;
  color:#fff;
  font-size:18px;
}

.passport-head span{
  display:block;
  margin-top:5px;
  color:var(--gray);
  font-size:12px;
}

.passport-head strong{
  padding:7px 11px;
  border-radius:999px;
  background:#332E00;
  color:var(--yellow);
  font-size:11px;
}

.passport-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.passport-grid>div{
  padding:12px 13px;
  background:var(--card2);
  border:1px solid var(--border);
  border-radius:11px;
}

.passport-grid span{
  display:block;
  color:var(--muted);
  font-size:10px;
  font-weight:700;
  margin-bottom:6px;
}

.passport-grid b{
  color:#fff;
  font-size:13px;
}

/* =========================
   LOGIN
   ========================= */

.login-page{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:var(--bg);
}

.login-card{
  width:100%;
  max-width:420px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:18px;
  padding:32px;
  box-shadow:none;
}

.login-brand{
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:30px;
}

.login-brand strong{
  color:#fff;
}

.login-brand small{
  display:block;
  margin-top:3px;
  color:var(--gray);
  font-size:11px;
}

.login-card h1{
  margin:0;
  color:#fff;
  font-size:27px;
}

.login-card>p{
  margin:8px 0 24px;
  color:var(--gray);
  font-size:13px;
  line-height:1.5;
}

.login-card label{
  display:block;
  margin-top:15px;
  color:var(--gray);
  font-size:12px;
  font-weight:700;
}

.login-card input{
  display:block;
  width:100%;
  margin-top:7px;
  min-height:44px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--card2);
  color:#fff;
  outline:none;
}

.login-card input:focus{
  border-color:var(--yellow);
  box-shadow:0 0 0 3px rgba(255,214,0,.08);
}

.login-card button{
  width:100%;
  margin-top:22px;
  min-height:45px;
}

/* =========================
   MOBILE
   ========================= */

@media(max-width:900px){

  .stats{
    grid-template-columns:repeat(2,1fr);
  }

  .lead-source-dashboard{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:800px){

  .client-row{
    grid-template-columns:1fr auto;
    gap:12px;
  }

  .client-reason{
    display:none;
  }

  .client-status{
    justify-self:end;
  }

  .client-arrow{
    display:none;
  }
}

@media(max-width:650px){

  .header-inner{
    padding:12px 14px;
  }

  .crm-logo{
    width:180px;
    max-width:48vw;
  }

  .header-label,
  .site-link{
    display:none;
  }

  .header-right{
    gap:8px;
  }

  .logout-link{
    padding:8px 10px;
  }

  .crm-main{
    padding:24px 14px 50px;
  }

  .top{
    align-items:flex-start;
    flex-direction:column;
  }

  .top h1{
    font-size:30px;
  }

  .top .btn{
    width:100%;
  }

  .stats{
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .stat{
    min-height:105px;
    padding:17px;
  }

  .stat b{
    font-size:28px;
  }

  .lead-source-dashboard{
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .lead-source-card{
    padding:15px;
  }

  .clients-list{
    border-radius:12px;
  }

  .client-row{
    padding:14px;
  }

  .client-avatar{
    width:38px;
    height:38px;
    flex-basis:38px;
  }

  .passport-grid{
    grid-template-columns:1fr 1fr;
  }

  .passport-head{
    align-items:flex-start;
    gap:12px;
  }
}

@media(max-width:450px){

  .lead-source-dashboard{
    grid-template-columns:1fr;
  }

  .crm-logo{
    width:165px;
  }
}

/* =========================================================
   TAXIBUH — CLIENT PAGE FINAL DARK THEME
   ========================================================= */

.client-page{
  color:#fff!important;
}

.client-top,
.client-card,
.passport-card{
  background:#17191C!important;
  color:#fff!important;
  border:1px solid #30343A!important;
  box-shadow:none!important;
}

.client-top:after{
  background:#FFD600!important;
}

.client-title h1,
.client-card h2,
.passport-head h2{
  color:#fff!important;
}

.client-title h1:after{
  background:#332E00!important;
  color:#FFD600!important;
}

.client-title p{
  color:#9E9E9E!important;
}

/* buttons */

.client-actions .btn,
.client-actions .take-work-btn{
  background:#FFD600!important;
  color:#111!important;
  border-color:#FFD600!important;
  box-shadow:none!important;
}

.client-actions .btn.secondary{
  background:transparent!important;
  color:#fff!important;
  border-color:#30343A!important;
}

.client-actions .btn.secondary:hover{
  color:#FFD600!important;
  border-color:#FFD600!important;
}

/* source */

.client-source-badge.max{
  background:#182A35!important;
  color:#73C8FF!important;
}

.client-source-badge.telegram{
  background:#122D3A!important;
  color:#69C8F5!important;
}

.client-source-badge.site{
  background:#14331F!important;
  color:#70E09B!important;
}

.client-source-badge.manual{
  background:#292D32!important;
  color:#C4C8CE!important;
}

.client-sales-badge{
  background:#332E00!important;
  color:#FFD600!important;
}

/* progress */

.progress-head h2:before{
  background:#FFD600!important;
}

.progress-value{
  background:#332E00!important;
  color:#FFD600!important;
}

.progress-bar{
  background:#292D32!important;
}

.progress-fill{
  background:#FFD600!important;
}

/* stages */

.stage{
  background:#1D2024!important;
  border-color:#30343A!important;
  color:#9E9E9E!important;
}

.stage.done{
  background:#16291D!important;
  border-color:#285A38!important;
  color:#70E09B!important;
}

.stage.current{
  background:#332E00!important;
  border-color:#665D00!important;
  color:#FFD600!important;
}

/* finance */

.finance-summary>div{
  background:#1D2024!important;
  border-color:#30343A!important;
}

.finance-summary span{
  color:#9E9E9E!important;
}

.finance-summary strong{
  color:#fff!important;
}

.finance-summary .complete{
  background:#12351F!important;
  border-color:#285A38!important;
}

.finance-summary .complete strong{
  color:#70E09B!important;
}

.finance-summary .partial{
  background:#352B08!important;
  border-color:#665D00!important;
}

.finance-summary .partial strong{
  color:#FFD966!important;
}

.finance-summary .unpaid{
  background:#332E00!important;
  border-color:#665D00!important;
}

.finance-summary .unpaid strong{
  color:#FFD600!important;
}

.finance-grid label{
  color:#9E9E9E!important;
}

.finance-grid input,
.status-form select{
  background:#111111!important;
  color:#fff!important;
  border-color:#30343A!important;
}

.finance-grid input:focus,
.status-form select:focus{
  border-color:#FFD600!important;
  box-shadow:0 0 0 3px rgba(255,214,0,.12)!important;
}

/* sales pipeline */

.sales-step{
  background:#1D2024!important;
  color:#9E9E9E!important;
  border-color:#30343A!important;
}

.sales-step:hover{
  background:#292D32!important;
  color:#FFD600!important;
  border-color:#FFD600!important;
}

.sales-step.current{
  background:#FFD600!important;
  color:#111!important;
  border-color:#FFD600!important;
}

/* tasks */

.task:hover{
  background:#1D2024!important;
  border-color:#30343A!important;
}

.task button{
  background:#1D2024!important;
  color:#FFD600!important;
  border-color:#30343A!important;
}

.task button:hover{
  background:#FFD600!important;
  color:#111!important;
  border-color:#FFD600!important;
}

.task-text{
  color:#fff!important;
}

.task-text.done{
  color:#70757D!important;
}

/* status */

.status-form{
  background:#1D2024!important;
  border-color:#30343A!important;
}

.status-form select{
  color:#fff!important;
}

/* passport */

.passport-head span{
  color:#9E9E9E!important;
}

.passport-head strong{
  background:#332E00!important;
  color:#FFD600!important;
}

.passport-grid>div{
  background:#1D2024!important;
  border-color:#30343A!important;
}

.passport-grid span{
  color:#70757D!important;
}

.passport-grid b{
  color:#fff!important;
}

/* client data */

.info-item{
  background:#1D2024!important;
  border-color:#30343A!important;
}

.info-item:hover{
  background:#292D32!important;
  border-color:#444950!important;
}

.info-label{
  color:#70757D!important;
}

.info-value{
  color:#fff!important;
}

.info-value a{
  color:#FFD600!important;
}

/* note */

.note{
  background:#1D2024!important;
  border-color:#30343A!important;
  color:#fff!important;
}

.note b{
  color:#FFD600!important;
}

/* activity */

.activity-form{
  background:#1D2024!important;
  border-color:#30343A!important;
}

.activity-form input{
  color:#fff!important;
}

.activity-form input::placeholder{
  color:#70757D!important;
}

.activity-list:before{
  background:#30343A!important;
}

.activity{
  color:#fff!important;
}

.activity:before{
  background:#FFD600!important;
  border-color:#17191C!important;
  box-shadow:0 0 0 1px #665D00!important;
}

.activity time{
  color:#70757D!important;
}

/* empty */

.empty{
  color:#70757D!important;
}

/* payment */

.payment-progress-head{
  color:#9E9E9E!important;
}

.payment-progress-head b{
  color:#FFD600!important;
}

.payment-progress-bar{
  background:#292D32!important;
}

.payment-progress-bar div{
  background:#FFD600!important;
}

/* mobile */

@media(max-width:800px){
  .client-top,
  .client-card,
  .passport-card{
    background:#17191C!important;
  }
}



/* =========================================================
   TAXIBUH — FINAL FORM / LOGIN BRAND
   ========================================================= */

.form-page{
  max-width:900px;
  margin:0 auto;
}

.form-page-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px;
}

.form-page-head h1{
  margin:5px 0 7px;
  font-size:34px;
  letter-spacing:-1px;
}

.form-page-head p{
  margin:0;
  color:var(--tb-gray);
  font-size:14px;
}

.form-eyebrow,
.login-eyebrow{
  color:var(--tb-yellow);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.brand-form{
  background:var(--tb-card)!important;
  border:1px solid var(--tb-border)!important;
  border-radius:18px;
  padding:28px!important;
  box-shadow:none!important;
}

.brand-form label{
  display:block;
  margin-bottom:18px;
}

.brand-form label>span{
  display:block;
  margin-bottom:7px;
  color:var(--tb-gray);
  font-size:11px;
  font-weight:800;
  letter-spacing:.03em;
}

.brand-form input,
.brand-form select,
.brand-form textarea{
  width:100%;
  box-sizing:border-box;
  min-height:46px;
  padding:11px 13px;
  border:1px solid var(--tb-border);
  border-radius:10px;
  background:#111315;
  color:#fff;
  font:inherit;
  outline:none;
}

.brand-form textarea{
  min-height:120px;
  resize:vertical;
}

.brand-form input::placeholder,
.brand-form textarea::placeholder{
  color:#5f646b;
}

.brand-form input:focus,
.brand-form select:focus,
.brand-form textarea:focus{
  border-color:var(--tb-yellow);
  box-shadow:0 0 0 3px rgba(255,214,0,.10);
}

.brand-form select{
  appearance:auto;
}

.form-grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.form-section-title{
  display:flex;
  align-items:center;
  gap:9px;
  margin:4px 0 18px;
  padding-top:5px;
  color:#fff;
  font-size:15px;
  font-weight:800;
}

.form-section-title span{
  display:block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--tb-yellow);
  flex:0 0 7px;
}

.form-section-title:not(:first-child){
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid var(--tb-border);
}

.form-actions{
  display:flex;
  gap:10px;
  margin-top:8px;
  padding-top:22px;
  border-top:1px solid var(--tb-border);
}

.form-actions .btn{
  min-height:46px;
  padding:11px 20px;
}

.check-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:20px;
}

.check-card{
  position:relative;
  display:flex!important;
  align-items:center;
  gap:12px;
  margin:0!important;
  padding:16px!important;
  background:#111315;
  border:1px solid var(--tb-border);
  border-radius:12px;
  cursor:pointer;
}

.check-card:hover{
  border-color:var(--tb-yellow);
}

.check-card input{
  width:20px!important;
  min-height:20px!important;
  margin:0;
  accent-color:var(--tb-yellow);
  flex:0 0 20px;
}

.check-content{
  display:block!important;
  margin:0!important;
}

.check-content strong{
  display:block;
  color:#fff!important;
  font-size:13px;
}

.check-content small{
  display:block;
  margin-top:4px;
  color:var(--tb-gray);
  font-size:10px;
}

.brand-login-body{
  background:#0B0D0F!important;
}

.brand-login-page{
  min-height:100vh;
  padding:24px;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,214,0,.08),transparent 35%),
    #0B0D0F!important;
}

.brand-login-card{
  max-width:430px;
  padding:34px!important;
  background:#17191C!important;
  border:1px solid #30343A!important;
  border-radius:20px!important;
  box-shadow:0 20px 60px rgba(0,0,0,.35)!important;
}

.login-logo-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:70px;
  margin-bottom:24px;
  padding-bottom:24px;
  border-bottom:1px solid var(--tb-border);
}

.login-logo{
  display:block;
  width:210px;
  max-width:80%;
  height:auto;
  object-fit:contain;
}

.brand-login-card h1{
  margin:7px 0 8px;
  color:#fff!important;
  font-size:29px;
  letter-spacing:-.7px;
}

.brand-login-card>p{
  color:var(--tb-gray)!important;
  line-height:1.55;
}

.brand-login-card label{
  display:block;
  margin-top:17px;
}

.brand-login-card label span{
  display:block;
  margin-bottom:7px;
  color:var(--tb-gray);
  font-size:11px;
  font-weight:800;
}

.brand-login-card input{
  display:block;
  width:100%;
  box-sizing:border-box;
  min-height:46px;
  padding:11px 13px;
  border:1px solid var(--tb-border);
  border-radius:10px;
  background:#111315;
  color:#fff;
  font:inherit;
  outline:none;
}

.brand-login-card input::placeholder{
  color:#5f646b;
}

.brand-login-card input:focus{
  border-color:var(--tb-yellow);
  box-shadow:0 0 0 3px rgba(255,214,0,.10);
}

.login-submit{
  width:100%;
  min-height:48px;
  margin-top:22px;
  font-weight:800;
}

.login-back{
  display:block;
  margin-top:20px;
  text-align:center;
  color:var(--tb-gray);
  font-size:12px;
  text-decoration:none;
}

.login-back:hover{
  color:var(--tb-yellow);
}

@media(max-width:650px){

  .form-page-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .form-page-head h1{
    font-size:28px;
  }

  .form-page-head .btn{
    width:auto;
  }

  .brand-form{
    padding:20px!important;
    border-radius:14px;
  }

  .form-grid-2,
  .check-grid{
    grid-template-columns:1fr;
  }

  .form-actions{
    flex-direction:column;
  }

  .form-actions .btn{
    width:100%;
  }

  .brand-login-page{
    padding:16px;
  }

  .brand-login-card{
    padding:24px!important;
  }

  .login-logo{
    width:185px;
  }
}


/* =========================================================
   TAXIBUH — CLIENT PAGE FINAL MOBILE FIX
   ========================================================= */

.client-card{
  background:var(--tb-card)!important;
  border-color:var(--tb-border)!important;
  box-shadow:none!important;
}

.client-top{
  background:var(--tb-card)!important;
  border-color:var(--tb-border)!important;
  box-shadow:none!important;
}

.client-title h1{
  color:#fff!important;
}

.client-title p{
  color:var(--tb-gray)!important;
}

.client-top:after{
  background:var(--tb-yellow)!important;
}

.client-title h1:after{
  background:#332E00!important;
  color:var(--tb-yellow)!important;
}

.client-sales-badge{
  background:#332E00!important;
  color:var(--tb-yellow)!important;
}

.client-source-badge.site{
  background:#12351F!important;
  color:#6EE7A0!important;
}

.client-source-badge.telegram,
.client-source-badge.max{
  background:#332E00!important;
  color:var(--tb-yellow)!important;
}

.client-source-badge.manual{
  background:#292D32!important;
  color:#C4C8CE!important;
}


/* ЭТАП */

.progress-head h2{
  color:#fff!important;
}

.progress-head h2:before{
  background:var(--tb-yellow)!important;
}

.progress-value{
  background:#332E00!important;
  color:var(--tb-yellow)!important;
}

.progress-bar{
  background:#292D32!important;
}

.progress-fill{
  background:var(--tb-yellow)!important;
}

.stage{
  background:#1D2024!important;
  border-color:var(--tb-border)!important;
  color:var(--tb-gray)!important;
}

.stage.done{
  background:#332E00!important;
  border-color:#665D00!important;
  color:var(--tb-yellow)!important;
}

.stage.current{
  background:#332E00!important;
  border-color:#806F00!important;
  color:var(--tb-yellow)!important;
}

.stage-num{
  color:inherit!important;
}


/* ФИНАНСЫ */

.finance-summary{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

.finance-summary>div{
  min-width:0;
  background:#1D2024!important;
  border-color:var(--tb-border)!important;
}

.finance-summary span{
  color:var(--tb-gray)!important;
}

.finance-summary strong{
  color:#fff!important;
}

.finance-summary .complete strong{
  color:#6EE7A0!important;
}

.finance-summary .partial strong{
  color:#FFD966!important;
}

.finance-summary .unpaid strong{
  color:var(--tb-yellow)!important;
}

.finance-grid{
  display:grid!important;
  grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)!important;
  gap:14px!important;
  margin:18px 0!important;
}

.finance-grid>div{
  min-width:0!important;
}

.finance-grid label{
  display:block!important;
  margin:0 0 7px!important;
  color:var(--tb-gray)!important;
  font-size:11px!important;
  font-weight:800!important;
}

.finance-grid input{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  min-height:44px!important;
  padding:10px 12px!important;
  background:#111315!important;
  color:#fff!important;
  border:1px solid var(--tb-border)!important;
  border-radius:10px!important;
  font:inherit!important;
}

.finance-grid input:focus{
  outline:none!important;
  border-color:var(--tb-yellow)!important;
  box-shadow:0 0 0 3px rgba(255,214,0,.10)!important;
}


/* ВОРОНКА */

.sales-pipeline{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:9px!important;
}

.sales-pipeline form{
  min-width:0!important;
}

.sales-step{
  min-height:48px!important;
  background:#1D2024!important;
  border-color:var(--tb-border)!important;
  color:var(--tb-gray)!important;
}

.sales-step:hover{
  background:#292D32!important;
  border-color:var(--tb-yellow)!important;
  color:var(--tb-yellow)!important;
}

.sales-step.current{
  background:#332E00!important;
  border-color:#806F00!important;
  color:var(--tb-yellow)!important;
}


/* ЗАДАЧИ */

.tasks{
  color:#fff;
}

.task{
  border-color:transparent!important;
}

.task:hover{
  background:#1D2024!important;
  border-color:var(--tb-border)!important;
}

.task button{
  background:#111315!important;
  border-color:var(--tb-border)!important;
  color:var(--tb-yellow)!important;
}

.task button:hover{
  background:var(--tb-yellow)!important;
  border-color:var(--tb-yellow)!important;
  color:#111!important;
}

.task-text{
  color:#fff!important;
}

.task-text.done{
  color:#70757D!important;
}


/* СТАТУС */

.status-form{
  background:#1D2024!important;
  border-color:var(--tb-border)!important;
}

.status-form select{
  background:#111315!important;
  color:#fff!important;
  border-color:var(--tb-border)!important;
}

.status-form select:focus{
  border-color:var(--tb-yellow)!important;
  box-shadow:0 0 0 3px rgba(255,214,0,.10)!important;
}


/* ПАСПОРТ ИП */

.passport-card{
  background:var(--tb-card)!important;
  border-color:var(--tb-border)!important;
  box-shadow:none!important;
}

.passport-head h2{
  color:#fff!important;
}

.passport-head span{
  color:var(--tb-gray)!important;
}

.passport-head strong{
  background:#332E00!important;
  color:var(--tb-yellow)!important;
}

.passport-grid>div{
  background:#1D2024!important;
  border-color:var(--tb-border)!important;
}

.passport-grid span{
  color:#70757D!important;
}

.passport-grid b{
  color:#fff!important;
}


/* ДАННЫЕ КЛИЕНТА */

.info-item{
  background:#1D2024!important;
  border-color:var(--tb-border)!important;
}

.info-label{
  color:#70757D!important;
}

.info-value{
  color:#fff!important;
}

.contact-link{
  color:var(--tb-yellow)!important;
}

.note{
  background:#1D2024!important;
  border-color:var(--tb-border)!important;
  color:#fff!important;
}


/* ИСТОРИЯ */

.activity{
  color:#fff!important;
}

.activity-list:before{
  background:var(--tb-border)!important;
}

.activity:before{
  background:var(--tb-yellow)!important;
  box-shadow:0 0 0 1px #806F00!important;
}

.activity time{
  color:#70757D!important;
}

.activity-form{
  background:#1D2024!important;
  border-color:var(--tb-border)!important;
}

.activity-form input{
  color:#fff!important;
}

.activity-form input::placeholder{
  color:#70757D!important;
}


/* МОБИЛЬНАЯ ВЕРСИЯ */

@media(max-width:700px){

  .finance-summary{
    grid-template-columns:1fr!important;
  }

  .finance-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .finance-grid>div{
    width:100%!important;
  }

  .finance-grid input{
    width:100%!important;
  }

  .sales-pipeline{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .sales-step{
    min-height:58px!important;
    font-size:11px!important;
  }

}

@media(max-width:430px){

  .sales-pipeline{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }

  .client-card{
    padding:18px!important;
  }

}

/* ===== TAXIBUH FINAL FINANCE FIX ===== */

.finance-summary{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin:18px 0!important;
}

.finance-summary > div{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:70px!important;
  box-sizing:border-box!important;
  padding:14px!important;
  background:#1D2024!important;
  border:1px solid #30343A!important;
  border-radius:11px!important;
}

.finance-summary > div > span{
  display:block!important;
  width:100%!important;
  margin:0 0 6px!important;
  color:#9E9E9E!important;
  font-size:11px!important;
  line-height:1.2!important;
  white-space:normal!important;
}

.finance-summary > div > strong{
  display:block!important;
  width:100%!important;
  margin:0!important;
  color:#FFFFFF!important;
  font-size:19px!important;
  line-height:1.2!important;
}

.finance-summary .complete > strong{
  color:#6EE7A0!important;
}

.finance-summary .partial > strong{
  color:#FFD966!important;
}

.finance-summary .unpaid > strong{
  color:#FFD600!important;
  background:transparent!important;
}


/* ===== ЭТАПЫ — ТЁМНЫЕ ГРАНИЦЫ ===== */

.stage{
  border:1px solid #30343A!important;
  background:#1D2024!important;
}

.stage.current{
  border:1px solid #806F00!important;
  background:#332E00!important;
}

.stage.done{
  border:1px solid #665D00!important;
  background:#332E00!important;
}


/* ===== ВОРОНКА — ТЁМНЫЕ КНОПКИ ===== */

.sales-step{
  border:1px solid #30343A!important;
  background:#1D2024!important;
}

.sales-step.current{
  border:1px solid #806F00!important;
  background:#332E00!important;
}


/* ===== МОБИЛЬНЫЙ ===== */

@media(max-width:700px){

  .finance-summary{
    grid-template-columns:1fr!important;
  }

  .finance-summary > div{
    min-height:68px!important;
  }

}
