@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);font-family:var(--font-family);line-height:1.5;font-weight:400;color:var(--color-text-primary);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;font-family:var(--font-family);background-color:var(--color-background);color:var(--color-text-primary)}a{color:var(--color-primary);text-decoration:none;font-weight:500}a:hover{color:var(--color-primary-dark);text-decoration:underline}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--color-text-primary)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}button{border-radius:var(--radius-md);border:1px solid transparent;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-weight:500;font-family:inherit;background-color:var(--color-primary);color:#fff;cursor:pointer;transition:all .2s ease}button:hover{background-color:var(--color-primary-dark)}button:focus,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:disabled{opacity:.6;cursor:not-allowed}input,textarea,select{border-radius:var(--radius-sm);border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-family:inherit;transition:border-color .2s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0077b51a}.text-left{text-align:left}.text-right{text-align:right}.font-bold{font-weight:600}.font-semibold{font-weight:500}.font-normal{font-weight:400}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}:root{--brand-primary: #0077b5;--brand-primary-dark: #005582;--brand-primary-light: #1a8ccc;--brand-primary-pale: #e8f4f8;--brand-secondary: #1976d2;--brand-secondary-dark: #1565c0;--brand-secondary-light: #42a5f5;--color-white: #ffffff;--color-gray-50: #fafbfc;--color-gray-100: #f4f6f8;--color-gray-200: #e4e9f0;--color-gray-300: #c1c9d2;--color-gray-400: #8b95a1;--color-gray-500: #6c7b8a;--color-gray-600: #485563;--color-gray-700: #2d3748;--color-gray-800: #1a202c;--color-gray-900: #0f1419;--color-success: #22c55e;--color-success-dark: #16a34a;--color-success-light: #86efac;--color-success-pale: #f0fdf4;--color-warning: #f59e0b;--color-warning-dark: #d97706;--color-warning-light: #fbbf24;--color-warning-pale: #fffbeb;--color-error: #ef4444;--color-error-dark: #dc2626;--color-error-light: #f87171;--color-error-pale: #fef2f2;--color-info: #3b82f6;--color-info-dark: #2563eb;--color-info-light: #93c5fd;--color-info-pale: #eff6ff;--color-primary: var(--brand-primary);--color-primary-dark: var(--brand-primary-dark);--color-primary-light: var(--brand-primary-light);--color-secondary: var(--brand-secondary);--color-background: var(--color-white);--color-background-light: var(--color-gray-50);--color-text-primary: var(--color-gray-700);--color-text-secondary: var(--color-gray-500);--color-text-muted: var(--color-gray-400);--color-border: var(--color-gray-300);--color-border-light: var(--color-gray-200);--text-on-dark-primary: #ffffff;--text-on-dark-secondary: #f8fafc;--text-on-dark-muted: rgba( 255, 255, 255, .8 );--text-on-dark-subtle: rgba( 255, 255, 255, .7 );--gradient-primary: linear-gradient( 135deg, var(--brand-primary) 0%, var(--brand-primary-dark) 100% );--gradient-primary-soft: linear-gradient( 135deg, var(--brand-primary-light) 0%, var(--brand-primary) 100% );--gradient-secondary: linear-gradient( 135deg, var(--brand-secondary) 0%, var(--brand-secondary-dark) 100% );--gradient-subtle: linear-gradient( 135deg, var(--color-gray-50) 0%, var(--color-white) 100% );--gradient-card: linear-gradient( 145deg, var(--color-white) 0%, var(--color-gray-50) 100% );--gradient-header: linear-gradient( 135deg, var(--brand-primary) 0%, var(--brand-secondary) 100% );--font-family-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-0: 0;--spacing-px: 1px;--spacing-0-5: .125rem;--spacing-1: .25rem;--spacing-1-5: .375rem;--spacing-2: .5rem;--spacing-2-5: .625rem;--spacing-3: .75rem;--spacing-3-5: .875rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-7: 1.75rem;--spacing-8: 2rem;--spacing-9: 2.25rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--spacing-xs: var(--spacing-1);--spacing-sm: var(--spacing-2);--spacing-md: var(--spacing-4);--spacing-lg: var(--spacing-6);--spacing-xl: var(--spacing-8);--spacing-2xl: var(--spacing-12);--radius-none: 0;--radius-sm: .25rem;--radius-base: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 50%;--progress-excellent: #28a745;--progress-good: #17a2b8;--progress-fair: #ffc107;--progress-needs-work: #fd7e14;--progress-started: #dc3545;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-base: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .06);--shadow-md: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05);--shadow-lg: 0 20px 25px rgba(0, 0, 0, .1), 0 10px 10px rgba(0, 0, 0, .04);--shadow-xl: 0 25px 50px rgba(0, 0, 0, .15);--shadow-primary: 0 4px 14px rgba(0, 119, 181, .25);--shadow-success: 0 4px 14px rgba(34, 197, 94, .25);--shadow-warning: 0 4px 14px rgba(245, 158, 11, .25);--shadow-error: 0 4px 14px rgba(239, 68, 68, .25);--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-max: 2147483647}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f0f2f5;min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-background-light)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%)}.login-card{background:var(--color-white);padding:var(--spacing-2xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:400px;text-align:center}.login-card .logo{width:240px;height:auto;margin:0 auto var(--spacing-xl)}.login-card h2{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:600;margin-bottom:var(--spacing-sm)}.login-card p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xl);line-height:1.5}.form-container{margin-bottom:var(--spacing-xl)}.input-field{width:100%;padding:var(--spacing-md);margin-bottom:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);transition:all .2s ease;background-color:var(--color-white)}.input-field:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0077b51a}.auth-button{width:100%;padding:var(--spacing-md);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .2s ease}.auth-button:hover{background-color:var(--color-primary-dark);transform:translateY(-1px)}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.linkedin-login{margin:var(--spacing-xl) 0;position:relative}.linkedin-login:before,.linkedin-login:after{content:"";position:absolute;top:50%;width:42%;height:1px;background-color:var(--color-border)}.linkedin-login:before{left:0}.linkedin-login:after{right:0}.linkedin-button{width:100%;padding:var(--spacing-md);background-color:var(--color-white);border:2px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-primary);font-weight:600;font-size:var(--font-size-base);display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);cursor:pointer;transition:all .2s ease}.linkedin-button:hover{background-color:var(--color-primary);color:#fff;transform:translateY(-1px)}.linkedin-button svg{width:20px;height:20px}.error-message{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--spacing-sm);padding:var(--spacing-md);background-color:#dc35451a;border-radius:var(--radius-sm);border-left:4px solid var(--color-error)}.toggle-auth{margin-top:var(--spacing-xl);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.toggle-button{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;text-decoration:underline;padding:0 var(--spacing-xs);font-weight:500}.toggle-button:hover{color:var(--color-primary-dark)}.dashboard{padding:0;width:100%}.dashboard header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);width:100%;padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.dashboard h1{font-size:var(--font-size-3xl);color:var(--color-text-primary);font-weight:600}.logout{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-error);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;transition:all .2s ease}.logout:hover{background-color:#c0392b;transform:translateY(-1px)}.loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-background-light)}.loading-logo{width:200px;height:auto;margin-bottom:var(--spacing-lg);opacity:.9}.loading-spinner-text{font-size:var(--font-size-lg);color:var(--color-text-secondary);font-weight:500}.loading{display:inline-block;width:20px;height:20px;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.callback-loading,.callback-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg);text-align:center;background-color:var(--color-background-light)}.callback-error h2{color:var(--color-error);margin-bottom:var(--spacing-md);font-size:var(--font-size-2xl)}.back-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-primary);color:#fff;text-decoration:none;border-radius:var(--radius-sm);font-weight:500;transition:all .2s ease}.back-button:hover{background-color:var(--color-primary-dark);transform:translateY(-1px);text-decoration:none;color:#fff}.welcome-banner{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:#fff;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-sm);margin-bottom:var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm)}.welcome-banner p{margin:0;font-size:var(--font-size-base);font-weight:500}.dismiss-button{background:#fff3;border:none;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;transition:all .2s ease}.dismiss-button:hover{background:#ffffff4d}@media (max-width: 768px){.login-card{padding:var(--spacing-xl);margin:var(--spacing-md)}.login-card .logo{width:200px}.dashboard header{flex-direction:column;gap:var(--spacing-md);align-items:flex-start}.welcome-banner{flex-direction:column;gap:var(--spacing-sm);text-align:center}}@media (max-width: 480px){.login-card{padding:var(--spacing-lg);margin:var(--spacing-sm)}.login-card .logo{width:160px}.login-card h2{font-size:var(--font-size-xl)}}.motivational-quote-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-normal);overflow:hidden;font-family:var(--font-family-primary)}.motivational-quote-screen.visible{opacity:1}.quote-background{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--gradient-header);background-size:400% 400%;animation:gradientShift 20s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.quote-container{position:relative;max-width:800px;width:90%;margin:0 auto;text-align:center;padding:var(--spacing-8);color:var(--text-on-dark-primary);z-index:10;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffff1a;border-radius:var(--radius-2xl);border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-xl);animation:slideInUp .6s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.quote-logo{margin-bottom:var(--spacing-8);animation:fadeInScale .8s ease-out .2s both}.logo-image{height:60px;width:auto;filter:brightness(0) invert(1);opacity:.95}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.quote-content{margin:var(--spacing-8) 0;animation:fadeInUp 1s ease-out .4s both}.quote-icon{font-size:var(--font-size-5xl);margin-bottom:var(--spacing-6);animation:pulse 3s ease-in-out infinite;color:var(--text-on-dark-secondary)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.quote-text{font-size:var(--font-size-2xl);line-height:var(--line-height-normal);margin:0 0 var(--spacing-6) 0;font-weight:var(--font-weight-light);letter-spacing:.5px;text-shadow:0 2px 8px rgba(0,0,0,.3);font-style:italic;color:var(--text-on-dark-primary)}.quote-author{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--text-on-dark-secondary);letter-spacing:1px;font-style:normal}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.progress-container{margin-top:var(--spacing-12);animation:fadeInUp 1s ease-out .6s both}.progress-bar{width:100%;height:4px;background:#ffffff40;border-radius:var(--radius-base);overflow:hidden;margin-bottom:var(--spacing-4)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--brand-primary-light) 0%,var(--color-white) 100%);border-radius:var(--radius-base);transition:width .05s linear;box-shadow:0 0 12px #fff9}.progress-text{font-size:var(--font-size-sm);color:var(--text-on-dark-muted);margin:0;letter-spacing:.5px;font-weight:var(--font-weight-normal)}.skip-button{position:absolute;top:var(--spacing-8);right:var(--spacing-8);background:#ffffff26;color:var(--text-on-dark-primary);border:1px solid rgba(255,255,255,.3);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-normal);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn 1s ease-out .8s both;font-family:var(--font-family-primary)}.skip-button:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.skip-button:active{transform:translateY(0)}.floating-elements{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5}.floating-element{position:absolute;font-size:var(--font-size-3xl);opacity:.25;animation:float 8s ease-in-out infinite;color:var(--text-on-dark-subtle)}.floating-element.element-1{top:15%;left:10%;animation-delay:0s}.floating-element.element-2{top:25%;right:15%;animation-delay:2s}.floating-element.element-3{bottom:30%;left:20%;animation-delay:4s}.floating-element.element-4{bottom:20%;right:10%;animation-delay:6s}@keyframes float{0%,to{transform:translateY(0) rotate(0);opacity:.25}25%{transform:translateY(-15px) rotate(45deg);opacity:.4}50%{transform:translateY(-25px) rotate(90deg);opacity:.3}75%{transform:translateY(-15px) rotate(135deg);opacity:.4}}@media (max-width: 768px){.quote-container{width:95%;padding:var(--spacing-6)}.quote-text{font-size:var(--font-size-xl);line-height:var(--line-height-normal)}.quote-author{font-size:var(--font-size-base)}.logo-image{height:45px}.quote-icon{font-size:var(--font-size-4xl)}.skip-button{top:var(--spacing-4);right:var(--spacing-4);padding:var(--spacing-1-5) var(--spacing-3);font-size:var(--font-size-xs)}.floating-element{font-size:var(--font-size-2xl)}}@media (max-width: 480px){.quote-container{padding:var(--spacing-4)}.quote-text{font-size:var(--font-size-lg)}.quote-author{font-size:var(--font-size-sm)}.logo-image{height:40px}.quote-icon{font-size:var(--font-size-3xl)}}@media (prefers-reduced-motion: reduce){.motivational-quote-screen,.quote-container,.quote-logo,.quote-content,.progress-container,.skip-button{animation:none;transition:none}.quote-background{background:var(--gradient-header);animation:none}.quote-icon{animation:none}.floating-element{animation:none;opacity:.2}}@media (prefers-contrast: high){.quote-container{background:#000000e6;border:2px solid var(--color-white)}.progress-bar{background:var(--color-gray-300)}.progress-fill{background:var(--brand-primary-light)}.skip-button{background:var(--brand-primary);border-color:var(--color-white)}.skip-button:hover{background:var(--brand-primary-dark)}}.dashboard-container{padding:0;width:100%;background-color:#f8fafc;min-height:calc(100vh - 80px);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.dashboard-content{max-width:1200px;margin:0 auto;padding:2rem;display:flex;flex-direction:column;gap:2rem}.dashboard-header{background:linear-gradient(135deg,#06c,#004c99);color:#fff;padding:2rem;border-radius:12px;text-align:center;box-shadow:0 4px 6px #0000001a}.dashboard-header h1{font-size:2.25rem;font-weight:700;margin-bottom:1rem;color:#fff}.streak-banner{font-size:1.125rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:.5rem;color:#ffffffe6}.streak-banner .fa-fire{color:#ffac33}.dashboard-section{background-color:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.dashboard-section+.dashboard-section{margin-top:2rem}.section-title{font-size:1.5rem;font-weight:600;color:#1a202c;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid #0066cc;display:inline-block}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.section-header .section-title{margin:0;display:flex;align-items:center;gap:.5rem}.filter-indicator{font-size:1.125rem;color:#06c;font-weight:500}.clear-filter-btn{background:#f7fafc;border:1px solid #cbd5e0;color:#718096;padding:.5rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.25rem}.clear-filter-btn:hover{background:#edf2f7;border-color:#a0aec0;color:#2d3748}.clear-filter-btn:focus{outline:none;box-shadow:0 0 0 2px #06c3}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:2rem}.dashboard-two-column{display:grid;grid-template-columns:2fr 1fr;gap:2rem}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:1.5rem;margin:0;padding:0}.goal-card{display:flex;flex-direction:column;justify-content:space-between;background-color:#fff;border-radius:12px;padding:1.5rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;min-height:280px;width:100%;transition:all .3s ease;cursor:pointer;position:relative}.goal-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px);border-color:#06c}.goal-card h3{font-size:1.125rem;font-weight:600;margin-bottom:.75rem;color:#1a202c;line-height:1.4}.goal-card .text-xs{font-size:.75rem;color:#718096}.goal-card .text-sm{font-size:.875rem;color:#4a5568;line-height:1.5}.goal-card-progress{margin:1rem 0}.goal-card-progress .progress-bar-background{width:100%;background-color:#e2e8f0;border-radius:4px;height:8px;overflow:hidden}.goal-card-progress .progress-bar-foreground{height:100%;background-color:#06c;transition:width .3s ease;border-radius:4px}.goal-card-progress .progress-text{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;font-size:.875rem;color:#4a5568;font-weight:500}.goal-card .border-t{border-top:1px solid #e2e8f0;padding-top:1rem;margin-top:1rem}.goal-card button{background-color:#06c;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-right:.5rem}.goal-card button:hover{background-color:#0052a3;transform:translateY(-1px)}.goal-card button[style*="background-color: rgb(59, 130, 246)"],.goal-card button[style*="background-color:#3b82f6"]{background-color:#3b82f6!important}.goal-card button[style*="background-color: rgb(59, 130, 246)"]:hover,.goal-card button[style*="background-color:#3b82f6"]:hover{background-color:#2563eb!important}.quick-add-goal-button-container{text-align:center;margin:2rem 0}.quick-add-goal-button{background:linear-gradient(135deg,#06c,#004c99);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #06c3;display:inline-flex;align-items:center;gap:.5rem}.quick-add-goal-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0066cc4d;background:linear-gradient(135deg,#0052a3,#003d7a)}.checkins-section{background-color:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.checkins-section .text-2xl{font-size:1.5rem;font-weight:600;color:#1a202c;margin-bottom:1rem;border-bottom:2px solid #0066cc;padding-bottom:.5rem;display:inline-block}.checkin-item{padding:1rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.checkin-item:last-child{border-bottom:none}.checkin-category{font-size:.875rem;font-weight:600;color:#06c;background-color:#0066cc1a;padding:.25rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.checkin-message{font-size:1rem;color:#2d3748;margin:.5rem 0;line-height:1.5}.checkin-date{font-size:.875rem;color:#718096;font-style:italic}.status-indicator{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:.5rem}.status-active{background-color:#38a169}.status-completed{background-color:#06c}.status-overdue{background-color:#e53e3e}.badges-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.badge-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;text-align:center;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.badge-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.badge-icon{width:48px;height:48px;border-radius:50%;margin:0 auto .5rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background-color:#f7fafc}.badge-icon.consistencyChampion-icon-bg{background-color:#38a1691a}.badge-icon.milestoneMaster-icon-bg{background-color:#0066cc1a}.badge-icon.sharingEnthusiast-icon-bg{background-color:#805ad51a}.badge-info{text-align:center}.badge-name{font-size:.875rem;font-weight:600;color:#2d3748;margin-bottom:.25rem}.badge-description{font-size:.75rem;color:#718096;line-height:1.4;margin-bottom:.5rem}.badge-count{font-size:1.25rem;font-weight:700;color:#06c}.badge-earned-date{font-size:.75rem;color:#a0aec0;font-style:italic;margin-top:.25rem}.smart-goals-list .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:1rem;margin-top:1rem}@media (max-width: 1024px){.dashboard-two-column{grid-template-columns:1fr}}@media (max-width: 768px){.dashboard-content{padding:1rem}.dashboard-header{padding:1.5rem}.dashboard-header h1{font-size:1.875rem}.dashboard-section{padding:1rem}.section-title{font-size:1.25rem}.goal-card{min-height:240px;padding:1rem}.smart-goals-list .grid{grid-template-columns:1fr}.badges-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.section-header{flex-direction:column;align-items:flex-start}.section-header .section-title,.filter-indicator{margin-bottom:.5rem}}@media (max-width: 480px){.dashboard-content{padding:.75rem}.dashboard-header{padding:1rem}.dashboard-header h1{font-size:1.5rem}.dashboard-section{padding:.75rem}.goal-card{min-height:200px;padding:.75rem}.streak-banner{flex-direction:column;gap:.25rem}}.p-4{padding:1rem}.max-w-4xl{max-width:56rem}.mx-auto{margin-left:auto;margin-right:auto}.text-2xl{font-size:1.5rem}.font-semibold{font-weight:600}.mb-4{margin-bottom:1rem}.mt-1{margin-top:.25rem}.mt-3{margin-top:.75rem}.border{border:1px solid #e2e8f0}.rounded{border-radius:.375rem}.bg-white{background-color:#fff}.shadow-sm{box-shadow:0 1px 2px #0000000d}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-gray-500{color:#718096}.text-gray-700{color:#4a5568}.text-green-600{color:#38a169}.text-red-500{color:#e53e3e}.text-blue-600{color:#06c}.text-purple-600{color:#805ad5}.bg-blue-50{background-color:#0066cc0d}.border-l-4{border-left:4px solid}.border-blue-400{border-color:#06c9}.p-3{padding:.75rem}.font-medium{font-weight:500}.tooltip-container{position:relative;display:inline-block;cursor:help}.tooltip-box{position:absolute;background-color:var(--color-gray-800, #2d3748);color:var(--color-white, #ffffff);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md, 6px);font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-medium, 500);line-height:var(--line-height-tight, 1.25);z-index:1000;white-space:normal;word-wrap:break-word;max-width:280px;min-width:120px;box-shadow:var( --shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05) );opacity:0;visibility:hidden;transition:opacity .2s ease-in-out,visibility .2s ease-in-out;pointer-events:none}.tooltip-measuring{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.tooltip-visible{opacity:1!important;visibility:visible!important;animation:fadeIn .2s forwards}@media (max-width: 480px){.tooltip-box{max-width:min(260px,calc(100vw - 24px));font-size:var(--font-size-xs, 12px);padding:var(--spacing-1) var(--spacing-2)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.tooltip-container:hover .tooltip-box.tooltip-visible,.tooltip-container:focus-within .tooltip-box.tooltip-visible{opacity:1;visibility:visible}.tooltip-top{bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px}.tooltip-bottom{top:100%;left:50%;transform:translate(-50%);margin-top:8px}.tooltip-left{right:100%;top:50%;transform:translateY(-50%);margin-right:8px}.tooltip-right{left:100%;top:50%;transform:translateY(-50%);margin-left:8px}.tooltip-top,.tooltip-bottom{left:max(8px,min(50%,calc(100vw - 148px)));transform:translate(-50%)}.tooltip-left{right:max(8px,100%)}.tooltip-right{left:min(calc(100vw - 288px),100%)}.tooltip-box:after{content:"";position:absolute;border-width:5px;border-style:solid}.tooltip-top:after{top:100%;left:50%;margin-left:-5px;border-color:var(--color-gray-800, #2d3748) transparent transparent transparent}.tooltip-bottom:after{bottom:100%;left:50%;margin-left:-5px;border-color:transparent transparent var(--color-gray-800, #2d3748) transparent}.tooltip-left:after{left:100%;top:50%;margin-top:-5px;border-color:transparent transparent transparent var(--color-gray-800, #2d3748)}.tooltip-right:after{right:100%;top:50%;margin-top:-5px;border-color:transparent var(--color-gray-800, #2d3748) transparent transparent}@media (max-width: 768px){.tooltip-box{max-width:min(250px,calc(100vw - 16px));font-size:var(--font-size-xs, 12px);padding:var(--spacing-1) var(--spacing-2)}.tooltip-left,.tooltip-right{bottom:100%;top:auto;left:50%;right:auto;transform:translate(-50%);margin:0 0 8px}.tooltip-left:after,.tooltip-right:after{top:100%;left:50%;right:auto;bottom:auto;margin-left:-5px;margin-top:0;border-color:var(--color-gray-800, #2d3748) transparent transparent transparent}}@media (prefers-contrast: high){.tooltip-box{border:1px solid var(--color-white, #ffffff)}}@media (prefers-reduced-motion: reduce){.tooltip-box{animation:none;transition:opacity .1s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}.dashboard-header{padding:var(--spacing-6) 0;margin-bottom:var(--spacing-6);background:var(--gradient-header);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);color:#fff}.header-content{text-align:center;margin-bottom:var(--spacing-8)}.dashboard-title{font-size:var(--font-size-4xl)!important;font-weight:var(--font-weight-bold)!important;color:#fff!important;margin:0 0 var(--spacing-6) 0!important;text-shadow:0 2px 4px rgba(0,0,0,.1)}.linear-progress-section{max-width:400px;margin:0 auto}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3)}.progress-percentage{font-size:var(--font-size-2xl)!important;font-weight:var(--font-weight-bold)!important;color:#fff!important}.progress-text{font-size:var(--font-size-base)!important;color:#fff!important;opacity:.9}.linear-progress-bar{width:100%;height:12px;background-color:#fff3;border-radius:6px;overflow:hidden;box-shadow:inset 0 1px 3px #0000001a}.linear-progress-fill{height:100%;border-radius:6px;transition:width .3s ease;box-shadow:0 1px 3px #0003}.dashboard-header__stats{display:flex;justify-content:center;gap:var(--spacing-6);flex-wrap:wrap;margin-bottom:var(--spacing-6)}.stat-card{background:#005582!important;border:2px solid white!important;border-radius:8px!important;padding:15px!important;text-align:center!important;min-width:120px;transition:all .3s ease;cursor:pointer}.stat-card:hover{background:#0077b5!important;border-color:#fff!important;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.stat-value{font-size:24px!important;font-weight:700!important;color:#fff!important;margin-bottom:5px!important}.stat-label{font-size:14px!important;color:#fff!important;text-transform:uppercase!important;letter-spacing:.5px}.stat-card.attention{background:#f59e0b!important;border-color:#fff!important}.stat-card.attention:hover{background:#d97706!important;border-color:#fff!important}.dashboard-header__notifications{display:flex;justify-content:center;gap:var(--spacing-4);flex-wrap:wrap}.notification{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--border-radius-md);font-size:var(--font-size-sm)!important;font-weight:var(--font-weight-medium);color:#fff!important;transition:all .3s ease;cursor:pointer}.notification.warning{background:#ffc10733;border:1px solid rgba(255,193,7,.4)}.notification.info{background:#17a2b833;border:1px solid rgba(23,162,184,.4)}.notification.success{background:#28a74533;border:1px solid rgba(40,167,69,.4)}.notification:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.notification-icon{font-size:var(--font-size-lg)}@media (max-width: 768px){.dashboard-header{padding:var(--spacing-4) var(--spacing-2)}.dashboard-title{font-size:var(--font-size-3xl)!important}.progress-percentage{font-size:var(--font-size-xl)!important}.dashboard-header__stats{gap:var(--spacing-4)}.stat-card{min-width:100px;padding:var(--spacing-3)}.stat-value{font-size:var(--font-size-2xl)!important}.notification{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs)!important}}@media (prefers-reduced-motion: reduce){.circle{animation:none}.stat-card{transition:none}}@media (prefers-contrast: high){.dashboard-header{background:#000;border:2px solid #fff}.circle-bg{stroke:#666}.circle{stroke:#fff}.stat-card,.notification,.stat-item{background:#fff3;border:1px solid #fff}}.coaching-notes-panel{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem;margin-top:.75rem}.coaching-notes-panel.empty{text-align:center;padding:2rem;color:#6c757d;font-style:italic}.notes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #dee2e6}.notes-header h4{margin:0;font-size:1rem;font-weight:600;color:#495057}.notes-count{font-size:.8rem;color:#6c757d;background:#e9ecef;padding:.25rem .5rem;border-radius:12px}.notes-list{display:flex;flex-direction:column;gap:.75rem}.coaching-note{background:#fff;border:1px solid #e9ecef;border-radius:6px;padding:.75rem;cursor:pointer;transition:all .2s ease;position:relative}.coaching-note:hover{border-color:#007bff;box-shadow:0 2px 4px #007bff1a}.coaching-note.unread{border-left:4px solid #007bff;background:#f8f9ff}.coaching-note.unread:hover{background:#f0f4ff}.coaching-note.feedback{border-left-color:#6f42c1}.coaching-note.encouragement{border-left-color:#28a745}.coaching-note.suggestion{border-left-color:#ffc107}.coaching-note.milestone{border-left-color:#dc3545}.note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.note-meta{display:flex;align-items:center;gap:.5rem}.note-icon{font-size:1rem}.note-type{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#495057}.unread-indicator{color:#007bff;font-size:.6rem;margin-left:.25rem}.note-info{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.coach-name{font-size:.8rem;font-weight:600;color:#495057}.note-date{font-size:.7rem;color:#6c757d}.note-content{margin-top:.5rem}.note-content p{margin:0;font-size:.9rem;line-height:1.4;color:#212529}@media (max-width: 768px){.coaching-notes-panel{padding:.75rem}.notes-header,.note-header{flex-direction:column;align-items:flex-start;gap:.5rem}.note-info{align-items:flex-start;flex-direction:row;gap:.5rem}.coaching-note{padding:.5rem}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.coaching-note.unread{animation:slideIn .3s ease-out}.coaching-note:focus{outline:2px solid #007bff;outline-offset:2px}@media (prefers-reduced-motion: reduce){.coaching-note{transition:none;animation:none}}@media (prefers-contrast: high){.coaching-notes-panel,.coaching-note{border:2px solid #000}.coaching-note.unread{background:#ff0;border-left:6px solid #000}}.goal-progress-card{background:#e8f4f8;border:1px solid #c1c9d2;border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;display:flex;flex-direction:column;gap:16px;min-height:280px;transition:all .2s ease;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.goal-progress-card:hover{box-shadow:0 10px 15px #0000001a,0 4px 6px #0000000d;transform:translateY(-2px);border-color:#8b95a1}.goal-progress-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.goal-info{flex:1}.goal-title{font-size:20px!important;font-weight:600!important;line-height:1.25;color:#2d3748!important;margin:0 0 8px;letter-spacing:-.01em}.goal-category{font-size:14px;color:#6c7b8a;margin:0;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.goal-badges{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.status-badge{display:inline-flex;align-items:center;font-size:12px;padding:4px 8px;border-radius:6px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.status-badge.completed{background:#f0fdf4;color:#16a34a;border:1px solid #86efac}.status-badge.overdue{background:#fef2f2;color:#dc2626;border:1px solid #f87171}.status-badge.stalled{background:#fffbeb;color:#d97706;border:1px solid #fbbf24}.status-badge.upcoming{background:#eff6ff;color:#2563eb;border:1px solid #93c5fd}.status-badge.in-progress{background:#e8f4f8;color:#005582;border:1px solid #1a8ccc}.coaching-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:4px 6px;border-radius:4px;font-weight:500;background:#eff6ff;color:#1976d2;border:1px solid #93c5fd}.coaching-badge.unread{background:#fffbeb;color:#d97706;border:1px solid #fbbf24;animation:pulse 2s infinite}.goal-progress-card__progress{display:flex;flex-direction:column;gap:8px}.progress-header{display:flex;justify-content:space-between;align-items:center}.progress-label{font-size:14px!important;font-weight:500!important;color:#485563!important}.progress-percentage{font-size:18px!important;font-weight:700!important;color:#fff!important}.progress-bar{height:8px;background:#e4e9f0;border-radius:6px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;transition:width .3s ease;border-radius:6px}.progress-details{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#6c7b8a}.measurable-progress{font-weight:500}.due-date{font-style:italic}.goal-description{font-size:14px;color:#485563;line-height:1.5;padding:12px 0;border-top:1px solid #e4e9f0}.goal-description p{margin:0}.coaching-preview{border-top:1px solid #e4e9f0;padding-top:12px}.coaching-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:8px 0;background:transparent;border:none;font-size:14px;color:#485563;cursor:pointer;text-align:left}.coaching-toggle:hover{color:#2d3748}.chevron{transition:transform .2s ease;font-size:12px;margin-left:auto}.chevron.open{transform:rotate(180deg)}.goal-progress-card__actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #e4e9f0;padding-top:16px}.action-btn{flex:1;min-width:120px;padding:10px 16px;border-radius:6px;font-size:14px;font-weight:500;border:1px solid transparent;cursor:pointer;transition:all .2s ease;text-align:center}.action-btn.primary{background:#0077b5;color:#fff;border-color:#0077b5}.action-btn.primary:hover{background:#005582;border-color:#005582}.action-btn.secondary{background:#f4f6f8;color:#485563;border-color:#c1c9d2}.action-btn.secondary:hover{background:#e4e9f0;border-color:#8b95a1}.action-btn.success{background:#22c55e;color:#fff;border-color:#22c55e}.action-btn.success:hover{background:#16a34a;border-color:#16a34a}.smart-breakdown{border-top:1px solid #e4e9f0;padding-top:12px}.smart-breakdown summary{font-size:14px;font-weight:500;color:#485563;cursor:pointer;padding:4px 0;list-style:none}.smart-breakdown summary::-webkit-details-marker{display:none}.smart-breakdown summary:before{content:"▶";margin-right:8px;transition:transform .2s ease}.smart-breakdown[open] summary:before{transform:rotate(90deg)}.smart-details{padding:8px 0;display:flex;flex-direction:column;gap:8px}.smart-item{display:flex;gap:8px;font-size:13px;line-height:1.4}.smart-item strong{color:#485563;min-width:100px;flex-shrink:0}.smart-item span{color:#6c7b8a;flex:1}@media (max-width: 640px){.goal-progress-card{padding:16px;margin-bottom:16px}.goal-progress-card__header{flex-direction:column;gap:12px}.goal-badges{justify-content:flex-start}.goal-progress-card__actions{flex-direction:column}.action-btn{min-width:auto;width:100%}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.action-btn:focus,.coaching-toggle:focus,.smart-breakdown summary:focus{outline:2px solid #0077b5;outline-offset:2px}.progress-update-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.progress-update-modal{background:var(--color-white, #ffffff);border-radius:var(--radius-xl, 16px);max-width:600px;width:90%;max-height:90vh;overflow:hidden;box-shadow:var(--shadow-2xl, 0 25px 50px -12px rgba(0, 0, 0, .25));animation:slideIn .3s ease-out;position:relative}.confetti-container{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;display:flex;justify-content:center;align-items:center;font-size:3rem;z-index:10;animation:confetti 3s ease-out}@keyframes confetti{0%{opacity:0;transform:scale(0) rotate(0)}10%{opacity:1;transform:scale(1.2) rotate(180deg)}50%{opacity:1;transform:scale(1) rotate(360deg)}to{opacity:0;transform:scale(.8) rotate(540deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.progress-update-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6, 24px);border-bottom:1px solid var(--color-border-light, #e5e7eb);background:var(--gradient-header);color:#fff}.progress-update-modal .modal-header h2{margin:0;font-size:var(--font-size-2xl, 24px);font-weight:var(--font-weight-bold, 700)}.progress-update-modal .close-btn{background:none;border:none;color:#fff;font-size:var(--font-size-xl, 20px);cursor:pointer;padding:var(--spacing-2, 8px);border-radius:var(--radius-sm, 4px);transition:all .2s ease}.progress-update-modal .close-btn:hover{background:#fff3}.goal-info-section{padding:var(--spacing-6, 24px);border-bottom:1px solid var(--color-border-light, #e5e7eb)}.goal-info-section h3{margin:0 0 var(--spacing-4, 16px) 0;font-size:var(--font-size-lg, 18px);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #111827)}.progress-comparison{display:flex;flex-direction:column;gap:var(--spacing-4, 16px)}.progress-bar-container{display:flex;align-items:center;gap:var(--spacing-3, 12px)}.progress-bar-container label{min-width:120px;font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-medium, 500);color:var(--color-text-secondary, #6b7280)}.progress-bar{flex:1;height:8px;background:var(--color-gray-200, #e5e7eb);border-radius:var(--radius-full, 9999px);overflow:hidden;position:relative}.progress-fill{height:100%;border-radius:var(--radius-full, 9999px);transition:all .3s ease;position:relative}.progress-fill.current{background:linear-gradient(90deg,#60a5fa,#3b82f6)}.progress-fill.projected{background:linear-gradient(90deg,#34d399,#10b981);animation:progressPulse 2s ease-in-out infinite}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.8}}.progress-bar-container span{min-width:50px;text-align:right;font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #111827)}.prediction-section,.streak-section{padding:var(--spacing-4, 16px) var(--spacing-6, 24px);background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-left:4px solid var(--brand-primary, #3b82f6)}.prediction-message,.streak-message{font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #111827);margin:0}.update-controls{padding:var(--spacing-6, 24px)}.mode-selector{display:flex;gap:var(--spacing-2, 8px);margin-bottom:var(--spacing-6, 24px);background:var(--color-gray-100, #f3f4f6);padding:var(--spacing-1, 4px);border-radius:var(--radius-lg, 12px)}.mode-btn{flex:1;padding:var(--spacing-2, 8px) var(--spacing-4, 16px);border:none;border-radius:var(--radius-md, 8px);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all .2s ease;background:transparent;color:var(--color-text-secondary, #6b7280)}.mode-btn.active{background:#fff;color:var(--brand-primary, #3b82f6);box-shadow:var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, .05))}.increment-controls{display:flex;align-items:center;justify-content:center;gap:var(--spacing-6, 24px);margin:var(--spacing-6, 24px) 0}.increment-btn{width:60px;height:60px;border-radius:var(--radius-full, 9999px);border:2px solid;background:#fff;font-size:var(--font-size-2xl, 24px);font-weight:var(--font-weight-bold, 700);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.increment-btn.increase{border-color:var(--color-green-500, #10b981);color:var(--color-green-500, #10b981)}.increment-btn.increase:hover{background:var(--color-green-500, #10b981);color:#fff;transform:scale(1.1)}.increment-btn.decrease{border-color:var(--color-red-500, #ef4444);color:var(--color-red-500, #ef4444)}.increment-btn.decrease:hover{background:var(--color-red-500, #ef4444);color:#fff;transform:scale(1.1)}.current-value{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1, 4px)}.current-value .value{font-size:var(--font-size-4xl, 36px);font-weight:var(--font-weight-bold, 700);color:var(--brand-primary, #3b82f6);animation:valueChange .3s ease-out}.current-value .unit{font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-medium, 500);color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.05em}@keyframes valueChange{0%{transform:scale(1.2)}to{transform:scale(1)}}.boolean-controls{display:flex;gap:var(--spacing-4, 16px);margin:var(--spacing-6, 24px) 0}.boolean-btn{flex:1;padding:var(--spacing-4, 16px);border:2px solid var(--color-border, #d1d5db);border-radius:var(--radius-lg, 12px);background:#fff;cursor:pointer;transition:all .2s ease;font-weight:var(--font-weight-medium, 500)}.boolean-btn.active{border-color:var(--brand-primary, #3b82f6);background:var(--brand-primary, #3b82f6);color:#fff;transform:scale(1.02)}.boolean-btn:hover:not(.active){border-color:var(--brand-primary, #3b82f6);background:var(--color-blue-50, #eff6ff)}.custom-controls{margin:var(--spacing-6, 24px) 0}.date-input-group,.number-input-group{display:flex;flex-direction:column;gap:var(--spacing-3, 12px)}.date-input-group label,.number-input-group label{font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #111827)}.input-with-unit{display:flex;align-items:center;gap:var(--spacing-2, 8px)}.date-input-group input,.number-input-group input{flex:1;padding:var(--spacing-3, 12px);border:1px solid var(--color-border, #d1d5db);border-radius:var(--radius-md, 8px);font-size:var(--font-size-base, 16px);transition:all .2s ease}.date-input-group input:focus,.number-input-group input:focus{outline:none;border-color:var(--brand-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.unit-label{font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-medium, 500);color:var(--color-text-secondary, #6b7280);min-width:fit-content}.date-input-group button,.number-input-group button{padding:var(--spacing-2, 8px) var(--spacing-4, 16px);background:var(--brand-primary, #3b82f6);color:#fff;border:none;border-radius:var(--radius-md, 8px);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all .2s ease}.date-input-group button:hover,.number-input-group button:hover{background:var(--brand-primary-dark, #2563eb)}.milestone-section{padding:var(--spacing-4, 16px) var(--spacing-6, 24px);background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;text-align:center}.milestone-message{font-size:var(--font-size-lg, 18px);font-weight:var(--font-weight-semibold, 600);margin:0}.progress-update-modal .modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-3, 12px);padding:var(--spacing-6, 24px);border-top:1px solid var(--color-border-light, #e5e7eb);background:var(--color-gray-50, #f9fafb)}.progress-update-modal .cancel-btn,.progress-update-modal .update-btn{padding:var(--spacing-3, 12px) var(--spacing-6, 24px);border-radius:var(--radius-lg, 12px);font-weight:var(--font-weight-semibold, 600);cursor:pointer;transition:all .2s ease;font-size:var(--font-size-base, 16px)}.progress-update-modal .cancel-btn{background:#fff;border:1px solid var(--color-border, #d1d5db);color:var(--color-text-secondary, #6b7280)}.progress-update-modal .cancel-btn:hover{background:var(--color-gray-50, #f9fafb)}.progress-update-modal .update-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff;box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .1))}.progress-update-modal .update-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1))}@media (max-width: 768px){.progress-update-modal{width:95%;max-height:95vh}.increment-controls{gap:var(--spacing-4, 16px)}.increment-btn{width:50px;height:50px;font-size:var(--font-size-xl, 20px)}.current-value .value{font-size:var(--font-size-3xl, 30px)}.boolean-controls,.progress-update-modal .modal-actions{flex-direction:column}.confetti-container{font-size:2rem}}@media (prefers-reduced-motion: reduce){.progress-update-modal-overlay,.progress-update-modal,.confetti-container,.progress-fill.projected{animation:none}.increment-btn:hover,.progress-update-modal .update-btn:hover{transform:none}}.category-progress-summary{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--spacing-6);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-8)}.category-progress-summary.empty{text-align:center;padding:var(--spacing-12) var(--spacing-6);color:var(--color-text-secondary);font-style:italic}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4);border-bottom:2px solid var(--color-gray-100)}.summary-header h3{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);font-family:var(--font-family-primary);color:var(--color-text-primary);background:var(--gradient-header);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.category-count{background:var(--color-gray-100);color:var(--color-text-secondary);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);font-family:var(--font-family-primary)}.categories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-6);margin-bottom:var(--spacing-8)}.category-card{background:var(--gradient-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--spacing-6);transition:all .3s ease;position:relative;overflow:hidden;min-height:420px;display:flex;flex-direction:column}.category-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary);opacity:0;transition:opacity .3s ease}.category-card:hover:before{opacity:1}.category-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--brand-primary)}.category-card.clickable{cursor:pointer}.category-card.clickable:hover{background:var(--color-white)}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.category-name{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);font-family:var(--font-family-primary);color:var(--color-text-primary);line-height:var(--line-height-tight)}.coaching-indicator{font-size:var(--font-size-lg);animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}60%{transform:translateY(-2px)}}.category-progress{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--spacing-5)}.progress-circle-container{width:120px;height:120px;margin-bottom:var(--spacing-3)}.circular-chart{display:block;width:100%;height:100%}.circle-bg{fill:none;stroke:var(--color-gray-200);stroke-width:3.8}.circle{fill:none;stroke-width:3.2;stroke-linecap:round;animation:progress-draw 1.5s ease-in-out forwards}.percentage{fill:var(--color-text-primary);font-family:var(--font-family-primary);font-size:.65em;text-anchor:middle;font-weight:var(--font-weight-bold)}@keyframes progress-draw{0%{stroke-dasharray:0 100}}.progress-label{text-align:center}.label-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);font-family:var(--font-family-primary);text-transform:uppercase;letter-spacing:1px}.category-stats{margin-bottom:var(--spacing-4)}.stat-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2)}.stat-row:last-child{margin-bottom:0}.stat-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-primary);color:var(--color-text-secondary)}.stat-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-family-primary);color:var(--color-text-primary)}.category-progress-bar{width:100%;height:8px;background:var(--color-gray-200);border-radius:var(--radius-base);overflow:hidden;margin-bottom:var(--spacing-4)}.progress-bar-fill{height:100%;border-radius:var(--radius-base);transition:width .6s ease,background-color .3s ease;position:relative}.progress-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-percentage-display{text-align:center;margin:var(--spacing-1) 0}.progress-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);font-family:var(--font-family-primary);color:var(--color-text-primary)}.category-indicators{display:flex;flex-wrap:wrap;gap:var(--spacing-1);margin-bottom:var(--spacing-3);justify-content:center;align-items:center}.indicator{padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);font-family:var(--font-family-primary);line-height:var(--line-height-tight)}.indicator.needs-attention{background:var(--color-warning-pale);color:var(--color-warning-dark);border:1px solid var(--color-warning-light)}.indicator.excellent{background:var(--color-success-pale);color:var(--color-success-dark);border:1px solid var(--color-success-light)}.indicator.coaching{background:var(--color-info-pale);color:var(--color-info-dark);border:1px solid var(--color-info-light)}.category-insights{margin-top:var(--spacing-4)}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-3)}.insight-card{background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--spacing-3);transition:all .2s ease;text-align:center}.insight-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:var(--brand-primary-light)}.insight-icon{font-size:var(--font-size-xl);margin-bottom:var(--spacing-1)}.insight-content{text-align:center}.insight-content h5{margin:0 0 var(--spacing-1) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-family-primary);color:var(--color-text-primary)}.insight-content p{margin:0;font-size:var(--font-size-xs);font-family:var(--font-family-primary);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.insight-card.best{border-color:var(--color-success)}.insight-card.focus{border-color:var(--color-warning)}.insight-card.overall{border-color:var(--brand-primary)}.insight-card.coaching{border-color:var(--color-info)}.category-actions{margin-top:var(--spacing-4);text-align:center}.category-goals{margin:var(--spacing-3) 0;display:flex;justify-content:center}.goals-summary{text-align:center;padding:var(--spacing-3);background:var(--brand-primary-pale);border-radius:var(--radius-md);border:1px solid var(--brand-primary-light);max-width:90%}.goals-summary-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-primary);color:var(--brand-primary-dark);line-height:var(--line-height-normal)}.view-goals-btn{background:var(--gradient-primary);color:var(--text-on-dark-primary);border:none;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-family-primary);cursor:pointer;transition:all .2s ease;width:100%}.view-goals-btn:hover{background:var(--gradient-primary-soft);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.view-goals-btn:focus{outline:none;box-shadow:0 0 0 2px var(--brand-primary-pale)}@media (max-width: 768px){.category-progress-summary{padding:var(--spacing-4)}.summary-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.summary-header h3{font-size:var(--font-size-xl)}.categories-grid{grid-template-columns:1fr;gap:var(--spacing-4)}.category-card{padding:var(--spacing-4)}.insights-grid{grid-template-columns:1fr}.insight-card{padding:var(--spacing-2)}}@media (max-width: 480px){.category-progress-summary{padding:var(--spacing-3)}.progress-circle-container{width:100px;height:100px}.percentage{font-size:.55em}.label-text{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.5px}.category-name{font-size:var(--font-size-base)}.stat-row{font-size:var(--font-size-xs)}.category-indicators{flex-direction:column;gap:var(--spacing-1)}.category-card{min-height:360px;padding:var(--spacing-4)}}@media (prefers-reduced-motion: reduce){.category-card,.category-card:hover,.insight-card,.insight-card:hover{transform:none;transition:none}.progress-bar-fill:after,.coaching-indicator{animation:none}.circle{animation:none;stroke-dasharray:var(--progress-value, 0),100}}@media (prefers-contrast: high){.category-progress-summary,.category-card,.insight-card{border:2px solid var(--color-text-primary)}.circle-bg{stroke:var(--color-text-primary)}.indicator{border-width:2px}}@media print{.category-progress-summary{box-shadow:none;border:1px solid var(--color-text-primary)}.category-card:hover,.insight-card:hover{transform:none;box-shadow:none}.coaching-indicator{animation:none}}.insights-panel{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:12px;box-shadow:0 4px 12px #0000001a;border:1px solid #e9ecef;margin-bottom:24px}.insights-panel.collapsed{padding:0}.insights-panel.expanded{padding:24px}.insights-toggle{width:100%;padding:16px 20px;background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border:none;border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:12px;font-weight:600;transition:all .2s ease}.insights-toggle:hover{background:linear-gradient(135deg,#0056b3,#004085);transform:translateY(-1px);box-shadow:0 6px 20px #007bff4d}.toggle-icon{font-size:1.2rem}.toggle-text{flex:1;text-align:left}.action-badge{background:#dc3545;color:#fff;padding:4px 8px;border-radius:12px;font-size:.8rem;font-weight:700;min-width:20px;text-align:center}.insights-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.header-content h3{margin:0 0 8px;color:#2c3e50;font-size:1.5rem;font-weight:700}.header-content p{margin:0;color:#6c757d;font-size:.9rem}.collapse-btn{background:none;border:none;color:#6c757d;cursor:pointer;padding:8px;border-radius:6px;transition:all .2s ease;font-size:1.2rem}.collapse-btn:hover{background:#e9ecef;color:#495057}.insights-tabs{display:flex;gap:4px;margin-bottom:20px;background:#f8f9fa;border-radius:8px;padding:4px}.tab{flex:1;padding:12px 16px;background:none;border:none;border-radius:6px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;color:#6c757d}.tab:hover{background:#007bff1a;color:#007bff}.tab.active{background:#007bff;color:#fff;box-shadow:0 2px 8px #007bff4d}.insights-list{display:flex;flex-direction:column;gap:16px}.insight-item{display:flex;align-items:flex-start;gap:16px;padding:20px;background:#fff;border-radius:12px;border:1px solid #e9ecef;transition:all .2s ease;position:relative;overflow:hidden}.insight-item:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:#007bff;opacity:0;transition:opacity .2s ease}.insight-item:hover{transform:translateY(-1px);box-shadow:0 6px 20px #00000026}.insight-item:hover:before{opacity:1}.insight-item.priority-high:before{background:#dc3545}.insight-item.priority-medium:before{background:#ffc107}.insight-item.priority-low:before{background:#28a745}.insight-item.type-performance{background:linear-gradient(135deg,#e8f5e8,#f0f8f0);border-color:#c8e6c9}.insight-item.type-motivational{background:linear-gradient(135deg,#fff3e0,#fef7ed);border-color:#ffcc80}.insight-item.type-actionable{background:linear-gradient(135deg,#e3f2fd,#f0f8ff);border-color:#bbdefb}.insight-item.type-coaching{background:linear-gradient(135deg,#f3e5f5,#faf2fc);border-color:#ce93d8}.insight-item.type-trend{background:linear-gradient(135deg,#fff8e1,#fffef7);border-color:#ffd54f}.insight-icon{font-size:2rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:#fffc;border-radius:50%;box-shadow:0 2px 8px #0000001a}.insight-content{flex:1;min-width:0}.insight-title{margin:0 0 8px;font-size:1.1rem;font-weight:700;color:#2c3e50;line-height:1.3}.insight-description{margin:0 0 12px;color:#495057;font-size:.9rem;line-height:1.5}.insight-action{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px}.insight-action:hover{background:linear-gradient(135deg,#0056b3,#004085);transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}.insight-meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.priority-badge{padding:4px 8px;border-radius:12px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.priority-badge.high{background:#f8d7da;color:#721c24}.priority-badge.medium{background:#fff3cd;color:#856404}.priority-badge.low{background:#d1ecf1;color:#0c5460}.empty-insights{text-align:center;padding:40px 20px;color:#6c757d;background:#fff;border-radius:12px;border:2px dashed #e9ecef}.empty-insights p{margin:0;font-size:1rem}@media (max-width: 768px){.insights-panel.expanded{padding:16px}.insights-header{flex-direction:column;align-items:stretch;gap:16px}.insights-tabs{flex-direction:column}.insight-item{padding:16px;flex-direction:column;text-align:center;gap:12px}.insight-icon{align-self:center}.insight-meta{align-items:center}}@media (max-width: 480px){.insight-title{font-size:1rem}.insight-description{font-size:.85rem}.insight-icon{width:40px;height:40px;font-size:1.5rem}}@media (prefers-reduced-motion: reduce){.insights-toggle,.tab,.insight-item,.insight-action,.collapse-btn{transition:none}}@media (prefers-contrast: high){.insight-item{border-width:2px;border-color:#000}.insight-item:before{opacity:1;width:6px}.tab.active,.insight-action{border:2px solid #000}}.insights-toggle:focus,.tab:focus,.insight-action:focus,.collapse-btn:focus{outline:2px solid #007bff;outline-offset:2px}.safe-email-verification-banner{background:linear-gradient(135deg,#fff9e6,#fef7e0);border:2px solid #ff9500;border-radius:8px;padding:16px 20px;margin-bottom:16px;box-shadow:0 2px 8px #ff95001a;animation:slideDown .3s ease-out}.banner-content{display:flex;align-items:flex-start;gap:12px}.banner-icon{flex-shrink:0;font-size:24px;margin-top:2px}.banner-text{flex:1}.banner-title{font-weight:600;font-size:16px;color:#b5651d;margin-bottom:4px}.banner-description{font-size:14px;color:#8b4513;line-height:1.4;margin-bottom:8px}.banner-message{font-size:13px;margin-top:8px;padding:6px 10px;border-radius:4px;font-weight:500}.banner-message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.banner-message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.debug-info{font-size:11px;color:#666;margin-top:4px;font-family:monospace}.banner-actions{display:flex;gap:8px;align-items:center;margin-left:auto;flex-shrink:0}.btn-resend{background:linear-gradient(135deg,#ff9500,#e8860a);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-resend:hover{background:linear-gradient(135deg,#e8860a,#d17408);transform:translateY(-1px);box-shadow:0 4px 8px #ff95004d}.btn-resend:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.btn-refresh,.btn-dismiss{background:transparent;border:1px solid #ddd;width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:14px;color:#666}.btn-refresh:hover,.btn-dismiss:hover{background-color:#f5f5f5;border-color:#bbb;color:#444}.btn-dismiss{font-size:18px;font-weight:700;line-height:1}@media (max-width: 768px){.safe-email-verification-banner{padding:12px 16px;margin-bottom:12px}.banner-content{flex-direction:column;gap:12px}.banner-actions{margin-left:0;justify-content:flex-start}.btn-resend{padding:10px 16px;font-size:14px}}.safe-email-verification-banner{position:relative;z-index:10}.email-preferences-container .safe-email-verification-banner{width:100%;max-width:800px;margin-bottom:0}.template-selector{max-width:1200px;margin:0 auto;padding:2rem;background:#f9fafb;min-height:100vh}.template-header{text-align:center;margin-bottom:2rem}.template-header h2{color:#1f2937;font-size:2rem;font-weight:600;margin-bottom:.5rem}.template-header p{color:#6b7280;font-size:1.1rem}.template-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin-bottom:2rem}.template-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;transition:all .2s ease;display:flex;flex-direction:column;height:100%}.template-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.template-card-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem;position:relative}.template-icon{font-size:2rem;flex-shrink:0}.template-info h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.template-category{color:#0077b5;font-size:.875rem;font-weight:500;background:#e8f4fd;padding:.25rem .5rem;border-radius:4px}.template-description{color:#4b5563;font-size:.95rem;line-height:1.5;margin-bottom:1rem;flex-grow:1}.template-meta{display:flex;gap:1rem;margin-bottom:1rem;align-items:center}.difficulty-badge{color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:12px;text-transform:uppercase}.time-estimate{color:#6b7280;font-size:.875rem}.template-preview{background:#f8fafc;padding:1rem;border-radius:6px;margin-bottom:1.5rem;border-left:3px solid #0077b5}.template-preview strong{color:#374151;font-size:.875rem;display:block;margin-bottom:.5rem}.template-preview p{color:#4b5563;font-size:.875rem;margin:0;line-height:1.4}.template-btn{background:#0077b5;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s ease;margin-top:auto}.template-btn:hover{background:#005885}.create-from-scratch{border:2px dashed #d1d5db;background:#fefefe}.create-from-scratch:hover{border-color:#0077b5;background:#f8fafc}.template-btn-custom{background:#6b7280}.template-btn-custom:hover{background:#4b5563}.premium-upgrade{border:2px solid #f59e0b;background:linear-gradient(135deg,#fef3c7,#fbbf24);position:relative}.premium-badge{position:absolute;top:-8px;right:1rem;background:#f59e0b;color:#fff;font-size:.75rem;font-weight:700;padding:.25rem .75rem;border-radius:12px;text-transform:uppercase}.premium-features{margin:1rem 0}.premium-feature{color:#374151;font-size:.875rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.template-btn-premium{background:#f59e0b;background:linear-gradient(135deg,#f59e0b,#d97706)}.template-btn-premium:hover{background:#d97706}.premium-note{color:#6b7280;font-size:.75rem;text-align:center;margin-top:.5rem;font-style:italic}.template-footer{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid #e5e7eb}.free-tier-note{color:#6b7280;font-size:.875rem}@media (max-width: 768px){.template-selector{padding:1rem}.template-options{grid-template-columns:1fr;gap:1rem}.template-card{padding:1rem}.template-header h2{font-size:1.5rem}}.goal-input-page{max-width:700px;margin:0 auto;padding:48px;background-color:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;border:1px solid #e4e9f0}.goal-input-page h2{text-align:center;color:#2d3748;margin-bottom:32px;font-size:24px;font-weight:600}.goal-input-form .form-step{margin-bottom:32px;padding:20px;border:1px solid #c1c9d2;border-radius:8px;background-color:#f8fafc;transition:all .2s ease}.goal-input-form .form-step:hover{border-color:#0077b5;box-shadow:0 1px 3px #0000001a}.goal-input-form label{display:block;font-weight:600;margin-bottom:8px;color:#2d3748;font-size:14px}.goal-input-form input[type=text],.goal-input-form input[type=date],.goal-input-form textarea,.goal-input-form select{width:100%;padding:12px;border:1px solid #c1c9d2;border-radius:4px;font-size:16px;color:#2d3748;background-color:#fff;box-sizing:border-box;transition:all .2s ease}.goal-input-form input[type=text]:focus,.goal-input-form input[type=date]:focus,.goal-input-form textarea:focus,.goal-input-form select:focus{outline:none;border-color:#0077b5;box-shadow:0 0 0 3px #0077b51a}.goal-input-form textarea{min-height:120px;resize:vertical;line-height:1.5}.navigation-buttons{display:flex;justify-content:space-between;margin-top:48px;gap:16px}.btn{padding:12px 32px;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px;min-width:120px;justify-content:center}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background-color:#0077b5!important;color:#fff!important}.btn-primary:hover{background-color:#005582!important;box-shadow:0 1px 3px #0000001a}.btn-secondary:hover{background-color:#5a6268!important;box-shadow:0 1px 3px #0000001a}.btn-success{background-color:#22c55e!important;color:#fff!important}.btn-success:hover{background-color:#218838!important;box-shadow:0 1px 3px #0000001a}.btn-outline{background-color:transparent!important;color:#0077b5!important;border:2px solid #0077b5!important}.btn-outline:hover{background-color:#0077b5!important;color:#fff!important}.error-message{background-color:#dc35451a;color:#dc3545;padding:12px 20px;margin-bottom:12px;border:1px solid rgba(220,53,69,.2);border-left:4px solid #dc3545;border-radius:4px;font-size:14px}.success-message{background-color:#28a7451a;color:#22c55e;padding:12px 20px;margin-bottom:12px;border:1px solid rgba(40,167,69,.2);border-left:4px solid #22c55e;border-radius:4px;font-size:14px}.form-progress{display:flex;justify-content:center;margin-bottom:32px}.progress-step{width:32px;height:32px;border-radius:50%;background-color:#c1c9d2;color:#6c7b8a;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;margin:0 8px;position:relative}.progress-step.active{background-color:#0077b5;color:#fff}.progress-step.completed{background-color:#22c55e;color:#fff}.progress-step:not(:last-child):after{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);width:20px;height:2px;background-color:#c1c9d2}.progress-step.completed:not(:last-child):after{background-color:#22c55e}.template-indicator{color:#0077b5;font-size:.9rem;font-weight:500;margin-top:.5rem;margin-bottom:1rem;padding:.5rem 1rem;background:#e8f4fd;border-radius:6px;border-left:3px solid #0077b5;text-align:center}@media (max-width: 768px){.goal-input-page{padding:32px;margin:16px}.navigation-buttons{flex-direction:column;gap:8px}.btn{width:100%}.navigation-buttons .btn:last-child{order:-1}}@media (max-width: 480px){.goal-input-page{padding:20px;margin:8px}.goal-input-page h2{font-size:20px}.goal-input-form .form-step{padding:12px}}.social-share-page{max-width:700px;margin:0 auto;padding:48px;background-color:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;border:1px solid #e4e9f0;text-align:center}.social-share-page h2{color:#2d3748!important;margin-bottom:32px;font-size:24px;font-weight:600}.social-share-page h3{color:#2d3748!important;margin-top:32px;margin-bottom:20px;font-size:20px;font-weight:600}.goal-selection-list ul{list-style-type:none;padding:0;margin:0}.goal-selection-list li{display:flex;justify-content:space-between;align-items:center;padding:20px;border:1px solid #c1c9d2;border-radius:8px;margin-bottom:8px;background-color:#f8fafc;transition:all .2s ease;cursor:pointer}.goal-selection-list li:hover{border-color:#0077b5!important;background-color:#fff!important;box-shadow:0 1px 3px #0000001a}.goal-selection-list li.selected{border-color:#0077b5!important;background-color:#0077b50d!important}.goal-selection-list li span{flex-grow:1;text-align:left;color:#2d3748!important;font-weight:500}.share-type-selector{margin-bottom:32px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.share-type-selector button{padding:8px 20px;border:2px solid #0077b5!important;background-color:#fff!important;color:#0077b5!important;border-radius:4px;cursor:pointer;transition:all .2s ease;font-weight:500;font-size:14px}.share-type-selector button:hover{background-color:#0077b5!important;color:#fff!important;transform:translateY(-1px)}.share-type-selector button.active{background-color:#0077b5!important;color:#fff!important;box-shadow:0 1px 3px #0000001a}.share-preview-area{margin-top:32px;padding:32px;border:1px solid #c1c9d2;border-radius:8px;background-color:#f8fafc;text-align:left}.share-preview-area h4{margin-bottom:20px;color:#2d3748!important;font-size:18px;font-weight:600;text-align:center}.share-preview-area textarea{width:100%;padding:12px;border:1px solid #c1c9d2;border-radius:4px;margin-bottom:20px;min-height:120px;box-sizing:border-box;font-family:inherit;font-size:16px;background-color:#fff;color:#2d3748;line-height:1.5;transition:all .2s ease;resize:vertical}.share-preview-area textarea:focus{outline:none;border-color:#0077b5;box-shadow:0 0 0 3px #0077b51a}.share-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:20px}.share-buttons button{padding:12px 20px;border:none;border-radius:4px;color:#fff;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px}.share-buttons button:hover{transform:translateY(-1px);box-shadow:0 1px 3px #0000001a}.share-buttons button:disabled{opacity:.6;cursor:not-allowed;transform:none}.share-buttons button i{font-size:18px}.btn-linkedin{background-color:#0077b5!important}.btn-linkedin:hover{background-color:#005582!important}.btn-copy{background-color:#6c7b8a!important}.btn-copy:hover{background-color:#5a6268!important}.copy-success{background-color:#22c55e!important}.copy-success:hover{background-color:#218838!important}.btn{padding:8px 20px;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px;justify-content:center}.btn:hover{transform:translateY(-1px)}.btn-secondary{background-color:#6c7b8a!important;color:#fff!important}.btn-secondary:hover{background-color:#5a6268!important}.btn-small{padding:4px 8px;font-size:14px}.error-message{color:#dc3545!important;background-color:#dc35451a;padding:12px;border-radius:4px;border-left:4px solid #dc3545;margin:12px 0;font-size:14px}.success-message{color:#22c55e!important;background-color:#28a7451a;padding:12px;border-radius:4px;border-left:4px solid #22c55e;margin:12px 0;font-size:14px}.character-counter{text-align:right;font-size:12px;color:#6c7b8a;margin-top:4px}.character-counter.warning{color:#f59e0b}.character-counter.error{color:#dc3545}.loading-overlay{position:relative}.loading-overlay:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:#fffc;display:flex;align-items:center;justify-content:center;border-radius:inherit}@media (max-width: 768px){.social-share-page{padding:32px;margin:16px}.share-buttons{grid-template-columns:1fr}.share-type-selector{flex-direction:column;align-items:stretch}.share-type-selector button{width:100%}}@media (max-width: 480px){.social-share-page{padding:20px;margin:8px}.social-share-page h2{font-size:20px}.social-share-page h3{font-size:18px}.goal-selection-list li{flex-direction:column;gap:8px;text-align:center}}.coach-onboarding-container{max-width:700px;margin:0 auto;padding:var(--spacing-2xl);background-color:var(--color-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);text-align:center}.coach-onboarding-container h1{color:var(--color-text-primary);margin-bottom:var(--spacing-xl);font-size:var(--font-size-3xl);font-weight:700;line-height:1.2}.coach-onboarding-container h2{color:var(--color-text-primary);margin-bottom:var(--spacing-lg);font-size:var(--font-size-2xl);font-weight:600}.coach-onboarding-container p{color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--spacing-md);font-size:var(--font-size-base)}.coach-onboarding-container strong{color:var(--color-primary);font-weight:600}.coach-onboarding-container em{color:var(--color-text-secondary);font-style:italic;display:block;margin-top:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-background-light);border-radius:var(--radius-sm);border-left:4px solid var(--color-primary);font-size:var(--font-size-sm)}.login-action-area{margin:var(--spacing-xl) 0;padding:var(--spacing-xl);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-background-light)}.error-message{background-color:#dc35451a;color:var(--color-error);padding:var(--spacing-md) var(--spacing-lg);margin:var(--spacing-md) auto;border:1px solid rgba(220,53,69,.2);border-left:4px solid var(--color-error);border-radius:var(--radius-sm);max-width:90%;font-size:var(--font-size-sm)}.success-message{background-color:#28a7451a;color:var(--color-success);padding:var(--spacing-md) var(--spacing-lg);margin:var(--spacing-md) auto;border:1px solid rgba(40,167,69,.2);border-left:4px solid var(--color-success);border-radius:var(--radius-sm);max-width:90%;font-size:var(--font-size-sm)}.benefits-list{text-align:left;margin:var(--spacing-xl) 0}.benefits-list li{display:flex;align-items:flex-start;margin-bottom:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-background-light);border-radius:var(--radius-sm);border-left:4px solid var(--color-primary)}.benefits-list li:before{content:"✓";color:var(--color-success);font-weight:700;margin-right:var(--spacing-sm);flex-shrink:0}.cta-section{margin:var(--spacing-2xl) 0;padding:var(--spacing-xl);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));border-radius:var(--radius-md);color:#fff}.cta-section h3{color:#fff;margin-bottom:var(--spacing-md);font-size:var(--font-size-xl);font-weight:600}.cta-section p{color:#ffffffe6;margin-bottom:var(--spacing-lg)}.btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;justify-content:center}.btn:hover{transform:translateY(-1px);text-decoration:none}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-dark);color:#fff;box-shadow:var(--shadow-sm)}.btn-secondary{background-color:var(--color-secondary);color:var(--color-primary);border:2px solid var(--color-primary)}.btn-secondary:hover{background-color:var(--color-primary);color:#fff}.btn-large{padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-lg);font-weight:600}.navigation-options{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap;margin-top:var(--spacing-xl)}.navigation-options .btn{flex:1;min-width:150px;max-width:200px}.mt-4{margin-top:var(--spacing-xl)}.mb-4{margin-bottom:var(--spacing-xl)}.text-center{text-align:center}@media (max-width: 768px){.coach-onboarding-container{padding:var(--spacing-xl);margin:var(--spacing-md)}.coach-onboarding-container h1{font-size:var(--font-size-2xl)}.coach-onboarding-container h2{font-size:var(--font-size-xl)}.login-action-area,.cta-section{padding:var(--spacing-lg)}}@media (max-width: 480px){.coach-onboarding-container{padding:var(--spacing-lg);margin:var(--spacing-sm)}.coach-onboarding-container h1{font-size:var(--font-size-xl)}.benefits-list li{flex-direction:column;text-align:center}.btn{width:100%}}.coach-note-input{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;padding:24px;box-shadow:0 4px 12px #0000001a;max-width:600px;margin:0 auto}.coach-note-input__header{margin-bottom:24px;text-align:center}.coach-note-input__header h3{margin:0 0 8px;color:#2c3e50;font-size:1.5rem;font-weight:600}.goal-context{margin:0;color:#6c757d;font-size:.9rem}.goal-context strong{color:#495057}.coach-note-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-weight:600;color:#495057;font-size:.9rem;margin-bottom:4px}.note-type-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.note-type-option{display:flex;align-items:flex-start;padding:16px;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#fff;position:relative}.note-type-option:hover{border-color:#007bff;background:#f8f9ff}.note-type-option.selected{border-color:#007bff;background:#e3f2fd;box-shadow:0 2px 8px #007bff33}.note-type-option input[type=radio]{position:absolute;opacity:0;cursor:pointer}.note-type-content{display:flex;flex-direction:column;gap:4px;width:100%}.note-type-label{font-weight:600;color:#495057;font-size:.9rem}.note-type-description{font-size:.8rem;color:#6c757d;line-height:1.3}.note-textarea{width:100%;padding:12px;border:2px solid #e9ecef;border-radius:8px;font-family:inherit;font-size:.9rem;line-height:1.5;resize:vertical;min-height:100px;transition:border-color .2s ease}.note-textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.note-textarea:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}.character-count{text-align:right;font-size:.8rem;color:#6c757d;margin-top:4px}.error-message{display:flex;align-items:center;gap:8px;padding:12px;background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;font-size:.9rem}.error-icon{flex-shrink:0}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.btn{padding:12px 24px;border:none;border-radius:6px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#0056b3,#004085);transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#545b62;transform:translateY(-1px)}.spinner{animation:spin 1s linear infinite}.coach-info{margin-top:20px;padding-top:16px;border-top:1px solid #e9ecef;text-align:center;font-size:.9rem;color:#6c757d}.coach-label{margin-right:8px}.coach-name{font-weight:600;color:#495057}@media (max-width: 768px){.coach-note-input{padding:16px;margin:16px}.note-type-options{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn{width:100%;justify-content:center}}@media (prefers-reduced-motion: reduce){.note-type-option,.note-textarea,.btn{transition:none}.spinner{animation:none}}@media (prefers-contrast: high){.note-type-option{border-width:3px}.note-type-option.selected{border-color:#000;background:#fff}.note-textarea:focus{border-color:#000;box-shadow:0 0 0 3px #000}}.coach-overview{max-width:1200px;margin:0 auto;padding:24px;background:#f8f9fa;min-height:100vh}.coach-overview__header{text-align:center;margin-bottom:32px}.coach-overview__header h2{margin:0 0 8px;color:#2c3e50;font-size:2rem;font-weight:700}.coach-name{margin:0;color:#6c757d;font-size:1.1rem}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.insight-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:12px;padding:24px;text-align:center;box-shadow:0 4px 12px #0000001a;border:1px solid #e9ecef;transition:transform .2s ease}.insight-card:hover{transform:translateY(-2px)}.insight-card.attention{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-color:#ffc107}.insight-value{font-size:2.5rem;font-weight:700;color:#2c3e50;margin-bottom:8px}.insight-card.attention .insight-value{color:#856404}.insight-label{font-size:.9rem;color:#6c757d;font-weight:500}.controls-bar{display:flex;gap:24px;align-items:center;margin-bottom:24px;padding:16px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.filter-group,.sort-group{display:flex;align-items:center;gap:8px}.filter-group label,.sort-group label{font-weight:600;color:#495057;font-size:.9rem}.filter-select,.sort-select{padding:8px 12px;border:2px solid #e9ecef;border-radius:6px;font-size:.9rem;background:#fff;cursor:pointer;transition:border-color .2s ease}.filter-select:focus,.sort-select:focus{outline:none;border-color:#007bff}.goals-list{display:flex;flex-direction:column;gap:16px}.goal-item{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 12px #0000001a;border:1px solid #e9ecef;transition:all .2s ease}.goal-item:hover{transform:translateY(-1px);box-shadow:0 6px 20px #00000026}.goal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.goal-info{flex:1;min-width:0}.goal-title{margin:0 0 8px;font-size:1.2rem;font-weight:600;color:#2c3e50;line-height:1.3}.goal-category{margin:0 0 4px;font-size:.9rem;color:#6c757d;font-weight:500}.goal-due{margin:0;font-size:.85rem;color:#6c757d}.goal-status{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.status-badge{padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.progress-indicator{display:flex;align-items:center;gap:8px;min-width:120px}.progress-text{font-size:.9rem;font-weight:600;color:#495057;min-width:40px}.progress-bar{flex:1;height:6px;background:#e9ecef;border-radius:3px;overflow:hidden}.progress-fill{height:100%;border-radius:3px;transition:width .3s ease}.goal-actions{display:flex;gap:12px;margin-bottom:16px}.action-btn{padding:8px 16px;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.notes-btn{background:#e3f2fd;color:#1976d2;border:1px solid #bbdefb}.notes-btn:hover{background:#bbdefb;transform:translateY(-1px)}.add-note-btn{background:#e8f5e8;color:#2e7d32;border:1px solid #c8e6c9}.add-note-btn:hover{background:#c8e6c9;transform:translateY(-1px)}.unread-badge{background:#dc3545;color:#fff;padding:2px 6px;border-radius:10px;font-size:.7rem;font-weight:700;margin-left:4px}.notes-section,.note-input-section{margin-top:16px;padding-top:16px;border-top:1px solid #e9ecef}.empty-state{text-align:center;padding:40px 20px;color:#6c757d;background:#fff;border-radius:12px;border:2px dashed #e9ecef}.empty-state p{margin:0;font-size:1.1rem}@media (max-width: 768px){.coach-overview{padding:16px}.insights-grid{grid-template-columns:1fr;gap:16px}.controls-bar{flex-direction:column;align-items:stretch;gap:16px}.filter-group,.sort-group{flex-direction:column;align-items:stretch}.goal-header{flex-direction:column;align-items:stretch;gap:12px}.goal-status{align-items:flex-start}.goal-actions{flex-direction:column}.action-btn{justify-content:center}.progress-indicator{min-width:auto}}@media (max-width: 480px){.coach-overview__header h2{font-size:1.5rem}.insight-value{font-size:2rem}.goal-title{font-size:1.1rem}}@media (prefers-reduced-motion: reduce){.insight-card,.goal-item,.action-btn{transition:none}}@media (prefers-contrast: high){.insight-card,.goal-item{border-width:2px;border-color:#000}.status-badge{border:2px solid #000}.progress-bar{border:1px solid #000}}.coaching-dashboard-loading,.coaching-dashboard-error,.coaching-dashboard-empty{padding:40px;text-align:center;max-width:600px;margin:0 auto;background:#f8f9fa;border-radius:12px;border:2px dashed #dee2e6}.coaching-dashboard-error{color:#dc3545}.coaching-dashboard-error .retry-button{margin-top:16px;padding:8px 24px;background-color:#0077b5;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .2s}.coaching-dashboard-error .retry-button:hover{background-color:#005582}.coaching-dashboard-empty h2{color:#6c757d;margin-bottom:16px;font-size:1.5rem}.coaching-dashboard-empty p{color:#6c757d;font-size:1.1rem;line-height:1.6;margin-bottom:24px}.coaching-tips{text-align:left;background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000000d}.coaching-tips h3{color:#0077b5;margin-bottom:16px;font-size:1.2rem}.coaching-tips ul{list-style:none;padding:0;margin:0}.coaching-tips li{color:#495057;padding:8px 0 8px 24px;position:relative}.coaching-tips li:before{content:"💡";position:absolute;left:0;top:8px}.email-analytics-container{padding:2rem;max-width:1200px;margin:0 auto;background:#f8fafc;min-height:100vh}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.analytics-header h2{color:#1e293b;font-size:2rem;font-weight:700;margin:0}.time-range-selector{display:flex;align-items:center;gap:.75rem}.time-range-selector label{font-weight:600;color:#475569}.time-range-select{padding:.5rem 1rem;border:2px solid #cbd5e1;border-radius:8px;background:#fff;color:#1e293b;font-size:.875rem;cursor:pointer;transition:all .2s ease}.time-range-select:hover{border-color:#3b82f6}.time-range-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.loading-state,.error-state,.no-data-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.loading-spinner{width:3rem;height:3rem;border:3px solid #e2e8f0;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{color:#dc2626;font-size:1.125rem;margin-bottom:1rem}.retry-btn{padding:.75rem 1.5rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s ease}.retry-btn:hover{background:#2563eb}.no-data-state{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;border:1px solid #e2e8f0;margin:2rem 0}.no-data-icon{font-size:48px;margin-bottom:16px}.no-data-state h3{color:#1e293b;margin-bottom:12px;font-size:24px;font-weight:700}.no-data-state p{margin-bottom:8px;font-size:16px;line-height:1.5;color:#64748b}.no-data-info{background:#e8f4f8;padding:20px;border-radius:8px;margin:20px 0;text-align:left;display:inline-block;border:1px solid #0077b5}.no-data-info h4{color:#0077b5;margin-bottom:12px;font-size:16px;font-weight:600}.no-data-info ul{list-style:none;padding:0;margin:0}.no-data-info li{padding:4px 0;color:#333;font-size:14px}.analytics-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 4px 6px #0000000d;border:1px solid #e2e8f0;display:flex;align-items:center;gap:1rem;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.stat-icon{font-size:2.5rem;display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;background:#f1f5f9;border-radius:12px}.stat-content{flex:1}.stat-content h3{color:#475569;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem}.stat-number{font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 .25rem}.stat-percentage{font-size:.875rem;color:#64748b;margin:0}.email-types-section{margin-bottom:3rem}.email-types-section h3{color:#1e293b;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.email-types-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.email-type-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 4px 6px #0000000d;border:1px solid #e2e8f0;transition:transform .2s ease,box-shadow .2s ease}.email-type-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.email-type-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.email-type-header h4{color:#1e293b;font-size:1.125rem;font-weight:600;margin:0}.email-type-total{background:#3b82f6;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:600}.email-type-stats{margin-bottom:1rem}.email-type-stat{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;color:#475569}.status-indicator{width:12px;height:12px;border-radius:50%;display:inline-block}.email-type-success-rate{font-size:.875rem;font-weight:600;color:#059669;text-align:center;padding:.5rem;background:#ecfdf5;border-radius:6px}.performance-summary{margin-bottom:3rem}.performance-summary h3{color:#1e293b;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.performance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.performance-metric{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 4px 6px #0000000d;border:1px solid #e2e8f0;text-align:center}.performance-metric h4{color:#475569;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem}.health-indicator{font-size:1.125rem;font-weight:600;padding:.75rem 1rem;border-radius:8px;margin-bottom:.5rem}.health-indicator.excellent{background:#dcfce7;color:#166534}.health-indicator.good{background:#fef3c7;color:#92400e}.health-indicator.fair{background:#fed7aa;color:#9a3412}.health-indicator.poor{background:#fecaca;color:#991b1b}.performance-metric p{color:#1e293b;font-size:1.125rem;font-weight:600;margin:0}.analytics-actions{display:flex;justify-content:center;margin-top:2rem}.refresh-btn{padding:1rem 2rem;background:#3b82f6;color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.refresh-btn:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 8px 25px #3b82f64d}@media (max-width: 768px){.email-analytics-container{padding:1rem}.analytics-header{flex-direction:column;gap:1rem;align-items:flex-start}.analytics-header h2{font-size:1.5rem}.analytics-overview,.email-types-grid,.performance-grid{grid-template-columns:1fr}.stat-card{flex-direction:column;text-align:center}.stat-icon{width:3rem;height:3rem;font-size:2rem}.stat-number{font-size:1.5rem}}@media (max-width: 480px){.email-analytics-container{padding:.5rem}.email-type-card,.stat-card,.performance-metric{padding:1rem}.time-range-selector{flex-direction:column;align-items:flex-start;gap:.5rem}}.admin-dashboard{padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.admin-dashboard h1{font-size:2rem;margin-bottom:2rem;color:#333}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.metric-card{background-color:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 4px 12px #0000000d;transition:transform .2s ease-in-out}.metric-card:hover{transform:translateY(-5px)}.metric-card h2{font-size:1rem;margin-top:0;margin-bottom:.5rem;color:#666}.metric-card p{font-size:2.5rem;font-weight:700;margin:0;color:#333}.user-management{padding:2rem}.user-management h1{font-size:2rem;margin-bottom:2rem}.user-list table{width:100%;border-collapse:collapse;background-color:#fff;box-shadow:0 4px 12px #0000000d}.user-list th,.user-list td{padding:1rem 1.5rem;text-align:left;border-bottom:1px solid #e0e0e0}.user-list th{background-color:#f4f7fa;font-weight:700}.user-management button{margin-top:1.5rem;padding:.75rem 1.5rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .2s}.user-management button:hover{background-color:#0056b3}.user-management button:disabled{background-color:#ccc;cursor:not-allowed}tr.disabled-user{background-color:#fce8e6;color:#a5a5a5}tr.disabled-user td{text-decoration:line-through}.actions-cell{display:flex;gap:.5rem}.action-button{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;color:#fff}.action-button.disable{background-color:#f4b400}.action-button.disable:hover{background-color:#e4a400}.action-button.delete{background-color:#d93025}.action-button.delete:hover{background-color:#c92015}.admin-login-container{display:flex;justify-content:center;align-items:center;height:100vh;background-color:#f4f7fa}.admin-login-card{padding:2.5rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0000001a;width:100%;max-width:400px}.admin-login-card h2{text-align:center;margin-bottom:2rem;font-size:1.75rem;color:#333}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:700;color:#555}.form-group input{width:100%;padding:.75rem;border:1px solid #ccc;border-radius:4px;font-size:1rem}.error-message{color:#d93025;margin-bottom:1rem;text-align:center}.admin-login-card button{width:100%;padding:.75rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:700;transition:background-color .2s}.admin-login-card button:hover{background-color:#0056b3}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{width:250px;background-color:#2c3e50;color:#ecf0f1;padding:1.5rem;display:flex;flex-direction:column}.admin-sidebar h2{font-size:1.5rem;text-align:center;margin-bottom:2rem;color:#fff}.admin-sidebar ul{list-style-type:none;padding:0;margin:0}.admin-sidebar li a{display:block;padding:1rem;color:#ecf0f1;text-decoration:none;border-radius:4px;transition:background-color .2s}.admin-sidebar li a:hover,.admin-sidebar li a.active{background-color:#34495e;color:#fff}.admin-content{flex-grow:1;background-color:#f4f7fa}.email-verification-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:2rem}.email-verification-card{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;max-width:500px;width:100%;padding:3rem 2rem;text-align:center;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.icon-container{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;margin-bottom:1.5rem}.icon-container.success{background:linear-gradient(135deg,#00b09b,#96c93d)}.icon-container.error{background:linear-gradient(135deg,#ff416c,#ff4b2b)}.icon{font-size:2.5rem;color:#fff}.email-verification-card h1{color:#2c3e50;margin-bottom:1rem;font-size:1.8rem;font-weight:600}.email-verification-card p{color:#5a6c7d;line-height:1.6;margin-bottom:1.5rem}.benefits-list{text-align:left;margin:2rem 0;padding:1.5rem;background:#f8f9fa;border-radius:8px}.benefits-list h3{color:#2c3e50;margin-bottom:1rem;font-size:1.1rem}.benefits-list ul{list-style:none;padding:0;margin:0}.benefits-list li{margin-bottom:.5rem;color:#5a6c7d;font-size:.95rem}.error-reasons{text-align:left;margin:1.5rem 0;padding-left:1rem}.error-reasons li{color:#dc3545;margin-bottom:.5rem}.auto-redirect{margin:2rem 0;padding:1rem;background:#e8f4f8;border-radius:8px;border-left:4px solid #0066cc}.auto-redirect p{margin-bottom:1rem;color:#06c;font-weight:500}.countdown-bar{width:100%;height:6px;background:#e9ecef;border-radius:3px;overflow:hidden}.countdown-progress{height:100%;background:linear-gradient(90deg,#06c,#049);transition:width 1s ease-in-out;border-radius:3px}.action-buttons{display:flex;gap:1rem;justify-content:center;margin:2rem 0;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:6px;text-decoration:none;font-weight:500;font-size:.95rem;transition:all .2s ease;cursor:pointer;min-width:140px;justify-content:center}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0066cc4d}.btn-secondary:hover{background:#f8f9fa;border-color:#dee2e6;transform:translateY(-1px)}.btn-icon{font-size:1rem}.help-text{margin-top:2rem;padding-top:2rem;border-top:1px solid #e9ecef}.help-text p{font-size:.9rem;color:#6c757d;margin:0}.help-text a{color:#06c;text-decoration:none;font-weight:500}.help-text a:hover{text-decoration:underline}@media (max-width: 768px){.email-verification-container{padding:1rem}.email-verification-card{padding:2rem 1.5rem}.action-buttons{flex-direction:column;align-items:center}.btn{width:100%;max-width:250px}.benefits-list{text-align:center}}.email-preferences-container{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.email-preferences-card{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;max-width:800px;width:100%;padding:2rem;animation:slideIn .5s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.preferences-header{margin-bottom:2rem;text-align:center;border-bottom:2px solid #f1f3f4;padding-bottom:1.5rem}.preferences-header h2{color:#2c3e50;margin-bottom:.5rem;font-size:2rem;font-weight:600}.preferences-description{color:#6c757d;font-size:1rem;line-height:1.5;margin:0}.message{padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-weight:500;animation:messageSlide .3s ease-out}@keyframes messageSlide{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.preferences-sections{display:flex;flex-direction:column;gap:2rem}.preference-section{border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;background:#fafbfc;transition:box-shadow .2s ease}.preference-section:hover{box-shadow:0 2px 8px #0000000d}.preference-section.danger-section{border-color:#f5c6cb;background:#fdf2f2}.section-title{color:#2c3e50;font-size:1.25rem;font-weight:600;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.preference-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 0;border-bottom:1px solid #e9ecef;gap:1rem}.preference-item:last-child{border-bottom:none;margin-bottom:0}.preference-info{flex:1;min-width:0}.preference-label{display:block;font-weight:600;color:#2c3e50;margin-bottom:.25rem;font-size:1rem;cursor:pointer}.preference-description{color:#6c757d;font-size:.875rem;line-height:1.4;margin:0}.switch{position:relative;display:inline-block;width:60px;height:34px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:34px}.slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}input:checked+.slider{background:linear-gradient(135deg,#06c,#049)}input:focus+.slider{box-shadow:0 0 1px #06c}input:checked+.slider:before{transform:translate(26px)}input:disabled+.slider{opacity:.5;cursor:not-allowed}input:disabled+.slider:before{opacity:.7}.slider.danger{background-color:#6c757d}input:checked+.slider.danger{background:linear-gradient(135deg,#dc3545,#c82333)}.frequency-select{padding:.5rem 1rem;border:2px solid #e9ecef;border-radius:6px;background:#fff;color:#2c3e50;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:140px}.frequency-select:focus{outline:none;border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.frequency-select:disabled{opacity:.5;cursor:not-allowed;background:#f8f9fa}.preferences-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:2px solid #f1f3f4}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;font-size:.95rem;cursor:pointer;transition:all .2s ease;text-decoration:none;min-width:120px;justify-content:center}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary{background:linear-gradient(135deg,#06c,#049);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0066cc4d}.btn-secondary{background:#fff;color:#6c757d;border:2px solid #e9ecef}.btn-secondary:hover:not(:disabled){background:#f8f9fa;border-color:#dee2e6;transform:translateY(-1px)}.verification-status{margin-top:2rem;padding:1.5rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.verification-status h3{color:#2c3e50;margin-bottom:1rem;font-size:1.1rem}.verification-info .verified{color:#28a745;font-weight:600;display:flex;align-items:center;gap:.5rem}.verification-info .unverified{color:#ffc107;font-weight:600;display:flex;align-items:center;gap:.5rem}@media (max-width: 768px){.email-preferences-container{padding:1rem}.email-preferences-card{padding:1.5rem}.preferences-header h2{font-size:1.5rem}.preference-item{flex-direction:column;align-items:flex-start;gap:.75rem}.switch{align-self:flex-start}.frequency-select{width:100%;max-width:200px}.preferences-actions{flex-direction:column;align-items:stretch}.btn{width:100%}.verification-info .verified,.verification-info .unverified{flex-direction:column;align-items:flex-start;gap:.25rem}}@media (max-width: 480px){.preferences-sections{gap:1rem}.preference-section{padding:1rem}.section-title{font-size:1.1rem}.preference-label{font-size:.95rem}.preference-description{font-size:.8rem}}.navbar{background-color:var(--color-white);border-bottom:1px solid var(--color-border-light);padding:0;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:1000}.navbar-container{max-width:1200px;margin:0 auto;padding:var(--spacing-md) var(--spacing-lg);display:flex;justify-content:space-between;align-items:center}.navbar-logo{flex-shrink:0}.logo-link{display:flex;align-items:center;text-decoration:none}.logo-image{height:45px;width:auto;transition:opacity .2s ease;filter:brightness(1) contrast(1)}.logo-image:hover{opacity:.8}.navbar-links{list-style:none;display:flex;margin:0;padding:0;gap:var(--spacing-xl)}.navbar-links li{margin:0}.nav-link{color:var(--color-text-primary);text-decoration:none;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);transition:all .2s ease;position:relative}.nav-link:hover{color:var(--brand-primary);background-color:var(--brand-primary-pale);text-decoration:none}.nav-link.active{color:var(--brand-primary);background-color:var(--brand-primary-pale)}.navbar-signout{background-color:var(--color-error);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all .2s ease}.navbar-signout:hover{background-color:var(--color-error-dark);transform:translateY(-1px)}.mobile-menu-button{background:none;border:none;color:var(--color-text-primary);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-sm);transition:all .2s ease}.mobile-menu-button:hover{background-color:var(--color-background-light);color:var(--color-primary)}.mobile-menu{position:absolute;top:100%;left:0;right:0;background-color:var(--color-secondary);border-bottom:1px solid var(--color-border-light);box-shadow:var(--shadow-md);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mobile-nav-links{list-style:none;margin:0;padding:var(--spacing-md)}.mobile-nav-links li{margin-bottom:var(--spacing-sm)}.mobile-nav-link{display:block;color:var(--color-text-primary);text-decoration:none;font-size:var(--font-size-base);font-weight:500;padding:var(--spacing-md);border-radius:var(--radius-sm);transition:all .2s ease}.mobile-nav-link:hover{color:var(--color-primary);background-color:var(--color-background-light);text-decoration:none}.mobile-signout{width:100%;background-color:var(--color-error);color:#fff;border:none;padding:var(--spacing-md);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-base);font-weight:500;transition:all .2s ease}.mobile-signout:hover{background-color:#c0392b}.authenticated-layout{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-background-light)}.main-content{flex-grow:1;padding:var(--spacing-xl);max-width:1200px;margin:0 auto;width:100%}.desktop-only{display:flex}.mobile-only{display:none}@media (max-width: 768px){.desktop-only{display:none}.mobile-only{display:block}.navbar-container,.main-content{padding:var(--spacing-md)}.logo-image{height:32px}}@media (max-width: 480px){.navbar-container{padding:var(--spacing-sm) var(--spacing-md)}.main-content{padding:var(--spacing-sm)}}
