.app-header{position:fixed;top:0;left:0;right:0;width:100%;height:4rem;background:#05080cf2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);z-index:999;display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;padding:0;gap:0}.header-logo{display:flex;align-items:center;padding-left:2rem;flex-shrink:0}.logo-text{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#f5a524,#f05053);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.header-avatar-container{position:relative;padding-right:2rem;flex-shrink:0}.header-avatar{width:2.5rem;height:2.5rem;border-radius:50%;color:#05080c;border:2px solid rgba(255,255,255,.2);font-size:1rem;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:0;background:transparent}.header-avatar:hover{transform:scale(1.05);border-color:#ffffff4d;box-shadow:0 0 0 2px #f5a5244d}.header-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:#05080cfa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;min-width:200px;box-shadow:0 4px 12px #0000004d;z-index:1001;overflow:hidden}.header-dropdown-header{display:flex;align-items:center;gap:.75rem;padding:1rem}.header-dropdown-avatar{width:2.5rem;height:2.5rem;border-radius:50%;color:#05080c;font-size:1rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.header-dropdown-user-info{flex:1;min-width:0}.header-dropdown-email{font-size:.875rem;color:#ffffffe6;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-dropdown-divider{height:1px;background:#ffffff1a;margin:.5rem 0}.header-dropdown-item{width:100%;padding:.75rem 1rem;background:transparent;border:none;color:#ffffffe6;text-align:left;cursor:pointer;font-size:.875rem;transition:background .2s ease;display:flex;align-items:center;gap:.5rem;font:inherit}.header-dropdown-item:hover{background:#ffffff0d;color:#fff}.header-dropdown-item:active{background:#ffffff1a}@media (max-width: 767px){.app-header{left:0;height:3.5rem}.header-logo{padding-left:1rem}.header-avatar-container{padding-right:1rem}.logo-text{font-size:1.25rem}.header-avatar{width:2.25rem;height:2.25rem;font-size:.875rem}}.main-navigation{position:fixed;left:0;right:0;background:#05080cf2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.1);z-index:1000;padding:.5rem 0}@media (min-width: 768px){.main-navigation{top:4rem;bottom:0;left:0;right:auto;width:260px;border-top:none;border-right:1px solid rgba(255,255,255,.1);padding:0;height:calc(100vh - 4rem);overflow:hidden}}@media (max-width: 767px){.main-navigation{bottom:0}}.nav-container{max-width:960px;margin:0 auto;display:flex;justify-content:space-around;align-items:center;padding:0 1rem;gap:.5rem}@media (min-width: 768px){.nav-container{max-width:none;margin:0;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:1rem .5rem 1.5rem;gap:.5rem;height:100%;overflow:hidden}}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.5rem .75rem;text-decoration:none;color:#fff9;border-radius:8px;transition:all .2s ease;flex:1;min-width:0}.nav-item:hover{background:#ffffff0d;color:#ffffffe6}.nav-item.active{color:#fffffff2;background:#f5a52426}.nav-item.active .nav-icon{transform:scale(1.1)}.nav-icon{font-size:1.25rem;line-height:1;transition:transform .2s ease}.nav-label{font-size:.75rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:center}@media (min-width: 768px){.nav-item{flex-direction:row;gap:.75rem;padding:.875rem 1.25rem;flex:0 0 auto;justify-content:flex-start;align-items:center;width:calc(100% - 1rem);border-radius:8px;margin:0 .5rem;box-sizing:border-box}.nav-icon{font-size:1.25rem;flex-shrink:0}.nav-label{font-size:.9375rem;width:auto;text-align:left;font-weight:500}}.nav-item-wrapper{width:100%}.nav-expand-icon{margin-left:auto;font-size:.75rem;opacity:.6;transition:transform .2s ease}.nav-sub-items{display:flex;flex-direction:column;gap:.25rem;margin-top:.25rem;margin-left:2.5rem;padding-left:.5rem;border-left:2px solid rgba(255,255,255,.1)}.nav-sub-item{display:flex;flex-direction:row;align-items:center;gap:.75rem;padding:.625rem 1rem;text-decoration:none;color:#ffffff80;border-radius:6px;transition:all .2s ease;font-size:.875rem}.nav-sub-item:hover{background:#ffffff0d;color:#fffc}.nav-sub-item.active{color:#fffffff2;background:#f5a52426}.nav-sub-item .nav-icon{font-size:1rem}.nav-sub-item .nav-label{font-size:.875rem}@media (max-width: 767px){.nav-sub-items{margin-left:0;padding-left:0;border-left:none;border-top:1px solid rgba(255,255,255,.1);margin-top:.5rem;padding-top:.5rem}.nav-sub-item{padding:.5rem .75rem}}.session-timeout-warning{position:fixed;top:20px;right:20px;z-index:10000;max-width:400px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.session-timeout-content{display:flex;align-items:center;gap:12px;background:#ffc107f2;color:#000;padding:16px 20px;border-radius:8px;box-shadow:0 4px 12px #0000004d;border:1px solid rgba(255,193,7,1)}.session-timeout-icon{font-size:20px;flex-shrink:0}.session-timeout-message{flex:1;font-size:14px;line-height:1.4;font-weight:500}.session-timeout-dismiss{background:transparent;border:none;color:#000;font-size:24px;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s;flex-shrink:0}.session-timeout-dismiss:hover{background-color:#0000001a}.session-timeout-dismiss:focus{outline:2px solid rgba(0,0,0,.3);outline-offset:2px}@media (prefers-color-scheme: dark){.session-timeout-content{background:#ffc107f2;color:#000}}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#05080c;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{margin:0;min-height:100vh}button{font:inherit;border-radius:999px;padding:.75rem 1.5rem;border:1px solid transparent;cursor:pointer}button.primary{background:linear-gradient(90deg,#f5a524,#f05053);color:#05080c;font-weight:600}button.ghost{background:transparent;border-color:#fff3;color:#ffffffe6}.app-shell{width:100%;max-width:100%;margin:0 auto;padding:4rem 2rem 6rem;display:flex;flex-direction:column;gap:2rem;box-sizing:border-box}@media (min-width: 768px){.app-shell{padding-top:5rem;padding-left:calc(260px + 3rem);padding-right:3rem}}@media (max-width: 767px){.app-shell{padding-bottom:5rem;padding-left:1.5rem;padding-right:1.5rem}}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.login-card{width:min(360px,100%);display:flex;flex-direction:column;gap:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-card h2{margin-top:0}.login-card label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],input[type=search],input[type=tel],input[type=date],input[type=time],input[type=datetime-local],textarea,select{font:inherit;font-size:.95rem;padding:.75rem 1rem;background:#05080c99;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fffffff2;transition:all .2s ease;width:100%;box-sizing:border-box}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=url]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=date]:focus,input[type=time]:focus,input[type=datetime-local]:focus,textarea:focus,select:focus{outline:none;border-color:#f5a52480;background:#05080ccc;box-shadow:0 0 0 3px #f5a5241a}input[type=text]:hover:not(:disabled),input[type=email]:hover:not(:disabled),input[type=password]:hover:not(:disabled),input[type=number]:hover:not(:disabled),input[type=url]:hover:not(:disabled),input[type=search]:hover:not(:disabled),input[type=tel]:hover:not(:disabled),input[type=date]:hover:not(:disabled),input[type=time]:hover:not(:disabled),input[type=datetime-local]:hover:not(:disabled),textarea:hover:not(:disabled),select:hover:not(:disabled){border-color:#ffffff4d;background:#05080cb3}input[type=text]:disabled,input[type=email]:disabled,input[type=password]:disabled,input[type=number]:disabled,input[type=url]:disabled,input[type=search]:disabled,input[type=tel]:disabled,input[type=date]:disabled,input[type=time]:disabled,input[type=datetime-local]:disabled,textarea:disabled,select:disabled{opacity:.6;cursor:not-allowed;background:#05080c66}input[type=text]::placeholder,input[type=email]::placeholder,input[type=password]::placeholder,input[type=number]::placeholder,input[type=url]::placeholder,input[type=search]::placeholder,input[type=tel]::placeholder,textarea::placeholder{color:#fff6}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2 4L6 8L10 4' stroke='rgba(255,255,255,0.6)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px;padding-right:2.5rem}select option{background:#0d1117;color:#ffffffe6;padding:.5rem}textarea{resize:vertical;min-height:80px;font-family:inherit;line-height:1.5}input[type=color]{width:48px;height:40px;padding:4px;cursor:pointer;border-radius:6px}input[type=checkbox],input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:#f5a524}input[type=range]{width:100%;height:6px;background:#ffffff1a;border-radius:3px;outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:#f5a524;border-radius:50%;cursor:pointer}input[type=range]::-moz-range-thumb{width:18px;height:18px;background:#f5a524;border-radius:50%;cursor:pointer;border:none}input[type=file]{display:none}.login-card input{border-radius:10px}.form-error{color:#f66;font-size:.85rem;margin:0}.error-card{background:#ffffff0d;border:1px solid rgba(255,68,68,.3);border-radius:16px;padding:2rem;text-align:center;margin-top:2rem}.error-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}header{display:flex;flex-direction:column;gap:1rem}h1{font-size:clamp(2.5rem,6vw,4rem);margin:0}.lede{max-width:800px;color:#ffffffbf}.cta-row{display:flex;gap:1rem;flex-wrap:wrap}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.plan-card{border-radius:20px;padding:1.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;color:#fff9;margin:0 0 .25rem}a.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font:inherit;border-radius:999px;padding:.75rem 1.5rem;border:1px solid transparent;cursor:pointer}a.btn.primary{background:linear-gradient(90deg,#f5a524,#f05053);color:#05080c;font-weight:600}a.btn.ghost{background:transparent;border-color:#fff3;color:#ffffffe6}.page-header{display:flex;flex-direction:column;gap:.5rem;width:100%}.back-link{color:#fff9;text-decoration:none;font-size:.875rem;align-self:flex-start}.page-header-main{display:flex;justify-content:space-between;align-items:center;width:100%;gap:1rem}.page-header h1{font-size:2rem;margin:0;line-height:1.2;text-align:left;flex:1}.header-menu-container{position:relative;display:flex;align-items:center;flex-shrink:0}.header-menu-button{background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:.5rem .75rem;color:#ffffffe6;font-size:1.25rem;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem;align-self:center}.header-menu-button:hover{background:#ffffff1a;border-color:#ffffff4d}.header-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:#0d1117fa;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:.5rem;z-index:100;box-shadow:0 8px 24px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:180px}.header-menu-item{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:transparent;border:none;border-radius:8px;color:#ffffffe6;font:inherit;font-size:.9rem;cursor:pointer;transition:all .15s;text-align:left;width:100%}.header-menu-item:hover{background:#ffffff14}.back-link:hover{color:#ffffffe6}.course-selector-container{position:relative;margin-bottom:2rem}.course-selector-button{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem 1.5rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;color:#ffffffe6;font:inherit;font-size:.95rem;cursor:pointer;transition:all .2s;text-align:left}.course-selector-button:hover{border-color:#fff3;background:#ffffff14}.course-selector-button:focus{outline:2px solid rgba(245,165,36,.5);outline-offset:2px}.course-selector-button.no-active{border-color:#f5a52466;background:linear-gradient(135deg,#f5a5241a,#f050531a)}.course-selector-button.open{border-color:#f5a52499;background:#ffffff14}.selector-icon{font-size:1.25rem;flex-shrink:0}.selector-label{color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.selector-value{flex:1;color:#f5a524;font-weight:600}.selector-placeholder{flex:1;color:#fff9;font-style:italic}.selector-arrow{color:#fff9;font-size:.75rem;transition:transform .2s;flex-shrink:0}.course-selector-button.open .selector-arrow{transform:rotate(180deg)}.course-selector-dropdown{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#0d1117fa;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:.5rem;z-index:100;box-shadow:0 8px 24px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-height:400px;overflow-y:auto}.dropdown-section{display:flex;flex-direction:column;gap:.25rem}.dropdown-section-label{padding:.5rem .75rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#ffffff80;font-weight:600}.dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:transparent;border:none;border-radius:8px;color:#ffffffe6;font:inherit;font-size:.9rem;cursor:pointer;transition:all .15s;text-align:left;width:100%}.dropdown-item:hover:not(:disabled){background:#ffffff14}.dropdown-item.active{background:#f5a52426;color:#f5a524;font-weight:600}.dropdown-item:disabled{opacity:.6;cursor:not-allowed}.dropdown-item-name{flex:1}.dropdown-item-check{color:#f5a524;font-weight:700;margin-left:.5rem}.dropdown-item-loading{color:#fff9;font-size:.85rem;font-style:italic;margin-left:.5rem}.dropdown-divider{height:1px;background:#ffffff1a;margin:.5rem 0}.dropdown-link{display:block;padding:.75rem 1rem;color:#ffffffb3;text-decoration:none;border-radius:8px;font-size:.9rem;transition:all .15s;text-align:center}.dropdown-link:hover{background:#ffffff0d;color:#ffffffe6}.dropdown-empty{padding:1.5rem;text-align:center}.dropdown-empty p{color:#fff9;margin:0 0 1rem}.course-sidebar{width:280px;flex-shrink:0;background:transparent;border:none;border-radius:0;padding:0;display:flex;flex-direction:column;max-height:calc(100vh - 12rem);position:sticky;top:2rem;box-shadow:none}.sidebar-header{margin:0 0 1rem;padding:0 0 .75rem;border-bottom:1px solid rgba(255,255,255,.1);min-height:2.5rem;display:flex;align-items:center;width:100%;box-sizing:border-box}.sidebar-header h2{font-size:1.25rem;margin:0;padding:0;color:#ffffffe6;font-weight:600;line-height:1.5;height:1.875rem;display:flex;align-items:center}.sidebar-content{flex:1;overflow-y:auto;overflow-x:visible;display:flex;flex-direction:column;gap:.625rem;margin:0;padding:0;width:280px}.sidebar-item{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.875rem;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;gap:.5rem;position:relative;overflow:visible;opacity:.6}.sidebar-item:hover{background:#ffffff14;border-color:#ffffff26}.sidebar-item.selected{background:#ffffff0d;border-color:#ffffff40;border-width:2px;box-shadow:0 0 0 1px #ffffff1a;opacity:1}.sidebar-item:before{content:"";position:absolute;top:0;left:0;right:0;height:14px;background:linear-gradient(to bottom,var(--course-color, #6b7280) 0%,var(--course-color, #6b7280) 60%,transparent 100%);border-radius:12px 12px 0 0}.sidebar-item-main{flex:1}.sidebar-item-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem;margin-top:4px}.sidebar-item-name{font-weight:600;color:#ffffffe6;font-size:.9rem;flex:1;transition:color .15s}.sidebar-item.selected .sidebar-item-name{color:#fff}.active-badge{font-size:.7rem;padding:.25rem .5rem;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.active-badge-green{background-color:#22c55e;color:#fff;border:1px solid rgba(34,197,94,.3);border-radius:999px;padding:.25rem .6rem}.sidebar-item-description{font-size:.75rem;color:#ffffff80;margin:.25rem 0 0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.sidebar-item-stats{display:flex;gap:.75rem;margin-top:.5rem;font-size:.7rem;color:#fff6}.sidebar-item-stats .stat{display:inline-flex;align-items:center;gap:.25rem}.sidebar-item-stats .stat:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:#fff6}.sidebar-item-actions{display:flex;gap:.25rem;align-items:center;opacity:0;transition:opacity .15s}.sidebar-item:hover .sidebar-item-actions,.sidebar-item.selected .sidebar-item-actions,.sidebar-item.active .sidebar-item-actions{opacity:1}.sidebar-action-btn{background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:.2rem .4rem;cursor:pointer;font-size:.75rem;color:#fff9;transition:all .15s;line-height:1;min-width:20px;display:flex;align-items:center;justify-content:center}.sidebar-action-btn:hover{background:#ffffff1a;border-color:#ffffff40;color:#ffffffe6}.sidebar-action-btn.danger:hover{background:#f0505333;border-color:#f0505366;color:#f05053}.sidebar-action-btn:disabled{opacity:.5;cursor:not-allowed}.sidebar-item-bottom-actions{position:absolute;bottom:.5rem;right:.5rem;display:flex;align-items:center;gap:.5rem;z-index:1}.sidebar-activate-btn{font-size:1.1rem;padding:.4rem .6rem;min-width:32px}.sidebar-footer{padding:1rem 0 0;border-top:1px solid rgba(255,255,255,.1);margin-top:auto;width:280px}.sidebar-new-btn{width:100%;padding:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fffc;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .15s}.sidebar-new-btn:hover{background:#ffffff1a;border-color:#ffffff40;color:#fffffff2}.course-context{font-size:.875rem;font-weight:400;color:#ffffff80;margin-left:.5rem}@media (max-width: 768px){.goals-page-layout{flex-direction:column;gap:1rem}.course-sidebar{width:100%;position:static;max-height:none}.sidebar-content{max-height:300px}}.section-header-left{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.course-filter-chip{display:flex;align-items:center;gap:.5rem}.filter-label{font-size:.875rem;color:#fff9;font-weight:500}.course-filter-select{font-size:.875rem;padding:.5rem 2.5rem .5rem .75rem}.empty-state-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2.5rem;margin-bottom:2rem;text-align:center}.empty-state-card h3{margin:0 0 .75rem;font-size:1.25rem;color:#ffffffe6}.empty-state-card p{margin:0 0 1.5rem;color:#fff9;max-width:500px;margin-left:auto;margin-right:auto}.empty-state-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:2rem}.course-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;transition:all .2s}.course-card:hover{border-color:#ffffff26;transform:translateY(-2px)}.course-card.active{border-color:#f5a524;border-width:2px;background:#f5a5241a;box-shadow:0 0 20px #f5a52433}.course-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.course-card h3{margin:0;font-size:1.1rem;color:#ffffffe6}.course-card.active h3{color:#f5a524}.course-description{font-size:.9rem;color:#ffffffb3;margin:0}.course-stats{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.05);margin-top:.5rem}.course-card.active .course-stats{background:#f5a5240d;border-color:#f5a5241a}.stat-item{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.stat-label{color:#fff9;font-weight:500}.stat-value{color:#ffffffe6;font-weight:600}.course-actions{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.course-actions button.small{padding:.5rem 1rem;font-size:.875rem}.course-actions button:disabled{opacity:.5;cursor:not-allowed}.protocol-pack-expanded-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:999}.protocol-pack-expanded{position:fixed;background:#0d1117fa;border:1px solid rgba(255,255,255,.15);border-radius:16px;box-shadow:0 20px 60px #00000080;z-index:1000;width:500px;max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);display:flex;flex-direction:column;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);top:50%;left:50%;transform:translate(-50%,-50%)}.protocol-pack-expanded-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;border-bottom:1px solid rgba(255,255,255,.1)}.protocol-pack-expanded-header h3{margin:0;font-size:1.25rem;color:#ffffffe6;font-weight:600}.protocol-pack-expanded-header button{padding:.25rem .5rem;font-size:1.5rem;line-height:1;min-width:auto;width:auto}.protocol-pack-expanded-content{padding:1.25rem;overflow-y:auto;flex:1;min-height:0}.protocol-template-list{display:flex;flex-direction:column;gap:.75rem}.protocol-template-item{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.75rem;transition:all .2s}.protocol-template-item:hover{background:#ffffff0d;border-color:#ffffff1f}.protocol-template-item label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;margin:0}.protocol-template-item input[type=checkbox]{margin-top:.25rem;width:18px;height:18px;cursor:pointer;flex-shrink:0;accent-color:#f5a524}.protocol-template-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.protocol-template-title{font-size:.95rem;font-weight:500;color:#ffffffe6}.protocol-template-description{font-size:.875rem;color:#fff9;line-height:1.4}.protocol-pack-expanded-actions{padding:1.25rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:1rem;flex-shrink:0;background:#0d1117fa}.protocol-pack-scope-selector{display:flex;flex-direction:column;gap:.5rem}.protocol-pack-scope-selector label{display:flex;flex-direction:column;gap:.5rem;font-size:.9rem;color:#ffffffe6;font-weight:500}.protocol-pack-scope-selector select:disabled{opacity:.5;cursor:not-allowed;background:#05080c66}.add-to-schedule-btn{padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;border-radius:8px;transition:all .2s;cursor:pointer}.add-to-schedule-btn.disabled{background:#ffffff1a;color:#fff6;border-color:#ffffff1a;cursor:not-allowed}.add-to-schedule-btn.enabled{background:linear-gradient(90deg,#f5a524,#f05053);color:#05080c;border-color:transparent;cursor:pointer}.add-to-schedule-btn.enabled:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f5a5244d}.add-to-schedule-btn:disabled{opacity:.6;cursor:not-allowed}.active-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .6rem;background:#f5a524;color:#05080c;border-radius:999px;font-weight:600}.goals-page-layout{display:flex;gap:2.5rem;margin-top:2rem;align-items:flex-start}.goals-page-main{flex:1;min-width:0;padding:0}.goals-page section{margin-top:0}.goals-page h2{font-size:1.25rem;margin:0;color:#ffffffe6;font-weight:600;line-height:1.2}.section-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 1rem;padding:0 0 .75rem;border-bottom:1px solid rgba(255,255,255,.1);gap:1rem;min-height:2.5rem;width:100%;box-sizing:border-box}.section-header h2{margin:0;padding:0;font-size:1.25rem;line-height:1.5;height:1.875rem;display:flex;align-items:center}.btn-icon-text{background:transparent;border:1px solid rgba(255,255,255,.2);color:#ffffffe6;padding:.5rem 1rem;border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .15s;font:inherit;height:1.875rem;display:flex;align-items:center;box-sizing:border-box}.btn-icon-text:hover{border-color:#ffffff59;background:#ffffff0d}.empty-state{color:#ffffff80;font-style:italic}.category-chips{display:flex;flex-wrap:wrap;gap:.5rem}.category-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:999px;border:1px solid;font-size:.875rem;background:#ffffff0d;cursor:grab;-webkit-user-select:none;user-select:none;transition:opacity .15s,transform .15s}.category-chip:active{cursor:grabbing}.category-chip.dragging{opacity:.5;transform:scale(.95)}.category-dot{width:10px;height:10px;border-radius:50%}.goals-grid{display:flex;flex-direction:column;gap:1rem}.goal-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1.25rem;cursor:grab;transition:opacity .15s,transform .15s,border-color .15s;position:relative;overflow:visible}.goal-card:before{content:"";position:absolute;top:0;left:0;right:0;height:14px;background:linear-gradient(to bottom,var(--course-color, #6b7280) 0%,var(--course-color, #6b7280) 60%,transparent 100%);border-radius:16px 16px 0 0}.goal-card:hover{border-color:#ffffff26;box-shadow:0 2px 8px #0003}.goal-card:active{cursor:grabbing}.goal-card.dragging{opacity:.5;transform:scale(.98)}.goal-card.archived{opacity:.6;cursor:default}.goal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:.5rem}.drag-handle{color:#ffffff4d;font-size:.75rem;letter-spacing:-.1em;cursor:grab;-webkit-user-select:none;user-select:none;opacity:0;transition:opacity .15s}.goal-card:hover .drag-handle{opacity:1}.drag-handle:active{cursor:grabbing}.category-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;padding:.25rem .5rem;border-radius:4px;color:#05080c}.icon-btn{background:transparent;border:none;padding:.25rem;cursor:pointer;font-size:1rem;opacity:.6;transition:opacity .15s}.icon-btn:hover{opacity:1}.icon-btn.danger:hover{opacity:1;filter:brightness(1.2)}.goal-actions{display:flex;gap:.25rem}.goal-card h3:not(.goal-title){margin:0 0 .5rem;font-size:1.1rem}.goal-title{flex:1;margin:0;font-size:1.1rem;color:#ffffffe6;font-weight:600;line-height:1.2}.goal-desc{color:#ffffffb3;font-size:.9rem;margin:0 0 .5rem}.goal-target{font-size:.8rem;color:#f5a524;margin:0 0 .75rem}.goal-tasks{border-top:1px solid rgba(255,255,255,.1);padding-top:.875rem;margin-top:.875rem}.goal-tasks-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.goal-tasks-toggle{background:transparent;border:none;color:#ffffffb3;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:all .15s;display:flex;align-items:center;gap:.5rem;font-size:.875rem;font:inherit}.goal-tasks-toggle:hover{background:#ffffff0d;color:#ffffffe6}.goal-tasks-toggle-icon{transition:transform .2s;font-size:.75rem}.goal-tasks-toggle.expanded .goal-tasks-toggle-icon{transform:rotate(180deg)}.goal-tasks-summary{font-size:.875rem;color:#fff9;padding:.5rem 0}.goal-tasks-list{overflow:hidden;transition:max-height .3s ease-out,opacity .2s ease-out}.goal-tasks-list.collapsed{max-height:0;opacity:0}.goal-tasks-list.expanded{max-height:2000px;opacity:1}.task-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;font-size:.9rem;border-radius:6px;transition:background .15s;margin-bottom:.25rem}.task-item:hover{background:#ffffff0d}.task-item.standalone{padding:.75rem 1rem;background:#ffffff08;border-radius:8px;margin-bottom:.5rem}.task-item.inactive{opacity:.5}.task-actions{display:flex;gap:.25rem;margin-left:auto}.inactive-badge{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .4rem;background:#ffffff1a;border-radius:4px;margin-left:.5rem;color:#ffffff80}.task-bullet{color:#ffffff4d;font-size:1rem;line-height:1;flex-shrink:0}.task-item:hover .task-bullet{color:#f5a52499}.task-title{flex:1}.task-bpm,.task-duration{font-size:.75rem;padding:.2rem .5rem;background:#ffffff1a;border-radius:4px;color:#ffffffb3}.empty-tasks{font-size:.8rem;color:#fff6;margin:0}.add-task-button{width:100%;background:transparent;border:1px dashed rgba(255,255,255,.2);color:#ffffffb3;padding:.75rem;border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .15s;margin-top:.5rem;font:inherit}.add-task-button:hover{border-color:#f5a52480;border-style:solid;color:#ffffffe6;background:#f5a5240d}.action-menu-wrapper{position:relative}.action-menu-trigger{background:transparent;border:none;color:#fff9;font-size:1.25rem;line-height:1;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .15s;display:flex;align-items:center;justify-content:center;width:28px;height:28px}.action-menu-trigger:hover{background:#ffffff1a;color:#ffffffe6}.action-menu{position:absolute;top:100%;right:0;margin-top:.25rem;background:#0d1117fa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:.5rem 0;min-width:180px;white-space:nowrap;box-shadow:0 4px 20px #0006;z-index:1000;overflow:visible}.action-menu-item{width:100%;background:transparent;border:none;color:#ffffffe6;padding:.5rem 1rem;text-align:left;cursor:pointer;font-size:.875rem;transition:background .15s;font:inherit;white-space:nowrap;display:flex;align-items:center}.action-menu-item:hover{background:#ffffff1a}.action-menu-item.danger{color:#f66}.action-menu-item.danger:hover{background:#ff66661a}.action-menu-divider{height:1px;background:#ffffff1a;margin:.25rem 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#0d1117;border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:0;max-height:90vh;overflow-y:auto;overflow-x:visible;position:relative;box-shadow:0 20px 60px #00000080;width:min(90vw,600px)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h2{margin:0;font-size:1.5rem;color:#fffffff2;font-weight:600}.modal-close{background:transparent;border:none;color:#ffffffb3;font-size:1.5rem;line-height:1;padding:.5rem;cursor:pointer;border-radius:8px;transition:all .2s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#ffffff1a;color:#ffffffe6}.modal-body{padding:1.5rem}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.modal-card{width:min(480px,100%);background:#0d1117;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.5rem;max-height:90vh;overflow-y:auto;overflow-x:visible;position:relative}.modal-card h2{margin:0 0 1.5rem}.modal-card form{display:flex;flex-direction:column;gap:1rem}.modal-card label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:#fffc}.color-input-row{display:flex;gap:.5rem}.color-input-row input[type=color]{width:48px;height:40px;padding:4px;cursor:pointer}.color-input-row input[type=text]{flex:1}.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.form-row label{min-height:fit-content}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.import-wizard{max-width:700px;width:90vw}.wizard-desc{color:#fff9;margin-bottom:1.5rem}.csv-column-help{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.csv-column-help h3{font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;color:#ffffffb3;margin:0 0 .75rem;font-weight:600}.column-hint{color:#fff9;font-size:.85rem;margin:0 0 .75rem}.column-hint:last-of-type{margin-bottom:0;margin-top:.75rem;font-size:.8rem;color:#ffffff80}.column-list{margin:.75rem 0;padding-left:1.5rem;color:#fffc;font-size:.85rem;line-height:1.8}.column-list li{margin:.25rem 0}.column-list strong{color:#f5a524;font-weight:600}.file-upload-area{border:2px dashed rgba(255,255,255,.2);border-radius:12px;padding:2rem;text-align:center;margin-bottom:1rem}.file-upload-area input[type=file]{display:none}.file-upload-label{display:inline-block;background:linear-gradient(90deg,#f5a524,#f05053);color:#05080c;font-weight:600;padding:.75rem 1.5rem;border-radius:999px;cursor:pointer;transition:opacity .15s}.file-upload-label:hover{opacity:.9}.file-name{margin-top:1rem;color:#fff9;font-size:.9rem}.mapping-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.required{color:#f05053}.label-with-help{display:flex;align-items:center;gap:.5rem}.help-icon-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;min-width:16px;max-width:16px;min-height:16px;max-height:16px;flex-shrink:0;line-height:1;overflow:visible}.help-icon{width:16px;height:16px;min-width:16px;max-width:16px;min-height:16px;max-height:16px;padding:0;margin:0;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:#ffffff08;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;-webkit-user-select:none;user-select:none;font:inherit;flex-shrink:0;line-height:1;box-sizing:border-box;overflow:visible}.help-icon:hover{background:#ffffff14;border-color:#ffffff59}.help-icon:focus{outline:2px solid rgba(245,165,36,.5);outline-offset:2px}.help-icon-inner{font-size:.7rem;font-weight:500;color:#ffffff80;line-height:1;font-style:normal;font-family:Georgia,serif}.help-icon:hover .help-icon-inner{color:#ffffffb3}.help-tooltip-portal{pointer-events:none}.help-tooltip{padding:1rem 1.25rem;background:#0d1117fa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:.85rem;color:#ffffffe6;min-width:320px;max-width:450px;white-space:normal;line-height:1.6;box-shadow:0 4px 16px #00000080;animation:tooltipFadeIn .2s ease-out;pointer-events:auto}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%,calc(-100% - 6px))}to{opacity:1;transform:translate(-50%,calc(-100% - 10px))}}.help-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-top-color:#0d1117fa;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.preview-section{margin-bottom:1.5rem}.preview-section h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:#ffffff80;margin:0 0 .75rem}.preview-table-wrapper{overflow-x:auto;max-height:200px;border:1px solid rgba(255,255,255,.1);border-radius:8px}.preview-table{width:100%;border-collapse:collapse;font-size:.85rem}.preview-table th,.preview-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.1);white-space:nowrap}.preview-table th{background:#ffffff0d;font-weight:600;position:sticky;top:0}.preview-table th.mapped,.preview-table td.mapped{background:#f5a52426}.result-stats{display:flex;justify-content:center;gap:2rem;margin:2rem 0}.result-stat{display:flex;flex-direction:column;align-items:center}.result-stat .stat-value{font-size:2.5rem;font-weight:700}.result-stat.success .stat-value{color:#22c55e}.result-stat.warning .stat-value{color:#f5a524}.result-stat .stat-label{font-size:.85rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.1em}.import-errors{background:#f050531a;border:1px solid rgba(240,80,83,.3);border-radius:8px;padding:1rem;margin-bottom:1rem}.import-errors h4{margin:0 0 .5rem;font-size:.9rem;color:#f05053}.import-errors ul{margin:0;padding-left:1.25rem;font-size:.85rem;color:#ffffffb3}button:disabled{opacity:.5;cursor:not-allowed}.checkbox-label{flex-direction:row!important;align-items:center;gap:.5rem!important}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.practice-page,.session-setup{display:flex;flex-direction:column;gap:1.5rem}.start-btn{font-size:1.1rem;padding:1rem 2rem}.task-queue-preview{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.queue-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#ffffff08;border-radius:8px}.queue-item.small{padding:.5rem .75rem}.queue-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#f5a524,#f05053);color:#05080c;border-radius:50%;font-weight:600;font-size:.85rem}.queue-details{flex:1;display:flex;flex-direction:column;gap:.25rem}.queue-title{font-weight:500}.queue-goal-name{color:#fff9;font-weight:400}.queue-reason{font-size:.8rem;color:#fff9}.queue-last-practiced,.task-last-practiced{cursor:help;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.queue-bpm{font-size:.75rem;color:#f5a524}.queue-duration{font-size:.8rem;color:#ffffff80;white-space:nowrap}.session-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.session-timer{display:flex;flex-direction:column;align-items:center}.timer-display{font-size:2.5rem;font-weight:700;font-variant-numeric:tabular-nums;background:linear-gradient(90deg,#f5a524,#f05053);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.timer-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#ffffff80}.course-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.course-name{font-size:.875rem;color:#ffffffe6;font-weight:500}.session-controls{display:flex;gap:.5rem}.current-task-card{background:#ffffff0d;border:2px solid rgba(245,165,36,.3);border-radius:20px;padding:2rem;text-align:center;position:relative;overflow:hidden}.task-course{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:#ffffff0d;border-radius:6px;border:1px solid rgba(255,255,255,.1);position:absolute;top:1rem;right:1rem;font-size:.75rem;z-index:1}.timer-progress{position:absolute;top:0;left:0;height:4px;background:linear-gradient(90deg,#f5a524,#f05053);transition:width 1s linear}.current-task-card h2{margin:.5rem 0;font-size:1.75rem;position:relative}.task-timer{font-size:3rem;font-weight:700;font-variant-numeric:tabular-nums;color:#f5a524;display:flex;flex-direction:column;align-items:center;position:relative}.task-timer.paused{color:#f5a52480}.task-timer.overtime{color:#22c55e}.overtime-label{font-size:2rem;color:#22c55e}.timer-complete{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:#22c55e;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.paused-label{font-size:.75rem;letter-spacing:.1em;color:#ffffff80;margin-top:.25rem}.current-task-card.paused{border-color:#fff3}.current-task-card.overtime{border-color:#22c55e80}.task-reason{color:#ffffffb3;margin:.5rem 0}.task-instructions{background:#ffffff0d;padding:1rem;border-radius:8px;margin:1rem 0;text-align:left;font-size:.9rem;color:#fffc}.task-meta{display:flex;justify-content:center;gap:2rem;margin:1.5rem 0}.meta-item{display:flex;flex-direction:column;align-items:center}.meta-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#ffffff80}.meta-value{font-size:1.25rem;font-weight:600;color:#f5a524}.task-actions{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem}.task-complete-form{margin-top:1.5rem;text-align:left}.task-complete-form label{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem;font-size:.9rem}.task-complete-form input[type=range]{width:100%}.task-queue-section,.completed-section{margin-top:1rem}.task-queue-section h3,.completed-section h3{font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;color:#ffffff80;margin:0 0 .75rem}.task-queue,.completed-tasks{display:flex;flex-direction:column;gap:.5rem}.empty-queue{color:#fff6;font-size:.9rem;font-style:italic}.completed-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#ffffff08;border-radius:6px}.completed-title{color:#fff9}.completed-rating{color:#f5a524;font-size:.85rem}.settings-page{display:flex;flex-direction:column;gap:1.5rem}.settings-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1.5rem}.settings-card h2{margin:0 0 1rem;font-size:1.1rem}.settings-card label{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.settings-card input[type=number]{max-width:120px}.sound-options{display:flex;gap:.75rem;flex-wrap:wrap}.sound-option{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 1rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:all .15s;font-size:1.5rem}.sound-option span{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.sound-option:hover{background:#ffffff1a}.sound-option.active{border-color:#f5a524;background:#f5a5241a}.settings-actions{display:flex;justify-content:flex-end}.form-success{color:#22c55e;font-size:.9rem}.toast-container{position:fixed;top:1rem;left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;gap:.75rem;pointer-events:none;max-width:calc(100% - 2rem);width:100%;max-width:400px}.toast{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 4px 20px #0000004d;pointer-events:auto;animation:toastSlideIn .3s ease-out;cursor:pointer;transition:transform .2s,opacity .2s}.toast:hover{transform:translateY(-2px);box-shadow:0 6px 24px #00000059}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.toast-success{border-left:4px solid #22c55e;color:#05080c}.toast-error{border-left:4px solid #f66;color:#05080c}.toast-info{border-left:4px solid #3b82f6;color:#05080c}.toast-warning{border-left:4px solid #f5a524;color:#05080c}.toast-message{flex:1;font-size:.9rem;font-weight:500;line-height:1.4}.toast-close{background:transparent;border:none;color:#05080c99;font-size:1.5rem;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s;flex-shrink:0}.toast-close:hover{background:#05080c1a;color:#05080ce6}.progress-page{display:flex;flex-direction:column;gap:2rem}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.stat-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1.25rem;text-align:center}.stat-card .stat-value{font-size:2rem;font-weight:700;color:#f5a524}.stat-card .stat-label{font-size:.8rem;color:#fff9;text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}.streak-card{background:linear-gradient(135deg,#f5a52426,#f0505326);border-color:#f5a5244d}.streak-flame{font-size:2rem;margin-bottom:.25rem}.streak-number{font-size:3rem;font-weight:700;background:linear-gradient(90deg,#f5a524,#f05053);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.streak-label{font-size:.9rem;color:#ffffffb3}.streak-best{font-size:.75rem;color:#ffffff80;margin-top:.5rem}.charts-container{display:flex;flex-direction:column;gap:2rem}@media (min-width: 1200px){.charts-container{flex-direction:row;align-items:flex-start}.chart-section,.heatmap-section{flex:1;min-width:0}}.chart-section,.heatmap-section{background:#ffffff08;border-radius:16px;padding:1.5rem}.chart-section h2,.heatmap-section h2{margin:0 0 .5rem;font-size:1.1rem}.section-desc{color:#ffffff80;font-size:.85rem;margin:0 0 1rem}.chart-container{display:flex;flex-direction:column;gap:.5rem}.chart-bars{display:flex;align-items:flex-end;height:120px;gap:2px}.chart-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative}.chart-bar{width:100%;background:linear-gradient(to top,#f5a524,#f05053);border-radius:2px 2px 0 0;min-width:4px;transition:height .3s ease}.chart-bar.empty{background:#ffffff1a;height:2px!important}.chart-bar.today{box-shadow:0 0 8px #f5a52480}.chart-labels-row{display:flex;align-items:flex-start;gap:2px;margin-top:.5rem;height:1.5rem}.chart-label{flex:1;font-size:.65rem;color:#fff6;text-align:center;line-height:1.5rem}.chart-legend{display:flex;justify-content:space-between;font-size:.7rem;color:#fff6}.heatmap-container{display:flex;flex-direction:column;gap:.5rem;overflow-x:auto}.heatmap-months{display:flex;gap:0;padding-left:32px}.heatmap-month{width:13px;font-size:.65rem;color:#ffffff80;text-align:left}.heatmap-grid{display:flex;gap:4px}.heatmap-days{display:flex;flex-direction:column;justify-content:space-around;font-size:.6rem;color:#fff6;width:28px;height:91px}.heatmap-weeks{display:flex;gap:3px}.heatmap-week{display:flex;flex-direction:column;gap:3px}.heatmap-cell{width:10px;height:10px;border-radius:2px;background:#ffffff14}.heatmap-cell.level-0{background:#ffffff14}.heatmap-cell.level-1{background:#f5a5244d}.heatmap-cell.level-2{background:#f5a52480}.heatmap-cell.level-3{background:#f5a524b3}.heatmap-cell.level-4{background:#f5a524}.heatmap-legend{display:flex;align-items:center;gap:4px;justify-content:flex-end;font-size:.65rem;color:#fff6;margin-top:.5rem}.heatmap-legend .heatmap-cell{width:10px;height:10px}.landing-page{min-height:100vh;position:relative;overflow-x:hidden;background:#05080c;color:#ffffffe6}.landing-background{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.gradient-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.3;animation:float 20s ease-in-out infinite}.orb-1{width:600px;height:600px;background:radial-gradient(circle,#f5a52466,#f0505333);top:-200px;left:-200px;animation-delay:0s}.orb-2{width:500px;height:500px;background:radial-gradient(circle,#f050534d,#f5a52426);bottom:-150px;right:-150px;animation-delay:-7s}.orb-3{width:400px;height:400px;background:radial-gradient(circle,#f5a52440,#f050531a);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-14s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.landing-container{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:4rem 2rem;display:flex;flex-direction:column;gap:4rem}.landing-header{text-align:center}.logo-section{display:flex;flex-direction:column;gap:1rem;align-items:center}.logo{font-size:clamp(3.5rem,8vw,6rem);font-weight:800;margin:0;background:linear-gradient(135deg,#f5a524,#f05053);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em;line-height:1.1}.tagline{font-size:clamp(1.25rem,2.5vw,1.75rem);color:#ffffffb3;margin:0;font-weight:300;letter-spacing:.01em}.landing-content{display:flex;flex-direction:column;gap:4rem;align-items:center}.hero-section{width:100%;max-width:800px;text-align:center}.hero-content{display:flex;flex-direction:column;gap:1.5rem}.hero-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.3;margin:0;color:#fffffff2;letter-spacing:-.01em}.hero-description{font-size:clamp(1rem,2vw,1.25rem);line-height:1.6;color:#ffffffb3;max-width:600px;margin:0 auto}.beta-signup-section{width:100%;max-width:500px;position:relative;z-index:1}.beta-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:3rem 2.5rem;box-shadow:0 8px 32px #0000004d;transition:border-color .2s ease,box-shadow .2s ease;position:relative;z-index:1;overflow:visible;min-height:400px;display:flex;flex-direction:column}.beta-card:hover{border-color:#f5a5244d;box-shadow:0 12px 48px #0006}.beta-header{text-align:center;margin-bottom:2rem;position:relative;z-index:1}.beta-title{font-size:1.75rem;font-weight:700;margin:0 0 .5rem;color:#fffffff2;background:linear-gradient(135deg,#f5a524,#f05053);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.beta-subtitle{font-size:1rem;color:#fff9;margin:0}.beta-form{display:flex;flex-direction:column;gap:1.5rem;position:relative;z-index:2}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:500;color:#fffc;letter-spacing:.01em}.form-input{padding:1rem 1.25rem;border-radius:12px;font-size:1rem;border-width:1.5px}.beta-submit-btn{width:100%;padding:1.125rem 2rem;background:linear-gradient(135deg,#f5a524,#f05053);border:none;border-radius:12px;color:#05080c;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;font-family:inherit;box-shadow:0 4px 16px #f5a5244d;margin-top:.5rem;position:relative;z-index:3;visibility:visible;opacity:1}.beta-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 24px #f5a52466}.beta-submit-btn:active:not(:disabled){transform:translateY(0)}.beta-submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none;visibility:visible!important;display:flex!important}.spinner{width:18px;height:18px;border:2px solid rgba(5,8,12,.3);border-top-color:#05080c;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{background:#f0505326;border:1px solid rgba(240,80,83,.3);border-radius:12px;padding:1rem;margin:-.5rem 0}.error-message p{margin:0;color:#f05053;font-size:.9rem;line-height:1.4}.success-state{text-align:center;padding:2rem 0 1rem;min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center}.success-icon{width:64px;height:64px;margin:0 auto 1.5rem;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;font-weight:700;box-shadow:0 4px 16px #22c55e4d;animation:successPop .5s ease-out}@keyframes successPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.success-title{font-size:1.5rem;font-weight:700;margin:0 0 .75rem;color:#fffffff2}.success-message{font-size:1rem;line-height:1.6;color:#ffffffb3;margin:0}@media (max-width: 768px){.landing-container{padding:2rem 1.5rem;gap:3rem}.beta-card{padding:2rem 1.5rem}.hero-section{max-width:100%}.orb-1,.orb-2,.orb-3{filter:blur(60px)}}@media (max-width: 480px){.landing-container{padding:1.5rem 1rem}.beta-card{padding:1.5rem 1.25rem;border-radius:20px}.beta-title{font-size:1.5rem}.beta-submit-btn{padding:1rem 1.5rem;font-size:1rem}}.invite-signup-page{min-height:100vh;position:relative;overflow-x:hidden;background:#05080c;color:#ffffffe6;display:flex;align-items:center;justify-content:center;padding:2rem}.invite-signup-container{position:relative;z-index:1;width:100%;max-width:500px}.invite-signup-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:3rem 2.5rem;box-shadow:0 8px 32px #0000004d;transition:border-color .2s ease,box-shadow .2s ease;position:relative;z-index:1;overflow:visible}.invite-signup-card:hover{border-color:#f5a5244d;box-shadow:0 12px 48px #0006}.invite-signup-header{text-align:center;margin-bottom:2rem;position:relative;z-index:1}.invite-signup-title{font-size:2rem;font-weight:700;margin:0 0 1rem;color:#fffffff2;background:linear-gradient(135deg,#f5a524,#f05053);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.invite-signup-subtitle{font-size:1.125rem;color:#fffc;margin:0 0 .75rem;line-height:1.5}.highlight-name{color:#f5a524;font-weight:600}.invite-signup-description{font-size:.95rem;color:#fff9;margin:0;line-height:1.6}.invite-signup-form{display:flex;flex-direction:column;gap:1.5rem;position:relative;z-index:2}.invite-signup-form .form-group{display:flex;flex-direction:column;gap:.5rem}.invite-signup-form .form-group label{font-size:.9rem;font-weight:500;color:#fffc;letter-spacing:.01em}.invite-signup-form .form-input{padding:1rem 1.25rem;border-radius:12px;font-size:1rem;border-width:1.5px}.invite-submit-btn{width:100%;padding:1.125rem 2rem;background:linear-gradient(135deg,#f5a524,#f05053);border:none;border-radius:12px;color:#05080c;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;font-family:inherit;box-shadow:0 4px 16px #f5a5244d;margin-top:.5rem;position:relative;z-index:3}.invite-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 24px #f5a52466}.invite-submit-btn:active:not(:disabled){transform:translateY(0)}.invite-submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.invite-signup-form .error-message{background:#f0505326;border:1px solid rgba(240,80,83,.3);border-radius:12px;padding:1rem;margin:-.5rem 0}.invite-signup-form .error-message p{margin:0;color:#f05053;font-size:.9rem;line-height:1.4}.loading-state,.error-state{text-align:center;padding:2rem 0;min-height:200px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem}.loading-state p{color:#ffffffb3;font-size:1rem;margin:0}.error-icon{width:64px;height:64px;margin:0 auto;background:linear-gradient(135deg,#f0505333,#f050531a);border:2px solid rgba(240,80,83,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#f05053;font-weight:700;box-shadow:0 4px 16px #f0505333}.error-state h2{font-size:1.5rem;font-weight:700;margin:0 0 .5rem;color:#fffffff2}.error-state p{font-size:1rem;line-height:1.6;color:#ffffffb3;margin:0}@media (max-width: 768px){.invite-signup-page{padding:1.5rem}.invite-signup-card{padding:2rem 1.5rem}.invite-signup-title{font-size:1.75rem}.invite-signup-subtitle{font-size:1rem}}@media (max-width: 480px){.invite-signup-page{padding:1rem}.invite-signup-card{padding:1.5rem 1.25rem;border-radius:20px}.invite-signup-title{font-size:1.5rem}.invite-submit-btn{padding:1rem 1.5rem;font-size:1rem}}.template-filters{margin-bottom:2rem}.template-type-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.template-type-tabs .tab{padding:.75rem 1.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#ffffffb3;font-size:.95rem;cursor:pointer;transition:all .2s ease}.template-type-tabs .tab:hover{background:#ffffff14;color:#ffffffe6}.template-type-tabs .tab.active{background:linear-gradient(135deg,#f5a524,#f05053);border-color:transparent;color:#fff;font-weight:500}.filter-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.filter-row .search-input,.filter-row select{border-radius:12px;font-size:.95rem}.filter-row .search-input{flex:1;min-width:200px}.filter-row select{min-width:150px}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-top:1.5rem}.featured-templates-section,.regular-templates-section{margin-bottom:3rem}.section-title{font-size:1.5rem;font-weight:600;margin:0 0 1.5rem;color:#fffffff2}.template-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;transition:all .3s ease;position:relative;display:flex;flex-direction:column;height:100%}.template-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000004d;border-color:#f5a5244d;background:#ffffff12}.template-featured-badge{position:absolute;top:12px;right:12px;background:linear-gradient(135deg,#f5a524,#f05053);color:#fff;padding:.35rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;z-index:2;box-shadow:0 2px 8px #f5a52466}.template-status-badge{position:absolute;top:12px;left:12px;padding:.35rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;z-index:2;text-transform:uppercase;letter-spacing:.5px}.template-status-badge.published{background:#4caf50e6;color:#fff;box-shadow:0 2px 8px #4caf5066}.template-status-badge.draft{background:#ffc107e6;color:#1a1a1a;box-shadow:0 2px 8px #ffc10766}.template-card-header{position:relative;height:120px;overflow:hidden}.template-color-bar{width:100%;height:100%;background:linear-gradient(135deg,#f5a524cc,#f05053cc)}.template-placeholder-image{width:100%;height:100%;background:linear-gradient(135deg,#f5a52433,#f0505333)}.template-card-content{padding:1.5rem;display:flex;flex-direction:column;flex:1;gap:1rem}.template-card-header-content{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.template-title{font-size:1.25rem;font-weight:600;margin:0;color:#fffffff2;line-height:1.4;flex:1}.template-featured-icon{font-size:1.25rem;flex-shrink:0}.template-description{font-size:.9rem;line-height:1.5;color:#ffffffb3;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.template-author-section{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#ffffff08;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.template-author-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid rgba(255,255,255,.1)}.template-author-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5a5244d,#f050534d);color:#ffffffe6;font-weight:600;font-size:1rem}.template-author-info{flex:1;min-width:0}.template-author-name-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.template-author-name{font-size:.9rem;font-weight:500;color:#ffffffe6}.template-author-verified{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#f5a524,#f05053);color:#fff;font-size:.7rem;font-weight:700;flex-shrink:0}.template-author-bio{font-size:.8rem;line-height:1.4;color:#fff9;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.template-badges{display:flex;flex-wrap:wrap;gap:.5rem}.template-badge{display:inline-block;padding:.35rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;text-transform:capitalize}.template-badge.difficulty{background:#ffffff1a;color:#ffffffe6;border:1px solid rgba(255,255,255,.2)}.template-badge.difficulty-beginner{background:#4caf5033;border-color:#4caf5066;color:#81c784}.template-badge.difficulty-intermediate{background:#ffc10733;border-color:#ffc10766;color:#ffd54f}.template-badge.difficulty-advanced{background:#f4433633;border-color:#f4433666;color:#ef5350}.template-badge.category{background:#f5a52426;border:1px solid rgba(245,165,36,.3);color:#f5a524}.template-stats{display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem 0;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}.template-stat{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#ffffffb3}.template-stat-icon{font-size:1rem;opacity:.8}.template-card-actions{margin-top:auto;display:flex;gap:.75rem;flex-direction:column}.template-preview-btn{width:100%;padding:.875rem 1.5rem;font-weight:500;border-radius:12px}.template-edit-btn{width:100%;padding:.75rem 1.5rem;font-size:.9rem;border-radius:12px}.empty-state{text-align:center;padding:3rem 1rem;color:#fff9}@media (max-width: 768px){.templates-grid{grid-template-columns:1fr;gap:1rem}.filter-row{flex-direction:column;align-items:stretch}.filter-row .search-input,.filter-row select{width:100%}.template-card-content{padding:1.25rem}.template-author-section{padding:.625rem}.template-stats{gap:.75rem}}@media (max-width: 480px){.template-title{font-size:1.1rem}.template-description{font-size:.85rem}.template-author-avatar{width:36px;height:36px}.template-author-name{font-size:.85rem}.template-author-bio{font-size:.75rem}}.template-preview-author-section{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:#ffffff0d;border-radius:16px;border:1px solid rgba(255,255,255,.1);margin-bottom:1.5rem}.template-preview-author-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid rgba(245,165,36,.3)}.template-preview-author-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5a5244d,#f050534d);color:#ffffffe6;font-weight:600;font-size:1.5rem}.template-preview-author-info{flex:1;min-width:0}.template-preview-author-name-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.template-preview-author-name{font-size:1.1rem;font-weight:600;color:#fffffff2}.template-preview-author-verified{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#f5a524,#f05053);color:#fff;font-size:.85rem;font-weight:700;flex-shrink:0}.template-preview-author-bio{font-size:.95rem;line-height:1.6;color:#ffffffb3;margin:0}.template-edit-modal{max-width:700px;width:min(90vw,700px)}.template-edit-modal .modal-body{display:flex;flex-direction:column;gap:1.5rem}.template-edit-modal label{display:flex;flex-direction:column;gap:.5rem}.template-edit-modal label strong{color:#ffffffe6;font-size:.9rem;font-weight:600}.template-edit-modal input[type=text],.template-edit-modal input[type=url],.template-edit-modal input[type=number],.template-edit-modal textarea,.template-edit-modal select{font-size:.95rem}.template-edit-modal .form-section{padding:1.25rem;background:#ffffff08;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.template-edit-modal .form-section h3{margin:0 0 1rem;font-size:1.1rem;color:#fffffff2;font-weight:600}.template-edit-modal .checkbox-label{flex-direction:row;align-items:flex-start;gap:.75rem;cursor:pointer}.template-edit-modal .checkbox-label input[type=checkbox]{margin-top:.25rem;width:18px;height:18px;cursor:pointer;flex-shrink:0}.template-edit-modal .checkbox-label span{flex:1;color:#ffffffe6}.template-edit-modal .field-hint{font-size:.8rem;color:#ffffff80;margin-top:.25rem;font-style:italic}.sessions-page{display:flex;flex-direction:column;gap:2rem}.sessions-list{display:flex;flex-direction:column;gap:1rem}.session-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1.5rem;transition:all .2s ease}.session-card:hover{background:#ffffff12;border-color:#ffffff1f}.session-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.session-date{display:flex;flex-direction:column;gap:.25rem}.session-date-main{font-size:1rem;font-weight:600;color:#fffffff2}.session-date-relative{font-size:.875rem;color:#fff9}.session-duration{font-size:1.125rem;font-weight:600;color:#f5a524e6;white-space:nowrap}.session-details{display:flex;flex-direction:column;gap:.75rem}.session-detail-item{display:flex;gap:.5rem;align-items:center}.session-detail-label{font-size:.875rem;color:#fff9;font-weight:500}.session-detail-value{font-size:.875rem;color:#ffffffe6}.session-notes{margin-top:.5rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1)}.session-notes p{margin:.5rem 0 0;color:#fffc;font-size:.875rem;line-height:1.5}.section-desc{font-size:.875rem;color:#fff9;margin-top:.25rem}.start-practicing-page,.practice-interface{display:flex;flex-direction:column;gap:2rem}.session-status-panel{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.restored-session-notice{background:#f5a5241a;border:1px solid rgba(245,165,36,.3);border-radius:8px;padding:1rem;margin-bottom:1rem}.restored-session-notice p{margin:0;color:#f5a524e6;font-size:.9rem}.session-controls-row{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}.session-timers{display:flex;gap:2rem;align-items:center;flex-wrap:wrap}.session-timer-display{display:flex;flex-direction:column;align-items:center;gap:.5rem}.timer-value{font-size:2.5rem;font-weight:700;color:#fffffff2;font-variant-numeric:tabular-nums;letter-spacing:.05em}.timer-label{font-size:.875rem;color:#fff9;text-transform:uppercase;letter-spacing:.05em}.timer-duration{font-size:.75rem;color:#fff6;margin-top:-.5rem;margin-bottom:0;font-weight:400;line-height:1;height:1rem;display:flex;align-items:center;justify-content:flex-end;width:100%;text-align:right}.exercise-timer-display{display:flex;flex-direction:column;align-items:center;gap:0}.exercise-timer-display .timer-value{width:100%;text-align:right}.exercise-timer-display .timer-label{margin-top:.19rem}.exercise-timer-display.overtime .timer-value{color:#f55053e6}.session-controls{display:flex;gap:1rem;flex-wrap:wrap}.btn.large{padding:1rem 2rem;font-size:1.1rem;font-weight:600}.btn.video-play{background:linear-gradient(135deg,#22c55e,#16a34a);border-color:#16a34a;color:#fff;font-weight:600}.btn.video-play:hover{background:linear-gradient(135deg,#16a34a,#15803d);border-color:#15803d;box-shadow:0 4px 12px #22c55e4d}.btn.video-play:active{background:linear-gradient(135deg,#15803d,#166534);border-color:#166534}.btn.video-pause{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#d97706;color:#fff;font-weight:600}.btn.video-pause:hover{background:linear-gradient(135deg,#d97706,#b45309);border-color:#b45309;box-shadow:0 4px 12px #f59e0b4d}.btn.video-pause:active{background:linear-gradient(135deg,#b45309,#92400e);border-color:#92400e}.btn.video-stop{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#dc2626;color:#fff;font-weight:600}.btn.video-stop:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);border-color:#b91c1c;box-shadow:0 4px 12px #ef44444d}.btn.video-stop:active{background:linear-gradient(135deg,#b91c1c,#991b1b);border-color:#991b1b}.session-scope-display{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#ffffff08;border-radius:8px}.scope-name{font-size:.9rem;color:#fffc;font-weight:500}.panel-bottom-right{display:flex;align-items:center;gap:1.5rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.progress-visualization{display:flex;flex-direction:column;gap:.5rem}.progress-text{display:none}.difficulty-indicator-inline{display:flex;flex-direction:column;gap:.25rem;align-items:flex-end}.difficulty-indicator-inline .difficulty-label{font-size:.75rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em}.difficulty-indicator-inline .difficulty-value{font-size:.9rem;color:#ffffffe6;font-weight:600}.progress-indicators{display:flex;gap:.5rem;flex-wrap:wrap}.progress-dot.completed{background:#22c55ecc;border-color:#22c55e}.progress-dot.current{background:#f5a524cc;border-color:#f5a524;box-shadow:0 0 8px #f5a52466;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.progress-text{font-size:.875rem;color:#ffffffb3}.current-exercise-header{display:flex;align-items:flex-start;gap:1.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.exercise-title-section{flex:1;display:flex;flex-direction:column;gap:.75rem;min-width:0}.exercise-scope-protocol{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0;align-items:flex-end;max-width:25%;min-width:0}.scope-name-row{display:flex;align-items:center;gap:.5rem;justify-content:flex-end;width:100%;min-width:0}.scope-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.scope-name{font-size:.9rem;color:#fffc;font-weight:500;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.protocol-name-row{display:flex;align-items:center;gap:.5rem;padding-left:.75rem;justify-content:flex-end;width:100%;min-width:0}.difficulty-indicator-inline{display:flex;flex-direction:column;gap:.25rem;align-items:flex-end;margin-top:.25rem}.progress-visualization-inline{display:flex;flex-direction:column;gap:.25rem;align-items:flex-end;margin-top:.25rem;width:100%}.progress-indicators{display:flex;gap:.25rem;flex-wrap:wrap;justify-content:flex-end;width:100%}.progress-dot{width:var(--dot-size, 12px);height:var(--dot-size, 12px);border-radius:50%;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);transition:all .2s ease;flex-shrink:0}.bpm-indicator-inline{display:flex;flex-direction:column;gap:.25rem;align-items:flex-end;margin-top:.25rem}.bpm-indicator-inline .bpm-label{font-size:.75rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em}.bpm-indicator-inline .bpm-value{font-size:.9rem;color:#ffffffe6;font-weight:600}.protocol-indicator{color:#fff6;font-size:.9rem;line-height:1;font-family:monospace}.protocol-name{font-size:.85rem;color:#ffffffb3;font-weight:400;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.exercise-title-large{font-size:2rem;font-weight:600;color:#fffffff2;margin:0;flex:1;line-height:1.2}.exercise-instructions{display:flex;flex-direction:column;gap:.5rem}.instructions-text{color:#fffc;line-height:1.6;margin:0}.instructions-toggle{background:transparent;border:none;color:#f5a524e6;padding:.25rem 0;font-size:.875rem;cursor:pointer;text-align:left;width:fit-content}.instructions-toggle:hover{color:#f5a524;text-decoration:underline}.exercise-meta{display:flex;gap:1.5rem;flex-wrap:wrap}.meta-item{display:flex;flex-direction:column;gap:.25rem}.meta-label{font-size:.75rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em}.meta-value{font-size:.9rem;color:#ffffffe6;font-weight:500}.practice-exercise-list{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1.5rem}.practice-exercise-list h3{margin:0 0 1rem;font-size:1.1rem;color:#ffffffe6;font-weight:600}.exercise-list-items{display:flex;flex-direction:column;gap:.75rem}.exercise-list-item{display:flex;gap:1rem;align-items:flex-start;padding:1rem;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:12px;transition:all .2s ease}.exercise-list-item:hover{background:#ffffff0a;border-color:#ffffff1a}.exercise-list-item.current-exercise{background:#f5a5241a;border-color:#f5a5244d;box-shadow:0 0 12px #f5a52433}.exercise-list-item.completed{opacity:.6}.exercise-item-status{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.status-icon{font-size:1.2rem;line-height:1}.status-icon.current-icon{color:#f5a524}.status-icon.upcoming-icon{color:#ffffff4d}.exercise-item-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.exercise-item-header{display:flex;gap:.5rem;align-items:baseline;flex-wrap:wrap}.exercise-protocol-name{font-size:.875rem;font-weight:500}.exercise-item-title{font-size:1rem;font-weight:500;color:#ffffffe6}.exercise-item-meta{display:flex;gap:1rem;flex-wrap:wrap;font-size:.875rem;color:#fff9}.exercise-meta-item{display:flex;align-items:center}.exercise-meta-item.last-practiced{color:#ffffff80;font-style:italic}.practice-setup-wizard{display:flex;flex-direction:column;gap:2rem}.setup-progress-container{display:flex;flex-direction:column;gap:1rem;padding:2rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:16px}.setup-progress-indicator{display:flex;flex-direction:column;gap:1rem}.progress-bar-container{width:100%;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#f5a524,#f05053);border-radius:4px;transition:width .5s ease}.progress-message{text-align:center;font-size:1rem;color:#fffc}.progress-complete{color:#22c55ee6;font-weight:600}.wizard-actions{display:flex;justify-content:center;gap:1rem}.marketplace-selector{display:flex;flex-direction:column;gap:2rem}.marketplace-header{text-align:center}.marketplace-header h2{font-size:1.75rem;margin:0 0 .5rem;color:#fffffff2}.marketplace-subtitle{font-size:1rem;color:#ffffffb3;margin:0}.marketplace-pack-card{transition:transform .2s ease,box-shadow .2s ease}.marketplace-pack-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000004d}.exercise-complete-form{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:1rem}.exercise-complete-form h4{margin:0 0 .5rem;font-size:1.1rem;color:#ffffffe6;font-weight:600}.exercise-complete-form .form-row{display:flex;gap:1rem;flex-wrap:wrap}.exercise-complete-form .form-row label{flex:1;min-width:150px}.exercise-complete-form label{display:flex;flex-direction:column;gap:.5rem;font-size:.9rem}.exercise-complete-form input[type=number],.exercise-complete-form input[type=text]{padding:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffffe6;font-size:.9rem}.exercise-complete-form input[type=range]{width:100%}.exercise-complete-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:.5rem}.admin-chatgpt-page{width:100%;max-width:100%}.admin-chatgpt-page header{margin-bottom:2rem}.admin-chatgpt-page h1{margin:0 0 .5rem;font-size:2rem;font-weight:600;color:#fffffff2}.admin-chatgpt-page p{margin:0;color:#fff9;font-size:.95rem}.chatgpt-create-form,.chatgpt-status{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:2rem;width:100%}.chatgpt-create-form h2,.chatgpt-status h2{margin:0 0 1rem;font-size:1.5rem;font-weight:600;color:#fffffff2}.chatgpt-create-form>p{margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#fffc;font-size:.9rem}.form-group input{width:100%;padding:.625rem .875rem;background:#05080c99;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#ffffffe6;font-size:.9rem;transition:all .15s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#f5a52480;background:#05080ccc}.form-group input::placeholder{color:#fff6}.form-group small{display:block;margin-top:.25rem;color:#ffffff80;font-size:.875rem}.chatgpt-create-form button[type=submit]{padding:.75rem 1.5rem;background:linear-gradient(90deg,#f5a524,#f05053);color:#05080c;border:none;border-radius:999px;font-weight:600;font-size:1rem;cursor:pointer;transition:opacity .15s}.chatgpt-create-form button[type=submit]:hover:not(:disabled){opacity:.9}.chatgpt-create-form button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.status-section{margin-bottom:2rem}.status-info{margin-bottom:1.5rem;background:#05080c4d;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.25rem}.status-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.status-item:last-child{border-bottom:none}.status-item .label{font-weight:500;color:#fff9;font-size:.9rem}.status-item .value{color:#ffffffe6;font-size:.9rem}.status-item .value.active{color:#22c55e;font-weight:600}.status-item .value.inactive{color:#ef4444;font-weight:600}.status-actions{display:flex;gap:1rem}.status-actions button{padding:.75rem 1.5rem;border:none;border-radius:999px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s}.status-actions .btn-primary{background:linear-gradient(90deg,#f5a524,#f05053);color:#05080c}.status-actions .btn-primary:hover:not(:disabled){opacity:.9}.status-actions .btn-danger{background-color:#ef4444;color:#fff}.status-actions .btn-danger:hover:not(:disabled){opacity:.9}.status-actions button:disabled{opacity:.5;cursor:not-allowed}.token-display{background:#fbbf2426;border:2px solid rgba(251,191,36,.4);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.token-display h3{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:#fffffff2}.token-display .warning{color:#fbbf24e6;font-weight:500;margin-bottom:1rem;font-size:.9rem}.token-box{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}.token-box code{flex:1;padding:1rem;background:#05080ccc;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-family:monospace;word-break:break-all;font-size:.875rem;color:#ffffffe6}.token-box button{padding:.75rem 1.5rem;border:none;border-radius:999px;font-weight:600;cursor:pointer;transition:opacity .15s;white-space:nowrap}.token-box .btn-copy{background:linear-gradient(90deg,#f5a524,#f05053);color:#05080c}.token-box .btn-reveal{background:#ffffff1a;color:#ffffffe6;border:1px solid rgba(255,255,255,.2)}.token-box button:hover{opacity:.9}.token-actions{display:flex;gap:1rem;margin-top:1rem}.btn-secondary{padding:.5rem 1rem;background-color:#ffffff1a;color:#ffffffe6;border:1px solid rgba(255,255,255,.2);border-radius:999px;cursor:pointer;font-size:.9rem;transition:all .15s}.btn-secondary:hover{background-color:#ffffff26;border-color:#ffffff4d}.gpt-url-section{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.gpt-url-section h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:#fffffff2}.gpt-url-section>p{margin-bottom:1.5rem}.gpt-url-form{display:flex;gap:1rem;margin-bottom:1rem}.gpt-url-input{flex:1;padding:.625rem .875rem;background:#05080c99;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#ffffffe6;font-size:.9rem;transition:all .15s}.gpt-url-input:focus{outline:none;border-color:#f5a52480;background:#05080ccc}.gpt-url-input::placeholder{color:#fff6}.gpt-url-form button{padding:.75rem 1.5rem;background:linear-gradient(90deg,#f5a524,#f05053);color:#05080c;border:none;border-radius:999px;font-weight:600;cursor:pointer;font-size:1rem;transition:opacity .15s}.gpt-url-form button:hover:not(:disabled){opacity:.9}.gpt-url-form button:disabled{opacity:.5;cursor:not-allowed}.gpt-url-preview{margin-top:1rem;padding:1rem;background:#05080c4d;border:1px solid rgba(255,255,255,.08);border-radius:8px}.gpt-url-preview p{margin:0;color:#fffc;font-size:.9rem}.gpt-url-preview a{color:#f5a524e6;text-decoration:none;font-weight:500}.gpt-url-preview a:hover{text-decoration:underline;color:#f5a524}.openapi-section{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.openapi-section h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:#fffffff2}.openapi-section>p{margin-bottom:1.5rem;color:#ffffffb3;font-size:.9rem}.openapi-url-box{display:flex;gap:1rem;align-items:center;margin-bottom:1rem;padding:1rem;background:#05080c4d;border:1px solid rgba(255,255,255,.08);border-radius:8px}.openapi-url{flex:1;padding:.75rem;background:#05080ccc;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-family:monospace;font-size:.875rem;color:#ffffffe6;word-break:break-all;overflow-wrap:break-word}.btn-copy-small{padding:.5rem 1rem;background:linear-gradient(90deg,#f5a524,#f05053);color:#05080c;border:none;border-radius:999px;font-weight:600;font-size:.875rem;cursor:pointer;transition:opacity .15s;white-space:nowrap;flex-shrink:0}.btn-copy-small:hover{opacity:.9}.openapi-note{margin:0;padding:.75rem 1rem;background:#f5a5241a;border:1px solid rgba(245,165,36,.2);border-radius:8px;color:#fffc;font-size:.875rem;line-height:1.5}.openapi-note small{display:block;color:#ffffffb3}.app-shell:has(.admin-page-wrapper){max-width:100%!important}@media (min-width: 768px){.app-shell:has(.admin-page-wrapper){padding-left:calc(260px + 3rem);padding-right:3rem}}@media (max-width: 767px){.app-shell:has(.admin-page-wrapper){padding-left:1.5rem;padding-right:1.5rem}}.admin-page-wrapper{width:100%;max-width:100%}.admin-content{width:100%;max-width:1400px;min-height:100%}.admin-users-page,.admin-invites-page{width:100%}.admin-users-page header,.admin-invites-page header{margin-bottom:2rem}.admin-users-page h1,.admin-invites-page h1{margin:0 0 .5rem;font-size:2rem;font-weight:600;color:#fffffff2}.admin-users-page p,.admin-invites-page p{margin:0;color:#fff9;font-size:.95rem}.beta-requests-table{width:100%;border-collapse:collapse;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden}.beta-requests-table thead{background:#ffffff0d}.beta-requests-table th{padding:1rem 1.25rem;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#fff9;border-bottom:1px solid rgba(255,255,255,.1)}.beta-requests-table td{padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.05);font-size:.9rem;color:#ffffffe6}.beta-requests-table tbody tr:hover{background:#ffffff08}.beta-requests-table tbody tr:last-child td{border-bottom:none}.admin-users-page .filters,.admin-invites-page .filters{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.admin-users-page .filters label,.admin-invites-page .filters label{color:#fffc;font-size:.9rem}.admin-users-page .filters select,.admin-invites-page .filters select,.admin-users-page .filters input,.admin-invites-page .filters input{padding:.625rem .875rem;background:#05080c99;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#ffffffe6;font-size:.9rem;transition:all .15s}.admin-users-page .filters select:focus,.admin-invites-page .filters select:focus,.admin-users-page .filters input:focus,.admin-invites-page .filters input:focus{outline:none;border-color:#f5a52480;background:#05080ccc}.admin-users-page .filters select option,.admin-invites-page .filters select option{background:#0d1117;color:#ffffffe6}.admin-users-page .btn,.admin-invites-page .btn{font:inherit;border-radius:999px;padding:.75rem 1.5rem;border:1px solid transparent;cursor:pointer;transition:all .15s}.admin-users-page .btn.primary,.admin-invites-page .btn.primary{background:linear-gradient(90deg,#f5a524,#f05053);color:#05080c;font-weight:600}.admin-users-page .btn.primary:hover:not(:disabled),.admin-invites-page .btn.primary:hover:not(:disabled){opacity:.9}.admin-users-page .btn.small,.admin-invites-page .btn.small{padding:.5rem 1rem;font-size:.875rem}.admin-users-page .btn:disabled,.admin-invites-page .btn:disabled{opacity:.5;cursor:not-allowed}.admin-users-page .form-error,.admin-invites-page .form-error{color:#f66;font-size:.85rem;margin:0 0 1rem;padding:.75rem 1rem;background:#f050531a;border:1px solid rgba(240,80,83,.3);border-radius:8px}.admin-users-page .filters>div:last-child,.admin-invites-page .filters>div:last-child{color:#fff9;font-size:.875rem}.admin-users-page [style*="position: fixed"]{z-index:1000}.admin-users-page [style*="position: fixed"]>div{background:#0d1117;border:1px solid rgba(255,255,255,.15);color:#ffffffe6}.admin-users-page [style*="position: fixed"] h2{color:#fffffff2;margin-top:0}.admin-users-page [style*="position: fixed"] p{color:#fffc}.admin-users-page [style*="position: fixed"] [style*="background-color: #f5f5f5"]{background:#ffffff0d!important;border:1px solid rgba(255,255,255,.1);color:#ffffffe6}.stat-card{border-radius:16px;padding:1.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);min-width:180px;transition:transform .15s,border-color .15s}.stat-card:hover{transform:translateY(-2px);border-color:#ffffff26}.stat-card .eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#ffffff80;margin:0 0 .5rem}.stat-card .value{font-size:2.25rem;font-weight:700;margin:.5rem 0;background:linear-gradient(90deg,#f5a524,#f05053);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.stat-card .descriptor{color:#fff9;margin:.25rem 0 0;font-size:.85rem}.stat-progress{margin-top:.75rem;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.stat-progress-bar{height:100%;background:linear-gradient(90deg,#f5a524,#f05053);border-radius:2px;transition:width .3s ease}.privacy-policy-page{min-height:100vh;background:#05080c;color:#ffffffe6;padding:2rem}.privacy-policy-content{max-width:800px;margin:0 auto;line-height:1.7}.privacy-policy-content h1{font-size:2.5rem;margin-bottom:.5rem;color:#f5a524}.last-updated{color:#fff9;font-size:.9rem;margin-bottom:2rem}.privacy-policy-content section{margin-bottom:2.5rem}.privacy-policy-content h2{font-size:1.5rem;margin-bottom:1rem;color:#f5a524;border-bottom:2px solid rgba(245,165,36,.2);padding-bottom:.5rem}.privacy-policy-content p{margin-bottom:1rem;color:#ffffffd9}.privacy-policy-content ul{margin-left:1.5rem;margin-bottom:1rem}.privacy-policy-content li{margin-bottom:.5rem;color:#ffffffd9}.privacy-policy-content strong{color:#f5a524}@media (max-width: 768px){.privacy-policy-page{padding:1rem}.privacy-policy-content h1{font-size:2rem}.privacy-policy-content h2{font-size:1.25rem}}
