.login-container{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--spacing-lg)}.login-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:500px;width:100%;overflow:hidden}.login-header{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);color:#fff;padding:var(--spacing-xl) var(--spacing-lg);text-align:center}.login-header h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xs);font-weight:600}.login-header p{font-size:var(--font-size-lg);opacity:.95}.login-content{padding:var(--spacing-xl) var(--spacing-lg);text-align:center}.login-content h2{font-size:var(--font-size-xl);color:var(--text-primary);margin-bottom:var(--spacing-sm)}.login-content>p{color:var(--text-secondary);margin-bottom:var(--spacing-xl)}.google-login-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);background:var(--surface);border:2px solid #dadce0;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;font-family:var(--font-family)}.google-login-btn:hover{background:#f8f9fa;box-shadow:0 1px 2px #0000001a}.google-login-btn:active{background:#f1f3f4}.google-icon{width:20px;height:20px}.login-info{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--background)}.login-info p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:var(--spacing-sm) 0;text-align:left}.login-footer{margin-top:var(--spacing-xl);text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm)}@media(max-width:768px){.login-card{margin:var(--spacing-md)}.login-header{padding:var(--spacing-lg) var(--spacing-md)}.login-header h1{font-size:var(--font-size-xl)}.login-content{padding:var(--spacing-lg) var(--spacing-md)}}.dashboard{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.dashboard-header{background:#fff;box-shadow:0 2px 8px #0000001a;padding:1.5rem 2rem}.dashboard-header h1{margin:0;font-size:1.75rem;color:var(--text-dark)}.header-actions{display:flex;gap:1rem;align-items:center}.user-info{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--text-dark)}.admin-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.dashboard-main{max-width:1200px;margin:0 auto;padding:3rem 2rem}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h2{color:var(--text-dark);margin-bottom:.5rem}.empty-state p{color:var(--text-muted);margin-bottom:2rem}.journals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.journal-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #0000001a;transition:transform .2s,box-shadow .2s;cursor:pointer;display:flex;flex-direction:column;gap:1rem}.journal-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #00000026}.journal-icon{font-size:3rem;text-align:center}.journal-card h3{margin:0;color:var(--text-dark);font-size:1.5rem}.journal-description{color:var(--text-muted);font-size:.95rem;line-height:1.5;flex:1}.journal-footer{margin-top:auto}.btn-start{width:100%;padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-start:hover{opacity:.9}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.speech-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:var(--surface-light, #f4f1fb);cursor:pointer;font-size:16px;transition:all .2s ease;flex-shrink:0;padding:0;line-height:1}.speech-btn:hover{background:var(--primary-light, #e8e0f5);transform:scale(1.1)}.speak-btn.speaking{background:var(--primary-light, #e8e0f5);animation:speak-pulse 1.5s ease-in-out infinite}.dictate-btn.listening{background:#fde8e8;animation:dictate-pulse 1s ease-in-out infinite}@keyframes speak-pulse{0%,to{box-shadow:0 0 #667eea4d}50%{box-shadow:0 0 0 8px #667eea00}}@keyframes dictate-pulse{0%,to{box-shadow:0 0 #dc353566}50%{box-shadow:0 0 0 8px #dc353500}}.prompt-with-speech{display:flex;align-items:flex-start;gap:8px}.prompt-with-speech .speech-btn{margin-top:2px}.input-with-dictate{position:relative}.input-with-dictate .dictate-btn{position:absolute;right:8px;z-index:2}.input-with-dictate textarea~.dictate-btn{bottom:8px}.input-with-dictate input[type=text]~.dictate-btn{top:50%;transform:translateY(-50%)}.input-with-dictate textarea,.input-with-dictate input[type=text]{padding-right:44px;width:100%;box-sizing:border-box}.dictate-interim{font-style:italic;color:#999;font-size:13px;margin-top:4px;min-height:18px}.pod-display{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 2px 12px #00000014;transition:box-shadow .2s}.pod-display:hover{box-shadow:0 4px 20px #0000001f}.pod-header{display:flex;gap:1rem;margin-bottom:1rem;align-items:center}.pod-number{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.pod-type-badge{background:#f0f0f0;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;color:var(--text-muted);text-transform:capitalize}.pod-prompt{color:var(--text-dark);font-size:1.3rem;margin:0 0 1.5rem;line-height:1.4}.pod-content{margin-bottom:1.5rem}.text-response,.reflection-response{width:100%;padding:1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;font-family:inherit;resize:vertical;transition:border-color .2s}.text-response:focus,.reflection-response:focus{outline:none;border-color:var(--primary)}.goal{display:flex;flex-direction:column;gap:1rem}.goal-input{width:100%;padding:1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1.1rem;transition:border-color .2s}.goal-input:focus{outline:none;border-color:var(--primary)}.deadline-input{display:flex;align-items:center;gap:1rem}.deadline-input label{font-weight:500;color:var(--text-dark)}.date-input{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s}.date-input:focus{outline:none;border-color:var(--primary)}.scale-container{display:flex;align-items:center;gap:1.5rem;padding:1.5rem 1rem}.scale-label{font-weight:500;color:var(--text-muted);font-size:.9rem;min-width:80px;text-align:center}.scale-slider-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;gap:1rem}.scale-slider{width:100%;height:8px;-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;outline:none}.scale-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;background:#fff;border:3px solid var(--primary);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #0003;transition:transform .2s}.scale-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.scale-slider::-moz-range-thumb{width:24px;height:24px;background:#fff;border:3px solid var(--primary);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #0003;transition:transform .2s}.scale-slider::-moz-range-thumb:hover{transform:scale(1.2)}.scale-value{font-size:2rem;font-weight:700;color:var(--primary)}.checklist-items{display:flex;flex-direction:column;gap:.75rem}.checklist-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;cursor:pointer;transition:background .2s}.checklist-item:hover{background:#e9ecef}.checklist-item input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--primary)}.checklist-text{flex:1;font-size:1rem;color:var(--text-dark)}.no-items{color:var(--text-muted);text-align:center;padding:2rem}.pod-notice{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fff4e6;border-radius:8px;color:#b45309;font-size:.9rem}.notice-icon{font-size:1.2rem}.notice-text{flex:1}.mood-options{display:flex;justify-content:center;gap:1rem;margin-bottom:1.5rem}.mood-btn{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1rem 1.2rem;background:#f8f9fa;border:3px solid transparent;border-radius:16px;cursor:pointer;transition:all .2s}.mood-btn:hover{background:#eee;transform:translateY(-2px)}.mood-selected{border-color:#667eea;background:#667eea14;box-shadow:0 4px 12px #667eea33}.mood-emoji{font-size:2.5rem;line-height:1}.mood-label{font-size:.8rem;font-weight:600;color:var(--text-muted)}.mood-selected .mood-label{color:#667eea}.mood-note{width:100%;padding:1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;font-family:inherit;resize:vertical;transition:border-color .2s}.mood-note:focus{outline:none;border-color:var(--primary)}.gratitude-list{display:flex;flex-direction:column;gap:1rem}.gratitude-item{display:flex;align-items:center;gap:1rem}.gratitude-number{font-size:1.4rem;font-weight:700;color:#27ae60;min-width:2rem;text-align:center}.gratitude-input{flex:1;padding:.9rem 1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;font-family:inherit;transition:border-color .2s}.gratitude-input:focus{outline:none;border-color:#27ae60;box-shadow:0 0 0 3px #27ae601a}.pod-display-affirmation{background:linear-gradient(135deg,#667eea0f,#764ba20f);border:1px solid rgba(102,126,234,.15)}.affirmation-context{color:var(--text-muted);font-size:.95rem;margin:0 0 1rem;text-align:center}.affirmation-card{text-align:center;padding:2rem 1.5rem}.affirmation-icon{font-size:2.5rem;margin-bottom:1rem}.affirmation-text{font-size:1.3rem;line-height:1.7;color:var(--text-dark);font-style:italic;font-weight:500;max-width:500px;margin:0 auto}.emotion-cloud{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.5rem}.emotion-chip{padding:.5rem 1.1rem;border:2px solid #e0e0e0;border-radius:24px;background:#fff;font-size:.95rem;cursor:pointer;transition:all .15s;font-family:inherit;color:var(--text-dark)}.emotion-chip:hover{border-color:#667eea;background:#667eea0a}.emotion-selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent;box-shadow:0 2px 8px #667eea4d}.emotion-summary{text-align:center;color:var(--text-muted);font-size:.95rem;padding-top:.5rem;border-top:1px solid #f0f0f0}.emotion-summary strong{color:#667eea}.unknown{padding:2rem;text-align:center;color:var(--text-muted);background:#f8f9fa;border-radius:8px}.journal-view{min-height:100vh;background:#f5f7fa}.journal-header{background:#fff;padding:2rem;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.btn-back{background:none;border:none;color:var(--primary);font-size:1rem;cursor:pointer;padding:.5rem 1rem;border-radius:8px;transition:background .2s;margin-bottom:1rem}.btn-back:hover{background:#667eea1a}.journal-info h1{margin:0 0 .5rem;color:var(--text-dark);font-size:2rem}.journal-subtitle{color:var(--text-muted);margin:0}.progress-bar{height:4px;background:#e0e0e0}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease}.journal-content{max-width:800px;margin:0 auto;padding:3rem 2rem}.section-header{text-align:center;margin-bottom:3rem}.section-number{display:inline-block;color:var(--primary);font-weight:600;font-size:.9rem;margin-bottom:.5rem}.section-header h2{margin:.5rem 0 1rem;color:var(--text-dark);font-size:2rem}.section-description{color:var(--text-muted);font-size:1.1rem;line-height:1.6}.pods-container{display:flex;flex-direction:column;gap:2rem;margin-bottom:3rem}.empty-section{background:#fff;padding:3rem;border-radius:16px;text-align:center;color:var(--text-muted)}.save-section{text-align:center;margin:3rem 0 2rem;padding:2rem;background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014}.btn-save{padding:1rem 3rem;font-size:1.1rem;font-weight:600;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #10b9814d}.btn-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.save-status{margin-top:.75rem;font-size:.85rem;min-height:1.2em;transition:color .2s}.save-status-idle{color:transparent}.save-status-pending{color:var(--text-muted, #999)}.save-status-saving{color:var(--accent, #9370DB);font-style:italic}.save-status-saved{color:var(--success, #27AE60);font-weight:500}.save-status-error{color:var(--error, #E74C3C);font-weight:500}.section-navigation{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem}.btn-nav{flex:1;padding:1rem 2rem;font-size:1rem;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .2s}.btn-previous{background:#fff;color:var(--primary);border:2px solid var(--primary)}.btn-previous:hover:not(:disabled){background:var(--primary);color:#fff}.btn-next{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-next:hover:not(:disabled){opacity:.9;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-nav:disabled{opacity:.5;cursor:not-allowed}.error-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.error-container h2{color:var(--text-dark);margin-bottom:1rem}.error-container p{color:var(--text-muted);margin-bottom:2rem}.modal-backdrop{position:fixed;inset:0;background:#2c3e5073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .15s ease-out;padding:var(--spacing-lg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{background:var(--surface);border-radius:var(--radius-lg);padding:var(--spacing-lg) var(--spacing-xl);max-width:440px;width:100%;box-shadow:0 20px 60px #0000002e;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-title{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-xl);color:var(--text-primary);font-weight:600}.modal-message{margin:0 0 var(--spacing-lg) 0;color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.6}.modal-input-group{margin-bottom:var(--spacing-lg)}.modal-input-label{display:block;font-weight:500;color:var(--text-primary);margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm)}.modal-input{width:100%;padding:var(--spacing-sm);border:2px solid var(--background);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit;box-sizing:border-box;transition:border-color .15s}.modal-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #9370db26}.modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.modal-btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);border:none;font-weight:600;font-size:var(--font-size-base);cursor:pointer;transition:all .15s;font-family:inherit}.modal-btn:disabled{opacity:.4;cursor:not-allowed}.modal-btn-cancel{background:var(--background);color:var(--text-secondary)}.modal-btn-cancel:hover{background:#e8e8e3;color:var(--text-primary)}.modal-btn-primary{background:var(--primary);color:#fff}.modal-btn-primary:hover:not(:disabled){background:#4b5320}.modal-btn-danger{background:#ef4444;color:#fff}.modal-btn-danger:hover:not(:disabled){background:#dc2626}.toast-container{position:fixed;top:1.5rem;right:1.5rem;z-index:10000;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{display:flex;align-items:center;gap:.6rem;padding:.75rem 1.25rem;border-radius:var(--radius-md, 10px);color:#fff;font-size:.95rem;font-weight:500;box-shadow:0 8px 30px #0000002e;cursor:pointer;pointer-events:auto;animation:toastIn .25s ease-out,toastOut .3s ease-in forwards;animation-delay:0s,3s;min-width:220px;max-width:400px}.toast-success{background:linear-gradient(135deg,#27ae60,#2ecc71)}.toast-error{background:linear-gradient(135deg,#c0392b,#e74c3c);animation-delay:0s,4.5s}.toast-info{background:linear-gradient(135deg,#667eea,#764ba2)}.toast-warning{background:linear-gradient(135deg,#f39c12,#e67e22);animation-delay:0s,4s}.toast-icon{font-size:1.1rem;flex-shrink:0}.toast-message{flex:1;line-height:1.35}@keyframes toastIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(40px)}}.admin-dashboard{min-height:100vh;background:var(--background)}.admin-header{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);color:#fff;padding:var(--spacing-lg);box-shadow:var(--shadow-md)}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.admin-header h1{font-size:var(--font-size-2xl);margin:0}.header-actions{display:flex;gap:var(--spacing-md);align-items:center}.user-info{display:flex;align-items:center;gap:var(--spacing-sm)}.admin-badge{background:var(--accent);color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600}.admin-main{max-width:1200px;margin:0 auto;padding:var(--spacing-xl)}.dashboard-section{background:var(--surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.section-header h2{color:var(--primary);margin:0}.journals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}.journal-card{background:#fff;border:1px solid var(--background);border-radius:var(--radius-md);padding:var(--spacing-md);transition:all .2s}.journal-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.journal-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:var(--spacing-sm)}.journal-header h3{margin:0;color:var(--text-primary);flex:1}.badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600}.badge.draft{background:#fbbf24;color:#78350f}.badge.published{background:#86efac;color:#14532d}.journal-description{color:var(--text-secondary);margin:var(--spacing-sm) 0;font-size:var(--font-size-sm)}.journal-meta{color:var(--text-secondary);font-size:var(--font-size-sm);margin:var(--spacing-md) 0}.journal-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.error-message{background:#fee2e2;color:#991b1b;padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.journal-builder{min-height:100vh;background:var(--background)}.builder-header{background:var(--surface);padding:var(--spacing-lg);border-bottom:1px solid var(--background);display:flex;align-items:center;gap:var(--spacing-md)}.btn-back{background:none;border:none;color:var(--primary);font-size:var(--font-size-base);cursor:pointer;padding:var(--spacing-sm)}.btn-back:hover{background:var(--background);border-radius:var(--radius-md)}.builder-header h1{margin:0;color:var(--text-primary)}.builder-main{max-width:900px;margin:0 auto;padding:var(--spacing-xl)}.journal-info-card,.sections-card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm)}.journal-info-card h2,.sections-card h2{color:var(--primary);margin-top:0;margin-bottom:var(--spacing-lg)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;font-weight:500;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--background);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit;box-sizing:border-box}.form-select{padding-right:2.5rem;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #556b2f1a}.form-textarea{resize:vertical;min-height:80px}.form-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.sections-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.sections-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.section-item{background:#fff;border:1px solid var(--background);border-radius:var(--radius-md);padding:var(--spacing-md);transition:box-shadow .15s}.section-item:hover{box-shadow:var(--shadow-sm)}.section-header{display:flex;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.section-drag-handle{cursor:grab;padding:var(--spacing-xs);color:var(--text-secondary);font-size:20px;line-height:1;-webkit-user-select:none;user-select:none;flex-shrink:0;border-radius:var(--radius-sm);transition:background .15s}.section-drag-handle:hover{background:var(--background);color:var(--text-primary)}.section-drag-handle:active{cursor:grabbing}.section-info{flex:1;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:background .15s;position:relative}.section-info:hover{background:var(--background)}.section-info h3{margin:0;color:var(--text-primary)}.section-number{color:var(--primary);margin-right:var(--spacing-xs)}.section-description{color:var(--text-secondary);font-size:var(--font-size-sm);margin:var(--spacing-xs) 0 0}.edit-hint{display:none;font-size:11px;color:var(--text-secondary);font-style:italic}.section-info:hover .edit-hint{display:block}.section-actions-right{display:flex;gap:4px;flex-shrink:0}.section-edit-form{flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm)}.section-edit-form .form-input{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.edit-actions{display:flex;gap:var(--spacing-xs)}.btn-icon{background:none;border:1px solid transparent;cursor:pointer;padding:4px 6px;border-radius:var(--radius-sm);font-size:16px;transition:all .15s}.btn-icon:hover{background:var(--background);border-color:var(--background)}.btn-icon-danger:hover{background:#fee2e2}.pods-list{margin:var(--spacing-md) 0;display:flex;flex-direction:column;gap:4px}.pod-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--background);border-radius:var(--radius-sm);transition:box-shadow .15s}.pod-item:hover{box-shadow:var(--shadow-sm)}.pod-drag-handle{cursor:grab;color:var(--text-secondary);font-size:16px;-webkit-user-select:none;user-select:none;flex-shrink:0;line-height:1}.pod-drag-handle:active{cursor:grabbing}.pod-type{background:var(--primary);color:#fff;padding:2px var(--spacing-xs);border-radius:var(--radius-sm);font-size:11px;font-weight:600;text-transform:uppercase;flex-shrink:0;white-space:nowrap}.pod-prompt{color:var(--text-secondary);font-size:var(--font-size-sm);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pod-actions{display:flex;gap:2px;flex-shrink:0;opacity:0;transition:opacity .15s}.pod-item:hover .pod-actions{opacity:1}.btn-icon-sm{background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:var(--radius-sm);font-size:14px;transition:background .15s}.btn-icon-sm:hover{background:#fff}.btn-icon-sm.btn-icon-danger:hover{background:#fee2e2}.no-pods{color:var(--text-secondary);font-size:var(--font-size-sm);font-style:italic}.btn-add-pod{background:none;border:1px dashed var(--primary);color:var(--primary);padding:var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer;width:100%;margin-top:var(--spacing-sm);transition:background .15s}.btn-add-pod:hover{background:var(--background)}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.btn-primary,.btn-secondary,.btn-danger{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:none;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover{background:#4b5320}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.pod-editor{min-height:100vh;background:var(--background)}.editor-header{background:var(--surface);padding:var(--spacing-lg);border-bottom:1px solid var(--background);display:flex;align-items:center;gap:var(--spacing-md)}.editor-header h1{margin:0;color:var(--text-primary)}.editor-main{max-width:1000px;margin:0 auto;padding:var(--spacing-xl);display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.editor-card,.preview-card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.preview-card{position:sticky;top:var(--spacing-lg);height:fit-content}.preview-card h3{color:var(--primary);margin-top:0;margin-bottom:var(--spacing-lg)}.pod-preview{background:#fff;border:1px solid var(--background);border-radius:var(--radius-md);padding:var(--spacing-lg)}.preview-prompt{font-weight:500;margin-bottom:var(--spacing-md);color:var(--text-primary)}.pod-preview textarea,.pod-preview input[type=text],.pod-preview input[type=date]{width:100%;padding:var(--spacing-sm);border:1px solid var(--background);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm)}.form-hint{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--spacing-xs);font-style:italic}.scale-range{display:flex;gap:var(--spacing-sm);align-items:center}.form-input-sm{width:80px;padding:var(--spacing-sm);border:1px solid var(--background);border-radius:var(--radius-md)}.scale-preview{display:flex;gap:var(--spacing-md);align-items:center}.scale-preview input[type=range]{flex:1}.checklist-preview{display:flex;flex-direction:column;gap:var(--spacing-sm)}.checklist-preview div{display:flex;align-items:center;gap:var(--spacing-sm)}.mood-preview{display:flex;gap:var(--spacing-md);justify-content:center}.mood-option-preview{text-align:center;font-size:2rem;cursor:default}.mood-option-preview small{font-size:.7rem;color:var(--text-secondary)}.gratitude-preview{display:flex;flex-direction:column;gap:var(--spacing-sm)}.gratitude-line{display:flex;align-items:center;gap:var(--spacing-sm)}.gratitude-line span{font-weight:600;color:var(--primary)}.gratitude-line input{flex:1}.affirmation-preview{background:linear-gradient(135deg,#667eea14,#764ba214);border-radius:var(--radius-md);padding:var(--spacing-lg);text-align:center;font-style:italic;color:var(--text-primary);line-height:1.6}.emotion-preview{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.emotion-chip-preview{background:var(--background);padding:4px 12px;border-radius:20px;font-size:var(--font-size-sm);color:var(--text-secondary)}@media(max-width:768px){.editor-main{grid-template-columns:1fr}.preview-card{position:static}}.assignment-manager{min-height:100vh;background:var(--background)}.assignment-main{max-width:1200px;margin:0 auto;padding:var(--spacing-xl)}.assignment-layout{display:grid;grid-template-columns:320px 1fr;gap:var(--spacing-lg);align-items:start}.success-message{background:#dcfce7;color:#166534;padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);font-weight:500;animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.journal-selector{background:var(--surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);position:sticky;top:var(--spacing-lg)}.journal-selector h2{color:var(--primary);margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-lg)}.journal-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.journal-select-card{background:#fff;border:2px solid var(--background);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:all .2s}.journal-select-card:hover{border-color:var(--accent);background:#faf8ff}.journal-select-card.selected{border-color:var(--accent);background:#f3edff;box-shadow:var(--shadow-sm)}.journal-select-card.is-draft{opacity:.8}.journal-select-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm)}.journal-select-header h3{margin:0;font-size:var(--font-size-base);color:var(--text-primary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journal-select-meta{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-secondary)}.user-checklist{background:var(--surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.checklist-header{margin-bottom:var(--spacing-lg)}.checklist-header h2{color:var(--text-primary);margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-lg)}.journal-name{color:var(--accent)}.checklist-subtitle{color:var(--text-secondary);margin:0;font-size:var(--font-size-sm)}.draft-warning{background:#fef3c7;color:#92400e;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin:var(--spacing-sm) 0}.user-list{display:flex;flex-direction:column;gap:2px}.user-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;transition:background .15s;border:1px solid transparent}.user-row:hover{background:var(--background)}.user-row.assigned{background:#f0fdf4;border-color:#bbf7d0}.user-row.assigned:hover{background:#dcfce7}.user-row.saving{opacity:.6;pointer-events:none}.user-checkbox{position:relative;width:22px;height:22px;flex-shrink:0}.user-checkbox input[type=checkbox]{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;z-index:1;margin:0}.user-checkbox .checkmark{position:absolute;top:0;left:0;width:22px;height:22px;background:#fff;border:2px solid #d1d5db;border-radius:var(--radius-sm);transition:all .15s}.user-checkbox input:checked+.checkmark{background:var(--success);border-color:var(--success)}.user-checkbox input:checked+.checkmark:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:700}.user-checkbox input:focus+.checkmark{box-shadow:0 0 0 3px #6b8e2333}.user-details{flex:1;min-width:0}.user-name{display:block;font-weight:500;color:var(--text-primary)}.admin-tag{display:inline-block;background:var(--accent);color:#fff;padding:1px 6px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;margin-left:6px;vertical-align:middle}.user-email{display:block;font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-status{flex-shrink:0;font-size:var(--font-size-sm)}.saving-indicator{color:var(--text-secondary);font-style:italic}.assigned-indicator{color:var(--success);font-weight:500}.checklist-summary{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--background);text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm)}@media(max-width:768px){.assignment-layout{grid-template-columns:1fr}.journal-selector{position:static}}.user-manager{min-height:100vh;background:var(--background)}.um-header{background:var(--surface);padding:var(--spacing-lg);border-bottom:1px solid var(--background);display:flex;align-items:center;gap:var(--spacing-md)}.um-header h1{margin:0;color:var(--text-primary)}.um-main{max-width:800px;margin:0 auto;padding:var(--spacing-xl)}.um-card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm)}.um-card h2{color:var(--primary);margin:0 0 var(--spacing-sm)}.um-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0 0 var(--spacing-md);line-height:1.5}.invite-form{display:flex;gap:var(--spacing-sm)}.invite-form .form-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--background);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit}.invite-form .form-input:focus{outline:none;border-color:var(--primary)}.um-users-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.um-user-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:#fff;border-radius:var(--radius-md);border:1px solid var(--background);transition:box-shadow .15s}.um-user-row:hover{box-shadow:var(--shadow-sm)}.um-current{border-color:var(--primary);background:#556b2f08}.um-user-info{flex:1}.um-user-name{font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.um-user-email{color:var(--text-secondary);font-size:var(--font-size-sm);margin-top:2px}.um-user-meta{color:var(--text-secondary);font-size:.75rem;margin-top:4px}.um-badge{padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.um-badge-you{background:#556b2f1a;color:var(--primary)}.um-badge-admin{background:#667eea1a;color:#667eea}.um-badge-pending{background:#f39c121a;color:#f39c12}.um-user-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);border:none;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:#4b5320}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--primary);border:1px solid var(--primary)}.btn-secondary:hover{background:var(--background)}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}@media(max-width:640px){.um-user-row{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.um-user-actions{width:100%}.um-user-actions .btn-sm{flex:1;text-align:center}.invite-form{flex-direction:column}}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);color:#fff;padding:var(--spacing-xl) var(--spacing-lg);text-align:center;box-shadow:var(--shadow-md)}.app-header h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xs);font-weight:600}.app-header p{font-size:var(--font-size-lg);opacity:.95}.app-main{flex:1;max-width:800px;width:100%;margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg)}.status-card,.info-card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-md)}.status-card h2,.info-card h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md);color:var(--primary)}.status-item{display:flex;justify-content:space-between;padding:var(--spacing-sm);border-bottom:1px solid var(--background)}.status-item:last-child{border-bottom:none}.status-label{font-weight:600;color:var(--text-secondary)}.status-value{font-family:Courier New,monospace}.progress-list{list-style:none;padding:0}.progress-list li{padding:var(--spacing-xs) 0;font-size:var(--font-size-base)}.app-footer{background:var(--surface);border-top:1px solid var(--background);padding:var(--spacing-lg);text-align:center;color:var(--text-secondary);margin-top:auto}.loading-container{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--background)}.loading-spinner{font-size:4rem;animation:spin 2s linear infinite}.loading-container p{margin-top:var(--spacing-md);font-size:var(--font-size-lg);color:var(--text-secondary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.app-header{padding:var(--spacing-lg) var(--spacing-md)}.app-header h1{font-size:var(--font-size-xl)}.app-main{padding:var(--spacing-lg) var(--spacing-md)}}:root{--primary: #6B8E23;--secondary: #8B7355;--accent: #9370DB;--background: #F5F5F0;--surface: #FFFFFF;--text-primary: #2C3E50;--text-secondary: #7F8C8D;--success: #27AE60;--error: #E74C3C;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);background-color:var(--background);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}
