.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.error-boundary-content{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:600px;width:100%;text-align:center}.error-boundary-content h1{color:#333;margin-bottom:16px;font-size:2rem}.error-boundary-content>p{color:#666;margin-bottom:24px;font-size:1.1rem}.error-details{background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;padding:16px;margin-bottom:24px;text-align:left}.error-message{color:#c53030;font-family:Courier New,monospace;font-size:.9rem;margin:0;word-break:break-word}.error-actions{display:flex;gap:12px;justify-content:center;margin-bottom:20px}.error-actions button{padding:12px 24px;border-radius:8px;border:none;font-size:1rem;cursor:pointer;transition:all .3s ease;font-weight:600}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary{background:#e2e8f0;color:#2d3748}.btn-secondary:hover{background:#cbd5e0;transform:translateY(-2px)}.error-stack{margin-top:20px;text-align:left}.error-stack summary{cursor:pointer;color:#667eea;font-weight:600;padding:8px;-webkit-user-select:none;user-select:none}.error-stack summary:hover{background:#f7fafc;border-radius:4px}.error-stack pre{background:#2d3748;color:#e2e8f0;padding:16px;border-radius:8px;overflow-x:auto;font-size:.85rem;line-height:1.5;margin-top:8px}@media (max-width: 768px){.error-boundary-content{padding:24px}.error-boundary-content h1{font-size:1.5rem}.error-actions{flex-direction:column}.error-actions button{width:100%}}.main-navigation{background:#fff;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;gap:2rem;height:70px}.nav-logo{font-size:1.5rem;font-weight:700;color:#667eea;background:none;border:none;cursor:pointer;transition:all .3s ease}.nav-logo:hover{transform:scale(1.05)}.nav-categories{display:flex;gap:1rem;flex:1}.nav-category{padding:1rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;font-weight:500;color:#666;display:flex;align-items:center;gap:.5rem;transition:all .3s ease}.nav-category:hover{color:#333;background:#f5f5f5}.nav-category.active{color:#333;font-weight:600}.nav-icon{font-size:1.25rem}.nav-user-section{display:flex;align-items:center;gap:1rem;margin-left:auto}.nav-welcome{color:#333;font-weight:500;font-size:.95rem}.nav-logout-button{padding:.5rem 1.25rem;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease}.nav-logout-button:hover{background:#5568d3;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}@media (max-width: 768px){.nav-container{padding:0 1rem;height:auto;flex-direction:column;align-items:flex-start;padding:1rem}.nav-logo{font-size:1.25rem}.nav-categories{width:100%;flex-direction:column;gap:0}.nav-category{width:100%;justify-content:flex-start;padding:.75rem 1rem}.nav-user-section{width:100%;margin-left:0;padding-top:.5rem;border-top:1px solid #e0e0e0}.nav-welcome{font-size:.85rem}.nav-logout-button{margin-left:auto}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.auth-card{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 10px 40px #0003;width:100%;max-width:450px}.auth-card h1{color:#667eea;margin-bottom:.5rem;font-size:2rem;text-align:center}.auth-card h2{color:#2c3e50;margin-bottom:2rem;font-size:1.5rem;text-align:center;font-weight:500}.form-group label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:500}.form-group input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#667eea}.auth-button{width:100%;padding:.875rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.auth-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:6px;margin-bottom:1rem;border:1px solid #fcc}.auth-link{text-align:center;margin-top:1.5rem;color:#666}.auth-link a{color:#667eea;text-decoration:none;font-weight:500}.auth-link a:hover{text-decoration:underline}.stats-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;transition:all .3s;border-left:4px solid;display:flex;align-items:center;gap:1rem}.stats-card.clickable{cursor:pointer}.stats-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stats-icon{font-size:2.5rem;line-height:1;flex-shrink:0}.stats-content{flex:1}.stats-title{margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.stats-value{font-size:2rem;font-weight:700;margin:0 0 .25rem;line-height:1}.stats-subtitle{font-size:.85rem;color:#888;margin-top:.25rem}@media (max-width: 768px){.stats-card{padding:1rem}.stats-icon{font-size:2rem}.stats-value{font-size:1.5rem}.stats-title{font-size:.8rem}}.recent-activity{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.recent-activity h3{margin:0 0 1rem;font-size:1.25rem;font-weight:700;color:#333}.no-activity{text-align:center;padding:2rem;color:#888}.no-activity p{margin:.5rem 0}.no-activity .hint{font-size:.9rem;color:#aaa}.activity-list{display:flex;flex-direction:column;gap:.75rem}.activity-item{display:flex;align-items:flex-start;gap:1rem;padding:.75rem;border-radius:8px;transition:background .2s}.activity-item:hover{background:#f9f9f9}.activity-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0;color:#fff}.activity-content{flex:1;min-width:0}.activity-text{font-size:.95rem;color:#333;margin-bottom:.25rem;word-wrap:break-word}.activity-meta{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.activity-category{font-weight:600}.activity-separator{color:#ccc}.activity-time{color:#888}@media (max-width: 768px){.recent-activity{padding:1rem}.activity-item{padding:.5rem}.activity-icon{width:32px;height:32px;font-size:1rem}.activity-text{font-size:.9rem}.activity-meta{font-size:.8rem}}.dashboard{min-height:100vh;background-color:#f5f5f5}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a}.dashboard-header h1{margin:0;font-size:1.8rem}.user-info{display:flex;align-items:center;gap:1rem}.logout-button{padding:.5rem 1rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;font-weight:500;transition:background .3s}.logout-button:hover{background:#ffffff4d}.dashboard-main{max-width:1200px;margin:0 auto;padding:2rem}.welcome-section{background:#fff;padding:2rem;border-radius:12px;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a;text-align:center}.welcome-section h2{color:#2c3e50;margin-bottom:.5rem}.welcome-section p{color:#666;font-size:1.1rem}.stats-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.categories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.category-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:transform .3s,box-shadow .3s;cursor:pointer}.category-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.category-button{margin-top:1rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;width:100%}.category-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.category-card h3{margin-top:0;font-size:1.5rem;margin-bottom:.5rem}.category-card.mind h3{color:#667eea}.category-card.body h3{color:#f5576c}.category-card.spirit h3{color:#00f2fe}.category-card p{color:#666;margin-bottom:1rem}.category-stats{margin-top:1rem;padding-top:1rem;border-top:1px solid #eee;color:#999;font-size:.9rem}.features-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.feature-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:transform .3s,box-shadow .3s;cursor:pointer;text-align:center}.feature-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.feature-card h3{margin-top:0;font-size:1.5rem;color:#2c3e50}.feature-card p{color:#666;margin-bottom:1.5rem}.feature-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;width:100%}.feature-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.info-section{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.info-section h3{color:#2c3e50;margin-top:0}.info-section ul{color:#666;line-height:1.8}@media (max-width: 768px){.dashboard-main{padding:1rem}.welcome-section{padding:1.5rem}.stats-overview,.categories-grid,.features-section{grid-template-columns:1fr}}.mood-tracker{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.mood-tracker h3{margin-top:0;margin-bottom:1.5rem;color:#2c3e50;font-size:1.3rem}.rating-scale{margin-bottom:1.5rem}.rating-buttons{display:flex;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.rating-button{flex:1;min-width:45px;height:45px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.rating-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.rating-button.active{border-color:transparent}.rating-labels{display:flex;justify-content:space-between;font-size:.85rem;color:#666;padding:0 .25rem}.notes-section{margin-bottom:1.5rem}.notes-section label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:500}.notes-section textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:.95rem;resize:vertical;transition:border-color .3s}.notes-section textarea:focus{outline:none;border-color:#667eea}.save-button{width:100%;padding:.875rem;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.save-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0003}.save-button:disabled{opacity:.6;cursor:not-allowed}.message{margin-top:1rem;padding:.75rem;border-radius:6px;text-align:center}.message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@media (max-width: 640px){.rating-button{min-width:38px;height:38px;font-size:.9rem}}.mood-chart-container{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.mood-chart{height:400px;position:relative}.mood-chart-empty{background:#fff;padding:3rem 2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;text-align:center;color:#999;font-size:1.1rem;margin-bottom:2rem}@media (max-width: 768px){.mood-chart{height:300px}.mood-chart-container{padding:1rem}}.goal-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:transform .3s,box-shadow .3s}.goal-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.goal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.goal-title-section{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600;text-transform:capitalize}.status-active{background:#e3f2fd;color:#1976d2}.status-completed{background:#e8f5e9;color:#388e3c}.status-abandoned{background:#ffebee;color:#d32f2f}.goal-actions{display:flex;gap:.5rem}.goal-title{margin:0 0 .5rem;color:#2c3e50;font-size:1.3rem}.goal-error-message{background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;padding:.75rem;margin:.5rem 0;color:#c53030;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.goal-error-message:before{content:"⚠️";font-size:1rem}.goal-description{color:#666;margin:0 0 1rem;line-height:1.5}.goal-target-date{color:#999;font-size:.9rem;margin-bottom:1rem}.progress-section{margin:1.5rem 0}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-weight:600;color:#2c3e50}.progress-percentage{color:#667eea;font-size:1.1rem}.progress-bar{width:100%;height:12px;background:#e0e0e0;border-radius:6px;overflow:hidden;margin-bottom:.75rem}.progress-fill{height:100%;transition:width .3s ease;border-radius:6px}.progress-slider{width:100%;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:4px;outline:none;cursor:pointer}.progress-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid #667eea;cursor:pointer;box-shadow:0 2px 4px #0003}.progress-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid #667eea;cursor:pointer;box-shadow:0 2px 4px #0003}.progress-slider:disabled{opacity:.5;cursor:not-allowed}.status-actions{display:flex;gap:.75rem;margin-top:1rem}.complete-button,.abandon-button,.reactivate-button{flex:1;padding:.75rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s}.complete-button,.reactivate-button{color:#fff}.complete-button:hover,.reactivate-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.abandon-button{background:#f0f0f0;color:#666}.abandon-button:hover{background:#e0e0e0}.completion-message{background:#e8f5e9;color:#388e3c;padding:.75rem;border-radius:8px;text-align:center;font-weight:600;margin-top:1rem}@media (max-width: 768px){.goal-card{padding:1rem}.goal-title{font-size:1.1rem}.status-actions{flex-direction:column}.complete-button,.abandon-button,.reactivate-button{width:100%}}.goal-list{width:100%}.filter-section{margin-bottom:2rem}.filter-buttons{display:flex;gap:1rem;flex-wrap:wrap}.filter-button{padding:.75rem 1.5rem;background:#fff;border:2px solid #e0e0e0;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:.5rem}.filter-button:hover{border-color:#667eea;background:#f9f9f9}.filter-button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.filter-count{background:#ffffff4d;padding:.25rem .5rem;border-radius:12px;font-size:.85rem}.filter-button.active .filter-count{background:#ffffff40}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}@media (max-width: 768px){.filter-buttons{flex-direction:column}.filter-button{width:100%;justify-content:space-between}.goals-grid{grid-template-columns:1fr;gap:1rem}}.goal-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.goal-form-modal{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.goal-form-header{padding:1.5rem;color:#fff;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;align-items:center}.goal-form-header h2{margin:0;font-size:1.5rem}.goal-form{padding:1.5rem}@media (max-width: 768px){.goal-form-modal{width:95%;max-height:95vh}.goal-form{padding:1rem}.category-selector{flex-direction:column}.form-actions{flex-direction:column-reverse}.cancel-button,.save-button{width:100%}}.category-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.category-page-header{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;border-bottom:4px solid;display:flex;align-items:center;gap:1.5rem}.category-page-header .back-button{background:#f5f5f5;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .3s ease}.category-page-header .back-button:hover{background:#e0e0e0;transform:translate(-4px)}.category-page-header .header-content{flex:1}.category-page-header h1{margin:0 0 .5rem;color:#333;display:flex;align-items:center;gap:.75rem}.category-icon{font-size:2rem}.category-page-header p{margin:0;color:#666}.category-tabs{display:flex;gap:1rem;margin-bottom:2rem;background:#fff;padding:1rem;border-radius:12px;box-shadow:0 4px 6px #0000001a}.tab-button{flex:1;padding:1rem 2rem;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1.1rem;font-weight:500;color:#666;transition:all .3s ease}.tab-button.active{color:#333;font-weight:600}.tab-button:hover{background:#f5f5f5}.category-content{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a}.mood-section{display:flex;flex-direction:column;gap:2rem}.tracker-section{background:#f9f9f9;padding:1.5rem;border-radius:8px}.date-picker-section{margin-bottom:1rem;display:flex;align-items:center;gap:1rem}.date-picker-section label{font-weight:600;color:#333}.date-picker-section input{padding:.5rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:1rem}.visualization-section{background:#f9f9f9;padding:1.5rem;border-radius:8px}.visualization-section h3{margin-top:0;color:#333}.simple-chart{display:flex;gap:4px;align-items:flex-end;height:200px;padding:1rem;background:#fff;border-radius:8px}.chart-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.bar{width:100%;min-height:4px;border-radius:4px 4px 0 0;transition:all .3s ease}.bar-label{font-size:.75rem;color:#666;font-weight:500}.history-section h3{color:#333;margin-bottom:1rem}.mood-item{background:#f9f9f9;padding:1rem;border-radius:8px;display:flex;flex-direction:column;gap:.5rem}.mood-info{display:flex;justify-content:space-between;align-items:center}.mood-date{font-weight:600;color:#333}.mood-rating{font-weight:600;font-size:1.1rem}.mood-notes{color:#666;margin:0;font-style:italic}.delete-button{align-self:flex-start;padding:.5rem 1rem;background:#f44336;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .3s ease}.delete-button:hover{background:#d32f2f}.goals-section,.habits-section{display:flex;flex-direction:column;gap:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center}.section-header h3{margin:0;color:#333}.add-button{padding:.75rem 1.5rem;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.add-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:12px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.habit-list{display:flex;flex-direction:column;gap:1rem}.habit-item{background:#f9f9f9;padding:1.5rem;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:1rem}.habit-info{flex:1}.habit-info h4{margin:0 0 .5rem;color:#333}.habit-info p{margin:0 0 .5rem;color:#666}.habit-frequency{font-size:.9rem;color:#888;font-style:italic}.toggle-button{padding:.75rem 1.5rem;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;white-space:nowrap;transition:all .3s ease}.toggle-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;color:#fff;font-size:1.5rem}@media (max-width: 768px){.category-page{padding:1rem}.category-page-header{flex-direction:column;align-items:flex-start}.category-tabs{flex-direction:column}.tab-button{text-align:left}.habit-item{flex-direction:column;align-items:flex-start}.toggle-button{align-self:stretch}}.mood-history{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.mood-history h3{margin-top:0;margin-bottom:1.5rem;color:#2c3e50;font-size:1.3rem}.mood-history-empty{background:#fff;padding:3rem 2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;text-align:center}.mood-history-empty p{color:#999;font-size:1.1rem;margin:0}.mood-list{display:flex;flex-direction:column;gap:1rem}.mood-entry{border:2px solid #f0f0f0;border-radius:10px;padding:1.25rem;transition:border-color .3s,box-shadow .3s;position:relative}.mood-entry:hover{border-color:#e0e0e0;box-shadow:0 2px 8px #00000014}.mood-entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.mood-category-badge{display:inline-block;padding:.35rem .75rem;border-radius:20px;color:#fff;font-weight:600;font-size:.85rem}.mood-date{color:#666;font-size:.9rem}.mood-rating{margin-bottom:1rem}.rating-label{display:block;margin-bottom:.5rem;color:#555;font-weight:500;font-size:.9rem}.rating-display{position:relative;width:100%;height:30px;background-color:#f5f5f5;border-radius:15px;overflow:hidden}.rating-bar{height:100%;display:flex;align-items:center;justify-content:flex-end;padding-right:.75rem;transition:width .3s;border-radius:15px}.rating-value{color:#fff;font-weight:600;font-size:.85rem}.mood-notes{margin-top:1rem;padding-top:1rem;border-top:1px solid #f0f0f0}.notes-label{display:block;margin-bottom:.5rem;color:#555;font-weight:500;font-size:.9rem}.mood-notes p{margin:0;color:#666;line-height:1.6}.delete-button{margin-top:1rem;padding:.5rem 1rem;background-color:#fff;color:#dc3545;border:1px solid #dc3545;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.delete-button:hover{background-color:#dc3545;color:#fff}@media (max-width: 640px){.mood-entry-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.mood-page{min-height:100vh;background-color:#f5f5f5;padding-bottom:2rem}.mood-page-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;text-align:center}.mood-page-header h1{margin:0 0 .5rem;font-size:2rem}.mood-page-header p{margin:0;opacity:.95;font-size:1.1rem}.category-tab{flex:1;max-width:200px;padding:1rem 2rem;background:none;border:none;border-bottom:3px solid transparent;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s}.mood-content{max-width:1200px;margin:0 auto;padding:2rem;display:grid;gap:2rem}.date-picker-section{margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem}.date-picker-section label{font-weight:600;color:#2c3e50}.date-picker-section input[type=date]{padding:.5rem .75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;cursor:pointer;transition:border-color .3s}.date-picker-section input[type=date]:focus{outline:none;border-color:#667eea}@media (max-width: 768px){.mood-content{padding:1rem}.mood-page-header h1{font-size:1.5rem}.mood-page-header p{font-size:1rem}.category-tab{padding:.75rem 1rem;font-size:1rem}.date-picker-section{flex-direction:column;align-items:flex-start}}.goals-page{min-height:100vh;background-color:#f5f5f5;padding-bottom:2rem}.goals-page-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem}.create-goal-button{padding:.75rem 1.5rem;background:#fff;color:#667eea;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #00000026}.create-goal-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.goals-content{max-width:1200px;margin:0 auto;padding:2rem}@media (max-width: 768px){.header-content{flex-direction:column;align-items:stretch}.back-button{align-self:flex-start}.header-text{text-align:left}.header-text h1{font-size:1.5rem}.header-text p{font-size:1rem}.create-goal-button{width:100%}.category-tabs{overflow-x:auto}.category-tab{padding:.75rem 1rem;font-size:1rem;white-space:nowrap}.goals-content{padding:1rem}}.habit-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.habit-form-modal{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.habit-form-header{padding:1.5rem;color:#fff;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;align-items:center}.habit-form-header h2{margin:0;font-size:1.5rem}.close-button{background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.close-button:hover{opacity:.8}.habit-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#2c3e50}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .3s;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.category-selector{display:flex;gap:.75rem}.category-option{flex:1;padding:.75rem;background:#fff;border:2px solid #ddd;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s}.category-option.active{font-weight:700;transform:scale(1.05)}.error-message{background:#fff3f3;color:#c00;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.cancel-button,.save-button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s}.cancel-button{background:#f0f0f0;color:#666}.cancel-button:hover{background:#e0e0e0}.save-button{color:#fff}.save-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.save-button:disabled,.cancel-button:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 768px){.habit-form-modal{width:95%;max-height:95vh}.habit-form{padding:1rem}.category-selector{flex-direction:column}.form-actions{flex-direction:column-reverse}.cancel-button,.save-button{width:100%}}.habit-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:transform .3s,box-shadow .3s}.habit-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.habit-card.inactive{opacity:.7}.habit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.habit-title-section{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.category-badge{padding:.25rem .75rem;border-radius:12px;color:#fff;font-size:.85rem;font-weight:600}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.inactive-badge{background:#ffebee;color:#d32f2f}.habit-actions{display:flex;gap:.5rem}.edit-button,.delete-button{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.25rem;transition:transform .2s}.edit-button:hover,.delete-button:hover{transform:scale(1.2)}.habit-title{margin:0 0 .5rem;color:#2c3e50;font-size:1.3rem}.habit-error-message{background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;padding:.75rem;margin:.5rem 0;color:#c53030;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.habit-error-message:before{content:"⚠️";font-size:1rem}.habit-description{color:#666;margin:0 0 1rem;line-height:1.5}.streak-section{display:flex;gap:1rem;margin:1.5rem 0;padding:1rem;background:#f9f9f9;border-radius:8px}.streak-item{flex:1;display:flex;align-items:center;gap:.75rem}.streak-icon{font-size:2rem}.streak-info{display:flex;flex-direction:column}.streak-value{font-size:1.5rem;font-weight:700;color:#2c3e50;line-height:1}.streak-label{font-size:.75rem;color:#999;margin-top:.25rem}.today-section{margin:1.5rem 0;padding:1rem;background:#f0f7ff;border-radius:8px}.checkbox-container{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-container input[type=checkbox]{width:20px;height:20px;margin-right:.75rem;cursor:pointer}.checkbox-label{font-weight:600;color:#2c3e50;font-size:1rem}.habit-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid #eee}.toggle-active-button{width:100%;padding:.75rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s}.toggle-active-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}@media (max-width: 768px){.habit-card{padding:1rem}.habit-title{font-size:1.1rem}.streak-section{flex-direction:column;gap:.75rem}.streak-value{font-size:1.25rem}}.habit-list{width:100%}.habits-section{margin-bottom:2rem}.section-title{color:#2c3e50;font-size:1.3rem;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #e0e0e0}.habits-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{color:#2c3e50;margin:0 0 .5rem}.empty-state p{color:#666;margin:0}@media (max-width: 768px){.habits-grid{grid-template-columns:1fr;gap:1rem}.section-title{font-size:1.1rem}}.habits-page{min-height:100vh;background-color:#f5f5f5;padding-bottom:2rem}.habits-page-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem}.back-button{padding:.5rem 1rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;font-weight:500;transition:background .3s}.back-button:hover{background:#ffffff4d}.header-text{flex:1;text-align:center}.header-text h1{margin:0 0 .25rem;font-size:2rem}.header-text p{margin:0;opacity:.95;font-size:1.1rem}.create-habit-button{padding:.75rem 1.5rem;background:#fff;color:#667eea;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #00000026}.create-habit-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.category-tabs{display:flex;justify-content:center;background:#fff;padding:0;box-shadow:0 2px 4px #0000000d;position:sticky;top:0;z-index:10}.category-tab{flex:1;max-width:200px;padding:1rem 2rem;background:none;border:none;border-bottom:3px solid transparent;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:.5rem}.category-tab:hover{background-color:#f9f9f9}.category-tab.active{font-weight:700}.tab-count{background:#667eea1a;padding:.25rem .5rem;border-radius:12px;font-size:.85rem}.category-tab.active .tab-count{background:#667eea33}.habits-content{max-width:1200px;margin:0 auto;padding:2rem}.loading{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.2rem;color:#666}@media (max-width: 768px){.header-content{flex-direction:column;align-items:stretch}.back-button{align-self:flex-start}.header-text{text-align:left}.header-text h1{font-size:1.5rem}.header-text p{font-size:1rem}.create-habit-button{width:100%}.category-tabs{overflow-x:auto}.category-tab{padding:.75rem 1rem;font-size:1rem;white-space:nowrap}.habits-content{padding:1rem}}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background-color:#2c3e50;color:#fff;padding:2rem;text-align:center}.app-header h1{font-size:2.5rem;margin-bottom:.5rem}.app-header p{font-size:1.2rem;opacity:.9}.app-main{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.welcome-message{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.welcome-message h2{color:#2c3e50;margin-bottom:1rem}.welcome-message>p{color:#555;margin-bottom:2rem}.categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.category{padding:1.5rem;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center}.category:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c)}.category:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe)}.category h3{font-size:1.5rem;margin-bottom:.5rem}.category p{opacity:.9}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#root{min-height:100vh}
