.b2b-dashboard{min-height:100vh;padding:var(--space-3xl) var(--page-gutter);background:#f5f5f5}.dashboard-inner{max-width:960px;margin:0 auto}.dashboard-header{margin-bottom:var(--space-3xl)}.program-badge{align-items:center;gap:var(--space-lg);padding:var(--space-xl);border:1px solid var(--clr-border-light);background:#fff;display:flex}.program-logo{flex-shrink:0}.program-info{min-width:0}.program-name{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--clr-ink);margin-bottom:2px;font-weight:700;line-height:1.1}.program-title{font-family:var(--font-body);font-size:var(--text-base);color:var(--clr-secondary)}.dashboard-welcome{margin-bottom:var(--space-3xl)}.welcome-header{justify-content:space-between;align-items:center;gap:var(--space-lg);display:flex}.welcome-title{font-family:var(--font-body);font-size:var(--text-xl);color:var(--clr-ink);font-weight:400;line-height:var(--leading-snug)}.welcome-show-more{font-family:var(--font-body);font-size:var(--text-sm);color:var(--clr-accent);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-weight:600;transition:color .15s}@media (hover:hover){.welcome-show-more:hover{color:var(--clr-accent-hover)}}.module-section{border:1px solid var(--clr-border-light);padding:var(--space-2xl);background:#fff}.section-header{margin-bottom:var(--space-2xl);padding-bottom:var(--space-2xl);border-bottom:1px solid var(--clr-border-light)}.section-header-top{justify-content:space-between;align-items:center;gap:var(--space-xl);margin-bottom:var(--space-sm);display:flex}.section-title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--clr-ink);font-weight:700;line-height:var(--leading-tight)}.learning-mode{align-items:center;gap:var(--space-sm);display:flex}.learning-mode-label{font-family:var(--font-body);font-size:var(--text-sm);color:var(--clr-secondary);font-weight:400}.learning-mode-value{font-family:var(--font-body);font-size:var(--text-sm);color:var(--clr-ink);font-weight:400}.learning-mode-edit{font-family:var(--font-body);font-size:var(--text-sm);color:var(--clr-accent);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;transition:color .15s}@media (hover:hover){.learning-mode-edit:hover{color:var(--clr-accent-hover)}}.modal-overlay{z-index:1000;padding:var(--space-lg);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{border:1px solid var(--clr-border-light);background:#fff;width:100%;max-width:480px}.modal-header{padding:var(--space-xl);border-bottom:1px solid var(--clr-border-light);justify-content:space-between;align-items:center;display:flex}.modal-title{font-family:var(--font-body);font-size:var(--text-xl);color:var(--clr-ink);margin:0;font-weight:600}.modal-close{width:32px;height:32px;color:var(--clr-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s;display:flex}@media (hover:hover){.modal-close:hover{color:var(--clr-ink)}}.modal-body{padding:var(--space-xl);gap:var(--space-lg);flex-direction:column;display:flex}.modal-control{gap:var(--space-xs);flex-direction:column;display:flex}.modal-label{font-family:var(--font-body);font-size:var(--text-sm);color:var(--clr-ink);font-weight:600}.modal-select{font-family:var(--font-body);font-size:var(--text-base);color:var(--clr-ink);border:1px solid var(--clr-border);cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23212326' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 12px center no-repeat;padding:10px 36px 10px 12px;font-weight:400;transition:border-color .15s}.modal-select:focus{border-color:var(--clr-accent);outline:none}.modal-footer{padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--clr-border-light);justify-content:flex-end;display:flex}.modal-done{font-family:var(--font-body);font-size:var(--text-sm);color:#fff;background:var(--clr-accent);cursor:pointer;border:none;padding:10px 24px;font-weight:600;transition:background .15s}@media (hover:hover){.modal-done:hover{background:var(--clr-accent-hover)}}.section-desc{font-family:var(--font-body);font-size:var(--text-sm);color:var(--clr-secondary);line-height:var(--leading-normal);max-width:72ch}.module-list{flex-direction:column;display:flex}.module-row{justify-content:space-between;align-items:center;gap:var(--space-xl);padding:var(--space-lg) 0;border-bottom:1px solid var(--clr-border-light);display:flex}.module-row:first-child{padding-top:0}.module-row:last-child{border-bottom:none}.module-left{flex:1;min-width:0}.module-title{font-family:var(--font-body);font-size:var(--text-base);color:var(--clr-ink);font-weight:400;line-height:var(--leading-normal)}.module-right{align-items:center;gap:var(--space-md);display:flex}.module-status{border-radius:50%;flex-shrink:0;width:10px;height:10px}.module-status-in-progress{background:#10b981}.module-status-not-started{background:#d1d5db}.module-cta{align-items:center;gap:var(--space-xs);font-family:var(--font-body);font-size:var(--text-sm);color:#fff;background:var(--clr-accent);cursor:pointer;white-space:nowrap;border:none;padding:10px 20px;font-weight:600;transition:background .15s;display:flex}@media (hover:hover){.module-cta:hover{background:var(--clr-accent-hover)}}.module-cta svg{flex-shrink:0}.module-menu{width:32px;height:32px;color:var(--clr-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s;display:flex}@media (hover:hover){.module-menu:hover{color:var(--clr-ink)}}@media (max-width:767px){.b2b-dashboard{padding:var(--space-xl) var(--page-gutter)}.program-badge{padding:var(--space-lg)}.welcome-header{flex-direction:column;align-items:flex-start}.section-header-top{align-items:flex-start;gap:var(--space-md);flex-direction:column}.learning-mode{flex-wrap:wrap}.module-section{padding:var(--space-lg)}.module-row{align-items:stretch;gap:var(--space-md);flex-direction:column}.module-right{justify-content:space-between}.module-cta{flex:1}}
