.navigation{width:240px;background:#f8f9fa;padding:0;height:100vh;position:fixed;left:0;top:0;display:flex;flex-direction:column;border-right:1px solid #e0e0e0;box-shadow:2px 0 4px #0000000d}.nav-header{padding:20px 16px;border-bottom:1px solid #e0e0e0;background:#fff;display:flex;align-items:center;gap:10px}.nav-header h2{margin:0;font-size:1.25rem;color:#333;font-weight:600}.app-logo{width:36px;height:36px;object-fit:contain;border-radius:6px}.nav-menu{list-style:none;padding:8px 0;margin:0;display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto}.nav-section-label{padding:16px 24px 6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#999;list-style:none}.nav-section-label:not(:first-child){margin-top:8px}.nav-divider{display:none;list-style:none}.nav-item{width:100%;padding:12px 16px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;gap:16px;font-size:.95rem;color:#606060;transition:background-color .2s;text-align:left;position:relative;margin:0 8px;border-radius:8px}.nav-item:hover{background:#f0f0f0;color:#030303}.nav-item.active{background:#e8f0fe;color:#1967d2;font-weight:500}.nav-item.active:before{content:"";position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:3px;height:24px;background:#1967d2;border-radius:0 2px 2px 0}.nav-icon{font-size:1.4rem;width:24px;text-align:center;display:flex;align-items:center;justify-content:center}.nav-label{flex:1;font-weight:inherit}.nav-footer{margin-top:auto;padding:12px 16px;border-top:1px solid #e0e0e0}.nav-footer-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.user-info{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.user-icon{font-size:1.2rem!important;color:#666;flex-shrink:0}.user-email{font-size:.8rem;color:#555;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){.navigation{width:100%;height:auto;position:fixed;bottom:0;left:0;top:auto;border-right:none;box-shadow:0 -2px 8px #00000014;flex-direction:row;justify-content:space-around;padding:6px 0;background:#fff;z-index:100}.nav-header{display:none}.nav-menu{flex-direction:row;justify-content:space-around;width:100%;gap:0;padding:0}.nav-item{flex-direction:column;padding:6px 10px;gap:3px;border-left:none;border-radius:0;margin:0;font-size:.8rem}.nav-section-label{display:none}.nav-divider{display:block;width:1px;background:#e0e0e0;align-self:stretch;margin:6px 0;flex-shrink:0}.nav-item.active{background:transparent;color:#1967d2}.nav-item.active:before{display:none}.nav-icon{font-size:1.3rem}.nav-label{font-size:.7rem}.nav-footer{display:none}}.profile-menu{position:relative}.profile-trigger{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.profile-avatar{width:36px;height:36px;border-radius:50%;background:#1967d2;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:600;-webkit-user-select:none;user-select:none}.profile-dropdown{position:absolute;bottom:calc(100% + 8px);right:0;background:#fff;border-radius:10px;box-shadow:0 4px 20px #00000026;min-width:220px;z-index:1000;overflow:hidden;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.profile-dropdown{bottom:auto;top:calc(100% + 8px)}}.profile-dropdown-header{padding:14px 16px}.profile-dropdown-email{font-size:.85rem;color:#666;word-break:break-all}.profile-dropdown-divider{height:1px;background:#e0e0e0;margin:0}.profile-dropdown-item{width:100%;padding:12px 16px;border:none;background:none;cursor:pointer;display:flex;align-items:center;gap:12px;font-size:.9rem;color:#333;transition:background-color .15s}.profile-dropdown-item:hover{background:#f5f5f5}.profile-dropdown-logout{color:#d32f2f}.profile-dropdown-logout:hover{background:#fef2f2}.profile-dropdown-icon{font-size:1.2rem!important;color:inherit}.password-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.password-modal{background:#fff;border-radius:14px;max-width:420px;width:90vw;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #0003;padding:24px}.password-modal h3{margin:0 0 20px;font-size:1.25rem;color:#333}.password-modal .form-group{margin-bottom:16px}.password-modal label{display:block;font-size:.85rem;color:#555;margin-bottom:6px;font-weight:500}.password-modal input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:.95rem;transition:border-color .2s;box-sizing:border-box}.password-modal input:focus{outline:none;border-color:#1967d2;box-shadow:0 0 0 3px #1967d21a}.password-error{color:#d32f2f;font-size:.85rem;margin:8px 0}.password-success{color:#2e7d32;font-size:.85rem;margin:8px 0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.password-modal .btn-cancel{padding:10px 20px;border:1px solid #ddd;background:#fff;border-radius:8px;cursor:pointer;font-size:.9rem;color:#666;transition:background-color .15s}.password-modal .btn-cancel:hover{background:#f5f5f5}.password-modal .btn-save{padding:10px 20px;border:none;background:#1967d2;color:#fff;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .15s}.password-modal .btn-save:hover{background:#1557b0}.password-modal .btn-save:disabled{opacity:.6;cursor:not-allowed}.transaction-form-container{background:#fff;padding:25px;border-radius:10px;box-shadow:0 4px 6px #0000001a}.transaction-form-container h2{margin-bottom:20px;color:#333;font-size:1.5rem}.transaction-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#555;font-size:.9rem}.form-group input,.form-group select{padding:12px;border:2px solid #e0e0e0;border-radius:5px;font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea}.form-group input.error{border-color:#e74c3c}.error-message{color:#e74c3c;font-size:.85rem;margin-top:-5px}.submit-error{margin-top:-10px;text-align:center;padding:10px;background:#fee;border-radius:5px}.type-toggle{display:flex;gap:10px}.type-button{flex:1;padding:12px;border:2px solid #e0e0e0;border-radius:5px;background:#fff;font-size:1rem;cursor:pointer;transition:all .3s;font-weight:600}.type-button:hover{border-color:#667eea}.type-button.active.expense{background:#fee;border-color:#e74c3c;color:#e74c3c}.type-button.active.income{background:#efe;border-color:#27ae60;color:#27ae60}.submit-button{padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:5px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:10px}.submit-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #667eea66}.submit-button:active{transform:translateY(0)}.form-help-text{font-size:.85rem;color:#666;margin-top:5px;font-style:italic;line-height:1.4}.transaction-item{background:#f8f9fa;border-radius:8px;padding:15px;border-left:4px solid #e0e0e0;transition:all .3s}.transaction-item:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.transaction-item.expense{border-left-color:#e74c3c}.transaction-item.income{border-left-color:#27ae60}.transaction-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:15px}.transaction-icon-wrapper{display:flex;align-items:center;justify-content:center;min-width:40px}.transaction-icon{font-size:28px!important;color:#667eea}.transaction-item.expense .transaction-icon{color:#e74c3c}.transaction-item.income .transaction-icon{color:#27ae60}.transaction-info{flex:1}.transaction-name{font-size:1.1rem;font-weight:600;color:#333;margin-bottom:5px}.transaction-meta{display:flex;gap:10px;font-size:.85rem;color:#666;align-items:center;flex-wrap:wrap}.transaction-separator{color:#bbb}.transaction-category{font-weight:500;color:#555}.transaction-essentiality{padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.transaction-essentiality.essential{background:#d4edda;color:#155724}.transaction-essentiality.discretionary{background:#fff3cd;color:#856404}.transaction-frequency{text-transform:capitalize}.transaction-amount{font-size:1.3rem;font-weight:700}.amount.expense{color:#e74c3c}.amount.income{color:#27ae60}.transaction-actions{display:flex;gap:10px;padding-top:10px;border-top:1px solid #e0e0e0}.edit-button,.delete-button{padding:6px 12px;border:none;border-radius:5px;font-size:.9rem;cursor:pointer;transition:all .2s;font-weight:500}.edit-button{background:#667eea;color:#fff}.edit-button:hover{background:#5568d3}.delete-button{background:#e74c3c;color:#fff}.delete-button:hover{background:#c0392b}.transaction-item.editing{background:#fff;border:2px solid #667eea}.edit-form{width:100%}.edit-form-fields{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr auto;gap:10px;align-items:center}@media (max-width: 1200px){.edit-form-fields{grid-template-columns:1fr 1fr}.edit-actions{grid-column:1 / -1;display:flex;gap:10px}}.edit-input,.edit-select{padding:8px;border:2px solid #e0e0e0;border-radius:5px;font-size:.9rem}.edit-input:focus,.edit-select:focus{outline:none;border-color:#667eea}.amount-input{text-align:right}.edit-actions{display:flex;gap:5px}.save-button,.cancel-button{padding:8px 15px;border:none;border-radius:5px;font-size:.9rem;cursor:pointer;font-weight:500}.save-button{background:#27ae60;color:#fff}.save-button:hover{background:#229954}.cancel-button{background:#95a5a6;color:#fff}.cancel-button:hover{background:#7f8c8d}@media (max-width: 768px){.edit-form-fields{grid-template-columns:1fr}.edit-actions{width:100%;display:flex;gap:10px}.save-button,.cancel-button{flex:1}.transaction-main{flex-wrap:wrap}.transaction-icon-wrapper{order:-1}}.transaction-list-container{background:#fff;padding:25px;border-radius:10px;box-shadow:0 4px 6px #0000001a}.transaction-list-container h2{margin-bottom:25px;color:#333;font-size:1.5rem}.transaction-section{margin-bottom:30px}.transaction-section:last-child{margin-bottom:0}.section-header{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;border-radius:8px;margin-bottom:15px;font-weight:600}.income-header{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-left:4px solid #27ae60}.expense-header{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-left:4px solid #e74c3c}.section-header h3{margin:0;font-size:1.2rem;color:#333;text-transform:uppercase;letter-spacing:.5px}.section-total{font-size:1.1rem;font-weight:700}.income-total{color:#27ae60}.expense-total{color:#e74c3c}.transaction-list{display:flex;flex-direction:column;gap:15px}.section-empty{text-align:center;padding:30px 20px;color:#999;background:#f8f9fa;border-radius:8px;border:2px dashed #dee2e6}.section-empty p{margin:0;font-size:.95rem}.empty-state{text-align:center;padding:60px 20px;color:#999}.empty-state p{font-size:1.1rem}.budget-summary{background:#fff;padding:25px;border-radius:10px;box-shadow:0 4px 6px #0000001a}.budget-summary h2{margin-bottom:20px;color:#333;font-size:1.5rem}.summary-section{margin-bottom:25px}.summary-section:last-child{margin-bottom:0}.summary-section h3{font-size:1.1rem;color:#555;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid #e0e0e0}.summary-row{display:flex;justify-content:space-between;padding:10px 0;font-size:1rem}.summary-row.balance{margin-top:10px;padding-top:15px;border-top:2px solid #e0e0e0;font-weight:700;font-size:1.2rem}.income-amount{color:#27ae60;font-weight:600}.expense-amount{color:#e74c3c;font-weight:600}.frequency-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.frequency-group{background:#f8f9fa;padding:15px;border-radius:8px}.frequency-group h4{font-size:.9rem;color:#666;margin-bottom:10px;text-transform:capitalize}.frequency-item{display:flex;justify-content:space-between;font-size:.9rem;padding:5px 0}@media (max-width: 768px){.frequency-breakdown{grid-template-columns:1fr}}.transactions-page{width:100%;padding:0}.transactions-page h1{color:#030303;margin-bottom:24px;font-size:2rem;font-weight:600}.transactions-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:30px}.transactions-left,.transactions-right{display:flex;flex-direction:column;gap:20px}@media (max-width: 968px){.transactions-layout{grid-template-columns:1fr}}.statistics-page{padding:0}.statistics-page h1{color:#030303;margin-bottom:24px;font-size:2rem;font-weight:600}.statistics-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.stat-card{background:#fff;padding:25px;border-radius:10px;box-shadow:0 4px 6px #0000001a}.stat-card.full-width{grid-column:1 / -1}.stat-card h2{margin:0 0 20px;color:#333;font-size:1.5rem;border-bottom:2px solid #e0e0e0;padding-bottom:15px}.category-list{margin-top:20px;display:flex;flex-direction:column;gap:10px}.category-item{display:flex;align-items:center;gap:10px;padding:8px;background:#f8f9fa;border-radius:5px}.category-color{width:16px;height:16px;border-radius:50%;display:inline-block}.category-name{flex:1;font-weight:500;color:#333}.category-value{font-weight:600;color:#667eea}.empty-chart{text-align:center;padding:60px 20px;color:#999;font-size:1.1rem}.cushion-info{margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:8px;border-left:4px solid #667eea}.cushion-badge{display:flex;align-items:center;gap:15px;margin-bottom:10px}.cushion-label{font-size:1.1rem;font-weight:600;color:#333}.cushion-value{font-size:1.8rem;font-weight:700}.cushion-description{margin:0;color:#666;font-size:.95rem}@media (max-width: 968px){.statistics-grid{grid-template-columns:1fr}.stat-card.full-width{grid-column:1}}.analysis-page{padding:0}.analysis-page h1{color:#030303;margin-bottom:24px;font-size:2rem;font-weight:600}.analysis-section{background:#fff;border-radius:12px;padding:25px;margin-bottom:25px;box-shadow:0 4px 6px #0000001a}.analysis-section h2{display:flex;align-items:center;gap:10px;margin:0 0 20px;color:#333;font-size:1.5rem}.section-icon{font-size:1.8rem!important;color:#667eea}.analysis-card{background:#f8f9fa;border-radius:8px;padding:20px}.metric-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e0e0e0}.metric-row:last-child{border-bottom:none}.metric-label{font-weight:500;color:#666}.metric-value{font-weight:600;font-size:1.1rem;color:#333}.metric-value.good{color:#27ae60}.metric-value.warning{color:#e74c3c}.analysis-result{margin-top:20px;padding-top:20px;border-top:2px solid #e0e0e0}.result-message{display:flex;align-items:center;gap:10px;padding:15px;border-radius:8px;font-weight:500}.result-message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.result-message.warning{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.result-message.info{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.account-inputs{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:25px}.input-group{display:flex;flex-direction:column}.input-group label{font-weight:500;margin-bottom:8px;color:#333}.input-group input{padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s}.input-group input:focus{outline:none;border-color:#667eea}.account-status{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.status-card{background:#f8f9fa;border-radius:8px;padding:20px;border:2px solid #e0e0e0}.status-card.good{border-color:#27ae60;background:#d4edda}.status-card.warning{border-color:#f39c12;background:#fff3cd}.status-card.excess{border-color:#3498db;background:#d1ecf1}.status-header{display:flex;align-items:center;gap:10px;font-weight:600;margin-bottom:15px;color:#333}.status-icon{font-size:1.5rem!important}.status-content{display:flex;flex-direction:column;gap:10px}.status-amount{font-size:1.8rem;font-weight:700;color:#333}.status-requirement{font-size:.9rem;color:#666}.status-message{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px;border-radius:6px;font-size:.9rem}.status-message.success{background:#c3e6cb;color:#155724}.status-message.warning{background:#ffeaa7;color:#856404}.status-message.info{background:#bee5eb;color:#0c5460}.info-text{color:#666;font-style:italic;text-align:center;padding:20px}.rule-description{margin-bottom:25px;color:#666;line-height:1.6}.rule-breakdown{display:flex;flex-direction:column;gap:20px}.rule-item{background:#fff;padding:15px;border-radius:8px;border:1px solid #e0e0e0}.rule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.rule-label{font-weight:500;color:#333}.rule-percentage{font-weight:700;font-size:1.2rem}.rule-percentage.good{color:#27ae60}.rule-percentage.warning{color:#e74c3c}.rule-amount{font-size:1.1rem;color:#666;margin-bottom:10px}.rule-bar{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.rule-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.rule-bar-fill.essentials{background:#3498db}.rule-bar-fill.savings{background:#27ae60}.rule-bar-fill.wants{background:#e74c3c}.result-summary{display:flex;flex-direction:column;gap:10px;margin-top:15px}.summary-item{display:flex;justify-content:space-between;padding:10px;background:#fff;border-radius:6px;font-weight:500}.summary-item .positive{color:#27ae60}.summary-item .negative{color:#e74c3c}.warning-text{display:flex;align-items:center;gap:10px;color:#856404;background:#fff3cd;padding:15px;border-radius:8px;margin-bottom:20px;font-weight:500}.category-list{display:flex;flex-direction:column;gap:15px}.category-item{background:#fff;padding:15px;border-radius:8px;border-left:4px solid #f39c12}.category-item.warning{border-left-color:#e74c3c}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.category-name{font-weight:600;font-size:1.1rem;color:#333}.category-amount{font-weight:700;font-size:1.2rem;color:#e74c3c}.category-details{display:flex;flex-direction:column;gap:5px;font-size:.9rem;color:#666}.over-amount{color:#e74c3c;font-weight:600}@media (max-width: 968px){.account-inputs,.account-status{grid-template-columns:1fr}}.goals-page{padding:0}.goals-page h1{color:#030303;margin-bottom:24px;font-size:2rem;font-weight:600}.quarter-selector{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:24px}.quarter-label{font-size:1.3rem;font-weight:600;color:#333;min-width:100px;text-align:center}.quarter-nav-btn{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;transition:all .2s}.quarter-nav-btn:hover{background:#f0f0f0;color:#333;border-color:#ccc}.progress-overview{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.overview-bar{background:#fff;padding:16px 20px;border-radius:10px;box-shadow:0 4px 6px #0000001a}.overview-bar-info{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:#666}.overview-label{font-size:.9rem;font-weight:500;color:#555;flex:1}.overview-pct{font-size:1.2rem;font-weight:700;color:#555}.overview-pct.ahead{color:#27ae60}.overview-pct.behind{color:#e67e22}.overview-track{height:10px;background:#e8e8e8;border-radius:5px;overflow:visible;position:relative}.overview-fill{height:100%;border-radius:5px;transition:width .4s ease}.overview-fill.quarter-fill{background:linear-gradient(90deg,#bbb,#888)}.overview-fill.progress-fill.ahead{background:linear-gradient(90deg,#27ae60,#2ecc71)}.overview-fill.progress-fill.behind{background:linear-gradient(90deg,#e67e22,#f39c12)}.overview-marker{position:absolute;top:-3px;width:3px;height:16px;background:#555;border-radius:2px;transform:translate(-50%);opacity:.6}@media (max-width: 968px){.progress-overview{grid-template-columns:1fr}}.goals-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.goals-calendar-section .stat-card,.goals-list-section .stat-card{background:#fff;padding:25px;border-radius:10px;box-shadow:0 4px 6px #0000001a}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.calendar-header h2{margin:0;font-size:1.3rem;color:#333;font-weight:600}.cal-nav-btn{background:transparent;border:1px solid #e0e0e0;border-radius:6px;padding:4px;cursor:pointer;display:flex;align-items:center;color:#666;transition:all .2s}.cal-nav-btn:hover:not(:disabled){background:#f0f0f0;color:#333}.cal-nav-btn:disabled{opacity:.3;cursor:not-allowed}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-weekday{text-align:center;font-size:.8rem;font-weight:600;color:#999;padding:8px 0;text-transform:uppercase;letter-spacing:.5px}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:none;background:transparent;border-radius:10px;cursor:pointer;position:relative;font-size:.9rem;color:#333;transition:all .15s;gap:2px;padding:2px}.calendar-day:hover:not(:disabled){background:#f0f4ff}.calendar-day.other-month{color:#ccc;cursor:default}.calendar-day.today{background:#e8f0fe;font-weight:700;color:#1967d2}.calendar-day.selected{background:#1967d2;color:#fff}.calendar-day.selected .day-dot{background:#fff}.calendar-day.goal-highlighted{background:#e6f9ed;color:#1a8a4a;font-weight:600;transition:background .15s,color .15s}.calendar-day.goal-highlighted .day-dot{background:#27ae60}.calendar-day.goal-highlighted.selected{background:#27ae60;color:#fff}.calendar-day.goal-highlighted.selected .day-dot{background:#fff}.day-number{font-size:.85rem;line-height:1}.day-dot{width:5px;height:5px;border-radius:50%;background:#1967d2;position:absolute;bottom:4px}.calendar-hint{margin-top:16px;text-align:center;color:#999;font-size:.85rem}.goals-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.goals-list-header h2{margin:0;font-size:1.5rem;color:#333;font-weight:600}.goals-header-actions{display:flex;gap:8px}.import-goal-btn{display:flex;align-items:center;gap:4px;padding:8px 14px;background:#fff;color:#555;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.import-goal-btn:hover{background:#f5f5f5;border-color:#bbb;color:#333}.add-goal-btn{display:flex;align-items:center;gap:4px;padding:8px 16px;background:#1967d2;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s}.add-goal-btn:hover{background:#1557b0}.goals-loading{text-align:center;padding:40px;color:#999}.goals-empty{text-align:center;padding:40px 20px;color:#999}.goals-empty p{margin-top:12px;font-size:1.05rem}.goals-empty-hint{font-size:.9rem!important;color:#bbb!important}.goals-list{display:flex;flex-direction:column;gap:14px}.goal-card{background:#f8f9fa;border-radius:10px;padding:16px;transition:box-shadow .2s}.goal-card:hover{box-shadow:0 2px 8px #00000014}.goal-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.goal-info{display:flex;align-items:center;gap:10px}.goal-type-icon{font-size:1.5rem!important}.goal-type-icon.boolean{color:#27ae60}.goal-type-icon.numeric{color:#1967d2}.goal-type-icon.small{font-size:1.2rem!important}.goal-name{font-size:1rem;font-weight:600;color:#333;margin:0}.goal-type-label{font-size:.8rem;color:#888}.goal-actions{display:flex;gap:4px}.goal-action-btn{background:transparent;border:none;padding:4px;cursor:pointer;color:#999;border-radius:4px;display:flex;align-items:center;transition:all .15s}.goal-action-btn:hover{color:#666;background:#e8e8e8}.goal-action-btn.delete:hover{color:#e74c3c;background:#fde8e8}.goal-progress{display:flex;flex-direction:column;gap:6px}.progress-bar-bg{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#1967d2,#4285f4);border-radius:4px;transition:width .4s ease}.progress-bar-fill.complete{background:linear-gradient(90deg,#27ae60,#2ecc71)}.progress-stats{display:flex;justify-content:space-between;align-items:center}.progress-text{font-size:.82rem;color:#666}.progress-pct{font-size:.85rem;font-weight:700;color:#1967d2}.progress-pct.complete{color:#27ae60}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background:#fff;border-radius:14px;width:90%;max-width:520px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #eee}.modal-header h2{margin:0;font-size:1.2rem;color:#333;font-weight:600}.modal-close{background:transparent;border:none;cursor:pointer;color:#999;display:flex;padding:4px;border-radius:6px;transition:all .15s}.modal-close:hover{background:#f0f0f0;color:#333}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #eee}.cancel-btn{padding:10px 20px;border:1px solid #ddd;background:#fff;border-radius:8px;cursor:pointer;font-size:.9rem;color:#666;transition:all .15s}.cancel-btn:hover{background:#f5f5f5;border-color:#ccc}.save-btn{padding:10px 24px;border:none;background:#1967d2;color:#fff;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s}.save-btn:hover:not(:disabled){background:#1557b0}.save-btn:disabled{opacity:.6;cursor:not-allowed}.day-entries-list{padding:16px 24px;display:flex;flex-direction:column;gap:14px}.day-entries-empty{padding:30px 24px;text-align:center;color:#999}.day-entry-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#f8f9fa;border-radius:10px;gap:12px}.day-entry-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.day-entry-name{font-weight:500;color:#333;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-entry-input{flex-shrink:0}.toggle-switch{display:flex;align-items:center;gap:10px;cursor:pointer}.toggle-switch input{display:none}.toggle-slider{width:44px;height:24px;background:#ccc;border-radius:12px;position:relative;transition:background .25s;flex-shrink:0}.toggle-slider:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .25s;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-slider{background:#27ae60}.toggle-switch input:checked+.toggle-slider:after{transform:translate(20px)}.toggle-label{font-size:.85rem;color:#666;font-weight:500;min-width:60px}.numeric-input-group{display:flex;align-items:center;gap:6px}.numeric-input{width:80px;padding:8px 10px;border:1px solid #ddd;border-radius:8px;font-size:.95rem;text-align:right;color:#333;transition:border-color .2s}.numeric-input:focus{outline:none;border-color:#1967d2;box-shadow:0 0 0 3px #1967d21a}.numeric-unit{font-size:.85rem;color:#888;font-weight:500}.goal-form{padding:20px 24px 0}.form-group{margin-bottom:18px}.form-group label{display:block;margin-bottom:6px;font-size:.9rem;font-weight:600;color:#555}.form-group input[type=text],.form-group input[type=number]{width:100%;padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-size:.95rem;color:#333;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#1967d2;box-shadow:0 0 0 3px #1967d21a}.type-selector{display:grid;grid-template-columns:1fr 1fr;gap:10px}.type-option{display:flex;align-items:center;gap:10px;padding:14px;border:2px solid #e0e0e0;border-radius:10px;background:#fff;cursor:pointer;text-align:left;transition:all .2s}.type-option:hover{border-color:#bbb}.type-option.active{border-color:#1967d2;background:#f0f6ff}.type-option strong{display:block;font-size:.85rem;color:#333}.type-option small{display:block;font-size:.75rem;color:#888;margin-top:2px}@media (max-width: 968px){.goals-layout,.type-selector{grid-template-columns:1fr}}@media (max-width: 480px){.modal-content{width:95%;max-height:90vh}.day-entry-item{flex-direction:column;align-items:flex-start}.day-entry-input{width:100%;margin-top:8px}}.import-modal{max-width:560px}.import-body{padding:20px 24px;display:flex;flex-direction:column;gap:20px}.import-step{display:flex;flex-direction:column;gap:10px}.import-step-label{font-size:.9rem;font-weight:600;color:#555}.import-step-header{display:flex;align-items:center;justify-content:space-between}.import-select-all{background:none;border:none;color:#1967d2;font-size:.85rem;font-weight:500;cursor:pointer;padding:2px 6px;border-radius:4px;transition:background .15s}.import-select-all:hover{background:#e8f0fe}.import-empty{color:#999;font-size:.9rem;padding:12px 0}.import-quarter-list{display:flex;flex-wrap:wrap;gap:8px}.import-quarter-btn{padding:8px 16px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;font-size:.9rem;font-weight:500;color:#555;transition:all .15s}.import-quarter-btn:hover{border-color:#bbb;color:#333}.import-quarter-btn.active{border-color:#1967d2;background:#e8f0fe;color:#1967d2}.import-goal-list{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.import-goal-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#f8f9fa;border-radius:8px;cursor:pointer;border:2px solid transparent;transition:all .15s}.import-goal-item:hover{background:#f0f4ff}.import-goal-item.selected{border-color:#1967d2;background:#f0f6ff}.import-goal-item input[type=checkbox]{width:18px;height:18px;accent-color:#1967d2;cursor:pointer;flex-shrink:0}.import-goal-details{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.import-goal-name{font-weight:500;color:#333;font-size:.95rem}.import-goal-meta{font-size:.8rem;color:#888;margin-left:4px}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card{background:#fff;border-radius:12px;padding:40px;box-shadow:0 10px 40px #0003;text-align:center;max-width:400px;width:100%}.login-card h1{margin:0 0 10px;color:#333;font-size:2rem}.login-card p{margin:0 0 30px;color:#666;font-size:1rem}.email-form{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-input{padding:12px;border:1px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-input:focus{outline:none;border-color:#667eea}.submit-button{padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s}.submit-button:hover:not(:disabled){opacity:.9}.submit-button:disabled{opacity:.6;cursor:not-allowed}.error-message{color:#f44336;font-size:.9rem;text-align:left;padding:8px;background-color:#ffebee;border-radius:4px}.divider{display:flex;align-items:center;margin:20px 0;color:#999}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid #ddd}.divider span{padding:0 15px}#google-signin-button{display:flex;justify-content:center;margin-bottom:20px}.toggle-auth{margin-top:20px}.toggle-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:.9rem;text-decoration:underline;padding:0}.toggle-button:hover{color:#764ba2}.app{min-height:100vh;background:#f8f9fa}.app-layout{display:flex;min-height:100vh}.app-main{flex:1;margin-left:240px;padding:20px;max-width:calc(100vw - 240px)}.top-bar{display:none}@media (max-width: 968px){.navigation{width:200px}.app-main{margin-left:200px;max-width:calc(100vw - 200px)}}@media (max-width: 768px){.navigation{position:fixed;bottom:0;left:0;width:100%;height:auto;border-right:none;border-top:1px solid #e0e0e0;z-index:100;box-shadow:0 -2px 8px #00000014}.app-main{margin-left:0;max-width:100%;padding:0 16px 80px}.app-layout{flex-direction:column}.nav-menu{flex-direction:row;overflow-x:auto;padding:8px}.nav-item{white-space:nowrap;margin:0 4px}.nav-item.active:before{display:none}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border-bottom:1px solid #e0e0e0;position:sticky;top:0;z-index:50;margin:0 -16px 16px}.top-bar-title{display:flex;align-items:center;gap:8px}.top-bar-logo{width:28px;height:28px;object-fit:contain;border-radius:4px}.top-bar-title h2{margin:0;font-size:1rem;color:#333;font-weight:600}}.loading{text-align:center;padding:40px;color:#666;font-size:1.2rem;background:#fff;border-radius:10px;box-shadow:0 4px 6px #0000001a}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f9fa;min-height:100vh;margin:0;padding:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{width:100%;margin:0}
