*{margin:0;padding:0;box-sizing:border-box}:root{--light-bg: #f8fafc;--light-card-bg: #ffffff;--light-border: #e5e7eb;--light-text: #2d3748;--light-text-secondary: #4a5568;--primary: #4466ee;--bg-color: #f8fafc;--text-color: #1f2937;--card-bg: #f0f7ff;--card-hover-bg: #ffffff;--border-color: #e5e7eb;--primary-color: #4466ee;--primary-hover: #3451c6;--error-color: #dc2626;--error-hover: #b91c1c;--bg-secondary: #ffffff;--dark-bg-secondary: #23272f;--dark-border-color: #393e46;--text-primary: #1f2937;--text-secondary: #4a5568;--success-color: #10b981;--success-hover: #059669;--primary-rgb: 68,102,238;--error-rgb: 220,38,38;--hover-color: #f0f7ff;--bg-primary: #f8fafc;--bg-hover: #f0f7ff}.dark-mode{--bg-color: #1a1a1a;--text-color: #f8f9fa;--card-bg: #2a2a2a;--card-hover-bg: #2a2a2a;--border-color: transparent;--bg-secondary: #23272f;--dark-bg-secondary: #23272f;--dark-border-color: #393e46;--text-primary: #f8f9fa;--text-secondary: #9ca3af;--success-color: #10b981;--success-hover: #059669;--hover-color: #23272f;--bg-primary: #23272f;--bg-hover: #2a2a2a}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-color);line-height:1.6;min-height:100vh;margin:0}body.dark-mode{background-color:#1a1a1a;color:#f8f9fa}#root{min-height:100vh;background-color:var(--bg-color)}.dark-mode #root{background-color:#1a1a1a}.app{min-height:100vh;background-color:var(--bg-color);color:var(--text-color);transition:background-color .3s,color .3s}.app.light{background-color:var(--light-bg);color:var(--light-text)}.app.dark{background-color:#1a1a1a;color:#f8f9fa}.app-container{max-width:1400px;margin:0 auto;padding:2rem;min-height:100vh}.dark-mode .app-container{background-color:#1a1a1a}.header{background-color:var(--bg-secondary);padding:1rem 2rem;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center}.dark-mode .header{background-color:var(--dark-bg-secondary);border-bottom:1px solid var(--dark-border-color)}.header-content{width:100%;display:flex;justify-content:space-between;align-items:center}.header h1{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0}.header-actions{display:flex;align-items:center;gap:1rem}.user-info{display:flex;align-items:center;gap:1rem;margin-left:1rem;padding-left:1rem;border-left:1px solid var(--border-color)}.dark-mode .user-info{border-color:var(--dark-border-color)}.user-info span{color:var(--text-primary);font-weight:500}.theme-toggle{position:fixed;bottom:2rem;left:2rem;z-index:1000;background-color:var(--bg-secondary);border:2px solid var(--border-color);width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;transition:all .3s ease}.theme-toggle:hover{transform:scale(1.1);box-shadow:0 4px 16px #0003}.dark-mode .theme-toggle{background-color:var(--dark-bg-secondary);border-color:var(--dark-border-color)}.habits-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;width:100%;max-width:1400px;margin:0 auto;padding:1.5rem 2rem}@media (max-width: 1024px){.habits-container{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:1rem}}@media (max-width: 768px){.header-content{flex-direction:column;gap:1rem;text-align:center}.habits-container{grid-template-columns:1fr;padding:.5rem}}.habit-card{background-color:var(--card-bg);border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px #0000000d;position:relative;transition:all .3s ease;border:1px solid var(--border-color);height:100%;display:flex;flex-direction:column}.habit-card:hover{transform:translateY(-4px);box-shadow:0 8px 12px #0000001a}.habit-card.completed-today{border-left:4px solid var(--success-color)}.habit-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.habit-card h3{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;flex:1}.habit-card .description{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem;line-height:1.5}.habit-meta{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.habit-info{display:flex;gap:1rem;margin-bottom:.5rem;flex-wrap:wrap}.info-item{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.85rem;background-color:rgba(var(--primary-rgb),.08);padding:.25rem .75rem;border-radius:1rem}.habit-stats{display:flex;justify-content:space-between;align-items:center;margin:.5rem 0}.streak-badge{display:flex;align-items:center;gap:.4rem;color:#ff9800;font-weight:600;font-size:.9rem}.streak-badge .icon{color:#ff9800}.streak-badge .streak-hot{color:#ff5722}.completion-progress{display:flex;align-items:center;gap:.5rem;flex:1;max-width:150px}.progress-bar{height:8px;background-color:rgba(var(--primary-rgb),.1);border-radius:4px;overflow:hidden;flex:1}.dark-mode .progress-bar{background:#282d37!important;border:1px solid #89a2be!important}.progress-fill{height:100%;background-color:var(--primary-color);border-radius:4px;transition:width .3s ease}.dark-mode .progress-fill{background:#60a5fa!important}.completion-progress span{font-size:.8rem;font-weight:600;color:var(--text-secondary);min-width:35px;text-align:right}.habit-card .reminder-time{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary);margin-bottom:.75rem}.habit-card .last-completed{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.85rem;margin-bottom:.75rem}.habit-actions{margin-top:auto;padding-top:.75rem}.delete-btn{background:transparent;border:none;color:var(--error-color);cursor:pointer;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;transition:all .2s ease;position:relative}.delete-btn:hover{background-color:rgba(var(--error-rgb),.1);color:var(--error-hover)}.habit-form{background-color:var(--card-bg);padding:1.5rem;border-radius:8px;margin:1.5rem 0;box-shadow:0 1px 3px #0000001a}.dark-mode .habit-form{background-color:var(--dark-bg-secondary);color:var(--text-primary)}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-color);color:var(--text-color);font-size:1rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #4466ee1a}.dark-mode .form-group input{background-color:#181a20;color:#f3f4f6;border:1px solid #393e46}.dark-mode .auth-form,.dark-mode .card{border:none!important;background-color:#23272f}.dark-mode .auth-form input,.dark-mode .auth-form input:-webkit-autofill{background-color:#181a20!important;color:#f3f4f6!important;-webkit-text-fill-color:#f3f4f6!important;border:1px solid #393e46!important;box-shadow:0 0 0 1000px #181a20 inset!important;transition:background-color 5000s ease-in-out 0s}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.9rem;border:none}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:transparent;border:1px solid var(--border-color);color:var(--text-color)}.btn-secondary:hover{background-color:var(--card-hover-bg)}.btn-logout{background-color:var(--error-color);color:#fff}.btn-logout:hover{background-color:var(--error-hover)}.statistics-container{padding:2rem;background:var(--bg-color)}.stats-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--card-bg);padding:1.5rem;border-radius:12px;text-align:center;border:1px solid var(--border-color)}.stat-value{font-size:2rem;font-weight:700;color:var(--primary-color);margin:.5rem 0}.chart-container{background:var(--card-bg);padding:1.5rem;border-radius:12px;margin-bottom:2rem;border:1px solid var(--border-color)}.category-stats{margin-top:2rem}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1rem}.category-card{background:var(--card-bg);padding:1.5rem;border-radius:12px;border:1px solid var(--border-color)}.calendar-container{padding:2rem;background:var(--bg-color)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-top:1rem}.calendar-header{text-align:center;font-weight:600;padding:.5rem}.calendar-day{aspect-ratio:1;padding:.5rem;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.calendar-day.today{border-color:var(--primary-color);font-weight:600}.calendar-day.has-completions{background-color:#4466ee1a}.calendar-day.all-completed{background-color:#46e3}.day-number{font-size:1.1rem}.completion-count{font-size:.8rem;color:var(--primary-color);margin-top:.25rem}.achievements-container{padding:2rem;background:var(--bg-color)}.achievements-grid{display:grid;gap:2rem;margin-top:2rem}.achievement-category h3{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.achievement-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.achievement-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:12px;background:var(--card-bg);border:1px solid var(--border-color);transition:all .2s ease}.achievement-card.earned{border-color:var(--primary-color);background:linear-gradient(to right,var(--card-bg),rgba(68,102,238,.1))}.achievement-card.locked{opacity:.6}.achievement-icon{font-size:1.5rem;color:var(--primary-color);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#4466ee1a;border-radius:50%}.achievement-info h4{margin:0;font-size:1.1rem}.achievement-info p{margin:.25rem 0 0;font-size:.9rem;opacity:.7}.tab-navigation{display:flex;gap:1rem;margin-bottom:2rem;padding:0 1rem}.tab-button{padding:.75rem 1.5rem;border:none;border-radius:8px;background:var(--card-bg);color:var(--text-color);font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid var(--border-color)}.tab-button:hover{background:var(--hover-color)}.tab-button.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.header-actions{display:flex;gap:1rem;align-items:center}.header-actions .btn{display:flex;align-items:center;gap:.5rem}.auth-container{max-width:400px;margin:2rem auto;padding:2rem;background-color:var(--bg-secondary);border-radius:8px;box-shadow:0 2px 4px #0000001a}.auth-form h2{margin-bottom:1.5rem;text-align:center;color:var(--text-primary)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary)}.form-group input{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-primary);border-color:var(--light-border);color:var(--text-primary)}.error{color:var(--error-color);margin-bottom:1rem;padding:.5rem;border-radius:4px;background-color:var(--error-bg)}.link-button{background:none;border:none;color:var(--primary-color);text-decoration:underline;cursor:pointer;padding:0;font:inherit}.link-button:hover{color:var(--primary-hover)}.user-info{display:flex;align-items:center;gap:1rem;color:var(--text-primary)}.notification{position:fixed;bottom:2rem;right:2rem;background:var(--primary-color);color:#fff;padding:1rem 2rem;border-radius:12px;box-shadow:0 8px 24px #00000026;z-index:50;animation:slideUp .3s ease;max-width:300px;display:flex;align-items:center;justify-content:center;text-align:center}.dark-mode .notification{background:var(--primary-hover);color:#e5e7eb;box-shadow:0 8px 24px #00000040}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media screen and (max-width: 768px){.app-container,.habits-container{padding-left:2rem;padding-right:2rem}}@media screen and (max-width: 480px){.app-container,.habits-container{padding-left:1rem;padding-right:1rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (max-width: 768px){.header-content{flex-direction:column;gap:1rem;text-align:center}.header-actions{flex-wrap:wrap;justify-content:center}.habits-container{grid-template-columns:1fr;padding:.5rem}.theme-toggle{bottom:1rem;left:1rem;width:36px;height:36px}.app-container{padding:1rem}}@media (max-width: 768px){.header{padding:1rem}.header-content{flex-direction:column;gap:1rem}.header-actions{width:100%;justify-content:center}.habits-container{grid-template-columns:1fr;padding:1rem}.habit-form{padding:1rem}.form-row{flex-direction:column}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;border-radius:12px;margin:2rem auto;max-width:600px;padding:2rem 1.5rem}.empty-state h2{font-size:1.8rem;margin-bottom:.5rem;color:var(--primary);font-weight:700;text-align:center}.empty-state p{color:var(--text-secondary);font-size:1.1rem;text-align:center}
