/* Ось Personal 3.1.20 — обновлённая страница привычек */
.habits-screen-v3120{
  gap:16px;
}

.habits-screen-v3120 .habits-hero-v3120{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:24px;
  align-items:stretch;
  padding:28px 30px;
  border:1px solid rgba(245,193,108,.24);
  border-radius:22px;
  background:
    radial-gradient(circle at 91% 10%,rgba(245,181,68,.18),transparent 34%),
    linear-gradient(138deg,rgba(27,42,74,.98),rgba(13,24,44,.98));
  box-shadow:0 24px 64px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.04);
}

.habits-screen-v3120 .habits-hero-v3120::after{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  right:-100px;
  bottom:-150px;
  border:1px solid rgba(245,181,68,.16);
  border-radius:50%;
  box-shadow:0 0 70px rgba(245,181,68,.08);
  pointer-events:none;
}

.habits-screen-v3120 .habits-hero-copy{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
}

.habits-screen-v3120 .habits-hero-copy>small{
  color:#9eacc5;
  text-transform:none;
  letter-spacing:0;
  font-size:.88rem;
}

.habits-screen-v3120 .habits-hero-copy h2{
  margin:7px 0 8px;
  font-size:clamp(2rem,3vw,2.55rem);
  line-height:1.05;
  letter-spacing:-.035em;
}

.habits-screen-v3120 .habits-hero-copy p{
  max-width:620px;
  margin:0;
  color:#b4bfd3;
  font-size:.98rem;
  line-height:1.55;
}

.habits-screen-v3120 .habits-day-progress{
  width:min(100%,620px);
  height:9px;
  margin-top:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.06);
  border-radius:999px;
  background:#08101f;
  box-shadow:inset 0 1px 4px rgba(0,0,0,.35);
}

.habits-screen-v3120 .habits-day-progress>span{
  display:block;
  min-width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#f6bd56,#ed8d24);
  box-shadow:0 0 18px rgba(245,181,68,.42);
  transition:width .24s ease;
}

.habits-screen-v3120 .habits-hero-actions{
  margin-top:auto;
  padding-top:24px;
  gap:10px;
}

.habits-screen-v3120 .habits-hero-actions>button{
  min-height:44px;
  border-radius:13px;
  padding:10px 16px;
}

.habits-screen-v3120 .habits-hero-actions>.secondary-button{
  color:#e8edf7!important;
  background:#121f36!important;
  border:1px solid rgba(255,255,255,.1)!important;
  box-shadow:none!important;
}

.habits-screen-v3120 .habits-hero-actions>.secondary-button:hover:not(:disabled){
  background:#172741!important;
  border-color:rgba(245,193,108,.28)!important;
}

.habits-screen-v3120 .habits-today-panel{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  gap:10px;
  min-width:0;
}

.habits-screen-v3120 .habits-today-score{
  display:grid;
  align-content:center;
  justify-items:start;
  min-height:132px;
  padding:20px 22px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  background:rgba(6,15,29,.72);
  box-shadow:inset 0 1px rgba(255,255,255,.025);
}

.habits-screen-v3120 .habits-today-score>span,
.habits-screen-v3120 .habits-today-stats span{
  color:#8f9db6;
  font-size:.78rem;
}

.habits-screen-v3120 .habits-today-score>strong{
  margin:7px 0 2px;
  color:#f7c66f;
  font-size:clamp(2.3rem,4vw,3.2rem);
  line-height:1;
  letter-spacing:-.05em;
}

.habits-screen-v3120 .habits-today-score>small{
  color:#c2cada;
  font-size:.82rem;
}

.habits-screen-v3120 .habits-today-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.habits-screen-v3120 .habits-today-stats>div{
  display:grid;
  gap:7px;
  min-width:0;
  padding:14px 15px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:15px;
  background:rgba(7,16,31,.72);
}

.habits-screen-v3120 .habits-today-stats strong{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:1.25rem;
}

.habits-screen-v3120 .habits-today-stats strong .habit-icon{
  width:17px;
  height:17px;
  color:#f5b544;
}

.habits-screen-v3120 .habits-today-stats .warning strong{
  color:#ffbd5c;
}

.habits-screen-v3120 .habits-toolbar{
  align-items:center;
  margin-top:0;
  padding:0;
}

.habits-screen-v3120 .habits-toolbar .habits-add-button{
  display:none;
}

.habits-screen-v3120 .habits-tabs{
  width:max-content;
  max-width:100%;
  padding:4px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:#08101fc7;
}

.habits-screen-v3120 .habits-tabs button{
  min-height:38px;
  padding:9px 16px;
  border-radius:10px;
}

.habits-screen-v3120 .habits-tabs button.active{
  background:linear-gradient(135deg,rgba(245,193,108,.18),rgba(23,36,61,.98));
  box-shadow:inset 0 0 0 1px rgba(245,193,108,.28);
}

.habits-screen-v3120 .habits-groups{
  gap:12px;
}

.habits-screen-v3120 .habits-group{
  position:relative;
  overflow:hidden;
  padding:0;
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(18,31,54,.96),rgba(13,24,43,.98));
  box-shadow:0 14px 36px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.025);
}

.habits-screen-v3120 .habits-group:hover{
  border-color:rgba(245,193,108,.18);
}

.habits-screen-v3120 .habits-group-head{
  min-height:74px;
  padding:17px 20px;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:rgba(7,16,31,.26);
}

.habits-screen-v3120 .habits-group-head small{
  color:#8896af;
  font-size:.74rem;
}

.habits-screen-v3120 .habits-group-head h2{
  margin:4px 0 0;
  font-size:1.08rem;
}

.habits-screen-v3120 .habits-group-head>strong{
  width:auto;
  min-width:36px;
  height:36px;
  padding:0 10px;
  border:1px solid rgba(245,181,68,.2);
  border-radius:11px;
  color:#f3c474;
  background:rgba(245,181,68,.1);
}

.habits-screen-v3120 .habit-list{
  margin:0;
  padding:0 20px;
}

.habits-screen-v3120 .habit-row{
  grid-template-columns:40px 44px minmax(0,1fr) auto;
  gap:12px;
  padding:16px 0;
  border-color:rgba(255,255,255,.065);
}

.habits-screen-v3120 .habit-check{
  width:38px;
  height:38px;
  border-radius:12px!important;
  border-color:rgba(245,181,68,.45)!important;
  background:#08101f!important;
}

.habits-screen-v3120 .habit-row-icon{
  width:42px;
  height:42px;
  border-radius:13px;
  box-shadow:inset 0 0 0 1px rgba(245,181,68,.14);
}

.habits-screen-v3120 .habit-row-title h3{
  font-size:.98rem;
}

.habits-screen-v3120 .habit-row-copy>p{
  margin-top:4px;
  color:#8997b0;
  font-size:.78rem;
}

.habits-screen-v3120 .habit-meta{
  margin-top:7px;
  gap:8px;
  color:#77859e;
  font-size:.72rem;
}

.habits-screen-v3120 .habit-week{
  gap:5px;
  margin-top:9px;
}

.habits-screen-v3120 .habit-week>span{
  width:28px;
  height:30px;
  border-radius:8px;
  background:#08101f;
}

.habits-screen-v3120 .habit-row-actions{
  gap:2px;
}

.habits-screen-v3120 .habit-row-actions button{
  width:34px;
  height:34px;
  border-radius:10px!important;
}

.habits-screen-v3120 .habits-empty{
  border-radius:20px;
  background:linear-gradient(145deg,rgba(18,31,54,.96),rgba(13,24,43,.98));
}

@media (max-width:1050px){
  .habits-screen-v3120 .habits-hero-v3120{
    grid-template-columns:1fr;
  }
  .habits-screen-v3120 .habits-today-panel{
    grid-template-columns:minmax(220px,.75fr) minmax(300px,1.25fr);
    grid-template-rows:1fr;
  }
  .habits-screen-v3120 .habits-today-score{
    min-height:118px;
  }
  .habits-screen-v3120 .habits-today-stats{
    align-self:stretch;
  }
}

@media (max-width:700px){
  .habits-screen-v3120{
    gap:12px;
  }
  .habits-screen-v3120 .habits-hero-v3120{
    gap:18px;
    padding:20px 17px;
    border-radius:20px;
  }
  .habits-screen-v3120 .habits-hero-copy h2{
    font-size:2rem;
  }
  .habits-screen-v3120 .habits-hero-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
    padding-top:20px;
  }
  .habits-screen-v3120 .habits-hero-actions>button{
    width:100%;
  }
  .habits-screen-v3120 .habits-today-panel{
    grid-template-columns:1fr;
  }
  .habits-screen-v3120 .habits-today-score{
    min-height:110px;
  }
  .habits-screen-v3120 .habits-today-stats{
    grid-template-columns:1fr 1fr;
  }
  .habits-screen-v3120 .habits-toolbar{
    display:block;
  }
  .habits-screen-v3120 .habits-tabs{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    width:100%;
  }
  .habits-screen-v3120 .habits-tabs button{
    padding:8px 4px;
    font-size:.72rem;
  }
  .habits-screen-v3120 .habits-group-head{
    min-height:68px;
    padding:15px 16px;
  }
  .habits-screen-v3120 .habit-list{
    padding:0 15px;
  }
  .habits-screen-v3120 .habit-row{
    grid-template-columns:38px 40px minmax(0,1fr);
    gap:9px;
    padding:15px 0;
  }
  .habits-screen-v3120 .habit-row-icon{
    width:40px;
    height:40px;
  }
  .habits-screen-v3120 .habit-row-actions{
    grid-column:2/4;
    justify-content:flex-end;
    padding-top:8px;
    border-top:1px dashed rgba(255,255,255,.07);
  }
  .habits-screen-v3120 .habit-week{
    overflow-x:auto;
    padding-bottom:2px;
  }
}

@media (max-width:420px){
  .habits-screen-v3120 .habits-today-stats{
    grid-template-columns:1fr;
  }
  .habits-screen-v3120 .habits-tabs button{
    font-size:.68rem;
  }
}
