/* VIDLIK learner home v4 — visual layer based on the approved dashboard mockup. */
.portal-shell.home-balanced{background:#f4f8f6}
.portal-shell.home-balanced .portal-top{height:108px;padding-left:38px;padding-right:38px}
.portal-shell.home-balanced .portal-top h1{font-weight:650;font-size:27px}
.portal-shell.home-balanced .portal-top h1:after{content:'Продовжуй рух — кожен урок наближає до мети.';display:block;margin-top:8px;color:#71847b;font-size:13px;font-weight:450;letter-spacing:0}
.portal-shell.home-balanced .portal-content{max-width:1500px;padding:26px 34px 42px}

/* KPI row */
.portal-shell.home-balanced .dash-grid{gap:12px;margin-bottom:14px}
.portal-shell.home-balanced .dash-stat{min-height:94px;padding:14px 16px;border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(12,43,34,.035)}
.portal-shell.home-balanced .dash-stat-icon{width:44px;height:44px;border-radius:12px}
.portal-shell.home-balanced .dash-stat b{font-size:25px;margin:2px 0}
.portal-shell.home-balanced .dash-stat span{font-size:11px}
.portal-shell.home-balanced .dash-stat small{font-size:10px}

/* Continue-learning hero */
.portal-shell.home-balanced .home-focus-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:14px}
.portal-shell.home-balanced .quick-card.resume-learning-card{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) 230px 160px;gap:24px;align-items:center;width:100%;min-height:250px;padding:30px 34px;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:linear-gradient(118deg,#0a3b2d 0%,#0c4a36 55%,#14543f 100%);box-shadow:0 16px 38px rgba(12,43,34,.12);overflow:hidden}
.portal-shell.home-balanced .quick-card.resume-learning-card:before{width:460px;height:460px;right:-185px;top:-215px;background:radial-gradient(circle,rgba(185,233,104,.14),rgba(185,233,104,0) 68%)}
.portal-shell.home-balanced .quick-card.resume-learning-card:after{right:35px;bottom:-95px;width:340px;height:340px;opacity:.22;background:linear-gradient(45deg,transparent 44%,rgba(255,255,255,.08) 45%,rgba(255,255,255,.08) 47%,transparent 48%),linear-gradient(-45deg,transparent 44%,rgba(255,255,255,.055) 45%,rgba(255,255,255,.055) 47%,transparent 48%);background-size:60px 60px;transform:rotate(8deg)}
.portal-shell.home-balanced .resume-learning-card .resume-copy{position:relative;z-index:2;min-width:0;padding-left:94px}
.portal-shell.home-balanced .resume-course-badge{position:absolute;left:0;top:8px;width:72px;height:72px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#2d8d68,#3eaa78);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 8px 22px rgba(0,0,0,.12);color:#fff;font-size:22px;font-weight:950;letter-spacing:.02em}
.portal-shell.home-balanced .resume-learning-card .quick-kicker{color:#c2f05e;font-size:10px;letter-spacing:.13em}
.portal-shell.home-balanced .resume-learning-card h2{margin:7px 0 5px;color:#fff;font-size:29px;line-height:1.08;font-weight:700}
.portal-shell.home-balanced .resume-learning-card .resume-location{color:#c6ddd3;font-size:13px;font-weight:750;margin:0}
.portal-shell.home-balanced .resume-learning-card .resume-lesson-title{margin:5px 0 0;color:#e7f2ed;font-size:16px}
.portal-shell.home-balanced .resume-learning-card .resume-overall{max-width:650px;margin-top:22px;color:#b8d0c6;font-size:11px}
.portal-shell.home-balanced .resume-learning-card .resume-overall b{font-size:15px}
.portal-shell.home-balanced .resume-learning-card .resume-track{max-width:650px;height:7px;background:rgba(255,255,255,.14)}
.portal-shell.home-balanced .resume-learning-card .resume-actions{gap:12px;margin-top:18px}
.portal-shell.home-balanced .resume-learning-card .resume-primary{min-width:220px;border-radius:10px;background:linear-gradient(90deg,#b8f249,#8ce969);color:#123c2f;padding:13px 20px;font-size:12px}
.portal-shell.home-balanced .resume-learning-card .resume-primary:hover{background:linear-gradient(90deg,#c6f85e,#9bed79)}
.portal-shell.home-balanced .resume-learning-card .resume-format{display:none}
.portal-shell.home-balanced .resume-module-button{border:1px solid rgba(224,242,234,.34);background:rgba(7,45,33,.18);color:#eef7f3;border-radius:10px;padding:12px 18px;font-size:12px;font-weight:850;cursor:pointer;transition:background .16s ease,border-color .16s ease}
.portal-shell.home-balanced .resume-module-button:hover{background:rgba(255,255,255,.08);border-color:rgba(224,242,234,.55)}
.portal-shell.home-balanced .resume-meta-panel{position:relative;z-index:2;display:grid;gap:11px;align-content:center}
.portal-shell.home-balanced .resume-meta-row{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;color:#d8ebe2}
.portal-shell.home-balanced .resume-meta-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.055);font-size:16px}
.portal-shell.home-balanced .resume-meta-row small{display:block;color:#93baaa;font-size:9px}
.portal-shell.home-balanced .resume-meta-row b{display:block;margin-top:2px;color:#f3faf7;font-size:11px;font-weight:750}
.portal-shell.home-balanced .resume-learning-card .resume-visual{z-index:2;width:142px;height:142px;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.09),rgba(255,255,255,.025));border-color:rgba(255,255,255,.12)}
.portal-shell.home-balanced .resume-learning-card .resume-visual:before{inset:13px;border-width:8px}
.portal-shell.home-balanced .resume-learning-card .resume-visual span{font-size:25px}

/* Today plan: one calm horizontal strip instead of a dashboard inside a dashboard. */
.portal-shell.home-balanced .today-panel{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.65fr) minmax(180px,.65fr);align-items:stretch;gap:0;min-height:116px;margin:0;border:1px solid #dce7e2;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(12,43,34,.035);overflow:hidden}
.portal-shell.home-balanced .today-head{display:contents}
.portal-shell.home-balanced .today-head>div:first-child{grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:center;padding:18px 18px 18px 22px}
.portal-shell.home-balanced .today-head .section-kicker{font-size:9px;color:#4e7c6b}
.portal-shell.home-balanced .today-head h2{margin:4px 0 2px;font-size:21px;color:#102b22}
.portal-shell.home-balanced .today-head p{margin:0;color:#7d9188;font-size:10px}
.portal-shell.home-balanced .today-summary{grid-column:3;grid-row:1;display:grid;grid-template-columns:1fr;align-content:center;gap:0;padding:12px 18px 12px 10px;border-left:1px solid #e1ebe6;background:#fff}
.portal-shell.home-balanced .today-summary-item{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center;padding:7px 4px;border:0;border-radius:0;background:transparent}
.portal-shell.home-balanced .today-summary-item:nth-child(2){display:none}
.portal-shell.home-balanced .today-summary-item+.today-summary-item{border-top:1px solid #edf2ef}
.portal-shell.home-balanced .today-summary-icon{width:30px;height:30px;flex:0 0 30px;border-radius:9px;background:#eff7f3;color:#21785d;font-size:13px}
.portal-shell.home-balanced .today-summary-item small{font-size:7px;color:#789187}
.portal-shell.home-balanced .today-summary-item b{font-size:11px;margin:0}
.portal-shell.home-balanced .today-summary-item em{font-size:8px;margin-top:1px}
.portal-shell.home-balanced .today-missions{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;background:#fff}
.portal-shell.home-balanced .today-mission{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;min-height:116px;padding:20px 16px 25px;border:0;border-left:1px solid #e1ebe6;border-radius:0;background:#fff;box-shadow:none;transform:none}
.portal-shell.home-balanced .today-mission:hover{background:#f9fcfa;border-color:#d8e7df;box-shadow:none;transform:none}
.portal-shell.home-balanced .today-mission-status{width:38px;height:38px;border-radius:10px;background:#eaf5ef;color:#19755a}
.portal-shell.home-balanced .today-mission-copy small{display:none}
.portal-shell.home-balanced .today-mission-copy b{font-size:12px;margin:0}
.portal-shell.home-balanced .today-mission-copy em{display:block;margin-top:3px;color:#8a9a93;font-size:9px;font-style:normal}
.portal-shell.home-balanced .today-mission-progress{left:16px;right:16px;bottom:13px;height:5px;background:#e6eeea}
.portal-shell.home-balanced .today-mission-progress i{background:linear-gradient(90deg,#25835f,#72c79b)}
.portal-shell.home-balanced .today-mission-progress small{bottom:7px;font-size:7px;color:#82978e}
.portal-shell.home-balanced .today-footer{display:none!important}

/* Courses */
.portal-shell.home-balanced .home-route{padding:18px 22px 22px;border-radius:17px;box-shadow:0 8px 24px rgba(12,43,34,.03)}
.portal-shell.home-balanced .home-route .section-head h2{font-size:25px;margin:4px 0}
.portal-shell.home-balanced .route-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;border-top:0}
.portal-shell.home-balanced .route-row{grid-template-columns:52px minmax(0,1fr) auto;gap:13px;min-height:94px;padding:14px 15px;border:1px solid #dfe8e4!important;border-radius:13px;background:#fff}
.portal-shell.home-balanced .route-row:hover{border-color:#a8cdbd!important;box-shadow:0 8px 20px rgba(16,62,49,.05);transform:translateY(-1px)}
.portal-shell.home-balanced .route-num{width:48px;height:48px;border:0;border-radius:12px;background:#e5f1ec;color:#1b7255;font-size:13px}
.portal-shell.home-balanced .route-row b{font-size:14px}
.portal-shell.home-balanced .route-row small{font-size:10px}
.portal-shell.home-balanced .route-row strong{display:inline-flex;align-items:center;justify-content:center;min-width:108px;height:36px;padding:0 13px;border:1px solid #c7ddd4;border-radius:9px;color:#176b50;background:#fff;font-size:10px;font-weight:850;white-space:nowrap}

@media(max-width:1250px){
  .portal-shell.home-balanced .quick-card.resume-learning-card{grid-template-columns:minmax(0,1fr) 150px}
  .portal-shell.home-balanced .resume-meta-panel{display:none}
  .portal-shell.home-balanced .today-panel{grid-template-columns:230px minmax(0,1fr)}
  .portal-shell.home-balanced .today-summary{display:none}
}
@media(max-width:1000px){
  .portal-shell.home-balanced .quick-card.resume-learning-card{grid-template-columns:1fr;min-height:0}
  .portal-shell.home-balanced .resume-learning-card .resume-visual{display:none}
  .portal-shell.home-balanced .today-panel{grid-template-columns:1fr}
  .portal-shell.home-balanced .today-head>div:first-child{grid-column:1;grid-row:1;padding-bottom:10px}
  .portal-shell.home-balanced .today-missions{grid-column:1;grid-row:2;border-top:1px solid #e1ebe6}
  .portal-shell.home-balanced .today-mission:first-child{border-left:0}
  .portal-shell.home-balanced .route-list{grid-template-columns:1fr}
}
@media(max-width:700px){
  .portal-shell.home-balanced .portal-top h1:after{display:none}
  .portal-shell.home-balanced .portal-content{padding:18px 14px 30px}
  .portal-shell.home-balanced .quick-card.resume-learning-card{padding:24px 20px}
  .portal-shell.home-balanced .resume-learning-card .resume-copy{padding-left:0}
  .portal-shell.home-balanced .resume-course-badge{position:static;width:52px;height:52px;margin-bottom:14px;border-radius:13px;font-size:17px}
  .portal-shell.home-balanced .resume-learning-card h2{font-size:24px}
  .portal-shell.home-balanced .today-missions{grid-template-columns:1fr}
  .portal-shell.home-balanced .today-mission{min-height:78px;border-left:0;border-top:1px solid #e1ebe6;padding-top:14px;padding-bottom:22px}
  .portal-shell.home-balanced .resume-module-button{width:100%}
}
