.dashboard-layout{display:flex;min-height:100dvh}.sidebar{position:fixed;left:0;top:0;width:var(--sidebar-width);height:100vh;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;z-index:100}.sidebar-brand{padding:var(--space-6) var(--space-4);text-decoration:none;display:flex;align-items:center;gap:var(--space-2)}.sidebar-brand-mark{font-size:.75rem;font-weight:700;color:#fff;background:var(--gradient-teal);padding:3px 8px;border-radius:var(--radius-sm)}.sidebar-brand-text{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-muted)}.sidebar-nav{flex:1;display:flex;flex-direction:column;padding:0 var(--space-2);list-style:none}.sidebar-nav-item{display:flex;align-items:center;gap:var(--space-3);height:44px;padding:0 var(--space-4);border-radius:var(--radius);color:var(--color-text-muted);text-decoration:none;font-size:var(--font-size-sm);font-weight:500;transition:background var(--transition),color var(--transition);border-left:3px solid transparent;margin-bottom:2px}.sidebar-nav-item:hover{background:var(--sidebar-hover);color:var(--color-text)}.sidebar-nav-item.is-active{background:var(--sidebar-active);color:var(--color-primary);font-weight:600;border-left-color:var(--color-primary)}.sidebar-nav-item svg{width:20px;height:20px;flex-shrink:0}.sidebar-footer{padding:var(--space-4) var(--space-2);border-top:1px solid var(--sidebar-border);margin-top:auto}.sidebar-footer .sidebar-nav-item{color:var(--color-text-muted)}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0000004d;z-index:99}.sidebar-overlay.is-visible{display:block}.dashboard-content{flex:1;margin-left:var(--sidebar-width);min-height:100dvh;display:flex;flex-direction:column}.header-bar{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);border-bottom:1px solid var(--color-border);background:var(--color-bg-white);flex-shrink:0}.header-bar h1{font-size:var(--font-size-lg);font-weight:700;margin:0}.header-bar-left,.header-bar-right{display:flex;align-items:center;gap:var(--space-3)}.header-greeting{font-size:var(--font-size-sm);color:var(--color-text-muted)}.header-avatar{width:32px;height:32px;border-radius:50%;background:var(--gradient-teal);color:#fff;font-size:.8125rem;font-weight:700;display:flex;align-items:center;justify-content:center}.hamburger-btn{display:none;background:none;border:1px solid var(--color-border);border-radius:var(--radius);width:36px;height:36px;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0}.hamburger-btn svg{width:20px;height:20px}.dashboard-welcome{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) 0}.dashboard-welcome h2{font-size:var(--font-size-lg);font-weight:600}.dashboard-welcome .stats{font-size:var(--font-size-sm);color:var(--color-text-muted)}.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:var(--space-6)}.panel{background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.panel-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.panel-header h2{font-size:var(--font-size-base);font-weight:700;margin:0}.panel-header p{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:var(--space-1) 0 0}.panel-body{padding:var(--space-4) var(--space-6)}.continue-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3);border-radius:var(--radius);text-decoration:none;color:inherit;transition:background var(--transition)}.continue-card:hover{background:var(--color-bg)}.continue-card-icon{width:44px;height:44px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.continue-card-info{flex:1;min-width:0}.continue-card-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.continue-card-progress{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.continue-card-bar{flex:1;height:4px;background:var(--color-border);border-radius:2px;overflow:hidden}.continue-card-fill{height:100%;background:var(--gradient-teal);border-radius:2px}.continue-card-pct{font-size:.6875rem;color:var(--color-text-muted);flex-shrink:0}.learning-path{margin-bottom:var(--space-8)}.learning-path h2{font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--space-1)}.learning-path>p{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}.learning-path-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:var(--space-6)}.my-learning-section{margin-bottom:var(--space-8)}.my-learning-section h2{font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--space-4)}.my-learning-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:var(--space-6)}.empty-state{text-align:center;padding:var(--space-12) var(--space-6);color:var(--color-text-muted)}.empty-state a{color:var(--color-primary);font-weight:600}.space-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:var(--space-4)}.space-card{background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-6)}.space-card h3{font-size:var(--font-size-base);font-weight:700;margin-bottom:var(--space-2)}.space-card p{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.5}.page-intro{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-6);max-width:600px}.page-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-6)}.back-link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted);text-decoration:none;transition:color var(--transition)}.back-link:hover{color:var(--color-primary)}.back-link svg{width:16px;height:16px;flex-shrink:0}@media(max-width:1023px){.sidebar{width:var(--sidebar-collapsed)}.sidebar-nav-item span,.sidebar-brand-text{display:none}.sidebar-brand{justify-content:center;padding:var(--space-4)}.dashboard-content{margin-left:var(--sidebar-collapsed)}.sidebar-nav-item{justify-content:center;padding:0;height:44px;width:44px;margin:2px auto}.sidebar-footer .sidebar-nav-item{justify-content:center}.dashboard-grid{grid-template-columns:1fr 1fr}}@media(max-width:767px){.sidebar{transform:translate(-100%);transition:transform var(--transition-slow);width:var(--sidebar-width)}.sidebar.is-open{transform:translate(0)}.sidebar-nav-item span,.sidebar-brand-text{display:inline}.sidebar-brand{justify-content:flex-start;padding:var(--space-6) var(--space-4)}.sidebar-nav-item{justify-content:flex-start;padding:0 var(--space-4);height:44px;width:auto;margin:0 0 2px}.sidebar-footer .sidebar-nav-item{justify-content:flex-start}.dashboard-content{margin-left:0}.hamburger-btn{display:flex}.dashboard-grid{grid-template-columns:1fr}.header-bar{padding:0 var(--space-4)}.dashboard-welcome{flex-direction:column;align-items:flex-start;gap:var(--space-2)}}.dashboard-main{flex:1;padding:var(--space-6);min-width:0}@media(max-width:767px){.dashboard-main{padding:var(--space-4)}.header-greeting{display:none}}[data-show-for]{display:none}html[data-access=member] [data-show-for~=member],html[data-access=buyer] [data-show-for~=buyer],html[data-access=free] [data-show-for~=free]{display:revert}html[data-access=member] [data-show-for~=member].is-flex,html[data-access=buyer] [data-show-for~=buyer].is-flex{display:flex}html[data-access=member] [data-show-for~=member].is-grid,html[data-access=buyer] [data-show-for~=buyer].is-grid{display:grid}.shelf-intro{max-width:68ch;color:var(--color-text);line-height:1.6;margin:0 0 var(--space-6)}.shelf-welcome{font-size:var(--font-size-xl);font-weight:700;margin:var(--space-2) 0 var(--space-3)}.home-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space-6);align-items:start}.panel-body ol{margin:0 0 var(--space-4);padding-left:1.25rem;line-height:1.6}.panel-body ol li+li{margin-top:var(--space-2)}.panel-note{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.55;margin:0 0 var(--space-4)}.new-list{list-style:none;margin:0 0 var(--space-4);padding:0}.new-list li{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);line-height:1.5}.new-list li:first-child{padding-top:0}.new-list strong{color:var(--color-text)}.text-link{font-weight:600;color:var(--color-primary);text-decoration:none;font-size:var(--font-size-sm)}.text-link:hover{text-decoration:underline}.footer-note{margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-muted);max-width:68ch}.note-card{background:#b8412f0f;border:1px solid rgba(184,65,47,.2);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6);margin-bottom:var(--space-6);align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.note-card p{margin:0;line-height:1.55;max-width:60ch}.section-heading{font-size:var(--font-size-base);font-weight:700;margin:var(--space-8) 0 var(--space-4)}.owned-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.shelf-filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-6);padding:0;list-style:none}.shelf-filter{font:inherit;font-size:var(--font-size-sm);font-weight:500;min-height:40px;padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-bg-white);color:var(--color-text);cursor:pointer}.shelf-filter[aria-pressed=true]{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}.shelf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.shelf-item{background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.shelf-type{align-self:flex-start;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--sidebar-active);color:var(--color-primary-dark)}.shelf-item h3{font-size:var(--font-size-base);font-weight:700;line-height:1.3;margin:0}.shelf-item p{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.55;margin:0}.shelf-item .btn{margin-top:auto;align-self:flex-start}.shelf-item .shelf-small{font-size:.75rem}.shelf-empty,.shelf-foot{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-6)}.shelf-dialog{margin:auto;width:min(760px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:0;box-shadow:var(--shadow-lift)}.shelf-dialog::backdrop{background:#00000059}.shelf-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.shelf-dialog-head h2{font-size:var(--font-size-base);margin:0}.shelf-dialog-actions{display:flex;gap:var(--space-2)}.shelf-dialog pre{margin:0;padding:var(--space-4) var(--space-6);white-space:pre-wrap;word-break:break-word;font-size:.8125rem;line-height:1.55;max-height:calc(100dvh - 10rem);overflow:auto}@media(max-width:767px){.shelf-grid{grid-template-columns:1fr}.shelf-item,.note-card{padding:var(--space-4)}}button.sidebar-nav-item{font:inherit;font-size:var(--font-size-sm);font-weight:500;background:none;border-top:0;border-right:0;border-bottom:0;cursor:pointer}.members-main{max-width:1200px;margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-12)}.page-head{padding-bottom:var(--space-4);margin-bottom:var(--space-8);border-bottom:var(--rule-heavy)}.page-head h1{font-size:clamp(2.25rem,5vw,3rem);letter-spacing:-.025em;line-height:1.05}.page-standfirst{margin-top:var(--space-2);color:var(--color-text-secondary);font-size:1.0625rem}.members-foot{max-width:1200px;margin:0 auto;padding:var(--space-6);border-top:var(--rule-hair);font-size:var(--font-size-sm);color:var(--color-text-muted)}.shelf-welcome{font-size:var(--font-size-lg);margin:0 0 var(--space-2)}.shelf-intro{font-size:1.0625rem;color:var(--color-text-secondary);margin-bottom:var(--space-8)}.panel{background:transparent;border:0;border-top:var(--rule-heavy);border-radius:0;overflow:visible}.panel-header{padding:var(--space-3) 0 var(--space-2);border-bottom:0}.panel-header h2{font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.panel-body{padding:var(--space-2) 0 var(--space-4)}.panel-note{font-size:.9375rem;color:var(--color-text-secondary)}.home-grid{gap:var(--space-8) var(--space-12)}.new-list li,.text-link{font-size:.9375rem}.note-card{background:var(--color-black);border:0;border-radius:0;color:#fff;padding:var(--space-6)}.note-card p{color:#fff}.note-card .btn-primary{background:var(--color-primary);border-color:var(--color-primary)}.section-heading{font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;padding-top:var(--space-3);border-top:var(--rule-heavy)}.shelf-filter{min-height:36px;border:0;border-bottom:2px solid transparent;border-radius:0;background:var(--color-bg-alt);font-weight:500}.shelf-filter[aria-pressed=true]{background:var(--color-bg-alt);color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.shelf-grid{display:block;border-top:var(--rule-hair)}.shelf-item{background:transparent;border:0;border-bottom:var(--rule-hair);border-radius:0;padding:var(--space-6) 0;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-8);row-gap:var(--space-2);align-items:start}.shelf-item[hidden]{display:none}.shelf-item>*{grid-column:1}.shelf-item .btn{grid-column:2;grid-row:1 / span 4;align-self:center;margin:0}.shelf-type{padding:0;background:none;border-radius:0;font-size:.75rem;font-weight:700;letter-spacing:.1em;color:var(--color-primary)}.shelf-item h3{font-size:1.375rem;letter-spacing:-.01em}.shelf-item p{font-size:1rem;color:var(--color-text-secondary);max-width:62ch}.shelf-item .shelf-small{font-size:.8125rem;color:var(--color-text-muted)}.shelf-dialog{border:0;border-top:var(--rule-heavy);border-radius:0;background:var(--color-bg)}.shelf-dialog-head{border-bottom:var(--rule-hair)}.shelf-dialog pre{font-family:var(--font-mono);background:var(--color-bg-white)}.owned-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}@media(max-width:767px){.members-main{padding:var(--space-6) var(--space-4) var(--space-8)}.members-foot{padding:var(--space-4)}.shelf-item{grid-template-columns:1fr;padding:var(--space-4) 0}.shelf-item .btn{grid-column:1;grid-row:auto;justify-self:start;margin-top:var(--space-2)}}.home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shelf-item .btn-primary{background:transparent;color:var(--color-black);border-color:var(--color-black)}.shelf-item .btn-primary:hover{background:var(--color-black);color:#fff}@media(max-width:1023px){.home-grid{grid-template-columns:1fr}}
