.app-layout{display:flex;min-height:100vh}.sidebar{width:260px;min-width:260px;height:100vh;background-color:var(--sidebar-bg);color:var(--text-color);transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;display:flex;flex-direction:column;border-right:1px solid var(--sidebar-border);position:sticky;top:0;left:0}.logo-container{padding:20px 15px;display:flex;justify-content:center;align-items:center;min-height:80px}.logo-text{font-family:Dancing Script,cursive;font-size:2.5rem;color:var(--accent-color);margin:0;cursor:pointer;transition:color .3s ease}.logo-text:hover{color:var(--text-color)}.menu-list{list-style:none;padding:0;margin:0;flex:1}.menu-item{display:flex;align-items:center;padding:14px 24px;cursor:pointer;transition:all .2s ease;color:var(--secondary-text);position:relative}.menu-item:hover{background:var(--hover-bg);color:var(--accent-color)}.menu-item.active{background:var(--active-bg);color:var(--accent-color);font-weight:700}.menu-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background-color:var(--accent-color)}.icon-wrapper{min-width:24px;display:flex;justify-content:center;align-items:center}.menu-text{margin-left:16px;font-size:1rem;white-space:nowrap;opacity:1;transition:opacity .2s ease}.sidebar-profile{display:flex;align-items:center;padding:15px 18px;cursor:pointer;border-top:1px solid var(--sidebar-border);transition:background .2s;overflow:hidden;margin-top:auto}.sidebar-profile:hover{background:var(--hover-bg)}.sidebar-profile.active{background:var(--active-bg)}.profile-image-wrapper{min-width:34px;width:34px;height:34px;border-radius:50%;overflow:hidden;background:var(--active-bg);display:flex;justify-content:center;align-items:center;color:var(--accent-color);border:1px solid var(--sidebar-border)}.profile-image-wrapper img{width:100%;height:100%;object-fit:cover}.profile-info{margin-left:12px;display:flex;flex-direction:column;opacity:1;transition:opacity .2s ease;white-space:nowrap}.profile-name{font-weight:600;font-size:.9rem;color:var(--text-color)}.mobile-toggle-btn,.mobile-overlay{display:none}@media (max-width: 768px){.mobile-toggle-btn{display:flex;justify-content:center;align-items:center;width:48px;height:48px;position:fixed;top:20px;left:20px;z-index:1200;background:var(--card-bg);border:2px solid var(--accent-color);border-radius:50%;font-family:Dancing Script,cursive;font-size:1.5rem;color:var(--accent-color);cursor:pointer;box-shadow:0 4px 6px -1px #0000001a;transition:all .2s}.mobile-toggle-btn.hidden{opacity:0;pointer-events:none}.mobile-toggle-btn:hover{transform:scale(1.1)}.mobile-overlay{display:block;position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar{position:fixed;top:0;left:0;height:100vh;z-index:1000;width:280px;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar.mobile-open{transform:translate(0)}.logo-text,.menu-text,.profile-info{display:flex}.logo-container{background-image:none!important}.logo-container:before{content:none!important}.sidebar-profile,.menu-item{justify-content:flex-start;padding:15px 24px}.icon-wrapper{margin-right:12px}}body{margin:0}.main-content,.budget-content,.sleep-content,.custom-lists-content,.summary-content,.period-content,.profile-container{flex:1;transition:all .3s ease}.splash-container{height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:var(--bg-color)}.logo-text{font-family:Dancing Script,cursive;font-size:5rem;color:var(--accent-color);margin-bottom:20px}.loader{width:24px;height:24px;border:4px solid var(--accent-color);border-top:4px solid transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.logo-text{font-size:3rem;margin-bottom:50px}}.auth-container input{padding:14px 18px;border-radius:12px;border:1.5px solid var(--input-border);background:var(--input-bg);color:var(--text-color);font-size:1rem;outline:none;transition:border-color .2s}@media (max-width: 768px){.auth-container{padding:16px}.logo-text{font-size:3rem;margin-bottom:20px}.auth-container h2{font-size:1.5rem}.auth-container input,.auth-container button{padding:12px;font-size:.95rem}}.subtitle{color:var(--secondary-text);margin-bottom:30px;font-size:.95rem}.auth-container form{width:100%;max-width:400px;display:flex;flex-direction:column;gap:15px}.auth-container input{width:100%;padding:14px 18px;border-radius:12px;border:1.5px solid var(--input-border);background:var(--input-bg);color:var(--text-color);font-size:1rem;outline:none;transition:border-color .2s;box-sizing:border-box}.auth-container input:focus{border-color:var(--accent-color)}.icon-inside-input{position:absolute;right:15px;cursor:pointer;display:flex;align-items:center;color:var(--secondary-text);font-size:1.2rem;z-index:5;transition:color .2s}.auth-container button{padding:14px;border:none;border-radius:12px;background:var(--accent-color);color:var(--bg-color);font-weight:600;font-size:1rem;cursor:pointer;transition:opacity .2s}.auth-container button:hover{opacity:.9}.switch-link{margin-top:20px;color:var(--secondary-text);font-size:.9rem}.switch-link span{color:var(--accent-color);cursor:pointer;font-weight:600}.switch-link span:hover{text-decoration:underline}@media (max-width: 768px){.logo-text{font-size:3rem}.auth-container input,.auth-container button{padding:12px}}.auth-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-color);padding:20px}.logo-text{font-family:Dancing Script,cursive;font-size:4rem;color:var(--accent-color);margin-bottom:10px}.auth-container h2{font-size:2rem;font-weight:700;color:var(--text-color);margin-bottom:10px}.auth-form{width:100%;max-width:400px;display:flex;flex-direction:column;gap:15px}.auth-form input{width:100%;padding:14px 18px;border-radius:12px;border:1.5px solid var(--input-border);background:var(--input-bg);color:var(--text-color);font-size:1rem;outline:none;transition:border-color .2s;box-sizing:border-box}.auth-form input:focus{border-color:var(--accent-color)}.password-wrapper{position:relative;width:100%;display:flex;align-items:center}.password-wrapper input{padding-right:50px}.icon-inside-input{position:absolute;right:15px;cursor:pointer;display:flex;align-items:center;color:var(--secondary-text);font-size:1.2rem;z-index:5}.icon-inside-input:hover{color:var(--accent-color)}.auth-form button{padding:14px;border:none;border-radius:12px;background:var(--accent-color);color:var(--bg-color);font-weight:600;font-size:1rem;cursor:pointer;transition:opacity .2s}.auth-form button:hover{opacity:.9}.auth-switch{margin-top:20px;color:var(--secondary-text);font-size:.9rem}.auth-switch a{color:var(--accent-color);text-decoration:none;font-weight:600}.auth-switch a:hover{text-decoration:underline}@media (max-width: 768px){.logo-text{font-size:3rem}.auth-form input,.auth-form button{padding:12px}}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0}.dashboard{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;width:100%;font-family:Montserrat,sans-serif;padding:20px;background-color:var(--bg-color);color:var(--text-color)}.dashboard h1{font-size:3rem;margin-bottom:1rem}@media (max-width: 768px){.dashboard h1{font-size:2rem}.dashboard p{font-size:1.1rem}}.journal-page{display:flex;min-height:100vh;background-color:var(--bg-color)}.journal-content{padding:32px;flex:1;width:100%;position:relative}.journal-header{margin-bottom:40px}.journal-header h1{font-size:2.5rem;color:var(--text-color);margin:0}.journal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}.entry-card{background:var(--card-bg);padding:24px;border-radius:16px;box-shadow:0 4px 6px -1px #0000000d;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;border:1px solid var(--sidebar-border)}.entry-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}.card-header h3{font-size:1.125rem;color:var(--text-color);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}.entry-time{font-size:.75rem;color:var(--secondary-text);font-weight:500}.entry-date{font-size:.875rem;color:var(--secondary-text);margin-bottom:12px}.entry-preview{font-size:.95rem;color:var(--text-color);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.fab{position:fixed;right:40px;bottom:40px;width:64px;height:64px;border-radius:50%;background:var(--accent-color);color:var(--bg-color);border:none;display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 10px 15px -3px #2563eb4d;transition:transform .2s,background .2s;z-index:100}.journal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.journal-modal{background:var(--card-bg);width:90%;max-width:600px;border-radius:20px;padding:32px;outline:none;box-shadow:0 25px 50px -12px #00000040}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.modal-header h2{font-size:1.5rem;color:var(--text-color);margin:0}.close-btn{background:none;border:none;color:var(--input-border);cursor:pointer;padding:4px;border-radius:8px;transition:background .2s}.close-btn:hover{background:var(--hover-bg);color:var(--text-color)}.modal-body{display:flex;flex-direction:column;gap:20px}.modal-body input{font-size:1.25rem;border:none;border-bottom:2px solid var(--input-border);padding:8px 0;outline:none;font-weight:600;background:transparent;color:var(--text-color)}.modal-body input::placeholder{color:var(--input-border)}.modal-body textarea{min-height:250px;border:none;font-size:1.125rem;line-height:1.6;color:var(--text-color);resize:none;outline:none;background:transparent}.save-btn{background:var(--accent-color);color:var(--bg-color);border:none;padding:14px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.view-modal{max-height:85vh;overflow-y:auto}.full-date{color:var(--secondary-text);font-size:.875rem}.full-content{font-size:1.125rem;line-height:1.7;color:var(--text-color);white-space:pre-wrap;margin:0}.empty-state{grid-column:1 / -1;text-align:center;padding:100px 0;color:var(--secondary-text);font-size:1.125rem}.period-page{display:flex;min-height:100vh;background-color:var(--bg-color)}.period-content{padding:32px;flex:1;width:100%}@media (max-width: 768px){.period-content{padding:16px}.period-header h1{display:none}.period-header{margin-bottom:24px}}.period-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.period-header h1{font-size:2.5rem;color:var(--text-color);margin:0}.header-stats{display:flex;gap:24px}.top-stat{background:var(--card-bg);padding:12px 24px;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d;display:flex;flex-direction:column;align-items:center;border-bottom:3px solid var(--accent-color)}.top-stat .label{font-size:.75rem;color:var(--secondary-text);text-transform:uppercase;font-weight:700;letter-spacing:.05em}.top-stat .value{font-size:1.25rem;font-weight:800;color:var(--text-color)}.period-main-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.chart-card{grid-area:chart}.settings-card{grid-area:settings}.insights-card{grid-area:insights}.symptoms-card{grid-area:symptoms}@media (min-width: 1200px){.period-main-grid{grid-template-columns:1.2fr 1fr 1fr;grid-template-areas:"chart settings symptoms" "chart insights symptoms"}.chart-card{height:100%}}.period-card{background:var(--card-bg);padding:24px;border-radius:20px;box-shadow:0 10px 15px -3px #0000000d}.period-card h2{font-size:1.125rem;color:var(--text-color);margin-bottom:20px;font-weight:700}.chart-card{display:flex;flex-direction:column;position:relative}@media (min-width: 768px) and (max-width: 1199px){.period-main-grid{grid-template-columns:1fr 1fr;grid-template-areas:"chart settings" "chart insights" "symptoms symptoms"}}.chart-container{flex:1;position:relative;display:flex;justify-content:center;align-items:center}.day-display{position:absolute;text-align:center;pointer-events:none}.day-display span{display:block;font-size:.875rem;color:var(--secondary-text);text-transform:uppercase}.day-display strong{font-size:2.5rem;color:var(--text-color);line-height:1}.input-group{margin-bottom:16px}.input-group label{display:block;font-size:.875rem;color:var(--secondary-text);margin-bottom:6px;font-weight:600}.input-group input{width:100%;padding:10px;border:2px solid var(--input-border);border-radius:10px;font-size:1rem;outline:none;transition:border-color .2s;background:transparent;color:var(--text-color)}.input-group input:focus{border-color:var(--accent-color)}.symptoms-card{padding:20px}.symptom-tags{display:flex;flex-wrap:wrap;gap:8px}.symptom-tags button{padding:6px 12px;background:var(--input-bg);border:none;border-radius:50px;color:var(--secondary-text);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.symptom-tags button.active{background:var(--accent-color);color:var(--bg-color);transform:scale(1.05)}.insights-list{list-style:none;padding:0;margin:0}.insights-list li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--sidebar-border)}.insights-list li:last-child{border-bottom:none}.insights-list p{margin:0;font-size:.95rem;color:var(--text-color);line-height:1.4}.insights-list strong{color:var(--accent-color)}.todo-page{display:flex;min-height:100vh;background-color:var(--bg-color)}.todo-content{padding:40px;flex:1;width:100%}.todo-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.todo-header h1{font-size:2.25rem;color:var(--text-color);margin:0;font-weight:800}.stats-row{display:flex;align-items:center;gap:16px}.stat-pill{background:var(--card-bg);padding:6px 16px;border-radius:50px;display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--accent-color);font-weight:600;box-shadow:0 2px 4px #0000000d}.clear-btn{background:none;border:1px solid var(--input-border);color:var(--accent-color);padding:6px 16px;border-radius:50px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.clear-btn:hover{background:var(--hover-bg);border-color:var(--accent-color)}.progress-section{background:var(--card-bg);padding:24px;border-radius:16px;margin-bottom:32px;box-shadow:0 4px 6px -1px #0000000d}.progress-info{display:flex;justify-content:space-between;margin-bottom:12px;font-weight:700;color:var(--text-color);font-size:.9rem}.progress-bar-bg{height:10px;background:var(--input-bg);border-radius:10px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-color),var(--text-color));border-radius:10px;transition:width .4s cubic-bezier(.175,.885,.32,1.275)}.categories-grid{display:flex;overflow-x:auto;gap:24px;padding-bottom:24px;align-items:flex-start}@media (max-width: 768px){.todo-content{padding:16px}.todo-header h1{display:none}.categories-grid{flex-direction:column;overflow-x:visible;align-items:stretch}.category-group{min-width:unset;width:100%}}.category-group{min-width:300px;background:var(--card-bg);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:16px;border:1px solid var(--sidebar-border)}.category-header{font-size:1.125rem;color:var(--secondary-text);margin:0;text-transform:uppercase;letter-spacing:.05em;font-weight:700;padding-bottom:12px;border-bottom:2px solid var(--sidebar-border)}.categories-grid::-webkit-scrollbar{height:8px}.categories-grid::-webkit-scrollbar-track{background:transparent}.categories-grid::-webkit-scrollbar-thumb{background-color:var(--input-border);border-radius:4px}.modern-todo-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.modern-todo-item{background:var(--bg-color);padding:12px 16px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;transition:all .2s;border:1px solid var(--sidebar-border);box-shadow:0 2px 4px #00000005}.modern-todo-item:hover{transform:translate(2px);border-color:var(--input-border);box-shadow:0 4px 8px -1px #0000000d}.task-main{display:flex;align-items:center;gap:12px;flex:1;cursor:pointer}.check-icon{color:var(--input-border);transition:color .2s;min-width:20px}.check-icon.done{color:var(--text-color)}.task-text{font-size:1rem;color:var(--text-color);font-weight:500;transition:color .2s;word-break:break-word}.task-done .task-text{color:var(--secondary-text);text-decoration:line-through}.item-delete{background:none;border:none;color:var(--input-border);padding:6px;cursor:pointer;border-radius:6px;transition:all .2s;opacity:0}.modern-todo-item:hover .item-delete{opacity:1}.item-delete:hover{background:var(--hover-bg);color:var(--text-color)}.todo-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.todo-modal{background:var(--card-bg);width:90%;max-width:500px;border-radius:20px;padding:32px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;gap:24px}.todo-modal h2{margin:0;color:var(--text-color)}.todo-modal input{font-size:1.25rem;border:none;border-bottom:2px solid var(--input-border);padding:8px 0;outline:none;background:transparent;color:var(--text-color)}.category-chips{display:flex;gap:12px;flex-wrap:wrap}.chip{padding:8px 16px;border-radius:50px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--secondary-text);cursor:pointer;font-weight:600;transition:all .2s}.chip.active{background:var(--accent-color);color:var(--bg-color);border-color:var(--accent-color)}.empty-state{text-align:center;padding:60px 0;color:var(--secondary-text);display:flex;flex-direction:column;align-items:center;gap:16px}.budget-page{display:flex;min-height:100vh;background-color:var(--bg-color)}.budget-content{padding:24px;flex:1;width:100%}h1{font-size:2rem;color:var(--text-color);margin-bottom:24px}.budget-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:32px}.summary-card{background:var(--card-bg);padding:20px;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;text-align:center}.summary-card h3{font-size:.875rem;color:var(--secondary-text);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.summary-card p{font-size:1.5rem;font-weight:700;color:var(--text-color)}.summary-card p.positive{color:var(--text-color)}.summary-card p.negative{color:var(--secondary-text)}.budget-main-container{display:grid;grid-template-columns:1fr 1.5fr;gap:32px}@media (max-width: 768px){.budget-main-container{grid-template-columns:1fr}}.transaction-form-section,.transaction-list-section{background:var(--card-bg);padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a}.transaction-form-section h2,.transaction-list-section h2{font-size:1.25rem;color:var(--secondary-text);margin-bottom:20px}.transaction-form{display:flex;flex-direction:column;gap:16px}.transaction-form input[type=text],.transaction-form input[type=number]{padding:10px 12px;border:1px solid var(--input-border);border-radius:6px;font-size:1rem;outline:none;transition:border-color .2s;background:transparent;color:var(--text-color)}.transaction-form input:focus{border-color:var(--accent-color)}.type-selector{display:flex;gap:16px;margin:4px 0}.type-selector label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.95rem;color:var(--secondary-text)}.add-transaction-btn{padding:12px;background-color:var(--accent-color);color:var(--bg-color);border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s}.add-transaction-btn:hover{background-color:var(--text-color)}.transaction-list{list-style:none;padding:0;margin:0}.transaction-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid var(--sidebar-border);transition:background-color .1s}.transaction-item:last-child{border-bottom:none}.transaction-item:hover{background-color:var(--hover-bg)}.transaction-info{display:flex;flex-direction:column}.transaction-text{font-weight:500;color:var(--text-color)}.transaction-date{font-size:.75rem;color:var(--secondary-text)}.transaction-amount-group{display:flex;align-items:center;gap:12px}.transaction-amount{font-weight:600;font-size:1rem}.transaction-item.income .transaction-amount{color:var(--text-color)}.transaction-item.expense .transaction-amount{color:var(--secondary-text)}.delete-btn{background:none;border:none;color:var(--input-border);font-size:1.5rem;cursor:pointer;line-height:1;padding:0 4px}.empty-msg{text-align:center;color:var(--secondary-text);padding:20px 0}.schedule-page{display:flex;min-height:100vh;background-color:var(--bg-color)}.schedule-content{padding:24px;flex:1;width:100%;display:grid;grid-template-columns:1fr 350px;gap:32px}@media (max-width: 1024px){.schedule-content{grid-template-columns:1fr}}@media (max-width: 768px){.schedule-content{padding:16px}h1{display:none}.calendar-container{padding:12px}.calendar-grid{gap:2px}.day-number{font-size:.85rem}.day-name{font-size:.7rem;padding-bottom:4px}.event-indicator{width:4px;height:4px;bottom:4px}.calendar-day{min-height:40px}}h1{grid-column:1 / -1;font-size:2rem;color:var(--text-color);margin-bottom:24px}.calendar-container{background:var(--card-bg);padding:24px;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.calendar-header h2{font-size:1.5rem;color:var(--secondary-text);margin:0}.calendar-header button{background:var(--input-bg);border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:600;transition:background .2s;color:var(--text-color)}.calendar-header button:hover{background:var(--hover-bg)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.day-name{text-align:center;font-weight:600;color:var(--secondary-text);font-size:.75rem;padding-bottom:8px}.calendar-day{aspect-ratio:1;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;position:relative;background-color:var(--bg-color);color:var(--text-color);font-size:.9rem}.calendar-day:hover{background-color:var(--hover-bg)}.calendar-day.empty{background-color:transparent;cursor:default}.calendar-day.today{border:2px solid var(--accent-color)}.calendar-day.selected{background-color:var(--accent-color);color:var(--bg-color)}.calendar-day.selected:hover{background-color:var(--text-color)}.day-number{font-weight:500;font-size:1rem}.event-indicator{width:6px;height:6px;background-color:var(--secondary-text);border-radius:50%;position:absolute;bottom:8px}.calendar-day.selected .event-indicator{background-color:var(--bg-color)}.event-panel{background:var(--card-bg);padding:24px;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;height:fit-content}.event-panel h3{margin-top:0;color:var(--text-color);font-size:1.125rem;margin-bottom:20px}.event-form{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.event-form input{padding:12px 16px;border:1px solid var(--input-border);border-radius:8px;outline:none;font-size:1rem;transition:border-color .2s;background:transparent;color:var(--text-color)}.event-form input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #8c8c8c1a}.event-form button{padding:12px;background:var(--accent-color);color:var(--bg-color);border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.event-form button:hover{background:var(--text-color)}.event-list{list-style:none;padding:0;margin:0}.event-list li{display:flex;justify-content:space-between;align-items:center;padding:10px;background:var(--bg-color);margin-bottom:8px;border-radius:6px;font-size:.95rem;color:var(--text-color)}.event-list li button{background:none;border:none;color:var(--input-border);font-size:1.25rem;cursor:pointer;line-height:1}.event-list li button:hover{color:var(--text-color)}.no-events,.select-date-msg{text-align:center;color:var(--secondary-text);padding:20px 0}.summary-page{display:flex;min-height:100vh;background-color:var(--bg-color)}.summary-content{padding:32px;flex:1;width:100%}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.summary-header h1{font-size:2.25rem;color:var(--text-color);margin:0}.summary-date-picker{padding:10px 16px;border:1px solid var(--input-border);border-radius:8px;font-size:1rem;color:var(--secondary-text);outline:none;background:var(--card-bg);box-shadow:0 1px 3px #0000001a}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}@media (max-width: 768px){.summary-content{padding:16px}.summary-header h1{display:none}.summary-header{margin-bottom:24px}}.summary-section{background:var(--card-bg);padding:24px;border-radius:16px;box-shadow:0 4px 6px -1px #0000000d;display:flex;flex-direction:column}.section-title{display:flex;align-items:center;gap:12px;margin-bottom:20px;color:var(--secondary-text);border-bottom:1px solid var(--sidebar-border);padding-bottom:12px}.section-title h2{font-size:1.125rem;margin:0;text-transform:uppercase;letter-spacing:.05em}.section-body{flex:1}.summary-item{background:var(--bg-color);padding:16px;border-radius:12px;margin-bottom:12px}.journal-item h3{font-size:1rem;margin:0 0 8px;color:var(--text-color)}.journal-item p{font-size:.9rem;color:var(--secondary-text);margin:0;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.schedule-item p{margin:0;font-weight:500;color:var(--text-color)}.fin-summary{display:flex;justify-content:space-around;margin-bottom:16px;padding:12px;background:var(--input-bg);border-radius:10px;font-weight:700;font-size:1.125rem}.fin-summary .inc{color:var(--text-color)}.fin-summary .exp{color:var(--secondary-text)}.budget-item{display:flex;justify-content:space-between;align-items:center;font-size:.95rem}.budget-item.income{border-left:4px solid var(--text-color)}.budget-item.expense{border-left:4px solid var(--secondary-text)}.budget-item .amt{font-weight:600}.sleep-main{display:flex;align-items:center;gap:16px;margin-bottom:8px}.sleep-main .duration{font-size:1.75rem;font-weight:800;color:var(--text-color)}.sleep-main .mood{font-size:1.5rem}.sleep-summary .times{font-size:.875rem;color:var(--secondary-text);margin:0}.empty{text-align:center;color:var(--input-border);padding:32px 0;font-size:.95rem;font-style:italic}.loading{text-align:center;padding:100px;font-size:1.25rem;color:var(--secondary-text)}.sleep-page{display:flex;min-height:100vh;background-color:var(--bg-color)}.sleep-content{padding:24px;flex:1;width:100%}.sleep-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:var(--card-bg);padding:24px;border-radius:16px;box-shadow:0 4px 6px -1px #0000000d;text-align:center;border-bottom:4px solid var(--accent-color)}.stat-card h3{font-size:.875rem;color:var(--secondary-text);text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px}.stat-value{font-size:2rem;font-weight:800;color:var(--text-color);margin:0}.sleep-main-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:32px}@media (max-width: 768px){.sleep-main-grid{grid-template-columns:1fr}}.sleep-form-section,.sleep-history-section{background:var(--card-bg);padding:24px;border-radius:16px;box-shadow:0 4px 6px -1px #0000000d}.sleep-form-section h2,.sleep-history-section h2{font-size:1.25rem;color:var(--secondary-text);margin-bottom:24px}.sleep-form{display:flex;flex-direction:column;gap:20px}.input-row{display:flex;gap:16px}.input-group{display:flex;flex-direction:column;gap:8px;flex:1}.input-group label{font-size:.875rem;font-weight:600;color:var(--secondary-text)}.input-group input{padding:10px;border:1px solid var(--input-border);border-radius:8px;font-size:1rem;outline:none;background:transparent;color:var(--text-color)}.quality-selector{display:flex;gap:8px;justify-content:space-between}.quality-selector button{flex:1;padding:10px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;font-size:1.125rem;cursor:pointer;transition:all .2s}.quality-selector button.active{background:var(--hover-bg);border-color:var(--accent-color);transform:translateY(-2px)}.save-log-btn{padding:12px;background:var(--accent-color);color:var(--bg-color);border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s;margin-top:8px}.save-log-btn:hover{background:var(--text-color)}.log-list{display:flex;flex-direction:column;gap:12px}.log-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-color);border-radius:12px;border-left:4px solid var(--accent-color)}.log-info{display:flex;flex-direction:column}.log-date{font-weight:700;color:var(--text-color)}.log-times{font-size:.875rem;color:var(--secondary-text)}.log-stats{display:flex;align-items:center;gap:16px}.log-duration{font-weight:800;color:var(--text-color);font-size:1.125rem}.log-quality{font-size:1.5rem}.delete-btn{background:none;border:none;color:var(--input-border);font-size:1.5rem;cursor:pointer;line-height:1}.delete-btn:hover{color:var(--text-color)}.empty-msg{text-align:center;color:var(--secondary-text);padding:24px 0}.custom-lists-page{display:flex;min-height:100vh;background-color:var(--bg-color)}.custom-lists-content{padding:24px;flex:1;width:100%}h1{font-size:2rem;color:var(--text-color);margin-bottom:32px}.fab{position:fixed;right:40px;bottom:40px;width:64px;height:64px;border-radius:50%;background:var(--accent-color);color:var(--bg-color);border:none;display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 10px 15px -3px #6464644d;transition:transform .2s,background .2s;z-index:100}.fab:hover{transform:scale(1.1);background:var(--text-color)}.list-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.list-modal{background:var(--card-bg);width:90%;max-width:500px;border-radius:20px;padding:32px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;gap:24px}.list-modal h2{margin:0;color:var(--text-color)}.list-modal input{font-size:1.25rem;border:none;border-bottom:2px solid var(--input-border);padding:8px 0;outline:none;background:transparent;color:var(--text-color)}.modal-actions{display:flex;justify-content:flex-end;gap:16px;margin-top:16px}.cancel-btn{padding:12px 24px;background:transparent;border:none;color:var(--secondary-text);font-weight:600;cursor:pointer}.save-btn{padding:12px 24px;background:var(--accent-color);color:var(--bg-color);border:none;border-radius:8px;font-weight:600;cursor:pointer}.save-btn:hover{background:var(--text-color)}.lists-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}.list-card{background:var(--card-bg);padding:24px;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a;height:fit-content;display:flex;flex-direction:column}.list-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.list-card-header h2{font-size:1.25rem;color:var(--text-color);margin:0}.delete-list-btn{background:none;border:none;color:var(--input-border);font-size:1.5rem;cursor:pointer}.delete-list-btn:hover{color:var(--text-color)}.item-input-row{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.item-input-row input{padding:10px 12px;border:1px solid var(--input-border);border-radius:8px;font-size:.95rem;outline:none;background:transparent;color:var(--text-color)}.item-input-row button{width:100%;height:40px;background:var(--accent-color);color:var(--bg-color);border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s}.item-input-row button:hover{background:var(--text-color)}.checklist{list-style:none;padding:0;margin:0}.checklist li{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--sidebar-border)}.checklist li:last-child{border-bottom:none}.checklist li label{display:flex;align-items:center;gap:12px;cursor:pointer;flex:1}.checklist li.completed span{text-decoration:line-through;color:var(--secondary-text)}.remove-item-btn{background:none;border:none;color:var(--input-border);font-size:1.25rem;cursor:pointer;transition:color .2s}.list-card:hover .remove-item-btn{color:var(--input-border)}.remove-item-btn:hover{color:var(--text-color)!important}.empty-msg{grid-column:1 / -1;text-align:center;color:var(--secondary-text);padding:40px}.empty-items{text-align:center;color:var(--secondary-text);font-size:.875rem;padding:12px 0}.profile-container{padding:40px;width:100%;margin:0;min-height:100vh;display:flex;justify-content:center}.profile-header h1{font-size:2.5rem;font-weight:700;margin-bottom:30px;color:var(--text-color)}.profile-card{background:var(--card-bg);border-radius:20px;padding:40px;box-shadow:0 10px 30px #0000000d;border:1px solid var(--sidebar-border);width:100%;max-width:600px}.avatar-section{display:flex;flex-direction:column;align-items:center;margin-bottom:40px;text-align:center}.profile-avatar{width:100px;height:100px;background-color:var(--input-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--secondary-text);overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-name{font-size:1.5rem;font-weight:700;margin:0 0 4px;color:var(--text-color)}.profile-email{color:var(--secondary-text);font-size:.9rem;margin:0}.profile-form{margin-bottom:40px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:10px;font-weight:600;font-size:.9rem}.input-with-icon{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:15px;color:var(--secondary-text)}.profile-form input{width:100%;padding:12px 15px 12px 45px;border-radius:12px;border:1.5px solid var(--input-border);background:var(--input-bg);color:var(--text-color);font-size:1rem;outline:none;transition:border-color .2s}.profile-form input:focus{border-color:var(--accent-color)}.update-btn{width:100%;padding:14px;border:none;border-radius:12px;background:var(--accent-color);color:var(--bg-color);font-weight:600;font-size:1rem;cursor:pointer;transition:opacity .2s}.update-btn:hover{opacity:.9}.update-btn:disabled{opacity:.5;cursor:not-allowed}.success-message{color:var(--text-color);font-size:.9rem;margin-top:10px;text-align:center}.settings-section{border-top:1px solid var(--sidebar-border);padding-top:30px;margin-bottom:30px}.settings-section h3{font-size:1.2rem;margin-bottom:20px;font-weight:600}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:15px;border-radius:12px;cursor:pointer;transition:background .2s}.setting-item:hover{background:var(--hover-bg)}.setting-info{display:flex;align-items:center;gap:15px}.toggle-switch{width:44px;height:24px;background:var(--input-border);border-radius:12px;position:relative;transition:background .3s}.toggle-switch.on{background:var(--accent-color)}.toggle-knob{width:18px;height:18px;background:var(--bg-color);border-radius:50%;position:absolute;top:3px;left:3px;transition:transform .3s}.toggle-switch.on .toggle-knob{transform:translate(20px)}.logout-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px;border:1.5px solid var(--accent-color);border-radius:12px;background:transparent;color:var(--accent-color);font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.logout-btn:hover{background:var(--active-bg)}[data-theme=dark] .profile-card{box-shadow:0 10px 30px #0003}:root{--color-gray-1: #1b1a1a;--color-gray-2: #302c2c;--color-gray-3: #727070;--color-gray-4: #b8b6b6;--color-gray-5: #e5e3e3;--color-gray-6: #f5f4f4;--bg-color: var(--color-gray-6);--text-color: var(--color-gray-1);--sidebar-bg: var(--color-gray-5);--sidebar-border: var(--color-gray-4);--accent-color: var(--color-gray-2);--hover-bg: var(--color-gray-5);--active-bg: var(--color-gray-4);--secondary-text: var(--color-gray-2);--card-bg: var(--color-gray-5);--input-bg: var(--color-gray-6);--input-border: var(--color-gray-3)}*{margin:0;padding:0;box-sizing:border-box;font-family:Montserrat,sans-serif;font-optical-sizing:auto}body{background-color:var(--bg-color);color:var(--text-color);transition:background-color .3s,color .3s}
