.navbar{background:var(--white);border-bottom:1px solid var(--slate-300);z-index:100;align-items:center;padding:14px 32px;display:flex;position:sticky;top:0}.navbar-brand{align-items:center;gap:12px;display:flex}.navbar-logo{font-size:24px}.navbar-title{color:var(--blue-600);font-size:18px;font-weight:700;line-height:1.2}.navbar-subtitle{color:var(--slate-500);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.hero{background:linear-gradient(135deg, var(--blue-600) 0%, var(--indigo-700) 100%);text-align:center;color:var(--white);padding:64px 32px 80px}.hero-eyebrow{letter-spacing:.12em;text-transform:uppercase;opacity:.75;margin-bottom:16px;font-size:12px}.hero-heading{margin-bottom:20px;font-size:clamp(28px,5vw,48px);font-weight:800;line-height:1.15}.hero-body{opacity:.85;max-width:520px;margin:0 auto;font-size:16px;line-height:1.7}.form-section{max-width:600px;margin:-40px auto 60px;padding:0 16px}.goal-form{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:40px}.form-heading{color:var(--slate-900);margin-bottom:6px;font-size:22px;font-weight:700}.form-subheading{color:var(--slate-500);margin-bottom:28px;font-size:14px}.form-group{flex-direction:column;gap:6px;margin-bottom:20px;display:flex}.form-group label{color:var(--slate-700);font-size:13px;font-weight:600}.form-group input,.form-group textarea,.form-group select{border:1.5px solid var(--slate-300);border-radius:var(--radius-sm);color:var(--slate-900);background:var(--white);resize:vertical;outline:none;padding:10px 14px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--blue-500)}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.btn-primary{background:var(--blue-600);width:100%;color:var(--white);border-radius:var(--radius-sm);cursor:pointer;border:none;margin-top:8px;padding:13px;font-size:15px;font-weight:600;transition:background .2s,transform .1s,box-shadow .2s}.btn-primary:hover{background:var(--indigo-700);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--white);color:var(--blue-600);border:2px solid var(--blue-600);border-radius:var(--radius-sm);cursor:pointer;padding:11px 28px;font-size:14px;font-weight:600;transition:background .2s,color .2s,transform .1s}.btn-secondary:hover{background:var(--blue-600);color:var(--white);transform:translateY(-1px)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.loader-wrapper{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 20px;display:flex}.loader-spinner{border:4px solid var(--blue-100);border-top-color:var(--blue-600);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loader-text{color:var(--slate-700);font-size:16px;font-weight:600}.loader-subtext{color:var(--slate-500);font-size:13px}.dashboard-page{background:var(--slate-100);min-height:100vh}.dashboard-container{flex-direction:column;gap:24px;max-width:900px;margin:0 auto;padding:32px 16px 60px;display:flex}.dashboard-card{background:linear-gradient(135deg, var(--blue-600), var(--indigo-700));color:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:32px}.card-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.card-badge{letter-spacing:.05em;background:#fff3;border-radius:100px;padding:4px 12px;font-size:12px;font-weight:600}.card-date{opacity:.8;font-size:13px}.card-title{margin-bottom:10px;font-size:26px;font-weight:800;line-height:1.25}.card-description{opacity:.85;margin-bottom:20px;font-size:14px;line-height:1.6}.card-meta{opacity:.8;gap:20px;font-size:13px;display:flex}.progress-wrapper{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:24px 28px}.progress-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.progress-label{color:var(--slate-700);font-size:14px;font-weight:600}.progress-percent{color:var(--blue-600);font-size:22px;font-weight:800}.progress-track{background:var(--slate-100);border-radius:100px;height:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--blue-500), var(--indigo-700));border-radius:100px;height:100%;transition:width .5s}.progress-caption{color:var(--slate-500);margin-top:10px;font-size:13px}.dashboard-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.section-card{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:24px 28px}.section-title{color:var(--slate-900);border-bottom:1px solid var(--slate-100);margin-bottom:16px;padding-bottom:12px;font-size:16px;font-weight:700}.empty-message{color:var(--slate-500);font-size:14px}.task-list{flex-direction:column;gap:10px;display:flex}.task-card{background:var(--slate-100);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:12px;padding:12px 14px;transition:background .15s;display:flex}.task-card:hover{background:var(--blue-100)}.task-card.task-completed{opacity:.55}.task-card.task-completed .task-title{color:var(--slate-500);text-decoration:line-through}.task-checkbox{width:18px;height:18px;accent-color:var(--blue-600);cursor:pointer;flex-shrink:0}.task-title{color:var(--slate-700);font-size:14px;line-height:1.4}.weekly-list{flex-direction:column;gap:10px;display:flex}.weekly-item{color:var(--slate-700);align-items:flex-start;gap:12px;font-size:14px;line-height:1.5;display:flex}.weekly-index{background:var(--blue-100);color:var(--blue-600);border-radius:100px;flex-shrink:0;margin-top:2px;padding:2px 8px;font-size:11px;font-weight:700}.monthly-list{flex-direction:column;gap:12px;display:flex}.monthly-item{color:var(--slate-700);border-bottom:1px solid var(--slate-100);align-items:flex-start;gap:16px;padding:12px 0;font-size:14px;line-height:1.5;display:flex}.monthly-item:last-child{border-bottom:none}.monthly-index{color:var(--blue-600);background:var(--blue-100);border-radius:100px;flex-shrink:0;margin-top:2px;padding:2px 10px;font-size:11px;font-weight:700}.recalculate-section{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;gap:16px;padding:28px;display:flex}.recalculate-hint{color:var(--slate-500);font-size:14px}.error-message{color:var(--red-500);border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;margin-bottom:16px;padding:12px 16px;font-size:14px}.error-page{min-height:60vh;color:var(--slate-500);justify-content:center;align-items:center;font-size:16px;display:flex}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:80vh;display:flex}.not-found h1{color:var(--blue-600);font-size:80px;font-weight:800;line-height:1}.not-found p{color:var(--slate-500);margin-bottom:8px;font-size:18px}.not-found .btn-primary{width:auto;padding:12px 32px}@media (width<=640px){.dashboard-grid,.form-row{grid-template-columns:1fr}.goal-form{padding:28px 20px}.hero{padding:48px 20px 72px}.recalculate-section{flex-direction:column;align-items:flex-start}.dashboard-container{padding:20px 12px 48px}.card-title{font-size:20px}}.btn-expand{color:var(--blue-600);cursor:pointer;background:0 0;border:none;margin-top:14px;padding:0;font-size:13px;font-weight:600;transition:opacity .2s;display:block}.btn-expand:hover{opacity:.7}.btn-expand-header{cursor:pointer;width:100%;color:var(--slate-900);background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;font-size:16px;font-weight:700;display:flex}.btn-expand-header span:last-child{color:var(--blue-600);font-size:13px;font-weight:600}.btn-expand-header:hover span:last-child{opacity:.7}.preview-task-list{flex-direction:column;gap:10px;list-style:none;display:flex}.preview-task-item{color:var(--slate-700);align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;display:flex}.preview-dot{background:var(--blue-500);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px}.week-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;display:grid}.week-day-card{background:var(--slate-100);border-radius:var(--radius-sm);padding:12px}.week-day-label{color:var(--blue-600);margin-bottom:8px;font-size:12px;font-weight:700;display:block}.week-day-tasks{flex-direction:column;gap:4px;list-style:none;display:flex}.week-day-tasks li{color:var(--slate-700);font-size:12px;line-height:1.3}.week-day-more{font-style:italic;color:var(--slate-500)!important}.mygoal-page{background:var(--slate-100);min-height:100vh}.mygoal-container{flex-direction:column;gap:20px;max-width:780px;margin:0 auto;padding:32px 16px 60px;display:flex}.mygoal-hero{background:linear-gradient(135deg, var(--blue-600), var(--indigo-700));color:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;gap:24px;padding:36px 32px;display:flex}.mygoal-hero-left{flex:1}.mygoal-badge{letter-spacing:.05em;background:#fff3;border-radius:100px;margin-bottom:12px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.mygoal-title{margin-bottom:8px;font-size:26px;font-weight:800;line-height:1.2}.mygoal-description{opacity:.85;margin-bottom:16px;font-size:14px;line-height:1.6}.mygoal-meta{opacity:.8;gap:20px;font-size:13px;display:flex}.mygoal-progress-circle{background:#ffffff26;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:110px;height:110px;display:flex}.mygoal-progress-number{font-size:28px;font-weight:800;line-height:1}.mygoal-progress-label{opacity:.8;text-transform:uppercase;letter-spacing:.06em;margin-top:4px;font-size:11px}.mygoal-stats{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.mygoal-stat-card{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;align-items:center;gap:6px;padding:20px 16px;display:flex}.stat-number{color:var(--blue-600);font-size:28px;font-weight:800;line-height:1}.stat-label{color:var(--slate-500);text-align:center;font-size:12px}.mygoal-section{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:24px 28px}.mygoal-section-muted{background:var(--slate-100);box-shadow:none;border:1px solid var(--slate-300)}.mygoal-section-title{color:var(--slate-900);border-bottom:1px solid var(--slate-100);margin-bottom:16px;padding-bottom:12px;font-size:16px;font-weight:700}.mygoal-task-preview{flex-direction:column;gap:12px;list-style:none;display:flex}.mygoal-task-item{color:var(--slate-700);align-items:center;gap:12px;font-size:14px;line-height:1.4;display:flex}.mygoal-task-done{opacity:.5;text-decoration:line-through}.mygoal-task-muted{color:var(--slate-500)}.mygoal-task-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot-done{background:var(--green-500)}.dot-pending{background:var(--blue-500)}.dot-muted{background:var(--slate-300)}.mygoal-task-tick{color:var(--green-500);margin-left:auto;font-size:13px;font-weight:700}.mygoal-actions{align-items:center;gap:12px;margin-top:8px;display:flex}.mygoal-btn{width:auto;padding:13px 32px}.mygoal-btn-sm{padding:11px 24px}@media (width<=640px){.mygoal-hero{flex-direction:column;align-items:flex-start}.mygoal-stats{grid-template-columns:repeat(2,1fr)}.mygoal-actions{flex-direction:column}.mygoal-btn,.mygoal-btn-sm{text-align:center;width:100%}}.impact-banner{border-radius:var(--radius-md);align-items:flex-start;gap:14px;padding:20px 24px;font-size:14px;line-height:1.6;animation:.4s fadeIn;display:flex}.impact-warning{color:#9a3412;background:#fff7ed;border:1.5px solid #fed7aa}.impact-success{color:#166534;background:#f0fdf4;border:1.5px solid #bbf7d0}.impact-icon{flex-shrink:0;margin-top:1px;font-size:20px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.goals-list-page{background:var(--slate-100);min-height:100vh}.goals-list-container{max-width:900px;margin:0 auto;padding:40px 16px 60px}.goals-list-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.goals-list-greeting{color:var(--slate-900);margin-bottom:6px;font-size:32px;font-weight:800}.goals-list-subtext{color:var(--slate-500);font-size:15px}.goals-list-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.goals-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px;display:grid}.goal-summary-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);cursor:pointer;flex-direction:column;gap:12px;padding:28px;transition:transform .2s,box-shadow .2s;display:flex}.goal-summary-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px)}.goal-card-top{justify-content:space-between;align-items:center;display:flex}.goal-card-level{background:var(--blue-100);color:var(--blue-600);letter-spacing:.04em;border-radius:100px;padding:3px 10px;font-size:11px;font-weight:700}.goal-card-days{color:var(--slate-500);font-size:12px;font-weight:600}.days-urgent{color:var(--red-500)}.goal-card-title{color:var(--slate-900);font-size:18px;font-weight:700;line-height:1.3}.goal-card-description{color:var(--slate-500);font-size:13px;line-height:1.5}.goal-card-progress-track{background:var(--slate-100);border-radius:100px;height:6px;overflow:hidden}.goal-card-progress-fill{background:linear-gradient(90deg, var(--blue-500), var(--indigo-700));border-radius:100px;height:100%;transition:width .4s}.goal-card-progress-label{color:var(--slate-500);justify-content:space-between;font-size:12px;display:flex}.goal-card-today{background:var(--slate-100);border-radius:var(--radius-sm);padding:12px 14px}.goal-card-today-label{color:var(--blue-600);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11px;font-weight:700}.goal-card-today-list{flex-direction:column;gap:4px;list-style:none;display:flex}.goal-card-today-list li{color:var(--slate-700);font-size:13px}.goal-card-more{font-style:italic;color:var(--slate-400)!important}.goal-card-footer{color:var(--slate-400);justify-content:space-between;align-items:center;margin-top:4px;font-size:12px;display:flex}.goal-card-cta{color:var(--blue-600);font-weight:600}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:80px 20px;display:flex}.empty-state-icon{font-size:48px}.empty-state h2{color:var(--slate-700);font-size:22px;font-weight:700}.empty-state p{color:var(--slate-500);margin-bottom:8px;font-size:15px}.empty-state .btn-primary{width:auto;padding:12px 32px}.btn-ghost{border:1.5px solid var(--slate-300);border-radius:var(--radius-sm);color:var(--slate-500);cursor:pointer;background:0 0;padding:10px 18px;font-size:13px;transition:border-color .2s,color .2s}.btn-ghost:hover{border-color:var(--slate-500);color:var(--slate-700)}.btn-back{color:var(--blue-600);cursor:pointer;background:0 0;border:none;margin-bottom:8px;padding:0;font-size:14px;font-weight:600;transition:opacity .2s}.btn-back:hover{opacity:.7}@media (width<=640px){.goals-list-header{flex-direction:column}.goals-grid{grid-template-columns:1fr}.goals-list-greeting{font-size:24px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--blue-600:#2563eb;--blue-500:#3b82f6;--blue-100:#dbeafe;--indigo-700:#4338ca;--slate-900:#0f172a;--slate-700:#334155;--slate-500:#64748b;--slate-300:#cbd5e1;--slate-100:#f1f5f9;--white:#fff;--green-500:#22c55e;--red-500:#ef4444;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--shadow-card:0 2px 16px #0f172a14;--shadow-hover:0 6px 24px #2563eb2e}html,body{background-color:var(--slate-100);color:var(--slate-900);min-height:100vh;font-family:Inter,Segoe UI,system-ui,sans-serif;line-height:1.6}input,textarea,select,button{font-family:inherit}a{color:inherit;text-decoration:none}ul{list-style:none}
