.login-page{background-color:var(--color-page-dark);min-height:100vh;padding:var(--spacing-lg);justify-content:center;align-items:center;display:flex}.login-card{background-color:var(--color-card-dark);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);width:100%;max-width:400px;padding:var(--spacing-xl)}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-logo{color:var(--color-primary);margin:0 0 var(--spacing-sm) 0;font-size:32px;font-weight:600}.login-subtitle{color:var(--color-text-secondary);margin:0}.login-form{gap:var(--spacing-lg);flex-direction:column;display:flex}.form-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.form-label{color:var(--color-text-primary);font-size:14px;font-weight:500}.form-input{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-section-dark);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--color-text-primary);outline:none;font-size:14px;transition:border-color .15s}.form-input:focus{border-color:var(--color-primary)}.form-input::placeholder{color:var(--color-text-muted)}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-error{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);color:var(--color-distracted);background-color:#ef444426;border:1px solid #ef44444d;font-size:13px}.form-success{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);color:var(--color-aligned);background-color:#22c55e26;border:1px solid #22c55e4d;font-size:13px}.login-button{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-primary);border-radius:var(--radius-sm);color:#fff;border:none;font-size:14px;font-weight:500;transition:background-color .15s}.login-button:hover:not(:disabled){background-color:var(--color-primary-hover)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-footer{margin-top:var(--spacing-lg);text-align:center;color:var(--color-text-muted);font-size:13px}.dashboard-page{max-width:1200px}.page-header{margin-bottom:var(--spacing-xl)}.page-title{color:var(--color-text-primary);margin:0;font-size:28px;font-weight:600}.page-subtitle{margin:var(--spacing-xs) 0 0 0;color:var(--color-text-secondary);font-size:14px}.dashboard-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.stat-card{background-color:var(--color-card-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--spacing-lg)}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--spacing-sm);font-size:12px;font-weight:600}.stat-value{color:var(--color-text-primary);font-size:32px;font-weight:600}.stat-hint{color:var(--color-text-muted);margin-top:var(--spacing-xs);font-size:12px}.section-title{margin:0 0 var(--spacing-md) 0;color:var(--color-text-primary);font-size:18px;font-weight:600}.recent-sessions{background-color:var(--color-card-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--spacing-lg)}.empty-state{padding:var(--spacing-xl);text-align:center;color:var(--color-text-muted);font-size:14px}.layout{min-height:100vh;display:flex}.sidebar{background-color:var(--color-section-dark);border-right:1px solid var(--border-subtle);width:240px;padding:var(--spacing-md);flex-direction:column;display:flex}.sidebar-header{padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.logo{color:var(--color-primary);margin:0;font-size:24px;font-weight:600}.sidebar-nav{gap:var(--spacing-xs);flex-direction:column;flex:1;display:flex}.nav-link{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:14px;text-decoration:none;transition:all .15s;display:flex}.nav-link:hover{background-color:var(--border-subtle);color:var(--color-text-primary)}.nav-link.active{background-color:var(--color-primary);color:#fff}.nav-icon{text-align:center;width:20px;font-size:16px}.sidebar-footer{border-top:1px solid var(--border-subtle);padding-top:var(--spacing-md);margin-top:var(--spacing-md)}.user-info{margin-bottom:var(--spacing-sm)}.user-email{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.sign-out-button{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--color-text-secondary);background-color:#0000;font-size:13px;transition:all .15s}.sign-out-button:hover{background-color:var(--border-subtle);border-color:var(--border-medium);color:var(--color-text-primary)}.main-content{padding:var(--spacing-xl);flex:1;overflow-y:auto}:root{--color-page-dark:#110e1a;--color-section-dark:#1c1730;--color-card-dark:#2a2242;--color-page-light:#ede9f5;--color-section-light:#f5f3fa;--color-card-light:#fff;--color-aligned:#22c55e;--color-neutral:#eab308;--color-distracted:#ef4444;--color-primary:#8b5cf6;--color-primary-hover:#7c3aed;--color-text-primary:#fffffff2;--color-text-secondary:#ffffffb3;--color-text-muted:#ffffff80;--border-subtle:#ffffff14;--border-medium:#ffffff1f;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--radius-sm:6px;--radius-md:10px;--radius-lg:12px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background-color:var(--color-page-dark);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Segoe UI Variable,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}button{cursor:pointer;font-family:inherit}.loading-container{background-color:var(--color-page-dark);justify-content:center;align-items:center;height:100vh;display:flex}.loading-spinner{border:3px solid var(--border-medium);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
