*{margin:0;padding:0;box-sizing:border-box}body,html{overflow-x:hidden;width:100%}body{font-family:Inter,Segoe UI,Arial,sans-serif;background:linear-gradient(135deg,#f8fafc 60%,#e3e6f3);min-height:100vh;padding:0;color:#1e293b}.main-app-container{max-width:420px;margin:32px auto;background:#fff;border-radius:24px;box-shadow:0 8px 32px rgba(60,80,120,.12);padding:32px 18px 90px}@media (max-width:600px){.main-app-container{max-width:100vw;margin:12px 0;border-radius:16px;padding:16px 4px 70px}.graph-section{min-height:180px!important;height:180px!important;padding:10px!important;border-radius:12px!important}}.container{max-width:1200px;margin:0 auto;width:100%;background:transparent;min-height:100vh}header{margin-bottom:0}header h1{font-size:2rem;margin:0;font-weight:700;color:#0f172a}.logo-icon{display:flex;align-items:center;justify-content:center}.logo-icon svg{filter:drop-shadow(0 1px 3px rgba(0,0,0,.1))}.subtitle{font-size:1rem;color:#64748b;font-weight:400}.main-content{background:white;border-radius:16px;padding:0 24px 24px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.stats-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px;margin-bottom:24px}.stat-card{background:#f8fafc;padding:20px;border-radius:12px;text-align:center;color:#0f172a;border:1px solid #e2e8f0;transition:all .2s ease}.stat-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px rgba(0,0,0,.05)}.stat-number{font-size:2rem;font-weight:700;margin-bottom:4px;color:#3b82f6}.stat-label{font-size:.875rem;color:#64748b;font-weight:500}.tabs-section{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid #e2e8f0;padding:0 4px}.tab-button{padding:12px 24px;background:transparent;color:#64748b;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:6px 6px 0 0}.tab-button:hover{color:#3b82f6;background:#f1f5f9}.tab-button.active{color:#3b82f6;border-bottom-color:#3b82f6;background:#f8fafc}.today-goals-section{background:transparent;border-radius:0;padding:0;border:none}.today-title{color:#0f172a;margin:0;font-size:1.25rem;font-weight:700;text-align:center;padding:8px 0}.goals-container{display:grid;grid-gap:0;gap:0;margin-bottom:24px;margin-top:0;padding-top:0;padding-left:0;padding-right:0}.category-section{border-radius:12px;padding:16px;background:white;border:1px solid #e2e8f0;transition:all .2s ease}.category-section:hover{border-color:#cbd5e1;box-shadow:0 2px 8px rgba(0,0,0,.04)}.daily-section{background:#fef2f2;border-left:3px solid #ef4444}.weekly-section{background:#ecfdf5;border-left:3px solid #10b981}.monthly-section{background:#fef3c7;border-left:3px solid #f59e0b}.quarterly-section{background:#f5f3ff;border-left:3px solid #8b5cf6}.half-yearly-section{background:#fce7f3;border-left:3px solid #ec4899}.yearly-section{background:#dbeafe;border-left:3px solid #3b82f6}.category-title{margin-bottom:12px;color:#0f172a;font-size:1.125rem;font-weight:700}.goals-list{display:grid;grid-gap:8px;gap:8px}.goal-card{background:white;padding:7px 8px;border-radius:6px;border:1px solid #e2e8f0;transition:all .2s ease;font-size:.93rem;margin-bottom:6px}.goal-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px rgba(0,0,0,.05)}.goal-card.completed{opacity:.6;background:#f0fdf4;border-color:#86efac}.goal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.goal-checkbox-wrapper{display:flex;align-items:center;gap:12px;flex:1 1}.goal-checkbox{width:20px;height:20px;cursor:pointer;accent-color:#3b82f6}.goal-title{font-size:.938rem;font-weight:600;color:#0f172a;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.goal-card.completed .goal-title{text-decoration:line-through;opacity:.6}.goal-info{display:flex;gap:12px;align-items:center;margin-top:8px;font-size:.813rem;color:#64748b;flex-wrap:wrap}.goal-days{display:flex;gap:4px;color:#3b82f6;font-weight:600}.goal-period-display{color:#64748b;font-weight:500}.goal-timer{color:#f59e0b;font-weight:600;font-size:.813rem}.goal-streak{color:#ef4444;font-weight:600}.btn-small{padding:6px 12px;font-size:13px;border-radius:6px;border:none;cursor:pointer;transition:all .2s ease;font-weight:500}.btn-delete{background:#fee2e2;color:#dc2626;border:1px solid #fecaca}.btn-delete:hover{background:#fecaca;border-color:#fca5a5}.icon-btn{width:32px;height:32px;border-radius:8px;border:none;background:#f1f5f9;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.icon-btn:hover{background:#e2e8f0;transform:scale(1.05)}.icon-btn:active{transform:scale(.95)}.icon-btn-edit:hover{background:#dbeafe;color:#3b82f6}.icon-btn-delete:hover{background:#fee2e2;color:#dc2626}.empty-state{text-align:center;padding:32px;color:#64748b;font-style:italic;font-size:.875rem}.add-goal-section-bottom{margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0}.btn-add-goal{width:100%;padding:14px;background:#3b82f6;color:white;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-add-goal:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.3)}.add-goal-form-container{background:#f8fafc;padding:20px;border-radius:12px;animation:slideDown .3s ease-out;border:1px solid #e2e8f0}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.form-header h2{color:#0f172a;margin:0;font-size:1.25rem;font-weight:700}.btn-close{background:#f8fafc;border:1.5px solid #e2e8f0;font-size:20px;cursor:pointer;color:#64748b;padding:6px 10px;line-height:1;transition:all .2s cubic-bezier(.4,0,.2,1);border-radius:8px;font-weight:600}.btn-close:hover{color:#1e293b;background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px)}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:600;color:#0f172a;font-size:.875rem}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .2s ease;font-family:inherit;color:#0f172a}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.days-selector{display:flex;gap:6px;flex-wrap:wrap}input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6;margin-right:6px}.day-button{padding:8px 12px;border:1.5px solid #e2e8f0;border-radius:8px;background:#fafbfc;cursor:pointer;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);color:#64748b;font-size:.813rem;min-width:40px;text-align:center}.day-button:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff;transform:translateY(-2px);box-shadow:0 2px 8px rgba(59,130,246,.15)}.day-button.selected{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#2563eb;color:white;box-shadow:0 2px 8px rgba(59,130,246,.3)}.form-actions{display:flex;gap:8px;margin-top:20px}.btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s ease;font-weight:600}.btn-primary{background:#3b82f6;color:white}.btn-primary:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.3)}.btn-secondary{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.btn-secondary:hover{background:#e2e8f0;color:#475569}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,.4);animation:fadeIn .2s}.modal.show{display:flex;align-items:center;justify-content:center}.modal-content{padding:32px;text-align:center;max-width:400px;animation:slideIn .3s}.confirm-dialog,.modal-content{background:white;border-radius:16px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.confirm-dialog{padding:28px;max-width:420px;width:90%;animation:slideIn .2s ease-out}.confirm-icon{font-size:3rem;margin-bottom:12px}.confirm-title{font-size:1.25rem;font-weight:700;margin:0 0 8px;color:#0f172a}.confirm-message{color:#64748b;font-size:.938rem;line-height:1.5;margin:0 0 20px}.confirm-message strong{color:#0f172a;font-weight:600}.confirm-actions{display:flex;gap:10px}.confirm-actions .btn{flex:1 1;padding:11px 20px;font-size:.938rem;border-radius:8px;font-weight:600;border:none;cursor:pointer;transition:all .2s ease;height:44px;display:flex;align-items:center;justify-content:center}.btn-cancel{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.btn-cancel:hover{background:#e2e8f0;color:#475569}.btn-delete-confirm{background:#ef4444;color:white}.btn-delete-confirm:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px rgba(239,68,68,.4)}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@media (max-width:768px){body{padding:0;background:white}.container{max-width:100%;margin:0;padding:0}header{margin-bottom:12px;padding:0 12px;min-height:50px}header h1{font-size:1.5rem}header span{font-size:.75rem!important;display:none}header button{padding:8px 14px!important;font-size:.875rem!important;white-space:nowrap}.logo-icon svg{width:36px;height:36px}.subtitle{font-size:.875rem}.main-content{padding:8px;border-radius:0;box-shadow:none}.tabs-section{position:fixed;bottom:0;left:0;right:0;width:100%;background:#fff;z-index:100;display:flex;justify-content:space-around;border-top:1px solid #e2e8f0;border-bottom:none;margin-bottom:0;padding:0;box-shadow:0 -2px 10px rgba(0,0,0,.05)}.tab-button{flex:1 1;padding:12px 4px;font-size:.875rem;margin:0;border-radius:0;border-bottom:none;border-right:1px solid #e2e8f0}.category-section,.coming-up-goals-section,.today-goals-section{padding:12px 8px;border-radius:10px}.category-title,.today-title{font-size:1.063rem}.goal-card{padding:12px 10px;border-radius:8px}.goal-title{font-size:.938rem}.goal-info{font-size:.813rem;margin-top:6px}.goal-timer{font-size:.75rem}.btn,.btn-delete,.btn-primary,.btn-secondary,.btn-unable{font-size:.938rem;border-radius:8px}.form-group input,.form-group select{font-size:14px;border-radius:8px}.form-actions{gap:8px;margin-top:16px}.add-goal-section-bottom,.add-goal-section-top{margin-bottom:12px;padding-bottom:12px}.modal-content{padding:20px;border-radius:12px}.empty-state{padding:24px 8px;font-size:.938rem}.stats-grid{gap:12px}.stat-detail-card{padding:16px;border-radius:10px}.stat-detail-icon{margin-bottom:8px}.stat-detail-number{font-size:1.875rem;margin-bottom:6px}.section-title{font-size:1.25rem;margin-bottom:16px}.message,.motivational-message{font-size:.938rem;padding:12px}.tab-button:last-child{border-right:none}.goals-container{gap:12px;margin-bottom:60px}.category-section,.coming-up-goals-section,.today-goals-section{padding:10px 4px;border-radius:8px;box-shadow:none}.category-title,.today-title{font-size:1.1rem;margin-bottom:10px}.goals-list{gap:8px}.goal-card{padding:10px 6px;border-radius:7px;font-size:.98rem}.goal-title{font-size:1rem}.goal-info{font-size:.85rem;margin-top:4px;margin-bottom:4px}.goal-timer{font-size:.95rem}.btn,.btn-delete,.btn-primary,.btn-secondary,.btn-unable{font-size:1rem;padding:12px 0;border-radius:7px;width:100%;margin-bottom:6px}.btn:last-child{margin-bottom:0}.form-group input,.form-group select{padding:10px;font-size:1rem;border-radius:7px}.form-actions{flex-direction:column;gap:6px;margin-top:10px}.add-goal-section-bottom,.add-goal-section-top{margin-bottom:10px;padding-bottom:10px}.modal-content{padding:16px;border-radius:10px;max-width:95vw}.empty-state{padding:20px 4px;font-size:1rem}.stats-grid{grid-template-columns:1fr;gap:10px}.stat-detail-card{padding:12px;border-radius:8px}.stat-detail-icon{font-size:2rem;margin-bottom:6px}.stat-detail-number{font-size:1.5rem;margin-bottom:4px}.section-title{font-size:1.1rem;margin-bottom:10px}.message,.motivational-message{font-size:1rem;padding:10px}}.add-goal-section-top{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e2e8f0}.stats-detail-section{padding:16px 0}.section-title{font-size:1.5rem;color:#0f172a;margin-bottom:24px;text-align:center;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:16px;gap:16px;margin-bottom:32px}.stat-detail-card{background:#f8fafc;padding:24px;border-radius:12px;border:1px solid #e2e8f0;transition:all .2s ease}.stat-detail-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px rgba(0,0,0,.05)}.stat-detail-icon{font-size:2.5rem;margin-bottom:12px;text-align:center}.stat-detail-content{text-align:center}.stat-detail-number{font-size:2.5rem;font-weight:700;color:#3b82f6;margin-bottom:8px}.stat-detail-label{font-size:1.125rem;font-weight:600;color:#0f172a;margin-bottom:4px}.stat-detail-desc{font-size:.875rem;color:#64748b;font-style:italic}.progress-bar-section{background:#fff;padding:12px 16px 8px;border-radius:10px;border:1px solid #e2e8f0;margin-bottom:12px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.progress-bar-section h3{font-size:1rem;margin-bottom:8px;text-align:center;font-weight:600}.progress-bar{height:20px;border-radius:10px;margin-bottom:6px}.progress-bar-fill{padding-right:8px;font-size:.813rem}.progress-text{font-size:.875rem}.progress-bar-section h3{font-size:1.25rem;color:#0f172a;margin-bottom:16px;font-weight:700}.progress-bar-container{width:100%}.progress-bar{width:100%;height:28px;background:#e2e8f0;border-radius:14px;overflow:hidden;margin-bottom:10px}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb);transition:width .5s ease;display:flex;align-items:center;justify-content:flex-end;padding-right:12px;color:white;font-weight:700}.progress-text{text-align:center;font-size:.938rem;color:#64748b;font-weight:600}.motivational-message{margin-top:16px}.message{padding:16px;border-radius:12px;text-align:center;font-size:1rem;font-weight:600;border:1px solid}.message.success{background:#d1fae5;color:#065f46;border-color:#6ee7b7}.message.great{background:#dbeafe;color:#1e40af;border-color:#93c5fd}.message.good{background:#fce7f3;color:#9f1239;border-color:#fbcfe8}.message.start{background:#fef3c7;color:#92400e;border-color:#fde68a}.message.begin{background:#f3e8ff;color:#6b21a8;border-color:#e9d5ff}.q1-section{border-left:3px solid #ec4899}.q2-section{border-left:3px solid #a855f7}.q3-section{border-left:3px solid #3b82f6}.q4-section{border-left:3px solid #06b6d4}.h1-section{border-left:3px solid #14b8a6}.h2-section{border-left:3px solid #10b981}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}.stat-detail-number{font-size:2rem}.section-title{font-size:1.25rem}}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .25s ease-out}.modal-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:white;border-radius:20px;box-shadow:0 25px 50px -12px rgba(0,0,0,.15);z-index:1001;width:90%;max-width:520px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s cubic-bezier(.16,1,.3,1);border:1px solid #e2e8f0}@keyframes modalSlideIn{0%{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px 14px;border-bottom:1px solid #f1f5f9;background:linear-gradient(180deg,#ffffff,#fafbfc);border-radius:20px 20px 0 0}.modal-form{padding:20px 24px;background:#ffffff}.modal-form .form-group{margin-bottom:14px}.modal-form .form-group label{display:block;margin-bottom:6px;font-weight:600;color:#1e293b;font-size:.875rem;letter-spacing:-.01em}.modal-form .form-group input,.modal-form .form-group select{width:100%;padding:10px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .2s ease;font-family:inherit;background:#fafbfc;color:#1e293b}.modal-form .form-group input:focus,.modal-form .form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.08);background:#ffffff}.modal-form .form-group input::placeholder{color:#94a3b8;font-weight:400}.modal-form .form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url('data:image/svg+xml;charset=UTF-8,<svg width="12" height="8" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1.5L6 6.5L11 1.5" stroke="%2364748b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.modal-form .form-actions{display:flex;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #f1f5f9}.modal-form .btn-primary{flex:1 1;background:linear-gradient(135deg,#3b82f6,#2563eb);color:white;border:none;padding:11px 20px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px rgba(59,130,246,.25)}.modal-form .btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 6px 16px rgba(59,130,246,.35)}.modal-form .btn-secondary{flex:1 1;background:#f8fafc;color:#64748b;border:1.5px solid #e2e8f0;padding:11px 20px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.modal-form .btn-secondary:hover{background:#f1f5f9;color:#475569;border-color:#cbd5e1;transform:translateY(-1px)}@media (max-width:640px){.modal-dialog{width:96%;max-width:none;max-height:92vh;border-radius:16px}.modal-header{padding:16px 20px 12px}.modal-form{padding:16px 20px}.modal-form .form-group{margin-bottom:12px}.modal-form .btn-primary,.modal-form .btn-secondary{padding:10px 18px;font-size:13.5px}}@keyframes fadeIn{0%{opacity:0;scale:.8}to{opacity:1;scale:1}}@keyframes simpleAppear{0%{opacity:0;scale:.5}50%{opacity:1;scale:1}to{opacity:0;scale:1}}