:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100vw;background:linear-gradient(135deg,#3b0764,#4338ca);padding:20px;box-sizing:border-box;margin:0}.login-box{background:#fff;padding:40px;border-radius:16px;box-shadow:0 10px 30px #00000014;width:100%;max-width:400px;text-align:center;display:flex;flex-direction:column;gap:20px;margin:0 auto}.login-box button{padding:12px;border-radius:10px;border:none;background:linear-gradient(90deg,#6c5ce7,#2563eb);color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s}.register-container{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100vw;background:linear-gradient(135deg,#3b0764,#4338ca);padding:20px;box-sizing:border-box;margin:0}.register-box{background:#fff;padding:40px;border-radius:16px;box-shadow:0 10px 30px #00000014;width:100%;max-width:400px;text-align:center;display:flex;flex-direction:column;gap:20px;margin:0 auto}.register-logo{max-width:120px;height:auto;object-fit:contain}.register-box h2{margin:0;font-size:24px;color:#333;font-weight:700}.register-box input{padding:12px 15px;border-radius:8px;border:1px solid #ddd;font-size:16px;transition:border-color .2s}.register-box input:focus{border-color:#2563eb;outline:none}.register-box button{padding:12px;border-radius:10px;border:none;background:linear-gradient(90deg,#6c5ce7,#2563eb);color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s}.register-box button:hover{background-color:#1d4ed8}.register-box button:active{transform:scale(.98)}.register-box p{margin:0;font-size:14px;color:#666}.register-box p a{color:#2563eb;text-decoration:none;font-weight:600}.register-box p a:hover{text-decoration:underline}.page-content-center{display:flex;justify-content:center;align-items:flex-start;padding-top:100px;min-height:calc(100vh - 150px);background-color:#f5f6fa}.page-content-center{display:flex;justify-content:center;align-items:flex-start;padding-top:40px;min-height:calc(100vh - 150px);background-color:#f5f6fa}.form-card{width:100%;max-width:450px;padding:35px;background:#fff;border-radius:16px;box-shadow:0 10px 30px #00000014;border:1px solid #e9ecef}.form-card h2{margin-top:0;margin-bottom:30px;color:#0056b3;font-size:24px;font-weight:700;text-align:center}.form{display:flex;flex-direction:column;gap:18px}.form input{padding:14px 16px;border-radius:10px;border:1px solid #ddd;font-size:16px;color:#333;transition:all .2s ease}.form input:focus{border-color:#007bff;box-shadow:0 0 0 4px #007bff26;outline:none}.submit-btn{padding:14px;border-radius:10px;border:none;background-color:#007bff;color:#fff;font-weight:600;font-size:16px;cursor:pointer;transition:background-color .2s,transform .1s;margin-top:10px}.submit-btn:hover{background-color:#0056b3}.submit-btn:active{transform:scale(.98)}:root{--primary-blue: #007bff;--primary-blue-dark: #0056b3;--accent-green: #28a745;--text-dark: #333;--text-medium: #6c757d;--bg-light: #f8f9fa;--bg-white: #ffffff;--border-light: #e9ecef;--shadow-light: rgba(0, 0, 0, .08);--shadow-medium: rgba(0, 0, 0, .15)}body{margin:0;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;background-color:var(--bg-light);color:var(--text-dark);line-height:1.6}.app{max-width:500px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;background:#fff;box-shadow:0 0 20px var(--shadow-light)}.content{flex:1;padding:20px;overflow-y:auto;-webkit-overflow-scrolling:touch}.bottom-menu{position:sticky;bottom:0;width:100%;max-width:500px;background-color:var(--bg-white);border-top:1px solid var(--border-light);display:flex;justify-content:space-around;padding:15px 0;box-shadow:0 -2px 10px var(--shadow-light);z-index:1000}.bottom-menu a{text-decoration:none;font-size:22px;color:var(--text-medium);transition:color .2s ease}.bottom-menu a:hover,.bottom-menu a.active{color:var(--primary-blue)}.card{background:#fff;box-shadow:0 10px 25px #0000000d;padding:20px;border-radius:12px;box-shadow:0 6px 15px var(--shadow-light);margin-bottom:15px;transition:transform .2s ease,box-shadow .2s ease;border:1px solid var(--border-light)}.card:hover{transform:translateY(-3px);box-shadow:0 10px 25px var(--shadow-medium)}.card-title{font-size:14px;color:var(--text-medium);margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}.card-value{font-size:28px;font-weight:700;margin:0;color:var(--primary-blue)}.form{display:flex;flex-direction:column;gap:15px;margin-top:20px}.form input{padding:12px 15px;border-radius:8px;border:1px solid var(--border-light);font-size:16px;color:var(--text-dark);background-color:var(--bg-white);transition:border-color .2s ease,box-shadow .2s ease}.form input:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px #007bff40;outline:none}.form button{padding:12px 20px;border-radius:8px;border:none;background-color:var(--primary-blue);color:#fff;font-weight:600;cursor:pointer;font-size:16px;transition:background-color .2s ease,transform .1s ease}.form button:hover{background-color:var(--primary-blue-dark);transform:translateY(-1px)}.dashboard-buttons{display:grid;grid-template-columns:1fr;gap:15px;margin-top:20px}.dashboard-buttons button{background-color:var(--primary-blue);color:#fff;padding:15px 20px;font-size:16px;text-align:center;cursor:pointer;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;border:none;background:linear-gradient(90deg,#295dce,#2563eb);border-radius:10px;font-weight:600}.dashboard-buttons button:hover{background-color:var(--primary-blue-dark);transform:translateY(-2px);box-shadow:0 6px 15px #007bff4d}.dash-card{background-color:var(--primary-blue);color:#fff;padding:15px 20px;border-radius:10px;font-size:16px;text-align:center;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;border:none;box-shadow:0 4px 10px #007bff33}.dash-card:hover{transform:translateY(-2px);box-shadow:0 6px 15px #007bff4d;background-color:var(--primary-blue-dark)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{background:var(--bg-white);width:90%;max-width:450px;border-radius:16px;padding:25px;box-shadow:0 25px 50px var(--shadow-medium);animation:modalFadeIn .3s ease-out forwards;border:1px solid var(--border-light)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--border-light)}.modal-header h2{margin:0;font-size:22px;color:var(--text-dark)}.modal-close{border:none;background:none;font-size:28px;cursor:pointer;color:var(--text-medium);transition:color .2s ease}.modal-close:hover{color:var(--primary-blue-dark)}.modal-content{max-height:350px;overflow-y:auto;padding-right:10px}.modal-content .list-item{padding:12px 0;border-bottom:1px solid var(--border-light)}.modal-content .list-item:last-child{border-bottom:none}.modal-content .list-item strong{color:var(--primary-blue);font-size:18px}.modal-content .list-item p{margin:5px 0 0;color:var(--text-medium);font-size:14px}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dashboard-container{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;padding:20px 0;min-height:auto}@media(min-width:400px){.dashboard-buttons{grid-template-columns:1fr 1fr}}@media(min-width:768px){.app{border-radius:15px;margin:20px auto;min-height:calc(100vh - 40px)}.bottom-menu{border-bottom-left-radius:15px;border-bottom-right-radius:15px}}h2{color:var(--primary-blue-dark);text-align:center;margin-top:20px;margin-bottom:25px;font-size:24px}.dashboard-buttons button:first-of-type{margin-top:0}.app>button{background-color:#dc3545;color:#fff;padding:10px 15px;border-radius:8px;border:none;font-weight:600;cursor:pointer;font-size:14px;transition:background-color .2s ease,transform .1s ease;align-self:flex-end;margin:15px 20px 0 auto;box-shadow:0 2px 5px #dc35454d}.app>button:hover{background-color:#c82333;transform:translateY(-1px)}.form select{padding:12px 15px;border-radius:8px;border:1px solid var(--border-light);font-size:16px;color:var(--text-dark);background-color:var(--bg-white);transition:border-color .2s ease,box-shadow .2s ease;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:15px;cursor:pointer}.form select:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px #007bff40;outline:none}.form select:invalid{color:var(--text-medium)}.goal-card{background:linear-gradient(90deg,#6c5ce7,#2563eb);font-weight:600;color:#fff;padding:20px;border-radius:16px;margin-bottom:25px;box-shadow:0 10px 25px #007bff4d;border:none}.goal-card .card-title{color:#ffffffe6;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:1px;margin-bottom:15px}.goal-info{display:flex;justify-content:space-between;align-items:center;font-size:18px;font-weight:700;margin-bottom:10px}.progress-bar-container{width:100%;height:12px;background:#fff3;border-radius:6px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#6c5ce7,#2563eb);box-shadow:0 0 10px #28a74580;transition:width .5s ease-out}.goal-modal{text-align:center}.goal-modal p{color:var(--text-medium);margin-bottom:20px}.goal-modal .form select{margin-bottom:10px;width:100%}.goal-modal .form label{display:block;text-align:left;font-size:14px;font-weight:600;margin-bottom:5px;color:var(--text-dark)}.btn-skip{background-color:transparent!important;color:var(--text-medium)!important;font-weight:500!important;font-size:14px!important;margin-top:5px;text-decoration:underline}.btn-skip:hover{color:var(--text-dark)!important;background-color:transparent!important;transform:none!important}.goal-card.goal-reached{background:linear-gradient(135deg,#28a745,#1e7e34);box-shadow:0 10px 25px #28a7454d;animation:pulseGoal 2s infinite}.progress-bar-fill.completed{background:#ffc107;box-shadow:0 0 15px #ffc10799}.goal-congrats{margin-top:15px;font-size:16px;font-weight:800;text-align:center;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2);animation:bounceIn .8s cubic-bezier(.68,-.55,.265,1.55)}@keyframes pulseGoal{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}.dashboard-header{position:relative;display:flex;justify-content:space-between;align-items:center;padding-bottom:20px}.goal-action-center{position:absolute;left:25%;top:40%;transform:translate(-50%,-50%)}.add-goal-btn{width:20px;height:25px;border-radius:15%;background-color:var(--primary-blue);color:#fff;border:none;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #007bff4d;transition:all .2s ease}.add-goal-btn:hover{background-color:var(--primary-blue-dark);transform:scale(1.1);box-shadow:0 6px 16px #007bff66}.add-goal-btn:active{transform:scale(.95)}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f6fa;padding:20px}.login-box{background:#fff;padding:40px;border-radius:16px;box-shadow:0 10px 30px #00000014;width:100%;max-width:400px;text-align:center;display:flex;flex-direction:column;gap:20px}.logo-container{margin-bottom:10px;display:flex;justify-content:center;align-items:center}.login-logo{max-width:120px;height:auto;object-fit:contain}.login-box h2{margin:0;font-size:24px;color:#333;font-weight:700}.login-box input{padding:12px 15px;border-radius:8px;border:1px solid #ddd;font-size:16px;transition:border-color .2s}.login-box input:focus{border-color:#2563eb;outline:none}.login-box button{padding:12px;border-radius:8px;border:none;background-color:#2563eb;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s}.login-box button:hover{background-color:#1d4ed8}.login-box button:active{transform:scale(.98)}.login-box p{margin:0;font-size:14px;color:#666}.login-box p a{color:#2563eb;text-decoration:none;font-weight:600}.login-box p a:hover{text-decoration:underline}
