/* =========================================================
   LIFE OS v19 — БОЛЬШЕ ВОЗДУХА + МЯГКИЙ НЕОН + ICON BUTTONS
   ========================================================= */
:root{
  --panel-glow:0 28px 84px rgba(0,0,0,.26),0 0 46px rgba(238,167,179,.025);
  --neon-green:rgba(239,63,78,.28);
  --neon-blue:rgba(238,167,179,.24);
}

.pages{padding-top:10px;padding-bottom:82px}
.calen {margin-bottom: -80px;}
.section-head{margin-bottom:22px}
.section-head--page{padding-bottom:8px}
.section-head h2{font-size:clamp(29px,3.15vw,43px)}
.panel{padding:24px;border-radius:24px;box-shadow:0 18px 58px rgba(0,0,0,.14)}
.panel__head{margin-bottom:8px}
.panel__head h3{font-size:23px}
.hero-card{padding:31px}
.goal-card{min-height:192px;padding:20px}
.metric-card{padding:20px}
.task-column,.task-insight{padding:24px}

.panel-head-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.icon-btn{
  width:38px;height:38px;display:grid;place-items:center;padding:0;
  border-radius:12px;border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  color:#9ba3b2;font-size:16px;cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s ease,color .25s ease,background .25s ease,box-shadow .25s ease
}
.icon-btn:hover{
  transform:translateY(-2px) rotate(-4deg);color:var(--accent);
  border-color:var(--neon-green);background:rgba(239,63,78,.055);
  box-shadow:0 0 0 1px rgba(239,63,78,.05),0 8px 28px rgba(0,0,0,.25),0 0 24px rgba(239,63,78,.09)
}
.icon-btn:active{transform:translateY(0) scale(.94)}

.dashboard-task-panel,.dashboard-habit-panel,.finance-panel,.result-panel{position:relative;isolation:isolate;overflow:hidden}
.dashboard-task-panel:before,.dashboard-habit-panel:before,.finance-panel:before,.result-panel:before{
  content:"";position:absolute;z-index:-1;width:190px;height:190px;border-radius:50%;
  top:-125px;right:-95px;filter:blur(64px);opacity:.07;pointer-events:none;
  transition:opacity .45s ease,transform .7s cubic-bezier(.2,.8,.2,1)
}
.dashboard-task-panel:before,.finance-panel:before{background:var(--accent-2)}
.dashboard-habit-panel:before,.result-panel:before{background:var(--accent)}
.dashboard-task-panel:hover:before,.dashboard-habit-panel:hover:before,.finance-panel:hover:before,.result-panel:hover:before{opacity:.15;transform:translate(-22px,24px) scale(1.08)}
.dashboard-task-panel:hover{border-color:rgba(238,167,179,.22);box-shadow:var(--panel-glow),0 0 32px rgba(238,167,179,.035)}
.dashboard-habit-panel:hover{border-color:rgba(239,63,78,.20);box-shadow:var(--panel-glow),0 0 32px rgba(239,63,78,.032)}

.task-item{padding:14px 6px;border-radius:13px;border-bottom:1px solid var(--line);transition:transform .25s ease,background .25s ease,padding .25s ease}
.task-item:hover{transform:translateX(3px);background:rgba(238,167,179,.025);padding-left:10px;padding-right:10px}
.goal-card,.goal-detail,.habit-card,.week-row{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.week-row{padding-inline:8px;border-radius:12px}
.organizer-source-group{display:grid;gap:7px;margin-top:13px}.organizer-source-group:first-child{margin-top:10px}.organizer-source-group__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 7px;color:var(--muted)}.organizer-source-group__head strong{font:700 9px "Manrope",sans-serif;letter-spacing:.08em;text-transform:uppercase}.organizer-source-group__head span{display:grid;place-items:center;min-width:22px;height:22px;border-radius:8px;background:rgba(255,255,255,.055);font-size:8px}.organizer-source-group__items{display:grid;gap:7px}
.task-item .row-action{border-color:rgba(255,255,255,.07);background:rgba(255,255,255,.025)}
.task-item .task-timer:hover{color:var(--accent-2);border-color:rgba(238,167,179,.24);box-shadow:0 0 18px rgba(238,167,179,.07)}
.task-item .task-favorite:hover,.task-item .task-favorite.active{box-shadow:0 0 18px rgba(239,63,78,.07)}

.habit-card{padding:8px;border-radius:17px;transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .28s ease,background .28s ease,box-shadow .28s ease}
.habit-card:hover{transform:translateY(-2px) translateX(2px);border-color:rgba(239,63,78,.24);box-shadow:0 14px 34px rgba(0,0,0,.18),0 0 22px rgba(239,63,78,.025)}
.habit-card.done{border-color:rgba(239,63,78,.13);background:linear-gradient(145deg,rgba(239,63,78,.045),rgba(255,255,255,.015))}
.habit-check-ui{transition:transform .25s ease,box-shadow .3s ease,background .25s ease}
.habit-card.done .habit-check-ui{transform:scale(1.03);box-shadow:0 0 24px rgba(239,63,78,.14)}

.pill{background:rgba(255,255,255,.032);backdrop-filter:blur(10px)}
.primary-btn{box-shadow:0 6px 22px rgba(239,63,78,.055)}
.primary-btn:hover{transform:translateY(-2px);box-shadow:0 13px 36px rgba(239,63,78,.18),0 0 22px rgba(239,63,78,.055)}
.organizer-tab.active{box-shadow:inset 0 0 0 1px rgba(239,63,78,.11),0 0 24px rgba(239,63,78,.035)}

@media(max-width:650px){
  .panel{padding:20px;border-radius:20px}
  .hero-card{padding:22px}/*
  .section-head{margin-top:-27px}*/
  .panel-head-actions{gap:6px}
  .icon-btn{width:36px;height:36px}
  .task-item:hover,.habit-card:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .icon-btn,.task-item,.habit-card,.habit-check-ui,.dashboard-task-panel:before,.dashboard-habit-panel:before,.finance-panel:before,.result-panel:before{transition:none!important;transform:none!important}
}

@media(max-width:400px){

    .panel {margin-top: 10px;}
}


   
.modal__dialog:has(#keyResultForm) {
    text-align: center;
}

.modal__dialog:has(#keyResultForm) input,
.modal__dialog:has(#keyResultForm) select {
    text-align: center;
}

.modal__dialog:has(#keyResultForm) textarea {
    text-align: center;
    min-height: 50px;
    padding: 38px 16px;
    box-sizing: border-box;
    resize: vertical;
}

.modal__dialog:has(#keyResultForm) input::placeholder,
.modal__dialog:has(#keyResultForm) textarea::placeholder {
    text-align: center;
}

.modal__dialog:has(#keyResultForm) .form-actions {
    justify-content: center;
}
