/* Modern learning center dashboard. Keeps legacy data IDs, replaces the passport presentation. */
.learning-dashboard { padding:28px 32px 56px; background:var(--bg-primary); }
.learning-dashboard-shell { width:min(1240px,100%); margin:0 auto; }
.learning-header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:22px; }
.learning-eyebrow,.learning-section-head>div>span { display:block; margin-bottom:5px; color:var(--accent); font-size:.62rem; font-weight:800; letter-spacing:.12em; }
.learning-header h1 { color:var(--text-primary); font-size:clamp(1.65rem,2.5vw,2.25rem); line-height:1.15; letter-spacing:-.035em; }
.learning-header p { margin-top:6px; color:var(--text-muted); font-size:.76rem; }
.learning-header-link { display:inline-flex; align-items:center; gap:7px; flex:none; padding:9px 13px; border:1px solid var(--border); border-radius:9px; color:var(--text-secondary); background:var(--bg-card); font:600 .74rem inherit; cursor:pointer; }
.learning-header-link:hover { color:var(--accent); border-color:var(--border-hover); }
.learning-header-link .material-icons { font-size:17px; }

.learning-focus { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr); overflow:hidden; min-height:245px; border:1px solid rgba(3,105,161,.2); border-radius:18px; color:#fff; background:linear-gradient(120deg,#0f2942,#0c4a6e 64%,#075985); box-shadow:0 18px 42px rgba(15,41,66,.18); }
.learning-focus-copy { position:relative; padding:32px 36px; }
.learning-focus-copy::after { content:''; position:absolute; width:220px; height:220px; right:-85px; bottom:-135px; border:34px solid rgba(255,255,255,.035); border-radius:50%; }
.learning-focus-label { display:inline-flex; align-items:center; gap:6px; margin-bottom:14px; color:#7dd3fc; font-size:.62rem; font-weight:800; letter-spacing:.1em; }
.learning-focus-label .material-icons { font-size:16px; }
.learning-focus h2 { max-width:650px; font-size:clamp(1.6rem,2.5vw,2.25rem); line-height:1.15; letter-spacing:-.035em; }
.learning-focus-copy>p { max-width:620px; margin-top:11px; color:rgba(255,255,255,.72); font-size:.82rem; line-height:1.65; }
.learning-focus-actions { display:flex; gap:9px; margin-top:24px; }
.learning-focus-actions button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:42px; padding:9px 16px; border-radius:9px; font:700 .77rem inherit; cursor:pointer; }
.learning-primary-action { border:1px solid #fff; color:#0c4a6e; background:#fff; box-shadow:0 5px 14px rgba(0,0,0,.15); }
.learning-primary-action .material-icons { font-size:17px; }
.learning-secondary-action { border:1px solid rgba(255,255,255,.25); color:#fff; background:rgba(255,255,255,.08); }
.learning-secondary-action:hover { background:rgba(255,255,255,.14); }
.learning-focus-progress { display:grid; grid-template-columns:auto 1fr; grid-template-rows:1fr auto; align-items:center; gap:14px; padding:30px; background:rgba(0,0,0,.12); border-left:1px solid rgba(255,255,255,.1); }
.learning-level-icon { width:54px; height:54px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.15); border-radius:15px; color:#7dd3fc; background:rgba(255,255,255,.08); }
.learning-level-icon .material-icons { font-size:27px; }
.learning-focus-progress small { display:block; color:rgba(255,255,255,.55); font-size:.58rem; font-weight:750; letter-spacing:.1em; }
.learning-focus-progress>div:nth-child(2)>strong { display:block; margin-top:5px; color:#fff; font-size:1.4rem; }
.learning-focus-progress p { margin-top:4px; color:rgba(255,255,255,.62); font-size:.67rem; }
.learning-focus-progress p b { color:#fff; }
.learning-mastered { grid-column:1/3; display:flex; align-items:baseline; gap:8px; padding-top:17px; border-top:1px solid rgba(255,255,255,.12); }
.learning-mastered strong { color:#fff; font-size:2rem; line-height:1; }.learning-mastered span { color:rgba(255,255,255,.6); font-size:.68rem; }

.learning-stats { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin:14px 0 28px; }
.learning-stat { display:flex; align-items:center; gap:12px; min-width:0; padding:15px 16px; border:1px solid var(--border); border-radius:12px; color:var(--text-primary); background:var(--bg-card); text-align:left; box-shadow:0 4px 14px rgba(15,23,42,.04); }
.learning-stat>.material-icons { width:36px; height:36px; display:grid; place-items:center; flex:none; border-radius:10px; color:var(--accent); background:rgba(3,105,161,.08); font-size:19px; }
.learning-stat small,.learning-stat strong { display:block; }.learning-stat small { color:var(--text-muted); font-size:.62rem; }.learning-stat strong { margin-top:3px; font-size:1.05rem; }
button.learning-stat { font:inherit; cursor:pointer; }.learning-stat-alert>.material-icons { color:#c2410c; background:#fff7ed; }.learning-stat-alert:hover { border-color:#fed7aa; }

.learning-section { margin-top:24px; padding:24px; border:1px solid var(--border); border-radius:16px; background:var(--bg-card); box-shadow:0 7px 24px rgba(15,23,42,.045); }
.learning-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:18px; }
.learning-section-head h2 { color:var(--text-primary); font-size:1.25rem; letter-spacing:-.025em; }
.learning-section-head>p { max-width:360px; color:var(--text-muted); font-size:.68rem; line-height:1.5; text-align:right; }
.learning-task-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.learning-task-grid #beginner-dashboard-widget,.learning-task-grid .coach-dashboard-widget { display:contents!important; }
.learning-task-grid #beginner-dashboard-widget>*:not(.passport-departure-render),.learning-task-grid .coach-dashboard-widget>*:not(.passport-departure-render) { display:none!important; }
.learning-task-grid .departure-row { position:relative; display:grid!important; grid-template-columns:48px minmax(0,1fr) auto!important; grid-template-rows:auto auto; gap:4px 13px; min-height:105px; padding:17px!important; border:1px solid var(--border)!important; border-radius:12px!important; color:var(--text-primary)!important; background:var(--bg-card)!important; font-family:inherit!important; text-align:left; cursor:pointer; box-shadow:none!important; animation:none!important; transform:none!important; }
.learning-task-grid .departure-row:hover { border-color:rgba(3,105,161,.35)!important; background:var(--bg-card-hover)!important; transform:translateY(-1px)!important; }
.learning-task-grid .departure-row>span:first-child { grid-row:1/3; width:48px; height:48px; display:grid; place-items:center; align-self:start; border-radius:12px; color:#0369a1!important; background:#e0f2fe; font-size:.67rem!important; font-weight:800; letter-spacing:0!important; }
.learning-task-grid .departure-row>span:nth-child(2) { align-self:end; }
.learning-task-grid .departure-row>span:nth-child(2) b,.learning-task-grid .departure-row>span:nth-child(2) small { display:block; }
.learning-task-grid .departure-row>span:nth-child(2) b { color:var(--text-primary)!important; font:700 .86rem inherit!important; }
.learning-task-grid .departure-row>span:nth-child(2) small { margin-top:4px; color:var(--text-muted)!important; font:400 .66rem/1.45 inherit!important; }
.learning-task-grid .departure-row>span:nth-child(3) { grid-column:2; color:var(--text-muted)!important; font-size:.62rem!important; }
.learning-task-grid .departure-row>span:last-child { grid-column:3; grid-row:1/3; align-self:center; justify-self:end!important; padding:5px 8px!important; border:1px solid var(--border)!important; border-radius:99px!important; color:var(--text-secondary)!important; background:var(--bg-secondary); font-size:.58rem!important; white-space:nowrap; }
.learning-task-grid .departure-row>span:last-child i { font-style:normal; }

.learning-level-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
.learning-level-grid .passport-gate { position:relative; min-height:148px; overflow:hidden; padding:16px; border:1px solid var(--border); border-radius:12px; color:var(--text-primary); background:var(--bg-card); }
.learning-level-grid .passport-gate::after { content:attr(data-code); position:absolute; right:-3px; bottom:-18px; color:rgba(3,105,161,.045); font:800 4.5rem inherit; }
.learning-level-grid .passport-gate>span { color:var(--accent); font:800 .57rem inherit; letter-spacing:.08em; }
.learning-level-grid .passport-gate h3 { margin:16px 0 6px; color:var(--text-primary); font:750 1rem inherit; }
.learning-level-grid .passport-gate p { color:var(--text-muted); font-size:.62rem; line-height:1.5; }
.learning-level-grid .passport-gate small { position:absolute; left:16px; right:16px; bottom:14px; color:var(--text-muted); font:500 .52rem inherit; }
.learning-level-grid .passport-gate-stamp { position:absolute; top:13px; right:12px; width:auto; height:auto; padding:3px 6px; border:1px solid currentColor; border-radius:99px; color:#64748b; font:700 .48rem inherit; transform:none; }
.learning-level-grid .passport-gate.current { border-color:#38bdf8; background:#f0f9ff; box-shadow:inset 0 3px 0 #0284c7; }.learning-level-grid .passport-gate.current .passport-gate-stamp { color:#0369a1; }
.learning-level-grid .passport-gate.done { border-color:#86efac; background:#f0fdf4; }.learning-level-grid .passport-gate.done .passport-gate-stamp { color:#16824f; }

.learning-bottom-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr); gap:14px; }
.learning-tool-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; }
.learning-tool-grid button { display:grid; grid-template-columns:38px 1fr; gap:3px 10px; align-items:center; padding:13px; border:1px solid var(--border); border-radius:11px; color:var(--text-primary); background:var(--bg-card); text-align:left; cursor:pointer; }
.learning-tool-grid button:hover { border-color:var(--border-hover); background:var(--bg-card-hover); }.learning-tool-grid .material-icons { grid-row:1/3; width:38px; height:38px; display:grid; place-items:center; border-radius:10px; color:var(--accent); background:rgba(3,105,161,.08); }.learning-tool-grid b { font-size:.74rem; }.learning-tool-grid small { color:var(--text-muted); font-size:.59rem; }
.learning-data-tools { margin-top:14px; padding-top:13px; border-top:1px solid var(--border); }.learning-data-tools summary { color:var(--text-secondary); font-size:.65rem; font-weight:700; cursor:pointer; }.learning-data-tools>div { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.learning-habit>p { color:var(--text-muted); font-size:.68rem; line-height:1.55; }.learning-habit .streak-grid { margin-top:22px; }.learning-habit-note { display:flex; align-items:baseline; gap:8px; margin-top:22px; padding-top:15px; border-top:1px solid var(--border); }.learning-habit-note strong { color:var(--accent); font-size:1.8rem; }.learning-habit-note span { color:var(--text-muted); font-size:.65rem; }

html:not([data-theme="light"]) .learning-focus { border-color:rgba(125,211,252,.2); }
html:not([data-theme="light"]) .learning-task-grid .departure-row>span:first-child { color:#7dd3fc!important; background:rgba(2,132,199,.14); }
html:not([data-theme="light"]) .learning-level-grid .passport-gate.current { background:rgba(2,132,199,.08); }

@media (max-width:1120px) { .learning-level-grid { grid-template-columns:repeat(3,1fr); }.learning-bottom-grid { grid-template-columns:1fr; } }
@media (max-width:860px) { .learning-dashboard { padding:22px 20px 48px; }.learning-focus { grid-template-columns:1fr; }.learning-focus-progress { grid-template-columns:auto 1fr auto; grid-template-rows:1fr; border-left:0; border-top:1px solid rgba(255,255,255,.1); }.learning-mastered { grid-column:auto; display:block; padding:0 0 0 16px; border-top:0; border-left:1px solid rgba(255,255,255,.12); }.learning-mastered span { display:block; margin-top:3px; }.learning-stats { grid-template-columns:repeat(3,1fr); }.learning-task-grid { grid-template-columns:1fr; } }
@media (max-width:560px) { .learning-dashboard { padding:74px 14px 40px; }.learning-header { align-items:flex-start; flex-direction:column; }.learning-header-link { width:100%; justify-content:space-between; }.learning-focus-copy { padding:25px 22px; }.learning-focus-actions { align-items:stretch; flex-direction:column; }.learning-focus-progress { grid-template-columns:auto 1fr; }.learning-mastered { grid-column:1/3; display:flex; padding:14px 0 0; border-top:1px solid rgba(255,255,255,.12); border-left:0; }.learning-stats { grid-template-columns:repeat(2,1fr); }.learning-section { padding:18px; }.learning-section-head { align-items:flex-start; flex-direction:column; }.learning-section-head>p { text-align:left; }.learning-level-grid,.learning-tool-grid { grid-template-columns:1fr; }.learning-task-grid .departure-row { grid-template-columns:44px minmax(0,1fr)!important; }.learning-task-grid .departure-row>span:last-child { grid-column:2; grid-row:auto; justify-self:start!important; }.learning-task-grid .departure-row>span:nth-child(3) { display:none; } }
