:root{--app-bg: #f4f7fb;--app-surface: #ffffff;--app-surface-raised: #eef3f9;--app-surface-alt: #e8eef6;--app-surface-hover: #e3ebf4;--app-text: #12263a;--app-text-muted: #5b6b7c;--app-text-inverse: #ffffff;--app-border: #d5dee8;--app-border-strong: #b7c4d3;--app-header-bg: #ffffff;--app-header-text: #12263a;--app-input-bg: #ffffff;--app-input-border: #c9d4e1;--app-input-text: #12263a;--app-input-radius: 10px;--app-input-focus-border: #2f6fed;--app-input-focus-ring: 0 0 0 3px rgba(47, 111, 237, .18);--app-label: #31455a;--app-button-base-bg: #eef3f9;--app-button-base-border: #d5dee8;--app-button-base-text: #12263a;--app-button-base-hover-bg: #e3ebf4;--app-primary: #2f6fed;--app-primary-hover: #1f5bd4;--app-primary-text: #ffffff;--app-primary-subtle: #e8f0fe;--app-primary-subtle-hover: #d7e5fd;--app-hero-from: #163a7a;--app-hero-to: #2f6fed;--app-success: #0f9f6e;--app-error: #d92d20}html.theme-dark{color-scheme:dark;--app-bg: #0f1724;--app-surface: #162033;--app-surface-raised: #1c2940;--app-surface-alt: #22324c;--app-surface-hover: #2a3c58;--app-text: #ecf2fb;--app-text-muted: #9aabc0;--app-text-inverse: #0f1724;--app-border: #31445f;--app-border-strong: #456082;--app-header-bg: #162033;--app-header-text: #ecf2fb;--app-input-bg: #1c2940;--app-input-border: #31445f;--app-input-text: #ecf2fb;--app-input-focus-border: #7aa4f5;--app-input-focus-ring: 0 0 0 3px rgba(122, 164, 245, .24);--app-label: #c5d3e4;--app-button-base-bg: #22324c;--app-button-base-border: #31445f;--app-button-base-text: #ecf2fb;--app-button-base-hover-bg: #2a3c58;--app-primary: #5b8ef0;--app-primary-hover: #7aa4f5;--app-primary-text: #0f1724;--app-primary-subtle: #22324c;--app-primary-subtle-hover: #2a3c58;--app-hero-from: #0b1220;--app-hero-to: #1d4ed8;--app-success: #34d399;--app-error: #f87171}.app-input{display:flex;flex-direction:column;gap:.4rem}.app-input__label{font-size:.875rem;font-weight:600;color:var(--app-label)}.app-input-shell{width:100%;border:1px solid var(--app-input-border);border-radius:var(--app-input-radius);background:var(--app-input-bg);transition:border-color .2s ease,box-shadow .2s ease}.app-input-shell:focus-within{border-color:var(--app-input-focus-border);box-shadow:var(--app-input-focus-ring)}.app-input-shell--invalid{border-color:var(--app-error)}.app-input-shell--invalid:focus-within{box-shadow:0 0 0 3px #d92d2029}.app-input-shell__control{display:block;width:100%;border:0;outline:none;box-shadow:none;background:transparent;color:var(--app-input-text);padding:.75rem .9rem;font-size:1rem;line-height:1.4;border-radius:var(--app-input-radius);appearance:none;-webkit-appearance:none}.app-input-shell__control:focus{outline:none;box-shadow:none}.app-input-shell__control::placeholder{color:var(--app-text-muted)}.app-input-shell__error{margin-top:.2rem;color:var(--app-error);font-size:.8125rem}*,*:before,*:after{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;height:100%}body,#app{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--app-bg);color:var(--app-text)}.app-shell{display:flex;min-height:100%;height:100%}.app-shell--guest{flex-direction:column}.app-shell--app{flex-direction:column;background:#f3f5f8;overflow:hidden}.app-shell-body{display:flex;flex:1;min-height:0;min-width:0}.app-shell-main{flex:1;min-width:0;display:flex;flex-direction:column;height:100%}.app-main{flex:1;overflow:auto;width:100%;min-width:0}.app-shell--app .app-main{display:flex;flex-direction:column;min-height:0;overflow:auto}.app-main--full{display:flex}.theme-switch-wrap{display:flex;align-items:center;gap:.5rem}.theme-switch-label{font-size:.75rem;color:var(--app-text-muted)}.screen-header{display:flex;align-items:center;padding:1.1rem 1.5rem .35rem;flex-shrink:0}.screen-header__title{margin:0;font-size:clamp(1.15rem,1rem + .7vw,1.35rem);letter-spacing:-.03em}@media(max-width:760px){.screen-header{padding:1rem .9rem .2rem}}.screen-header__title{margin:0;font-size:1.35rem;letter-spacing:-.03em}.icon-button{position:relative;width:38px;height:38px;border:1px solid var(--app-border);border-radius:10px;background:#fff;color:var(--app-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none}.icon-button__badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#e11d48;color:#fff;font-size:.65rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.user-profile{display:flex;align-items:center;gap:.6rem}.user-profile__avatar{width:38px;height:38px;border-radius:50%;background:#2f6fed;color:#fff;display:grid;place-items:center;font-size:.75rem;font-weight:700}.user-profile__meta{display:flex;flex-direction:column}.user-profile__meta strong{font-size:.85rem}.user-profile__meta small{color:var(--app-text-muted);font-size:.75rem}@media(max-width:760px){.user-profile__meta{display:none}}.app-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:60px;padding:.65rem 1.25rem;background:#fff;border-bottom:1px solid var(--app-border);flex-shrink:0;z-index:6}.app-header__start{display:flex;align-items:center;gap:.55rem;min-width:0}.app-header__menu{display:none}.app-header__brand{display:flex;align-items:center;gap:.7rem;color:inherit;text-decoration:none;min-width:0}.app-header__logo{width:36px;height:36px;flex-shrink:0}.app-header__brand-text strong{display:block;font-size:.95rem;letter-spacing:.04em;color:#0b1b33}.app-header__brand-text small{display:block;font-size:.68rem;color:var(--app-text-muted)}.app-header__actions{display:flex;align-items:center;gap:.55rem;flex-shrink:0}@media(max-width:960px){.app-header{padding:.55rem .85rem}.app-header__menu{display:inline-flex}.app-header__brand-text small{display:none}}@media(max-width:520px){.app-header__brand-text{display:none}}.sidebar-item{display:flex;align-items:center;gap:.7rem;width:100%;padding:.55rem .7rem;border:0;border-radius:10px;background:transparent;color:#c6d3e6;text-align:left;text-decoration:none;cursor:pointer;font:inherit}.sidebar-item:hover,.sidebar-item--active{background:#4f7cff29;color:#fff}.sidebar-item__icon{flex-shrink:0}.sidebar-item__text{display:flex;flex-direction:column;min-width:0;flex:1}.sidebar-item__label{font-size:.875rem;font-weight:600}.sidebar-item__hint{font-size:.7rem;color:#8ea0b8}.sidebar-item__badge{min-width:1.2rem;height:1.2rem;padding:0 .35rem;border-radius:999px;background:#4f7cff;color:#fff;font-size:.7rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.app-sidebar{width:248px;flex-shrink:0;display:flex;flex-direction:column;background:#0b1b33;color:#fff;padding:.85rem .75rem;min-height:0;height:100%;max-height:100%;overflow:hidden;align-self:stretch}.app-sidebar__nav{display:flex;flex-direction:column;gap:.12rem;overflow:auto;flex:1}.app-sidebar__footer{padding-top:.75rem;flex-shrink:0}.app-sidebar__footer p{margin:.75rem .55rem .15rem;font-size:.7rem;color:#8ea0b8}@media(max-width:960px){.app-sidebar{position:fixed;top:60px;left:0;bottom:0;height:auto;z-index:5;width:min(280px,86vw);transform:translate(-105%);transition:transform .2s ease;box-shadow:12px 0 32px #0b1b332e}.app-sidebar--open{transform:translate(0)}.app-sidebar:not(.app-sidebar--open){visibility:hidden;pointer-events:none}}.app-nav-backdrop{position:fixed;inset:0;z-index:4;border:0;padding:0;background:#0b1b3375;cursor:pointer}@media(min-width:961px){.app-nav-backdrop{display:none}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100%;padding:2rem}.error-boundary-card{width:min(32rem,100%);background:var(--app-surface);border:1px solid var(--app-border);border-radius:16px;padding:1.75rem}.error-boundary-title{margin:0 0 .5rem;color:var(--app-error)}.error-boundary-copy{margin:0 0 1.25rem;color:var(--app-text-muted)}.error-boundary-details{margin-bottom:1.25rem;color:var(--app-text-muted)}.error-details-desc{font-size:.8rem;overflow:auto;background:var(--app-surface-alt);padding:.75rem;border-radius:8px}.error-boundary-actions{display:flex;gap:.75rem}a.app-button{text-decoration:none}.app-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;line-height:1.25;padding:10px 16px;border-radius:10px;cursor:pointer;box-sizing:border-box;border:1px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease,opacity .15s ease}.app-button-spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:app-button-spin .7s linear infinite}@keyframes app-button-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-button:disabled{opacity:.55;cursor:not-allowed}.app-button--size-small{padding:6px 10px;font-size:.8125rem}.app-button--size-large{padding:12px 18px;font-size:1rem}.app-button--theme-base.app-button--fill-solid{background:var(--app-button-base-bg);color:var(--app-button-base-text);border-color:var(--app-button-base-border)}.app-button--theme-base.app-button--fill-solid:hover:not(:disabled){background:var(--app-button-base-hover-bg)}.app-button--theme-primary.app-button--fill-solid{background:var(--app-primary);color:var(--app-primary-text);border-color:var(--app-primary)}.app-button--theme-primary.app-button--fill-solid:hover:not(:disabled){background:var(--app-primary-hover);border-color:var(--app-primary-hover)}.app-button--theme-secondary.app-button--fill-solid{background:var(--app-surface-alt);color:var(--app-text);border-color:var(--app-border)}.app-button--theme-secondary.app-button--fill-solid:hover:not(:disabled){background:var(--app-surface-hover)}.app-button--theme-base.app-button--fill-flat,.app-button--theme-primary.app-button--fill-flat{background:transparent;color:var(--app-text)}.app-button--theme-primary.app-button--fill-flat{color:var(--app-primary)}.app-button--theme-base.app-button--fill-flat:hover:not(:disabled),.app-button--theme-primary.app-button--fill-flat:hover:not(:disabled){background:var(--app-surface-hover)}.app-button--theme-base.app-button--fill-outline{background:transparent;color:var(--app-text);border-color:var(--app-border-strong)}.app-button--theme-primary.app-button--fill-outline{background:transparent;color:var(--app-primary);border-color:var(--app-primary)}.app-button:focus-visible{outline:2px solid var(--app-primary);outline-offset:2px}.app-button:focus:not(:focus-visible){outline:none}.app-switch{width:40px;height:22px;border-radius:999px;border:1px solid var(--app-border);background:var(--app-surface-alt);padding:0;display:inline-flex;align-items:center;cursor:pointer;position:relative}.app-switch--on{background:var(--app-primary);border-color:var(--app-primary)}.app-switch__thumb{width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #12263a33;transform:translate(3px);transition:transform .15s ease}.app-switch--on .app-switch__thumb{transform:translate(19px)}.login-page{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(24rem,28rem);width:100%;min-height:100%}.login-hero{display:flex;flex-direction:column;justify-content:center;padding:3.5rem;background:linear-gradient(160deg,var(--app-hero-from),var(--app-hero-to));color:#fff}.login-hero-brand{display:flex;align-items:center;gap:.75rem;font-size:1.125rem;font-weight:700;margin-bottom:2rem}.login-hero-logo{width:40px;height:40px;color:#fff}.login-hero-title{margin:0;max-width:18ch;font-size:clamp(2rem,4vw,3rem);line-height:1.15;letter-spacing:-.04em}.login-hero-copy{margin:1rem 0 0;max-width:34ch;font-size:1.05rem;line-height:1.6;color:#ffffffdb}.login-panel{display:flex;flex-direction:column;background:var(--app-surface);padding:1.25rem 1.5rem 2rem}.login-panel-top{display:flex;justify-content:flex-end}.login-form-wrap{margin:auto 0;width:100%;max-width:22rem;align-self:center}.login-title{margin:0;font-size:1.75rem;letter-spacing:-.03em;color:var(--app-text)}.login-subtitle{margin:.4rem 0 1.5rem;color:var(--app-text-muted)}.login-form{display:flex;flex-direction:column;gap:1rem}.login-error{padding:.75rem .9rem;background:#fef3f2;border:1px solid #fecdca;border-radius:10px;color:#b42318;font-size:.875rem}html.theme-dark .login-error{background:#f871711f;border-color:#f8717159;color:#fca5a5}.login-submit-btn{width:100%;margin-top:.25rem;min-height:2.75rem}@media(max-width:860px){.login-page{grid-template-columns:1fr}.login-hero{padding:2rem 1.5rem;min-height:220px}.login-hero-title{max-width:none}}.stat-chip{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid var(--app-border);border-radius:12px;padding:.45rem .75rem;min-width:0}.stat-chip__icon{width:28px;height:28px;border-radius:8px;background:#e8f0fe;color:var(--app-primary);display:inline-flex;align-items:center;justify-content:center}.stat-chip span{display:flex;flex-direction:column}.stat-chip__label{font-size:.7rem;color:var(--app-text-muted)}.stat-chip__value{font-size:.85rem}.dashboard-greeting{display:flex;flex-direction:column;gap:.25rem;min-width:0}.dashboard-greeting__row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;min-width:0}.dashboard-greeting__title{margin:0;min-width:0;font-size:clamp(1.25rem,1.1rem + .8vw,1.6rem);letter-spacing:-.03em}.dashboard-greeting__subtitle{margin:0;color:var(--app-text-muted);font-size:.9rem}.dashboard-greeting__stats{display:flex;flex-direction:row;align-items:center;gap:.7rem;flex-shrink:0}@media(max-width:1100px){.dashboard-greeting__row{flex-wrap:wrap;align-items:flex-start}.dashboard-greeting__stats{flex-wrap:wrap}}@media(max-width:760px){.dashboard-greeting__stats{width:100%}.dashboard-greeting__stats>*{flex:1;min-width:0}}.donut-chart{display:flex;flex-direction:column;align-items:center;gap:.9rem}.donut-chart--split{flex-direction:row;align-items:center;justify-content:flex-start;gap:1.15rem;width:100%}.donut-chart__ring{width:118px;height:118px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.donut-chart__hole{width:78px;height:78px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-chart__hole strong{font-size:1.05rem}.donut-chart__hole span{font-size:.68rem;color:var(--app-text-muted)}.donut-chart__legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem 1rem}.donut-chart--split .donut-chart__legend{flex:1;min-width:0;flex-direction:column;align-items:stretch;justify-content:center;gap:.7rem}.donut-chart--split .donut-chart__legend-copy{flex:1;justify-content:space-between;gap:.75rem}.donut-chart__legend li{display:flex;align-items:center;gap:.45rem;font-size:.75rem;color:var(--app-text-muted)}.donut-chart__legend>li>span:first-child{width:8px;height:8px;border-radius:50%;flex-shrink:0}.donut-chart__legend-copy{display:flex;flex-direction:row;align-items:baseline;gap:.35rem;white-space:nowrap}.donut-chart__legend-copy strong{font-size:.8rem;color:var(--app-text);font-weight:600}.donut-chart__legend-copy small{font-size:.72rem;color:var(--app-text-muted)}@container programme-overview (max-width: 360px){.donut-chart--split{flex-direction:column;align-items:flex-start}}.media-thumb{border-radius:12px;background-size:cover;flex-shrink:0}.media-thumb--city{background:linear-gradient(160deg,#0f172a,#1e3a8a 48%,#f59e0b 140%)}.media-thumb--space{background:linear-gradient(160deg,#020617,#312e81 55%,#7c3aed 120%)}.panel-card-link{display:block;height:100%;min-height:0;color:inherit;text-decoration:none}.panel-card-link:hover .panel-card--default{border-color:#c5d0dc}.panel-card{background:var(--app-surface);border:1px solid var(--app-border);border-radius:16px;padding:1rem 1.1rem;height:100%;min-width:0}.panel-card--accent{background:linear-gradient(160deg,#102a56,#1d4ed8);border:0;color:#fff}.progress-bar{width:100%;height:8px;border-radius:999px;background:#e5ebf3;overflow:hidden}.progress-bar__fill{display:block;height:100%;border-radius:inherit;background:var(--app-primary)}.section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem;min-width:0}.section-header__title{margin:0;font-size:1rem;font-weight:700;min-width:0}.section-header__action{border:0;background:none;padding:0;color:var(--app-primary);font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;text-decoration:none;flex-shrink:0;white-space:nowrap}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.status-badge--success{background:#e8f8ef;color:#157a45}.status-badge--info{background:#e8f0fe;color:#1d4ed8}.status-badge--warning{background:#fff7e8;color:#b45309}.status-badge--neutral{background:#eef2f6;color:#475569}.programme-overview{padding:0;overflow:hidden;display:flex;flex-direction:column;height:100%;min-width:0;container-type:inline-size;container-name:programme-overview}.programme-overview__hero{display:flex;align-items:flex-start;gap:.85rem;padding:1.1rem 1.15rem 1.15rem;background:linear-gradient(160deg,#0b1b33,#12325f);color:#fff}.programme-overview__mark{width:42px;height:42px;border-radius:50%;background:#4f7cff47;color:#dbe7ff;display:grid;place-items:center;flex-shrink:0}.programme-overview__hero h3{margin:0;font-size:1.05rem}.programme-overview__hero p{margin:.35rem 0 0;font-size:.78rem;line-height:1.45;color:#ffffffc7}.programme-overview__body{padding:0 1.15rem 1.15rem;flex:1;min-height:0;display:flex;flex-direction:column}.programme-overview__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:.95rem 0;border-bottom:1px solid var(--app-border)}.programme-overview__stat{display:flex;align-items:center;gap:.5rem;padding:0 .55rem;color:var(--app-primary)}.programme-overview__stat:first-child{padding-left:0}.programme-overview__stat:not(:last-child){border-right:1px solid var(--app-border)}.programme-overview__stat div{display:flex;flex-direction:column;min-width:0}.programme-overview__stat strong{color:var(--app-text);font-size:.92rem}.programme-overview__stat span{color:var(--app-text-muted);font-size:.7rem}.programme-overview__progress{padding:1rem 0 1.15rem;border-bottom:1px solid var(--app-border);flex:1;min-height:0;display:flex;flex-direction:column}.programme-overview__progress .donut-chart{flex:1;width:100%}.programme-overview__next{padding-top:1rem}.programme-overview__next>h4{margin:0 0 .75rem;font-size:1rem}.next-module-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:.85rem;padding:.85rem;border:1px solid var(--app-border);border-radius:14px;background:#fff}.next-module-card__media{height:100%;min-height:92px}.next-module-card__body{min-width:0}.next-module-card__body h5{margin:.4rem 0 .25rem;font-size:.95rem}.next-module-card__body p{margin:0 0 .7rem;color:var(--app-text-muted);font-size:.78rem;line-height:1.4}.next-module-card__progress{display:flex;align-items:center;gap:.55rem;margin-bottom:.75rem}.next-module-card__progress span{font-size:.75rem;font-weight:700;color:var(--app-text-muted);flex-shrink:0}.next-module-card__actions{grid-column:1 / -1;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;min-width:0}.next-module-card__actions .app-button{flex:0 1 auto;width:auto;white-space:nowrap}.next-module-card__actions span{display:inline-flex;align-items:center;gap:.35rem;color:var(--app-text-muted);font-size:.75rem;flex-shrink:0;white-space:nowrap}@media(max-width:760px){.next-module-card{grid-template-columns:1fr}.next-module-card__media{min-height:120px}}@container programme-overview (max-width: 360px){.programme-overview__stats{grid-template-columns:1fr}.programme-overview__stat{padding:.35rem 0}.programme-overview__stat:not(:last-child){border-right:0;border-bottom:1px solid var(--app-border)}.next-module-card{grid-template-columns:1fr}.next-module-card__actions{flex-wrap:wrap}}@media(max-width:1599px){.programme-overview{height:auto;overflow:visible}}.space-card{display:flex;flex-direction:column;min-height:148px;height:100%}.space-card__icon{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:.75rem}.space-card__title{margin:0;font-size:.95rem;font-weight:700}.space-card__copy{margin:.4rem 0 .9rem;color:var(--app-text-muted);font-size:.8rem;line-height:1.45;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.space-card__action{align-self:flex-start;margin-top:auto;color:var(--app-primary);font-size:.8rem;font-weight:700}.activity-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem 0;border-bottom:1px solid var(--app-border);min-width:0}.activity-item:last-child{border-bottom:0;padding-bottom:0}.activity-item__text{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.activity-item__text strong{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-item__text span,.activity-item__time{font-size:.75rem;color:var(--app-text-muted)}.activity-item__text span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-item__meta{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.activity-item--link{color:inherit;text-decoration:none;border-radius:8px}.activity-item--link:hover{background:#f7f9fc}@container content-card (max-width: 340px){.activity-item{flex-wrap:wrap;align-items:flex-start}.activity-item__meta{width:100%;justify-content:flex-start}}.content-card{display:flex;flex-direction:column;min-height:0;min-width:0;container-type:inline-size;container-name:content-card}.content-card .section-header{flex-shrink:0;margin-bottom:.75rem;gap:.5rem;flex-wrap:nowrap}.content-card__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}@container content-card (max-width: 260px){.content-card .section-header{flex-wrap:wrap;row-gap:.2rem}}.session-panel h3,.achievement-panel h3{margin:.2rem 0 .35rem;font-size:1.05rem}.continue-panel .content-card__body{display:grid;grid-template-columns:72px minmax(0,1fr);gap:.75rem;align-items:start}.continue-panel .section-header{gap:.4rem}.continue-panel .section-header__title{font-size:.92rem}.continue-panel .section-header__action{font-size:.72rem}.continue-panel__media{height:72px;min-height:72px}.continue-panel__body{min-width:0;display:flex;flex-direction:column}.continue-panel__body h3{margin:.3rem 0 .1rem;font-size:.86rem;line-height:1.3}.continue-panel__body p{margin:0 0 .4rem;color:var(--app-text-muted);font-size:.74rem}.continue-panel__progress{display:flex;align-items:center;gap:.45rem;margin-bottom:.5rem}.continue-panel__percent{font-size:.72rem;font-weight:700;color:var(--app-text-muted);flex-shrink:0}.continue-panel .app-button{width:auto;align-self:flex-start}.session-panel__content,.achievement-panel__content{display:flex;align-items:flex-start;gap:.75rem;flex:1}.session-panel__date{width:52px;border-radius:10px;background:#e8f0fe;color:var(--app-primary);text-align:center;padding:.4rem 0;flex-shrink:0}.session-panel__date span{display:block;font-size:.68rem;font-weight:700}.session-panel__date strong{font-size:1.15rem}.session-panel p,.achievement-panel p{margin:0;color:var(--app-text-muted);font-size:.78rem;line-height:1.4}.session-panel .app-button{width:100%;margin-top:.9rem}.achievement-panel__mark{width:48px;height:52px;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:linear-gradient(180deg,#f5c453,#d97706);color:#fff;display:grid;place-items:center;flex-shrink:0}.achievement-panel__count{margin-top:.55rem}@media(max-width:760px){.continue-panel .content-card__body{grid-template-columns:1fr}.continue-panel__media{height:96px;min-height:96px}.continue-panel .app-button{width:100%}}.dashboard{flex:1;min-height:100%;height:auto;display:flex;flex-direction:column;min-width:0}.dashboard-page{flex:1;min-height:100%;height:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(380px,420px);grid-template-rows:minmax(min-content,1fr) minmax(230px,max-content);gap:1rem;padding:1rem 1.5rem 1.15rem;align-items:stretch}.dashboard-primary{grid-column:1 / 4;grid-row:1;display:grid;grid-template-rows:auto minmax(min-content,1fr);gap:.85rem;min-width:0;min-height:0}.dashboard-primary>section{display:flex;flex-direction:column;min-height:0}.dashboard-primary>section .section-header{margin-bottom:.65rem}.dashboard-aside{grid-column:4;grid-row:1;min-width:0;min-height:0;display:flex}.dashboard-aside>*{flex:1;min-height:0;width:100%}.space-grid{flex:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(148px,1fr);gap:.85rem;min-height:0}.dashboard-bottom{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(380px,420px);gap:inherit;min-width:0;min-height:0;align-items:stretch}.dashboard-bottom>*{min-width:0;min-height:0;height:100%}@supports (grid-template-columns: subgrid){.dashboard-bottom{grid-template-columns:subgrid}}@media(max-width:1599px){.dashboard{height:auto;min-height:100%;overflow:visible}.dashboard-page{height:auto;grid-template-columns:minmax(0,1fr) minmax(300px,360px);grid-template-rows:auto auto}.dashboard-primary,.dashboard-aside{grid-column:auto;grid-row:1}.space-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}.dashboard-aside>*{height:auto;min-height:0;overflow:visible}.dashboard-bottom{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:auto;height:auto}.dashboard-bottom>*{height:100%;min-height:auto}}@media(max-width:1399px){.dashboard-bottom{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1100px){.dashboard-page{grid-template-columns:1fr;grid-template-rows:none}.dashboard-primary,.dashboard-aside,.dashboard-bottom{grid-column:1;grid-row:auto}.dashboard-primary{display:flex;flex-direction:column}.dashboard-primary>section{min-height:auto}.space-grid{flex:none}}@media(max-width:760px){.dashboard-page{padding:.5rem .9rem 1.1rem;gap:.9rem}.space-grid,.dashboard-bottom{grid-template-columns:1fr}.dashboard-bottom>*{min-height:auto}}.in-progress{position:relative;flex:1;width:100%;min-height:0;display:grid;place-items:center;overflow:hidden;padding:2rem 1.25rem}.in-progress__backdrop{position:absolute;inset:-40px;background:radial-gradient(circle at 18% 20%,rgba(79,124,255,.28),transparent 28%),radial-gradient(circle at 82% 18%,rgba(124,58,237,.18),transparent 26%),radial-gradient(circle at 50% 80%,rgba(15,159,110,.16),transparent 30%),linear-gradient(180deg,#e8eef6,#f3f5f8);filter:blur(28px)}.in-progress__panel{position:relative;z-index:1;width:min(28rem,100%);text-align:center;background:#ffffffb8;border:1px solid rgba(255,255,255,.8);box-shadow:0 20px 50px #12263a1a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:20px;padding:2rem 1.5rem}.in-progress__icon{width:48px;height:48px;margin:0 auto 1rem;border-radius:14px;background:#e8f0fe;color:var(--app-primary);display:grid;place-items:center}.in-progress__panel h1{margin:0;font-size:1.5rem;letter-spacing:-.03em}
