body,html{-webkit-overflow-scrolling:touch;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overflow:hidden;position:fixed;-webkit-user-select:none;user-select:none}#root,body,html{height:100%;overscroll-behavior:none;overscroll-behavior-y:none;width:100%}#root{overflow:auto}#root,.page{-webkit-overflow-scrolling:touch}.page{background-color:var(--bg-primary);min-height:calc(100dvh - 70px);overscroll-behavior:none;overscroll-behavior-y:none;padding-bottom:calc(env(safe-area-inset-bottom, 0) + var(--lg));padding-top:calc(env(safe-area-inset-top, 0));position:relative}@media (max-width:767px){.page{min-height:calc(100dvh - 86px)}}.page-container{display:flex;flex-direction:column;gap:var(--xl);margin:0 auto;padding:var(--xl) var(--4xl)}@media (max-width:1440px){.page-container{gap:var(--xl);padding:var(--xl)}}@media (max-width:767px){.page-container{gap:var(--lg);padding:var(--lg)}}@media (max-width:480px){.page-container{padding:var(--lg) var(--md)}}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--gap-md);justify-content:space-between}@media (max-width:767px){.page-header{align-items:flex-start;flex-direction:column}}.page-title{align-items:center;color:var(--text-primary);display:flex;font-weight:700;gap:var(--gap-sm);margin:0}.section-title{color:var(--text-primary);font-weight:500;margin-bottom:var(--sm)}.section-title.large{align-items:center;display:flex;font-weight:600;gap:var(--gap-sm);margin:0}.empty-state{align-items:center;color:var(--text-light);display:flex;flex-direction:column;gap:var(--md);justify-content:center;padding:var(--4xl);text-align:center}.empty-state h3{color:var(--text-body)}.empty-state p{line-height:1.5;margin:0}.groups-section{background-color:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-md);box-shadow:var(--shadow);min-height:400px;padding:var(--xl)}@media (max-width:767px){.groups-section{padding:var(--lg)}}.groups-grid{grid-gap:var(--lg);display:grid;gap:var(--lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}@media (max-width:767px){.groups-grid{gap:var(--md);grid-template-columns:1fr}}.group-card{background-color:var(--bg-light-gray);border:1px solid var(--border-base);border-radius:var(--radius-md);cursor:pointer;overflow:hidden;padding:var(--lg);transition:all .2s ease}@media (max-width:767px){.group-card{padding:var(--md)}}.group-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow)}.group-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--lg)}@media (max-width:480px){.group-header{align-items:flex-start;flex-direction:column;gap:var(--gap-xs)}}.group-name{color:var(--text-primary);flex:1 1;font-weight:600;margin:0;word-break:break-word}.delete-btn{align-items:center;background:none;border:1px solid var(--border-base);border-radius:var(--radius-sm);color:var(--text-danger);cursor:pointer;display:flex;justify-content:center;padding:var(--xs);transition:all .2s ease}.delete-btn:hover{background-color:var(--bg-danger-light);border-color:var(--border-accent-pink)}.stat-card{background-color:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:var(--lg)}@media (max-width:767px){.stat-card{padding:var(--md)}}.stat-value{color:var(--text-primary);font-weight:700;margin-bottom:var(--xs)}.stat-value.spent{color:var(--text-info)}.stat-value.remaining{color:var(--text-warning)}.stat-value.today{color:var(--text-danger)}.stat-value.success{color:var(--text-success)}.stat-value.warning{color:var(--text-warning)}.stat-value.danger{color:var(--text-danger)}.summary-item{align-items:center;display:flex;flex-direction:column;gap:var(--2xs)}.summary-label{color:var(--text-light)}.summary-value{color:var(--text-primary);font-weight:600}.summary-value.success{color:var(--text-success)}.summary-value.warning{color:var(--text-warning)}.summary-value.danger{color:var(--text-danger)}.progress-percentage{color:var(--text-success);font-weight:600;min-width:50px;text-align:right}.progress-percentage.warning{color:var(--text-warning)}.progress-percentage.danger{color:var(--text-danger)}.expense-amount{color:var(--text-primary);font-weight:600}.filters-section{padding:var(--lg)}@media (max-width:767px){.filters-section{padding:var(--md)}}@media (max-width:480px){.filters-section{padding:var(--md)}.expense-details{flex-direction:column;gap:var(--gap-xs)}}#_rht_toaster{inset:calc(env(safe-area-inset-top) + 16px) 16px!important;z-index:var(--z-index-toaster)!important}.coin-badge{background:var(--bg-coin);border-radius:12px;box-shadow:0 2px 4px #ffd7004d;color:var(--text-coin);cursor:pointer;font-size:12px;gap:4px;padding:4px 8px}.coin-badge,.coin-badge-price{align-items:center;display:flex;font-weight:600}.coin-badge-price{background:var(--bg-primary);border-radius:8px;color:var(--text-primary);font-size:10px;gap:2px;opacity:.5;padding:2px 6px}:root{--z-index-top-content:500;--z-index-top-content-fixed:600;--z-index-frame:1000;--z-index-modal-overlay:1500;--z-index-modal-content:2000;--z-index-submodal-overlay:2500;--z-index-submodal-content:3000;--z-index-toaster:10000;--z-index-top-all:200000;--modal-max-width:min(600px,100%);--modal-max-width-sm:min(400px,100%);--radius-none:0px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:100%;--2xs:2px;--xs:4px;--sm:8px;--md:12px;--lg:16px;--xl:24px;--2xl:32px;--3xl:48px;--4xl:64px;--5xl:80px;--6xl:96px;--7xl:112px;--8xl:128px;--gap-xs:4px;--gap-sm:8px;--gap-md:12px;--gap-lg:16px;--font-xxs:10px;--font-xs:12px;--font-sm:14px;--font-base:16px;--font-lg:18px;--font-xl:22px;--font-2xl:28px}:root,[data-theme=light]{--border-base:#e5e7eb;--border-medium:#d1d5db;--border-accent-mint:#a0e7e5;--border-accent-pink:#ffcad4;--border-accent-blue:#c7d2fe;--shadow:0 1px 2px #0000000d;--text-primary:#1a1a1a;--text-body:#374151;--text-light:#999;--text-white:#fff;--text-success:#28a745;--text-danger:#dc3545;--text-warning:#f59e0b;--text-info:#667eea;--bg-white:#fff;--bg-primary:#f5f5f5;--bg-light-gray:#f8f9fa;--bg-success-light:#e6f7e6;--bg-danger-light:#ffe6e6;--bg-warning-light:#fff3cd;--bg-info-light:#e7f3ff;--bg-gradient-primary:linear-gradient(135deg,#667eea,#764ba2)}[data-theme=dark]{--border-base:#374151;--border-medium:#4b5563;--border-accent-mint:#065f46;--border-accent-pink:#7f1d1d;--border-accent-blue:#1e3a8a;--shadow:0 1px 2px #0003;--text-primary:#f9fafb;--text-body:#d1d5db;--text-light:#9ca3af;--text-white:#f9fafb;--text-success:#28a745;--text-danger:#dc3545;--text-warning:#fbbf24;--text-info:#93c5fd;--bg-white:#111827;--bg-primary:#1f2937;--bg-light-gray:#374151;--bg-success-light:#065f46;--bg-danger-light:#7f1d1d;--bg-warning-light:#92400e;--bg-info-light:#1e3a8a;--bg-gradient-primary:linear-gradient(135deg,#4338ca,#7c3aed)}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--bg-white);color:#374151;color:var(--text-body);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.btn{align-items:center;background-color:#fff;background-color:var(--bg-white);border:1px solid #e5e7eb;border:1px solid var(--border-base);border-radius:4px;border-radius:var(--radius-sm);color:#374151;color:var(--text-body);cursor:pointer;display:inline-flex;font-weight:500;gap:4px;gap:var(--gap-xs);justify-content:center;padding:8px 16px;padding:var(--sm) var(--lg);text-decoration:none;transition:all .2s ease;-webkit-user-select:none;user-select:none}.btn:hover{border-color:#d1d5db;border-color:var(--border-medium)}.btn:active,.btn:hover{transform:translateY(0)}.btn:focus{outline-offset:0}.btn-primary{background-color:#28a745;background-color:var(--text-success);border-color:#28a745;border-color:var(--text-success);color:#fff;color:var(--text-white)}.btn-primary:hover{background-color:#219a3a;border-color:#219a3a}.btn-danger{background-color:#dc3545;background-color:var(--text-danger);border-color:#dc3545;border-color:var(--text-danger);color:#fff;color:var(--text-white)}.btn-danger:hover{background-color:#c82333;border-color:#c82333}.btn-sm{padding:4px 8px;padding:var(--xs) var(--sm)}.btn-lg{padding:12px 24px;padding:var(--md) var(--xl)}@media (max-width:767px){.btn{min-height:44px;padding:12px;padding:var(--md)}}input,select,textarea{font-size:14px;font-size:var(--font-sm)}.input{background-color:#fff;background-color:var(--bg-white);border:1px solid #e5e7eb;border:1px solid var(--border-base);border-radius:4px;border-radius:var(--radius-sm);color:#374151;color:var(--text-body);padding:8px 12px;padding:var(--sm) var(--md);transition:border-color .2s ease;width:100%}.input:focus{border-color:#28a745;border-color:var(--text-success);outline:none}.input::placeholder{color:#999;color:var(--text-light);opacity:.5}.input.error{background-color:#ffe6e6;background-color:var(--bg-danger-light);border-color:#dc3545;border-color:var(--text-danger)}@media (max-width:767px){.input{min-height:44px;padding:12px;padding:var(--md)}}.card{background-color:#fff;background-color:var(--bg-white);border:1px solid #e5e7eb;border:1px solid var(--border-base);border-radius:6px;border-radius:var(--radius-md);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow);overflow:hidden}.card-header{background-color:#f8f9fa;background-color:var(--bg-light-gray);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-base)}.card-body,.card-footer,.card-header{padding:16px;padding:var(--lg)}.card-footer{background-color:#f8f9fa;background-color:var(--bg-light-gray);border-top:1px solid #e5e7eb;border-top:1px solid var(--border-base)}.progress-bar{background-color:#f5f5f5;background-color:var(--bg-primary);border-radius:4px;border-radius:var(--radius-sm);height:8px;overflow:hidden;width:100%}.progress-bar.small{flex:1 1;height:6px}.progress-fill{background-color:#28a745;background-color:var(--text-success);border-radius:4px;border-radius:var(--radius-sm);height:100%;transition:width .3s ease}.progress-fill.warning{background-color:#f59e0b;background-color:var(--text-warning)}.progress-fill.danger{background-color:#dc3545;background-color:var(--text-danger)}.chip{align-items:center;background-color:#f5f5f5;background-color:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border-base);border-radius:4px;border-radius:var(--radius-sm);color:#374151;color:var(--text-body);cursor:pointer;display:inline-flex;font-weight:500;padding:4px 8px;padding:var(--xs) var(--sm);transition:all .2s ease}.chip:hover{background-color:#f8f9fa;background-color:var(--bg-light-gray);border-color:#d1d5db;border-color:var(--border-medium)}.chip.selected{background-color:#28a745;background-color:var(--text-success);border-color:#28a745;border-color:var(--text-success);color:#fff;color:var(--text-white)}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:16px;padding:var(--lg);position:fixed;right:0;top:0;z-index:1500;z-index:var(--z-index-modal-overlay)}.modal{background-color:#fff;background-color:var(--bg-white);border-radius:6px;border-radius:var(--radius-md);box-shadow:0 20px 25px -5px #0000001a;max-width:min(600px,100%);max-width:var(--modal-max-width);overflow-y:auto;width:100%}.modal-header{align-items:center;background:#f5f5f5;background:var(--bg-primary);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-base);display:flex;justify-content:space-between;padding:12px 16px;padding:var(--md) var(--lg);position:relative}@media (max-width:767px){.modal-header{padding:12px;padding:var(--md)}}.modal-body{max-height:60vh;overflow-y:auto;padding:16px;padding:var(--lg)}@media (max-width:767px){.modal-body{padding:12px;padding:var(--md)}}.modal-footer{background-color:#f5f5f5;background-color:var(--bg-primary);border-top:1px solid #e5e7eb;border-top:1px solid var(--border-base);display:flex;gap:8px;gap:var(--gap-sm);justify-content:flex-end;padding:12px 16px;padding:var(--md) var(--lg)}@media (max-width:767px){.modal-footer{padding:12px;padding:var(--md)}}.modal-footer.no-padding-top{background-color:initial;border-top:none;padding-top:0}:focus{outline:0 solid #28a745}::selection{color:#1a1a1a}::-webkit-scrollbar-track{background:#f5f5f5}::-webkit-scrollbar-thumb{background:#d1d5db}::-webkit-scrollbar-thumb:hover{background:#999}.text-primary{color:#1a1a1a;color:var(--text-primary)}.text-body{color:#374151;color:var(--text-body)}.text-light{color:#999;color:var(--text-light)}.text-white{color:#fff;color:var(--text-white)}.text-success{color:#28a745;color:var(--text-success)}.text-danger{color:#dc3545;color:var(--text-danger)}.text-warning{color:#f59e0b;color:var(--text-warning)}.text-info{color:#667eea;color:var(--text-info)}.text-display{font-size:28px;font-size:var(--font-2xl);font-weight:700;line-height:1.2}.text-heading{font-size:22px;font-size:var(--font-xl);font-weight:600;line-height:1.25}.text-subheading{font-weight:500}.text-subheading,.text-title{font-size:18px;font-size:var(--font-lg);line-height:1.3}.text-title{font-weight:600}.text-body-large{font-size:16px;font-size:var(--font-base);font-weight:400;line-height:1.5}.text-body{font-weight:400}.text-body,.text-body-bold{font-size:14px;font-size:var(--font-sm);line-height:1.5}.text-body-bold{font-weight:600}.text-btn{line-height:1.2}.text-btn,.text-link{font-size:14px;font-size:var(--font-sm);font-weight:500}.text-link{line-height:1.5;text-decoration:underline}.text-chip{font-size:12px;font-size:var(--font-xs);font-weight:500;line-height:1.2}.text-badge{font-size:10px;font-size:var(--font-xxs);font-weight:500;line-height:1}.text-label{font-size:12px;font-size:var(--font-xs);font-weight:500;line-height:1.4}.text-input{font-size:14px;font-size:var(--font-sm);font-weight:400;line-height:1.5}.text-caption{font-size:12px;font-size:var(--font-xs)}.text-caption,.text-micro{font-weight:400;line-height:1.4}.text-micro{font-size:10px;font-size:var(--font-xxs)}.text-price{font-size:16px;font-size:var(--font-base);font-weight:600;line-height:1.3}.text-price-lg,.text-stat{font-size:18px;font-size:var(--font-lg);font-weight:700;line-height:1.2}.text-percentage{font-size:14px;font-size:var(--font-sm);font-weight:600;line-height:1.2}.bg-white{background-color:#fff;background-color:var(--bg-white)}.bg-primary{background-color:#f5f5f5;background-color:var(--bg-primary)}.bg-light-gray{background-color:#f8f9fa;background-color:var(--bg-light-gray)}.bg-success-light{background-color:#e6f7e6;background-color:var(--bg-success-light)}.bg-danger-light{background-color:#ffe6e6;background-color:var(--bg-danger-light)}.bg-info-light{background-color:#e7f3ff;background-color:var(--bg-info-light)}.border-radius-none{border-radius:0;border-radius:var(--radius-none)}.border-radius-sm{border-radius:4px;border-radius:var(--radius-sm)}.border-radius-md{border-radius:6px;border-radius:var(--radius-md)}.border-radius-lg{border-radius:8px;border-radius:var(--radius-lg)}.border-radius-full{border-radius:100%;border-radius:var(--radius-full)}.shadow{box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.w-full{width:100%}.h-full{height:100%}.gap-xs{gap:4px;gap:var(--gap-xs)}.gap-sm{gap:8px;gap:var(--gap-sm)}.gap-md{gap:12px;gap:var(--gap-md)}.gap-lg{gap:16px;gap:var(--gap-lg)}.p-xs{padding:4px;padding:var(--xs)}.p-sm{padding:8px;padding:var(--sm)}.p-md{padding:12px;padding:var(--md)}.p-lg{padding:16px;padding:var(--lg)}.p-xl{padding:24px;padding:var(--xl)}.m-xs{margin:4px;margin:var(--xs)}.m-sm{margin:8px;margin:var(--sm)}.m-md{margin:12px;margin:var(--md)}.m-lg{margin:16px;margin:var(--lg)}.m-xl{margin:24px;margin:var(--xl)}@media (min-width:768px){:root{--font-xxs:11px;--font-xs:13px;--font-sm:15px;--font-base:17px;--font-lg:20px;--font-xl:24px;--font-2xl:32px}}@media (min-width:1024px){:root{--font-xxs:12px;--font-xs:14px;--font-sm:16px;--font-base:18px;--font-lg:22px;--font-xl:28px;--font-2xl:36px}}.desktop-navigation{align-items:center;background-color:var(--bg-white);border-bottom:1px solid var(--border-base);box-shadow:var(--shadow);display:flex;height:calc(70px + env(safe-area-inset-top, 0));justify-content:space-between;left:0;padding:env(safe-area-inset-top,0) var(--4xl) 0;position:fixed;right:0;top:0;z-index:var(--z-index-frame)}@media (max-width:1440px){.desktop-navigation{padding:env(safe-area-inset-top,0) var(--xl) 0}}@media (max-width:767px){.desktop-navigation{display:none}}@media (min-width:768px){.desktop-navigation{display:flex}}.nav-left{gap:var(--xl)}.desktop-navigation .nav-item,.nav-left,.nav-right{align-items:center;display:flex}.desktop-navigation .nav-item{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-body);font-weight:500;gap:var(--gap-xs);padding:var(--sm) var(--md);text-decoration:none;transition:all .2s ease}.desktop-navigation .nav-item:hover{background-color:var(--bg-light-gray);color:var(--text-primary)}.desktop-navigation .nav-item.active{color:var(--text-success)}.mobile-navigation{align-items:center;background-color:var(--bg-white);border-top:1px solid var(--border-base);bottom:0;box-shadow:0 -1px 2px #0000000d;display:flex;height:70px;justify-content:space-between;left:0;padding:0 var(--sm);position:fixed;right:0;z-index:var(--z-index-frame)}@media (max-width:767px){.mobile-navigation{display:flex;height:86px}}@media (min-width:768px){.mobile-navigation{display:none}}.nav-group{align-items:center;display:flex;gap:var(--gap-sm)}@media (max-width:767px){.nav-group{position:relative;top:-6px}}.nav-group.left,.nav-group.right{flex:1 1}.nav-group.right{justify-content:flex-end}.nav-group.center{justify-content:center}.mobile-navigation .nav-item{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-light);cursor:pointer;display:flex;flex-direction:column;gap:var(--2xs);min-width:60px;padding:var(--xs) var(--sm);text-decoration:none;transition:all .2s ease;white-space:nowrap;width:40%}.mobile-navigation .nav-item:hover{color:var(--text-body)}.mobile-navigation .nav-item.active{color:var(--text-success)}.nav-label{font-weight:500;text-align:center;white-space:nowrap}@media (max-width:370px){.nav-label{white-space:pre-wrap;word-spacing:10px}}.mobile-navigation .nav-item.add-expense-btn-mobile{align-items:center;background-color:var(--text-success);border:none;border-radius:var(--radius-full);box-shadow:var(--shadow);color:var(--text-white);cursor:pointer;display:flex;height:56px;justify-content:center;transition:all .2s ease;width:56px}.add-expense-btn-mobile:hover{background-color:#219a3a;box-shadow:0 4px 8px #00000026;transform:translateY(0)}.add-expense-btn-mobile:active{transform:translateY(0)}.logout-confirm-popup{max-width:var(--modal-max-width-sm)}.logout-confirm-popup .logout-message{color:var(--text-body);line-height:1.5;margin:0 0 var(--lg) 0}.logout-confirm-popup .logout-options{display:flex;flex-direction:column;gap:var(--sm)}.logout-confirm-popup .logout-option{align-items:flex-start;background:#0000;border:1px solid var(--border-base);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--md);padding:var(--md);text-align:left;transition:all .2s ease;width:100%}.logout-confirm-popup .logout-option:hover{background:var(--bg-light-gray);border-color:var(--border-medium)}.logout-confirm-popup .logout-option.all-devices:hover,.logout-confirm-popup .logout-option.current-device:hover{background:var(--bg-info-light);border-color:var(--border-accent-blue)}.logout-confirm-popup .option-icon{align-items:center;background:var(--bg-light-gray);border-radius:var(--radius-full);color:var(--text-light);display:flex;flex-shrink:0;height:36px;justify-content:center;margin-top:var(--2xs);width:36px}.logout-confirm-popup .logout-option.all-devices .option-icon,.logout-confirm-popup .logout-option.current-device .option-icon{background:var(--bg-info-light);color:var(--text-info)}.logout-confirm-popup .logout-option.delete-account .option-icon{background:var(--bg-danger-light);color:var(--text-danger)}.logout-confirm-popup .logout-option.delete-account:hover{background:var(--bg-danger-light);border-color:var(--border-accent-pink)}.logout-confirm-popup .option-content{flex:1 1;min-width:0}.logout-confirm-popup .option-title{color:var(--text-primary);font-weight:600;margin-bottom:var(--2xs)}.logout-confirm-popup .option-description{color:var(--text-light);line-height:1.4}.logout-confirm-popup .cancel-button{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-body);cursor:pointer;font-weight:500;padding:var(--md);transition:all .2s ease;width:100%}.logout-confirm-popup .cancel-button:hover{background:var(--bg-light-gray);border-color:var(--border-medium)}@media (max-width:767px){.logout-confirm-popup .logout-option{padding:var(--sm) var(--md)}.logout-confirm-popup .option-icon{height:32px;width:32px}}.theme-toggle-container{display:flex;flex-direction:column;gap:var(--gap-xs);width:100%}.theme-toggle-label{color:var(--text-body);font-size:.875rem;font-weight:500}.toggle-switch-container{align-items:center;display:flex;gap:var(--gap-sm);margin-top:var(--md)}.toggle-label{color:var(--text-light);cursor:pointer;font-size:.8125rem;font-weight:500;min-width:35px;text-align:center;transition:color .3s ease}.toggle-switch{display:inline-block;height:32px;position:relative;width:60px}.toggle-input{height:0;opacity:0;width:0}.toggle-slider{background:#e5e7eb;border-radius:32px;bottom:0;box-shadow:inset 0 1px 3px #0000001a;cursor:pointer;left:0;right:0;top:0}.toggle-slider,.toggle-thumb{align-items:center;display:flex;position:absolute;transition:all .3s ease}.toggle-thumb{background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;color:#6b7280;height:28px;justify-content:center;left:2px;width:28px}.toggle-input:checked+.toggle-slider{background:#667eea}.toggle-input:checked+.toggle-slider .toggle-thumb{color:#fff;transform:translateX(28px)}.toggle-label.active{color:var(--text-primary);font-weight:600}.theme-toggle-compact{display:flex;width:100%}.theme-toggle-compact .toggle-switch-container{justify-content:center;width:100%}.theme-toggle-container.small .toggle-switch{height:26px;width:50px}.theme-toggle-container.small .toggle-thumb{height:22px;width:22px}.theme-toggle-container.small .toggle-input:checked+.toggle-slider .toggle-thumb{transform:translateX(24px)}.theme-toggle-container.small .toggle-label{font-size:.75rem;min-width:30px}.theme-toggle-container.small .theme-toggle-label{font-size:.8125rem}.theme-toggle-container.large .toggle-switch{height:38px;width:70px}.theme-toggle-container.large .toggle-thumb{height:34px;width:34px}.theme-toggle-container.large .toggle-input:checked+.toggle-slider .toggle-thumb{transform:translateX(32px)}.theme-toggle-container.large .toggle-label{font-size:.9375rem;min-width:40px}.theme-toggle-container.large .theme-toggle-label{font-size:1rem}[data-theme=dark] .toggle-slider{background:#374151}[data-theme=dark] .toggle-thumb{background:#1f2937;color:#9ca3af}[data-theme=dark] .toggle-input:checked+.toggle-slider{background:#667eea}[data-theme=dark] .toggle-input:checked+.toggle-slider .toggle-thumb{background:#fff;color:#374151}[data-theme=dark] .toggle-label{color:var(--text-light)}[data-theme=dark] .toggle-label.active{color:var(--text-primary)}[data-theme=dark] .theme-toggle-label{color:var(--text-body)}.toggle-slider:hover{box-shadow:inset 0 1px 3px #00000026}.toggle-input:checked+.toggle-slider:hover{background:#5a67d8}.toggle-thumb svg{transition:all .3s ease}.toggle-input:checked+.toggle-slider .toggle-thumb svg{transform:rotate(1turn)}.user-menu-popup{max-width:var(--modal-max-width-sm)}.user-menu-popup .close-button{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-light);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.user-menu-popup .close-button:hover{background:var(--bg-light-gray);color:var(--text-body)}.user-menu-popup .user-menu-body{padding:var(--lg)}.user-menu-popup .user-info-section{align-items:center;background:var(--bg-light-gray);border-radius:var(--radius-md);display:flex;gap:var(--md);margin-bottom:var(--lg);padding:var(--lg)}.user-menu-popup .user-avatar.large{align-items:center;background:var(--bg-white);border-radius:var(--radius-full);color:var(--text-light);display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.user-menu-popup .user-details{flex:1 1;min-width:0}.user-menu-popup .user-name{color:var(--text-primary);font-weight:600;margin-bottom:var(--2xs)}.user-menu-popup .user-email{color:var(--text-light);word-break:break-all}.user-menu-popup .user-actions{display:flex;flex-direction:column;gap:var(--sm)}.user-menu-popup .archivement-button,.user-menu-popup .guide-button{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;font-weight:500;gap:var(--gap-sm);padding:var(--sm) var(--md);transition:all .2s ease;width:100%}.user-menu-popup .archivement-button:hover,.user-menu-popup .guide-button:hover{background:var(--bg-light-gray)}.user-menu-popup .logout-button{align-items:center;background:#0000;border:1px solid var(--border-accent-pink);border-radius:var(--radius-sm);color:var(--text-danger);cursor:pointer;display:flex;font-weight:500;gap:var(--gap-sm);margin-top:var(--xs);padding:var(--md);transition:all .2s ease;width:100%}.user-menu-popup .logout-button:hover{background:var(--bg-danger-light);border-color:var(--text-danger)}@media (max-width:767px){.user-menu-popup .user-info-section{margin-bottom:var(--md);padding:var(--md)}.user-menu-popup .user-avatar.large{height:40px;width:40px}}.login-popup{max-width:var(--modal-max-width-sm)}.close-button{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-light);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.close-button:hover{background:var(--bg-light-gray);color:var(--text-body)}.login-description{color:var(--text-body);line-height:1.5;margin:0 0 var(--lg);text-align:center}.login-buttons{display:flex;flex-direction:column;gap:var(--md)}.login-provider-button{align-items:center;border:1px solid var(--border-base);border-radius:var(--radius-sm);cursor:pointer;display:flex;font-weight:500;gap:var(--gap-md);justify-content:center;min-height:48px;padding:var(--md) var(--lg);transition:all .2s ease}.login-provider-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.login-provider-button.google{background-color:#4285f4;border-color:#4285f4;color:#fff}.login-provider-button.google:hover:not(:disabled){background:#357ae8;border-color:#357ae8}.login-provider-button.apple{background-color:#000;border-color:#000;color:#fff}.login-provider-button.apple:hover:not(:disabled){background:#333;border-color:#333}.login-provider-button.guest{background-color:var(--bg-white);border-color:var(--border-base);color:var(--text-body)}.login-provider-button.guest:hover:not(:disabled){background:var(--bg-light-gray);border-color:var(--border-medium)}.spinning{animation:spin 1s linear infinite}.login-benefits{background:var(--bg-light-gray);border-radius:var(--radius-sm);margin-bottom:var(--lg);padding:var(--md)}.login-benefits h4{color:var(--text-primary);font-weight:600;margin:0 0 var(--sm)}.login-benefits ul{list-style:none;margin:0;padding:0}.login-benefits li{color:var(--text-body);line-height:1.4;margin-bottom:var(--xs)}.login-benefits li:last-child{margin-bottom:0}.login-footer{border-top:1px solid var(--border-base);margin-top:var(--sm);padding:var(--sm) var(--lg) 0;text-align:center}.login-footer p{color:var(--text-light);line-height:1.4;margin:0}.archivement-link,.guide-link{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-success);cursor:pointer;display:inline-flex;font-weight:500;gap:var(--gap-xs);padding:var(--sm) var(--md);text-decoration:none;transition:all .2s ease}.archivement-link:hover,.guide-link:hover,.link-button{text-decoration:underline}.link-button{background:none;border:none;color:var(--text-success);cursor:pointer;font-family:inherit;padding:0}.link-button:hover{color:var(--text-primary)}@media (max-width:767px){.login-provider-button{min-height:44px;padding:var(--sm) var(--md)}.login-benefits{padding:var(--sm)}.login-footer{padding:var(--md) var(--md) 0}.archivement-link,.guide-link{padding:var(--xs) var(--sm)}}:root{--rdp-accent-color:var(--text-success,#28a745);--rdp-day-height:32px;--rdp-day-width:32px;--rdp-font-size:var(--font-sm);--rdp-border-radius:4px}.datepicker-container{position:relative;width:100%}.datepicker-input{align-items:center;background-color:#fff;background-color:var(--bg-white,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-base,#e5e7eb);border-radius:4px;border-radius:var(--radius-sm,4px);color:#374151;color:var(--text-body,#374151);cursor:pointer;display:flex;font-size:var(--font-sm);font-size:var(--rdp-font-size);justify-content:space-between;min-height:35.5px;padding:8px 12px;padding:var(--sm,8px) var(--md,12px);transition:border-color .2s ease;width:100%}.datepicker-input:hover:not(.disabled){border-color:#d1d5db;border-color:var(--border-medium,#d1d5db)}.datepicker-input:focus-within:not(.disabled){border-color:#28a745;border-color:var(--text-success,#28a745);outline:none}.datepicker-input.disabled{background-color:#f8f9fa;background-color:var(--bg-light-gray,#f8f9fa);color:#999;color:var(--text-light,#999);cursor:not-allowed}.datepicker-value{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.datepicker-icon{color:#999;color:var(--text-light,#999);display:none;flex-shrink:0;height:16px;margin-left:4px;margin-left:var(--xs,4px);width:16px}.datepicker-modal{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--z-index-submodal-overlay)}.datepicker-modal-overlay{background-color:#00000080;bottom:0;left:0;position:absolute;right:0;top:0}.datepicker-modal-content{position:relative;z-index:var(--z-index-submodal-content)}.datepicker-dropdown{border:1px solid #e5e7eb;border:1px solid var(--border-base,#e5e7eb);overflow:hidden}.datepicker-calendar,.datepicker-dropdown{background:#fff;background:var(--bg-white,#fff);border-radius:6px;border-radius:var(--radius-md,6px);box-shadow:0 4px 12px #0000001a}.datepicker-calendar{max-width:320px;padding:12px;padding:var(--md,12px);position:relative;width:100%}.rdp-root{--rdp-accent-color:var(--text-success,#28a745);--rdp-background-color:var(--bg-white,#fff);--rdp-accent-color-dark:#1e7e34;font-family:inherit;font-size:var(--font-sm);font-size:var(--rdp-font-size);width:100%}.rdp-month_grid{border-collapse:collapse;table-layout:fixed;width:100%}.rdp-month-caption{font-size:var(--font-base);justify-content:center;position:relative}.rdp-month-caption .rdp-caption_label{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:var(--font-base);font-weight:600;position:relative;z-index:1}.rdp-nav{align-items:flex-start;display:flex;gap:var(--xs);justify-content:right;left:0;position:absolute;right:var(--md);top:var(--md);z-index:10}.rdp-button_next,.rdp-button_previous{align-items:center;background:#0000;background:var(--bg-light-gray);border:none;border-radius:4px;border-radius:var(--radius-sm,4px);color:#999;color:var(--text-light,#999);cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;pointer-events:auto;transition:all .2s ease;width:32px}.rdp-button_next:hover,.rdp-button_previous:hover{background:#f8f9fa;background:var(--bg-primary,#f8f9fa);color:#374151;color:var(--text-body,#374151)}.rdp-button_next:focus,.rdp-button_previous:focus{outline:2px solid #28a745;outline:2px solid var(--rdp-accent-color);outline-offset:-2px}.rdp-button_next:disabled,.rdp-button_previous:disabled{cursor:not-allowed;opacity:.3}.rdp-button_next:disabled:hover,.rdp-button_previous:disabled:hover{background:#0000;color:#999;color:var(--text-light,#999)}.rdp-chevron{fill:currentColor;height:16px;width:16px}.rdp-month-caption{align-items:center;color:#1a1a1a;color:var(--text-primary,#1a1a1a);display:flex;font-weight:600;justify-content:space-between;margin-bottom:12px;margin-bottom:var(--md,12px);padding:0 4px;padding:0 var(--xs,4px);width:100%}.rdp-button_next:active,.rdp-button_previous:active{background:#e5e7eb;background:var(--border-base,#e5e7eb);transform:scale(.95)}.rdp-month-caption:hover .rdp-button_next,.rdp-month-caption:hover .rdp-button_previous{opacity:1}.rdp-weekdays{margin-bottom:4px;margin-bottom:var(--xs,4px);width:100%}.rdp-weekdays .rdp-week{display:table-row}.rdp-weekday{color:#999;color:var(--text-light,#999);display:table-cell;font-size:var(--font-xs);font-weight:500;min-width:32px;min-width:var(--rdp-day-width);padding:4px;padding:var(--xs,4px);text-align:center;width:14.28571%}.rdp-week{display:table-row;width:100%}.rdp-day{display:table-cell;height:32px;height:var(--rdp-day-height);padding:2px;text-align:center;vertical-align:middle;width:14.28571%}.rdp-day-button{align-items:center;background:#0000;border:none;border-radius:4px;border-radius:var(--rdp-border-radius);color:#374151;color:var(--text-body,#374151);cursor:pointer;display:flex;font-size:var(--font-sm);font-size:var(--rdp-font-size);font-weight:400;height:100%;justify-content:center;min-height:32px;min-height:var(--rdp-day-height);transition:all .2s ease;width:100%}.rdp-day-button:hover:not(.rdp-disabled){background:#f8f9fa;background:var(--bg-light-gray,#f8f9fa)}.rdp-day-button:focus{outline:2px solid #28a745;outline:2px solid var(--rdp-accent-color);outline-offset:-2px}.rdp-today .rdp-day-button{background:#e7f3ff;background:var(--bg-info-light,#e7f3ff);color:#667eea;color:var(--text-info,#667eea);font-weight:500}.rdp-range-start .rdp-day-button,.rdp-selected .rdp-day-button{background:#28a745!important;background:var(--rdp-accent-color)!important;color:#fff!important;color:var(--text-white,#fff)!important;font-weight:500}.rdp-range-start .rdp-day-button{border-radius:4px 0 0 4px!important;border-radius:var(--rdp-border-radius) 0 0 var(--rdp-border-radius)!important}.rdp-range-end .rdp-day-button{background:#28a745!important;background:var(--rdp-accent-color)!important;border-radius:0 4px 4px 0!important;border-radius:0 var(--rdp-border-radius) var(--rdp-border-radius) 0!important;color:#fff!important;color:var(--text-white,#fff)!important;font-weight:500}.rdp-range-middle .rdp-day-button{background:#28a7451a!important;border-radius:0!important;color:#28a745!important;color:var(--rdp-accent-color)!important}.rdp-range-start.rdp-range-end .rdp-day-button{border-radius:4px!important;border-radius:var(--rdp-border-radius)!important}.rdp-outside .rdp-day-button{color:#999;color:var(--text-light,#999);opacity:.5}.rdp-disabled .rdp-day-button{color:#999;color:var(--text-light,#999);cursor:not-allowed;opacity:.3}.rdp-disabled .rdp-day-button:hover{background:#0000}.datepicker-footer{border-top:1px solid #e5e7eb;border-top:1px solid var(--border-base,#e5e7eb);display:flex;gap:8px;gap:var(--sm,8px);justify-content:space-between;margin-top:12px;margin-top:var(--md,12px);padding-top:12px;padding-top:var(--md,12px)}.datepicker-clear-btn,.datepicker-close-btn{background:#fff;background:var(--bg-white,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-base,#e5e7eb);border-radius:4px;border-radius:var(--radius-sm,4px);color:#374151;color:var(--text-body,#374151);cursor:pointer;font-size:var(--font-sm);font-size:var(--rdp-font-size);font-weight:500;padding:var(--sm) var(--lg);transition:all .2s ease}.datepicker-clear-btn:hover,.datepicker-close-btn:hover{border-color:#d1d5db;border-color:var(--border-medium,#d1d5db);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow,0 1px 2px #0000000d)}.datepicker-close-btn{background:#28a745;background:var(--rdp-accent-color);border-color:#28a745;border-color:var(--rdp-accent-color);color:#fff;color:var(--text-white,#fff)}.datepicker-close-btn:hover{background:#1e7e34;background:var(--rdp-accent-color-dark,#1e7e34);border-color:#1e7e34;border-color:var(--rdp-accent-color-dark,#1e7e34)}@media (max-width:767px){.datepicker-calendar{max-width:100%;max-width:300px;padding:8px;padding:var(--sm,8px);width:calc(100vw - 32px)}.rdp-month-caption{font-size:var(--font-sm)}.datepicker-modal-content{display:flex;justify-content:center;margin:12px;margin:var(--md,12px);max-width:calc(100vw - 24px);width:100%}:root{--rdp-day-height:36px;--rdp-day-width:36px}.rdp-button_next,.rdp-button_previous{height:28px;width:28px}.rdp-chevron{height:14px;width:14px}.datepicker-input{height:43px;padding:12px;padding:var(--md,12px)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.datepicker-modal-content{animation:fadeIn .2s ease-out}.datepicker-dropdown{animation:fadeIn .15s ease-out}.no-group-popup .popup-icon{align-items:center;border-radius:var(--radius-md);color:linear-gradient(135deg,#667eea,#764ba2);display:flex;height:24px;justify-content:center;width:24px}.no-group-popup .popup-close-btn{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-light);cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:var(--md);top:var(--md);transition:all .2s ease;width:32px}.no-group-popup .popup-close-btn:hover{background-color:var(--bg-light-gray);color:var(--text-body)}.no-group-popup .popup-description{color:var(--text-body);line-height:1.5;margin:0 0 var(--lg) 0}.no-group-popup .popup-example{background-color:var(--bg-light-gray);border-radius:var(--radius-md);padding:var(--md)}.no-group-popup .example-title{color:var(--text-primary);font-weight:600;margin:0 0 var(--sm) 0}.no-group-popup .example-list{display:flex;flex-direction:column;gap:var(--gap-xs)}.no-group-popup .example-item{align-items:center;display:flex;justify-content:space-between;padding:var(--xs) 0}.no-group-popup .example-name{color:var(--text-body);font-weight:500}.no-group-popup .example-budget{color:var(--text-success);font-weight:600}.no-group-popup .popup-cancel-btn{font-weight:500;justify-content:center;padding:var(--sm) var(--md)}.no-group-popup .popup-create-btn{align-items:center;display:flex;gap:var(--gap-xs);justify-content:center;padding:var(--sm) var(--md)}@media (max-width:767px){.no-group-popup .popup-icon{height:40px;width:40px}}@media (max-width:480px){.no-group-popup .popup-example{padding:var(--md)}}.amount-input-container{position:relative;width:100%}.amount-input-container .input{width:100%}.amount-input-container .input[readonly]{cursor:pointer}.amount-input-container .input[readonly]:focus{border-color:var(--text-success);box-shadow:0 0 0 2px #28a74533;outline:none}.expense-form{gap:var(--md)}.expense-form,.form-group{display:flex;flex-direction:column}.form-group{gap:var(--xs)}.form-label{align-items:center;color:var(--text-primary);display:flex;font-weight:500;gap:var(--gap-xs)}.daily-spent-info{color:var(--text-light)}.daily-spent-info b{color:var(--text-success)}.group-chips{display:flex;flex-wrap:wrap;gap:var(--gap-sm)}@media (max-width:480px){.group-chips{gap:var(--gap-xs)}}.group-progress{background-color:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-sm);padding:var(--md)}.expense-popup .group-progress{padding:var(--sm)}.expense-popup .progress-label{font-weight:400}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--sm)}.progress-label{color:var(--text-primary);font-weight:500}.progress-text{color:var(--text-light)}.error-message{color:var(--text-danger);font-weight:500}.suggestions{border-top:1px solid var(--border-base);margin-top:var(--xl);padding-top:var(--lg)}.suggestion-section{margin-bottom:var(--lg)}.suggestion-section:last-child{margin-bottom:0}.suggestion-title{color:var(--text-primary);font-weight:500;margin-bottom:var(--sm)}.suggestion-chips{display:flex;flex-wrap:wrap;gap:var(--gap-sm)}@media (max-width:480px){.suggestion-chips{gap:var(--gap-xs)}}.recent-expenses{display:flex;flex-direction:column;gap:var(--gap-xs)}.recent-expense-item{align-items:center;background-color:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-sm);cursor:pointer;display:flex;justify-content:space-between;padding:var(--sm) var(--md);transition:all .2s ease}.recent-expense-item:hover{background-color:var(--bg-light-gray);border-color:var(--border-medium)}.close-btn,.recent-expense-group{color:var(--text-light)}.close-btn{background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;padding:var(--xs);transition:all .2s ease}.close-btn:hover{background-color:var(--bg-light-gray);color:var(--text-primary)}.confirm-dialog{max-width:var(--modal-max-width-sm)}.header-content{gap:var(--gap-md)}.header-content,.icon-wrapper{align-items:center;display:flex}.icon-wrapper{border-radius:var(--radius-md);height:32px;justify-content:center;width:32px}.icon-wrapper.warning{background-color:var(--bg-warning-light);color:var(--text-warning)}.icon-wrapper.danger{background-color:var(--bg-danger-light);color:var(--text-danger)}.icon-wrapper.info{background-color:var(--bg-info-light);color:var(--text-info)}.confirm-message{color:var(--text-body);line-height:1.5;margin:0}.layout{background-color:var(--bg-white);display:flex;flex-direction:column;min-height:100dvh}.layout,.main-content{-webkit-overflow-scrolling:touch;overscroll-behavior:none;overscroll-behavior-y:none}.main-content{flex:1 1;padding-bottom:80px;padding-top:60px;position:relative}@media (max-width:767px){.main-content{padding-bottom:70px;padding-top:0}}@media (min-width:768px){.main-content{padding-bottom:0;padding-top:70px}}.version-checker-dialog{max-width:var(--modal-max-width-sm)}.version-info{color:var(--text-body);margin:var(--sm) 0}.version-info strong{color:var(--text-primary)}.version-description{background:var(--bg-light-gray);border-radius:var(--radius-sm);margin:var(--md) 0;padding:var(--md)}.update-message,.version-description{color:var(--text-body);line-height:1.5}.update-message{text-align:center}.version-checker-actions{display:flex;gap:var(--md);justify-content:space-between;padding:var(--md) var(--lg) var(--lg)}.version-checker-actions .btn-primary,.version-checker-actions .btn-secondary{border:none;border-radius:var(--radius-sm);cursor:pointer;flex:1 1;font-weight:500;padding:var(--md);transition:all .2s ease}.version-checker-actions .btn-secondary{background:var(--bg-light-gray);border:1px solid var(--border-base);color:var(--text-body)}.version-checker-actions .btn-secondary:hover{background:var(--border-base)}.version-checker-actions .btn-primary{background:var(--text-success);color:#fff}.version-checker-actions .btn-primary:hover{background:#22c55e;transform:translateY(0)}.version-checker-actions .btn-full-width{width:100%}.btn-primary.loading{pointer-events:none;position:relative}.btn-primary.loading:after{animation:spin 1s ease-in-out infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;content:"";height:16px;margin:-10px 0 0 10px;position:absolute;top:50%;width:16px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pwa-installer{bottom:var(--xl);position:fixed;right:var(--lg);z-index:var(--z-index-top-content-fixed)}.pwa-installer__content{align-items:center;background:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-md);box-shadow:var(--shadow);display:flex;gap:var(--gap-md);padding:var(--md);position:relative;width:calc(100% - var(--xl) - 52px)}.pwa-installer__icon{flex-shrink:0}.pwa-installer__text{flex:1 1;min-width:0}.pwa-installer__text h4{color:var(--text-primary);font-weight:600;line-height:1.3;margin:0 0 var(--2xs) 0}.pwa-installer__text p{color:var(--text-light);line-height:1.4;margin:0}.pwa-installer__button{background:var(--text-success);border:none;border-radius:var(--radius-sm);color:var(--text-white);cursor:pointer;flex-shrink:0;font-weight:500;padding:var(--xs) var(--sm);transition:all .2s ease}.pwa-installer__button:hover{background:#218838}.pwa-installer__close{background:var(--bg-primary);border:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;flex-shrink:0;font-weight:500;padding:var(--xs) var(--sm);transition:all .2s ease}.pwa-installer__close:hover{background:var(--bg-light-gray);color:var(--text-primary)}@media (max-width:767px){.pwa-installer{display:none}.pwa-installer__content{gap:var(--gap-sm);padding:var(--sm)}.pwa-installer__button{padding:var(--xs) var(--sm)}}.review-popup.modal{max-width:var(--modal-max-width-sm)}.review-popup-message{text-wrap:pretty;color:var(--text-body);margin:0}.review-popup-message strong{color:var(--text-success);font-weight:600}.review-popup-footer{display:flex;flex-direction:column;gap:var(--md);justify-content:center}.review-popup-footer>div{flex-direction:row;flex-wrap:nowrap;gap:var(--sm)}.review-popup-button,.review-popup-footer>div{align-items:center;display:flex;justify-content:center}.review-popup-button{border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:500;min-height:44px;min-width:80px;padding:var(--sm) var(--md);transition:all .2s ease;width:100%}.review-popup-button-tertiary{background:#0000;border:1px solid var(--border-medium);color:var(--text-light)}.review-popup-button-secondary,.review-popup-button-tertiary:hover{background:var(--bg-light-gray);color:var(--text-body)}.review-popup-button-secondary{border:1px solid var(--border-medium)}.review-popup-button-secondary:hover{background:var(--border-medium)}.review-popup-button-primary{background:var(--text-success);color:var(--text-white)}.review-popup-button-primary:hover{background:#22a844;transform:translateY(0)}.review-popup-button:active{transform:translateY(0)}@media (max-width:767px){.review-popup-button{min-height:40px;padding:var(--xs) var(--sm)}}.chatbot-icon-container{align-items:center;bottom:var(--xl);display:flex;justify-content:center;opacity:.5;position:fixed;right:var(--xl);transition:all .2s ease;z-index:var(--z-index-top-content-fixed)}.chatbot-icon-container:hover{opacity:1}.chatbot-floating-wrapper{align-items:center;display:flex;justify-content:center;position:relative}@media (max-width:767px){.chatbot-icon-container{bottom:calc(86px + var(--lg));height:52px;right:var(--lg);width:52px}}.chatbot-pulse-ring{border:2px solid var(--text-success);border-radius:50%;height:80px;position:absolute;width:80px;z-index:-1}.chatbot-icon-btn{align-items:center;border:none;border-radius:50%;box-shadow:var(--shadow),0 4px 20px #28a7454d;cursor:pointer;display:flex;height:56px;justify-content:center;overflow:hidden;position:relative;transition:box-shadow .3s ease;width:56px}.chatbot-icon-btn:hover{box-shadow:var(--shadow),0 8px 30px #28a74566}.chatbot-icon-btn.active{box-shadow:var(--shadow),0 6px 25px #28a74580}.chatbot-icon-bg{background:linear-gradient(135deg,var(--text-success) 0,#20b058 50%,var(--text-success) 100%);border-radius:50%;bottom:0;left:0;position:absolute;right:0;top:0;z-index:0}.chatbot-icon-btn.active .chatbot-icon-bg{background:linear-gradient(135deg,#ff6b6b,#ee5a24 50%,#ff6b6b)}.chatbot-sparkle{color:#fffc;height:12px;position:absolute;right:8px;top:8px;transform-origin:center center;width:12px;z-index:2}.chatbot-main-icon,.chatbot-sparkle{align-items:center;display:flex;justify-content:center}.chatbot-main-icon{color:#fff;position:relative;z-index:1}.chatbot-notification-dot{background:#ff4757;border:2px solid #fff;border-radius:50%;height:12px;position:absolute;right:9px;top:9px;width:12px;z-index:3}.chatbot-tooltip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border-radius:var(--radius-sm);bottom:100%;color:#fff;margin-bottom:var(--sm);opacity:0;padding:var(--xs) var(--sm);pointer-events:none;position:absolute;right:0;transform:translateY(10px) scale(.8);transition:all .2s ease;white-space:nowrap}.chatbot-icon-container:hover .chatbot-tooltip{opacity:1;transform:translateY(-5px) scale(1)}.tooltip-arrow{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid #000c;height:0;position:absolute;right:16px;top:100%;width:0}@media (max-width:767px){.chatbot-icon-btn{height:52px;width:52px}.chatbot-pulse-ring{height:72px;width:72px}.chatbot-tooltip{display:none}}@media (prefers-color-scheme:dark){.chatbot-icon-btn{box-shadow:var(--shadow),0 4px 20px #28a74566}.chatbot-tooltip{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff1a;color:#fff}.tooltip-arrow{border-top-color:#ffffff1a}}.chatbot-icon-btn:focus{box-shadow:var(--shadow),0 0 0 3px #28a7454d;outline:none}@media (prefers-reduced-motion:reduce){.chatbot-icon-container,.chatbot-main-icon,.chatbot-pulse-ring,.chatbot-sparkle{animation:none!important;transition:none!important}.chatbot-icon-btn:hover{transform:none!important}}.chatbot-header-info{align-items:center;display:flex;gap:var(--sm)}.chatbot-header-info>div{align-items:center;display:flex;gap:var(--lg)}.chatbot-avatar{background:var(--bg-success-light);border-radius:var(--radius-full);height:36px;width:36px}.chatbot-avatar,.chatbot-overlay .close-btn{align-items:center;display:flex;justify-content:center}.chatbot-overlay .close-btn{background:#0000;border:none;border-radius:var(--radius-sm);cursor:pointer;height:32px;transition:all .2s ease;width:32px}.chatbot-overlay .close-btn:hover{background:var(--border-base)}.chatbot-overlay .modal-footer{flex-direction:column}.chatbot-messages{display:flex;flex:1 1;flex-direction:column;gap:var(--md);overflow-y:auto;padding:var(--md)}.chatbot-overlay .message{align-items:flex-start;display:flex;gap:var(--sm)}.chatbot-overlay .user-message{flex-direction:row-reverse}.chatbot-overlay .message-avatar{align-items:center;background:var(--bg-light-gray);border-radius:var(--radius-full);display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.chatbot-overlay .bot-message .message-avatar{background:var(--bg-success-light)}.chatbot-overlay .user-message .message-avatar{background:var(--bg-warning-light)}.chatbot-overlay .message-content{display:flex;flex-direction:column;gap:var(--xs);max-width:max(260px,75%)}.chatbot-overlay .user-message .message-content{align-items:flex-end}.chatbot-overlay .message-bubble{background:var(--bg-light-gray);border-radius:var(--radius-md);padding:var(--sm) var(--md);position:relative}.chatbot-overlay .message-text{word-wrap:break-word;line-height:1.5;white-space:pre-wrap}.chatbot-overlay .markdown-content{line-height:1.6}.chatbot-overlay .markdown-content.streaming{position:relative}.chatbot-overlay .markdown-content .streaming-code{animation:streaming-glow 2s ease-in-out infinite;background:linear-gradient(90deg,var(--bg-light-gray),var(--bg-success-light));border-left:3px solid var(--text-success)}@keyframes streaming-glow{0%,to{opacity:1}50%{opacity:.8}}.chatbot-overlay .markdown-content .markdown-p{margin:0}.chatbot-overlay .markdown-content .markdown-h1,.chatbot-overlay .markdown-content .markdown-h2{font-weight:600;margin:var(--sm) 0 var(--xs) 0}.chatbot-overlay .markdown-content .markdown-h3{font-weight:600;margin:var(--xs) 0 var(--2xs) 0}.chatbot-overlay .markdown-content .markdown-bold{font-weight:600}.chatbot-overlay .markdown-content .markdown-italic{font-style:italic}.chatbot-overlay .markdown-content .markdown-code{background:var(--bg-light-gray);border-radius:var(--radius-sm);font-family:Courier New,monospace;padding:2px 4px}.chatbot-overlay .markdown-content .markdown-code-block{background:var(--bg-light-gray);border:1px solid var(--border-base);border-radius:var(--radius-sm);margin:var(--xs) 0;overflow-x:auto;padding:var(--sm)}.chatbot-overlay .markdown-content .markdown-code-block code{font-family:Courier New,monospace;white-space:pre}.chatbot-overlay .markdown-content .markdown-ol,.chatbot-overlay .markdown-content .markdown-ul{list-style:none;margin:var(--sm) 0;padding-left:var(--lg)}.chatbot-overlay .markdown-content .markdown-ol>br,.chatbot-overlay .markdown-content .markdown-ul>br{display:none}.chatbot-overlay .markdown-content .markdown-ol{counter-reset:markdown-counter}.chatbot-overlay .markdown-content .markdown-li,.chatbot-overlay .markdown-content .markdown-li-numbered{display:list-item;list-style:disc;margin:var(--xs) 0;position:relative}.chatbot-overlay .message-bubble.loading{align-items:center;display:flex;gap:var(--xs)}.chatbot-overlay .loading-spinner{animation:spin 1s linear infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.chatbot-overlay .message-time{opacity:.7}.chatbot-overlay .chatbot-input{background:var(--bg-primary);border-top:1px solid var(--border-base);padding:var(--md) var(--lg)}.chatbot-overlay .quick-suggestions{background:#0000;border:none;display:flex;flex-wrap:wrap;gap:var(--gap-sm);justify-content:flex-end;margin:var(--md) 0}.chatbot-overlay .quick-suggestions .chip{background:var(--bg-white);border:1px solid var(--border-medium);text-align:left;transition:all .2s ease}.chatbot-overlay .quick-suggestions .chip:hover:not(:disabled){background:var(--bg-success-light);border-color:var(--text-success)}.chatbot-overlay .suggestion-btn{background:var(--bg-light-gray);border:1px solid var(--border-base);border-radius:var(--radius-md);cursor:pointer;padding:var(--sm) var(--md);text-align:left;transition:all .2s ease}.chatbot-overlay .suggestion-btn:hover:not(:disabled){background:var(--bg-success-light);border-color:var(--text-success)}.chatbot-overlay .suggestion-btn:disabled{cursor:not-allowed;opacity:.5}.chatbot-overlay .input-container{align-items:flex-end;display:flex;gap:var(--sm);width:100%}.chatbot-overlay .message-input{background:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-md);flex:1 1;font-family:inherit;line-height:1.4;outline:none;padding:var(--sm) var(--md);resize:none;transition:border-color .2s ease}.chatbot-overlay .message-input:focus{border-color:var(--text-success)}.chatbot-overlay .message-input:disabled{cursor:default;opacity:.5}.chatbot-overlay .send-btn{height:39px;min-height:37px}@media (max-width:767px){.chatbot-overlay .send-btn{height:37px}}.chatbot-overlay .send-btn:disabled{background-color:var(--border-base);border-color:var(--border-base);color:var(--text-primary);cursor:default}.chatbot-overlay .message.has-context{position:relative}.chatbot-overlay .context-indicator{font-style:italic;margin-bottom:var(--xs);opacity:.8}.chatbot-overlay .conversation-limit-notice{background:var(--bg-info-light);border:1px solid var(--border-accent-blue);border-radius:var(--radius-sm);margin-bottom:var(--sm);padding:var(--sm) var(--md);text-align:center}.chatbot-overlay .message-input::placeholder{color:var(--text-light);font-style:italic}.chatbot-overlay .message.has-context .message-bubble{animation:contextPulse .3s ease-in-out}@keyframes contextPulse{0%{box-shadow:0 0 0 0 #22c55e66;transform:scale(1)}50%{box-shadow:0 0 0 4px #22c55e33;transform:scale(1.02)}to{box-shadow:0 0 0 0 #22c55e00;transform:scale(1)}}[data-theme=dark] .chatbot-window{background:var(--bg-white)}[data-theme=dark] .chatbot-header{background:var(--bg-primary);border-bottom-color:var(--border-base)}[data-theme=dark] .chatbot-overlay .message-bubble{background:var(--bg-light-gray)}[data-theme=dark] .chatbot-overlay .message-input{background:var(--bg-light-gray);border-color:var(--border-base)}[data-theme=dark] .chatbot-overlay .chatbot-input{background:var(--bg-primary);border-top-color:var(--border-base)}[data-theme=dark] .chatbot-overlay .suggestion-btn{background:var(--bg-light-gray);border-color:var(--border-base)}[data-theme=dark] .chatbot-overlay .suggestion-btn:hover:not(:disabled){background:var(--bg-success-light);border-color:var(--text-success)}[data-theme=dark] .chatbot-overlay .markdown-content .markdown-code{background:var(--bg-primary);border:1px solid var(--border-base)}[data-theme=dark] .chatbot-overlay .markdown-content .markdown-code-block{background:var(--bg-primary);border-color:var(--border-base)}[data-theme=dark] .chatbot-overlay .conversation-limit-notice{background:#677eea1a;border-color:#677eea4d;color:var(--text-body)}[data-theme=dark] .chatbot-overlay .context-indicator{color:var(--text-light)}.chatbot-overlay .confirmation-buttons{display:flex;gap:var(--sm);justify-content:center}.chatbot-overlay .confirmation-buttons .btn{border-radius:var(--radius-sm);flex:1 1;min-height:0;padding:var(--sm) var(--md);transition:all .2s ease}.chatbot-overlay .confirmation-buttons .btn:disabled{cursor:default;opacity:.5}.key-display{align-items:center;background:linear-gradient(135deg,gold,orange);border-radius:12px;box-shadow:0 2px 4px #ffd7004d;color:#8b4513;display:inline-flex;font-weight:600;gap:4px;overflow:visible;position:relative;transition:all .2s ease;-webkit-user-select:none;user-select:none}.key-display.clickable{cursor:pointer}.key-display.clickable:hover{background:linear-gradient(135deg,#ffe55c,#ffb84d);box-shadow:0 4px 8px #ffd70066}.key-display.using-key{animation:keyShake .5s ease-in-out}@keyframes keyShake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}20%,40%,60%,80%{transform:translateX(2px)}}.key-display-sm{border-radius:8px;font-size:14px;padding:2px 6px}.key-display-md{border-radius:10px;font-size:14px;padding:4px 8px}.key-display-lg{border-radius:12px;font-size:14px;padding:6px 10px}.key-count{font-weight:700;line-height:1;transition:color .2s ease}.key-display.using-key .key-count{color:#ff6b6b}.key-label{font-size:.9em;margin-left:2px;opacity:.8}.key-display.key-received .key-count{animation:keyPop .7s cubic-bezier(.4,1.4,.6,1);color:gold;text-shadow:0 0 8px #ffe066,0 0 2px #fff}@keyframes keyPop{0%{color:#8b4513;text-shadow:none;transform:scale(1)}30%{color:gold;text-shadow:0 0 8px #ffe066,0 0 2px #fff;transform:scale(1.3)}60%{transform:scale(1.1)}to{color:#8b4513;text-shadow:none;transform:scale(1)}}@media (prefers-color-scheme:dark){.key-display{box-shadow:0 2px 4px #ffd70033}.key-display.clickable:hover{box-shadow:0 4px 8px #ffd7004d}}.calculator-overlay{align-items:flex-end;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--z-index-submodal-overlay)}.calculator{background:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow);max-width:320px;overflow:hidden;width:100%}.calculator-display{background:var(--bg-light-gray);border-bottom:1px solid var(--border-base);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--lg)}.calculator .display-expression{color:var(--text-light);font-size:14px;margin-bottom:var(--xs);min-height:20px;text-align:right;word-break:break-all}.calculator .display-result{color:var(--text-primary);font-size:24px;font-weight:600;min-height:32px;text-align:right;word-break:break-all}.calculator-buttons{grid-gap:1px;background:var(--border-base);display:grid;gap:1px;grid-template-columns:repeat(4,1fr);padding:1px}.calculator .calc-btn{align-items:center;background:var(--bg-white);border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:18px;font-weight:500;justify-content:center;min-height:56px;outline:none;padding:var(--md);transition:background-color .15s ease-out;-webkit-user-select:none;user-select:none}@media (hover:hover) and (pointer:fine){.calculator .calc-btn:hover{background:var(--bg-light-gray)}.calculator .calc-btn.operator:hover{background:var(--bg-success-light)}.calculator .calc-btn.clear:hover{background:#ffe1e1}.calculator .calc-btn.backspace:hover{background:#deeaff}.calculator .calc-btn.confirm:hover{background:#1e7e34}}.calculator .calc-btn:active{background:var(--bg-light-gray)}.calculator .calc-btn.operator{background:var(--bg-primary);color:var(--text-success);font-weight:600;transition:background-color .15s ease-out}.calculator .calc-btn.operator:active{background:var(--bg-success-light)}.calculator .calc-btn.clear{background:var(--bg-danger-light);color:var(--text-danger);font-weight:600;transition:background-color .15s ease-out}.calculator .calc-btn.clear:active{background:#ffe1e1}.calculator .calc-btn.backspace{background:var(--bg-info-light);color:var(--text-info);font-weight:600;transition:background-color .15s ease-out}.calculator .calc-btn.backspace:active{background:#deeaff}.calculator .calc-btn.confirm{background:var(--text-success);color:var(--text-white);font-weight:600;grid-row:span 2;transition:background-color .15s ease-out}.calculator .calc-btn.confirm:active{background:#1e7e34}.calculator .calc-btn.zero{grid-column:span 2}@media (min-width:768px){.calculator-overlay{align-items:center;justify-content:center}.calculator{border-radius:var(--radius-lg)}.calculator-display{border-radius:var(--radius-lg) var(--radius-lg) 0 0}}.calculator .calc-btn:focus-visible{outline:2px solid var(--text-success);outline-offset:-2px}@media (max-width:767px){.calculator{border:none;border-radius:0;max-width:100%}.calculator-display{border-radius:0}.calc-btn.confirm,.calc-btn.zero,.calc-btn.zero+.calc-btn{padding-bottom:calc(var(--md) + env(safe-area-inset-bottom, 0))}}@media (prefers-contrast:high){.calculator{border:2px solid var(--text-primary)}.calculator .calc-btn{border:1px solid var(--border-medium)}}@media (prefers-reduced-motion:reduce){.calculator .calc-btn{transition:none}}.shop-modal-overlay .shop-modal .close-btn{background:none;border:none;border-radius:var(--radius-sm);color:var(--text-light);cursor:pointer;padding:var(--xs);transition:background .2s}.shop-modal-overlay .shop-modal .close-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.shop-modal-overlay .shop-header-content>div{align-items:center;display:flex;flex-direction:row;gap:var(--md)}.shop-modal-overlay .modal-body{max-height:70vh}.shop-modal-overlay .earn-methods{display:flex;flex-direction:column;gap:var(--md)}.shop-modal-overlay .earn-item{align-items:center;border:1px solid var(--border-base);border-radius:var(--radius-md);box-shadow:var(--shadow);display:flex;gap:var(--md);padding:var(--md);transition:box-shadow .2s,background .2s}.shop-modal-overlay .earn-icon{align-items:center;background:var(--bg-success-light);border-radius:var(--radius-full);box-shadow:var(--shadow);color:var(--text-success);display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.shop-modal-overlay .earn-content{display:flex;flex:1 1;flex-direction:column;gap:var(--2xs)}.shop-modal-overlay .btn.btn-sm.btn-primary{background:var(--text-success);border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow);color:var(--text-white);display:flex;flex-direction:column;min-width:64px;padding:var(--xs) 0;transition:background .2s}.shop-modal-overlay .btn.btn-sm.btn-primary:disabled{background:var(--text-light);color:var(--text-white);cursor:default;opacity:.7}.shop-modal-overlay .btn.btn-sm.btn-primary:hover:not(:disabled){background-color:#219a3a;border-color:#219a3a}.shop-modal-overlay .buy-section{margin-top:var(--md)}.shop-modal-overlay .purchase-packages{grid-gap:var(--md);display:grid;gap:var(--md);grid-template-columns:repeat(3,1fr)}.shop-modal-overlay .package-item{background:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:var(--md);position:relative;transition:border .2s,box-shadow .2s}.shop-modal-overlay .package-content{align-items:center;display:flex;flex-direction:column;gap:var(--sm);text-align:center}.shop-modal-overlay .coins-amount{align-items:center;color:var(--text-success);display:flex;gap:var(--xs);justify-content:center;margin-bottom:2px}.shop-modal-overlay .package-price{color:var(--text-primary);margin-bottom:0}.shop-modal-overlay .price-vnd{color:var(--text-primary);letter-spacing:.5px}.shop-modal-overlay .package-btn{align-items:center;background:var(--text-success);border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow);color:var(--text-white);display:flex;flex-direction:row;gap:var(--xs);gap:var(--sm);justify-content:center;margin-top:var(--2xs);padding:var(--sm) 0;transition:background .2s;width:100%}.shop-modal-overlay .package-btn .buy-text{display:flex;gap:var(--xs)}.shop-modal-overlay .package-btn:disabled{background:var(--text-light);color:var(--text-white);cursor:default;opacity:.7}.shop-modal-overlay .package-btn:hover:not(:disabled){background-color:#219a3a;border-color:#219a3a}.shop-modal-overlay .shop-short-desc{color:var(--text-light);margin-bottom:var(--md);text-align:center}.shop-modal-overlay .earn-desc,.shop-modal-overlay .package-desc{color:var(--text-light);line-height:1.4;margin-bottom:2px}@media (max-width:767px){.shop-modal-overlay .purchase-packages{gap:var(--sm);grid-template-columns:1fr}.shop-modal-overlay .earn-item{gap:var(--sm);padding:var(--sm)}}@media (max-width:480px){.shop-modal-overlay .package-item{padding:var(--sm)}.shop-modal-overlay .earn-icon{height:28px;width:28px}}.referral-icon{align-items:center;background:var(--bg-success-light);border-radius:var(--radius-md);color:var(--text-success);display:flex;height:48px;justify-content:center;width:48px}.referral-link-section{display:flex;flex-direction:column;gap:var(--sm)}.referral-link-container{align-items:stretch;display:flex;gap:var(--sm)}.referral-link-input{background:var(--bg-light-gray);border:1px solid var(--border-base);border-radius:var(--radius-sm);color:var(--text-body);flex:1 1;min-width:0;padding:var(--sm) var(--md)}.referral-link-input:focus{border-color:var(--border-accent-blue);outline:none}.referral-share-btn{align-items:center;display:flex;gap:var(--xs);justify-content:center;min-width:80px;white-space:nowrap}.referral-list-section{display:flex;flex-direction:column;gap:var(--md)}.referral-list-title{align-items:center;display:flex;gap:var(--md);margin-top:var(--md)}.referral-empty-state{align-items:center;display:flex;flex-direction:column;gap:var(--sm);padding:var(--xl) var(--md);text-align:center}.empty-icon{margin-bottom:var(--sm);opacity:.3}.referral-list{display:flex;flex-direction:column;gap:var(--sm);max-height:calc(70vh - 280px);overflow-y:auto}.referral-item{align-items:center;background:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-md);display:flex;gap:var(--md);justify-content:space-between;padding:var(--sm) var(--md)}.referral-more{opacity:.7;padding:var(--sm)}.referral-item-date{opacity:.7}.referral-loading-state{align-items:center;display:flex;justify-content:center;padding:var(--xl);text-align:center}@media (max-width:480px){.referral-icon{height:40px;width:40px}.referral-link-container{flex-direction:column;gap:var(--sm)}.referral-share-btn{width:100%}.referral-item{padding:var(--sm) var(--md)}}.calendar-report{width:100%}.calendar-report .calendar-grid{grid-gap:1px;background-color:var(--border-base);border-radius:var(--radius-md);display:grid;gap:1px;grid-template-columns:repeat(7,1fr);overflow:hidden}.calendar-report .calendar-header{background-color:var(--bg-primary);color:var(--text-body);font-size:var(--font-sm);font-weight:500;padding:var(--xs);text-align:center}.calendar-report .calendar-day{align-items:center;background-color:var(--bg-white);cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:50px;padding:var(--xs);position:relative;transition:background-color .2s ease}.calendar-report .calendar-day:hover:not(.empty){background-color:var(--bg-light-gray)}.calendar-report .calendar-day.empty{cursor:default}.calendar-report .calendar-day.today{background-color:var(--bg-info-light);font-weight:600}.calendar-report .day-number{color:var(--text-primary);font-size:var(--font-sm);font-weight:500;margin-bottom:2px}.calendar-report .day-amount{color:var(--text-body);font-size:var(--font-xs);font-weight:500;text-align:center}.calendar-report .calendar-day.good .day-amount{color:var(--text-success)}.calendar-report .calendar-day.warning .day-amount{color:var(--text-warning)}.calendar-report .calendar-day.danger .day-amount{color:var(--text-danger)}@media (max-width:767px){.calendar-report .calendar-day{min-height:40px;padding:2px}.calendar-report .day-number{font-size:var(--font-xs);margin-bottom:1px}.calendar-report .day-amount{font-size:var(--font-xxs)}.calendar-report .calendar-header{padding:4px 2px}}.financial-chart{background-color:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:var(--xl)}@media (max-width:767px){.financial-chart{padding:var(--lg)}}.financial-chart .chart-title-container{align-items:center;display:flex;gap:var(--gap-md);justify-content:space-between;margin-bottom:var(--md)}@media (max-width:767px){.financial-chart .chart-title-container{width:100%}}.financial-chart .chart-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--gap-md);justify-content:space-between;margin-bottom:var(--lg)}.financial-chart .chart-controls{align-items:flex-end;display:flex;flex-direction:column;gap:var(--gap-sm)}.financial-chart .view-mode-switch{background-color:var(--bg-light-gray);border:1px solid var(--border-base);border-radius:var(--radius-sm);display:flex;gap:var(--gap-xs);padding:2px}.financial-chart .switch-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-body);cursor:pointer;display:flex;font-size:12px;gap:var(--gap-xs);padding:var(--xs) var(--sm);transition:all .2s ease;white-space:nowrap}.financial-chart .switch-btn:hover{background-color:var(--bg-white)}.financial-chart .switch-btn.active{background-color:var(--bg-white);box-shadow:0 1px 2px #0000001a;color:var(--text-primary);font-weight:500}@media (max-width:767px){.financial-chart .chart-header{align-items:flex-start;flex-direction:column;gap:var(--gap-sm)}.financial-chart .chart-controls{align-items:flex-start;flex-direction:column;width:100%}.financial-chart .view-mode-switch{align-self:flex-start}.financial-chart .switch-btn{font-size:11px;padding:6px var(--xs)}}.financial-chart .chart-title{color:var(--text-primary);font-weight:600;margin:0 0 var(--xs) 0}.financial-chart .chart-legend{display:flex;flex-wrap:wrap;gap:var(--gap-md)}@media (max-width:767px){.financial-chart .chart-legend{gap:var(--gap-sm)}}.financial-chart .legend-item{align-items:center;color:var(--text-body);display:flex;gap:var(--gap-xs)}.financial-chart .legend-color{border-radius:var(--radius-sm);height:12px;width:12px}.financial-chart .legend-color.actual{background-color:#28a745}.financial-chart .legend-color.forecast{background-color:#667eea}.financial-chart .legend-color.budget{background-color:#a0e7e5}.financial-chart .legend-color.good{background-color:var(--text-success)}.financial-chart .legend-color.warning{background-color:var(--text-warning)}.financial-chart .legend-color.danger{background-color:var(--text-danger)}.financial-chart .chart-container{margin-bottom:var(--lg)}.chart-tooltip{background-color:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:var(--sm)}.tooltip-label{color:var(--text-primary);margin:0 0 var(--xs) 0}.tooltip-item,.tooltip-label{font-size:var(--font-xs);font-weight:500}.tooltip-item{margin:0}.chart-summary{border-top:1px solid var(--border-base);display:flex;flex-wrap:wrap;gap:var(--gap-md);justify-content:space-between;padding-top:var(--md)}@media (max-width:767px){.financial-chart .chart-summary{gap:var(--gap-sm)}}.financial-chart .summary-value.budget{color:#a0e7e5}.financial-chart .summary-value.forecast{color:#667eea}.guide-section{display:flex;flex-direction:column;width:100%}.guide-section .guide-header{flex-shrink:0;margin-bottom:var(--lg);text-align:center}.guide-section .guide-welcome{align-items:center;display:flex;gap:var(--gap-sm);justify-content:center}.guide-section .guide-login-button-container{display:flex;flex-direction:column;margin-top:var(--md)}.guide-section .guide-login-button-container .login-button{align-self:center}.guide-section .guide-title{color:var(--text-primary);font-weight:700;line-height:1.2;margin:0}.guide-section .guide-main-content{grid-gap:var(--xl);align-items:start;display:grid;gap:var(--xl);grid-template-columns:1fr 1fr}.guide-section .guide-steps{margin-bottom:var(--2xl)}.guide-section .steps-title{margin:0 0 var(--lg) 0}.guide-section .steps-container{display:flex;flex-direction:column;gap:var(--gap-md)}.guide-section .step-card{background-color:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-md);cursor:pointer;overflow:hidden;padding:var(--lg);position:relative;transition:all .3s ease}.guide-section .step-card.actionable:hover{border-color:var(--border-accent-blue);box-shadow:0 4px 12px #677eea1a}.guide-section .step-card.active{background-color:#fafbff;border-color:var(--border-accent-blue)}.guide-section .step-card:not(.actionable){cursor:default;opacity:.7}.guide-section .step-header{align-items:center;display:flex;gap:var(--gap-md)}.guide-section .step-icon{align-items:center;border-radius:var(--radius-md);display:flex;flex-shrink:0;height:40px;justify-content:center;transition:all .3s ease;width:40px}.guide-section .step-icon.primary{background-color:#e7f3ff;color:var(--text-info)}.guide-section .step-icon.success{background-color:var(--bg-success-light);color:var(--text-success)}.guide-section .step-icon.info{background-color:#e7f3ff;color:var(--text-info)}.guide-section .step-icon.warning{background-color:#fff7e6;color:var(--text-warning)}.guide-section .step-icon.secondary{background-color:var(--bg-light-gray);color:var(--text-light)}.guide-section .step-info{flex:1 1}.guide-section .step-title{color:var(--text-primary);font-weight:600;line-height:1.3;margin:0 0 var(--2xs) 0}.guide-section .step-description{color:var(--text-light);line-height:1.4;margin:0}.guide-section .step-number{align-items:center;background-color:var(--bg-primary);border-radius:var(--radius-full);color:var(--text-light);display:flex;flex-shrink:0;font-weight:600;height:24px;justify-content:center;width:24px}.guide-section .step-card.active .step-number{background-color:var(--text-info);color:#fff}.guide-section .step-detail{border-top:1px solid var(--border-base);margin-top:var(--md);padding-top:var(--md)}.guide-section .step-detail-text{color:var(--text-body);font-style:italic;line-height:1.5;margin:0 0 var(--md) 0}.guide-section .step-action-btn{align-items:center;display:flex;font-weight:500;gap:var(--gap-xs);padding:var(--xs) var(--md)}.guide-section .guide-actions{text-align:center}.guide-section .actions-title{color:var(--text-primary);font-weight:600;margin:0 0 var(--lg) 0}.guide-section .quick-actions{display:flex;flex-wrap:wrap;gap:var(--gap-md);justify-content:center}.guide-section .quick-action-btn{align-items:center;display:flex;font-weight:500;gap:var(--gap-xs);justify-content:center;min-width:160px;padding:var(--md) var(--lg)}.guide-section .guide-required-step,.guide-section .required-step-card{height:-webkit-fit-content;height:fit-content}.guide-section .required-step-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:var(--radius-sm);color:#fff;overflow:hidden;padding:var(--lg);position:relative;text-align:center}@keyframes shimmer{0%,to{transform:rotate(0deg)}50%{transform:rotate(180deg)}}.guide-section .required-step-header{align-items:center;display:flex;gap:var(--gap-md);margin-bottom:var(--md);position:relative;z-index:1}.guide-section .required-step-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fff3;border-radius:var(--radius-md);display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.guide-section .required-step-info{flex:1 1;text-align:left}.guide-section .required-step-title{font-weight:700;line-height:1.2;margin:0 0 var(--2xs) 0}.guide-section .required-step-description{color:#fff;line-height:1.4;margin:0;opacity:.9}.guide-section .required-step-btn{align-items:center;background-color:#fff;border:none;color:#667eea;display:flex;font-weight:600;gap:var(--gap-xs);justify-content:center;margin:0 auto;max-width:200px;padding:var(--md) var(--lg);position:relative;width:100%;z-index:1}.guide-section .required-step-btn:hover{background-color:#f8f9ff;box-shadow:0 4px 12px #667eea4d;transform:translateY(0)}.guide-section .guide-steps{height:-webkit-fit-content;height:fit-content}.guide-section .steps-title{color:var(--text-primary);font-weight:600;margin:0 0 var(--md) 0;text-align:center}.guide-section .steps-list{display:flex;flex-direction:column;gap:var(--gap-sm)}.guide-section .guide-step-item{align-items:center;background-color:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-sm);display:flex;gap:var(--gap-sm);padding:var(--lg);transition:all .3s ease}.guide-section .guide-step-item.optional{opacity:.8}.guide-section .step-item-icon{align-items:center;background-color:var(--bg-light-gray);border-radius:var(--radius-sm);color:var(--text-body);display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.guide-section .step-item-content{flex:1 1;min-width:0}.guide-section .step-item-title{align-items:center;color:var(--text-primary);display:flex;font-weight:600;gap:var(--gap-sm);line-height:1.3;margin:0 0 var(--2xs) 0}.guide-section .required-badge{align-items:center;background-color:var(--text-info);border-radius:var(--radius-sm);color:var(--text-white);display:flex;font-weight:600;height:18px;justify-content:center;min-width:18px;padding:2px 6px;white-space:nowrap}.guide-section .step-item-description{color:var(--text-light);line-height:1.3;margin:0}@media (max-width:1024px){.guide-section .guide-main-content{gap:var(--lg)}}@media (max-width:767px){.guide-section{padding:var(--md)}.guide-section .guide-main-content{gap:var(--lg);grid-template-columns:1fr}.guide-section .required-step-card{padding:var(--md)}.guide-section .required-step-header{flex-direction:column;gap:var(--gap-sm);text-align:center}.guide-section .required-step-info{text-align:center}.guide-section .required-step-btn{max-width:180px}.guide-section .steps-title{text-align:center}.guide-section .guide-step-item{padding:var(--md)}.guide-section .step-item-icon{height:28px;width:28px}}@media (max-width:480px){.guide-section{padding:var(--sm)}.guide-section .guide-header{margin-bottom:var(--md)}.guide-section .guide-main-content{gap:var(--md)}.guide-section .required-step-card{padding:var(--md) var(--sm)}.guide-section .required-step-icon{height:36px;width:36px}.guide-section .steps-list{gap:var(--gap-xs)}.guide-section .guide-step-item{padding:var(--md)}.guide-section .step-item-icon{height:24px;width:24px}}.dashboard .finish-plan-btn{white-space:nowrap}.dashboard .daily-simple-card{background-color:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-md);box-shadow:var(--shadow);margin-bottom:0;padding:var(--xl)}.dashboard .simple-card-content{align-items:center;display:flex;gap:var(--gap-lg);justify-content:space-between;margin-bottom:var(--lg)}.dashboard .spending-main{flex:1 1}.dashboard .spending-today{margin-bottom:var(--md)}.dashboard .spending-label{color:var(--text-light);font-weight:500;margin:0 0 var(--xs) 0}.dashboard .spending-amount{color:var(--text-primary);font-weight:700;line-height:1.2;transition:color .3s ease}.dashboard .spending-amount.success{color:var(--text-success)}.dashboard .spending-amount.warning{color:var(--text-warning)}.dashboard .spending-amount.danger{color:var(--text-danger)}.dashboard .spending-suggestion{align-items:center;display:flex;gap:var(--gap-xs)}.dashboard .suggestion-label{color:var(--text-light);font-weight:500}.dashboard .suggestion-amount{color:var(--text-primary);font-weight:600}.dashboard .simple-add-btn{align-items:center;border-radius:var(--radius-full);display:flex;flex-shrink:0;height:48px;justify-content:center;padding:0;width:48px}.dashboard .simple-progress-container{margin-top:var(--md)}.dashboard .simple-progress-bar{background-color:var(--bg-light-gray);border-radius:var(--radius-sm);height:8px;margin-bottom:var(--sm);overflow:hidden;width:100%}.dashboard .simple-progress-fill{border-radius:var(--radius-sm);height:100%;transition:width .6s ease-in-out,background-color .3s ease}.dashboard .simple-progress-fill.normal{background-color:var(--text-success)}.dashboard .simple-progress-fill.warning{background-color:var(--text-warning)}.dashboard .simple-progress-fill.over-budget{background-color:var(--text-danger)}.dashboard .progress-info{display:flex;justify-content:center}.dashboard .progress-text{color:var(--text-light);font-weight:500}@media (max-width:767px){.dashboard .spending-suggestion{align-items:flex-start;flex-direction:column}.dashboard .daily-simple-card{margin-bottom:0;padding:var(--lg)}.dashboard .simple-card-content{gap:var(--gap-md)}.dashboard .simple-add-btn{height:44px;width:44px}}.dashboard .forecast-alert{align-items:flex-start;background-color:var(--bg-danger-light);border:1px solid var(--border-accent-pink);border-radius:var(--radius-md);color:var(--text-danger);display:flex;gap:var(--gap-sm);padding:var(--lg)}[data-theme=dark] .dashboard .forecast-alert{color:var(--text-white)}.dashboard .alert-content h4{font-weight:600;margin:0 0 var(--xs) 0}.dashboard .alert-content p{margin:0}.dashboard .section-header{margin-bottom:var(--lg)}.dashboard .groups-list{display:flex;flex-wrap:wrap;gap:var(--gap-sm)}@media (min-width:768px){.dashboard .groups-list.single-item .group-row{flex:1 1 100%}.dashboard .groups-list.multiple-items .group-row{flex:1 1 calc(50% - var(--gap-sm)/2)}}@media (max-width:767px){.dashboard .groups-list{flex-direction:column}}.dashboard .group-row{background-color:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-md);padding:var(--xl);transition:all .2s ease}.dashboard .group-row.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.dashboard .group-row-main{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--sm)}.dashboard .group-info{display:flex;flex-direction:column;gap:var(--2xs)}.dashboard .group-name{color:var(--text-primary);font-weight:600;line-height:1.3;margin:0}.dashboard .expense-count{color:var(--text-light);font-weight:500}.dashboard .group-amounts{align-items:flex-end;display:flex;flex-direction:column;gap:var(--2xs)}.dashboard .budget-display{align-items:center;display:flex;gap:var(--gap-xs)}.dashboard .spent-amount{color:var(--text-primary);font-weight:600}.dashboard .budget-separator{color:var(--text-light)}.dashboard .total-budget{color:var(--text-light);font-weight:500}.dashboard .progress-percentage{background-color:var(--bg-light-gray);border-radius:var(--radius-sm);font-weight:600;padding:var(--2xs) var(--xs)}.dashboard .progress-percentage.warning{background-color:var(--bg-danger-light);color:var(--text-warning)}.dashboard .progress-percentage.danger{background-color:var(--bg-danger-light);color:var(--text-danger)}.dashboard .group-progress{align-items:center;background-color:initial;border:none;display:flex;gap:var(--gap-sm);padding:0}.dashboard .progress-bar{background-color:var(--bg-light-gray);border-radius:var(--radius-sm);flex:1 1;height:6px;overflow:hidden}.dashboard .progress-fill{border-radius:var(--radius-sm);height:100%;transition:width .6s ease-in-out,background-color .3s ease}.dashboard .progress-fill:not(.warning):not(.danger){background-color:var(--text-success)}.dashboard .progress-fill.warning{background-color:var(--text-warning)}.dashboard .progress-fill.danger{background-color:var(--text-danger)}.dashboard .group-status{align-items:center;border-radius:var(--radius-sm);display:flex;font-weight:500;gap:var(--gap-xs);padding:var(--2xs) var(--xs);white-space:nowrap}.dashboard .group-status.warning{background-color:var(--bg-danger-light);color:var(--text-warning)}.dashboard .group-status.danger{background-color:var(--bg-danger-light);color:var(--text-danger)}@media (max-width:767px){.dashboard .group-row{padding:var(--lg)}.dashboard .group-row-main{align-items:flex-start;gap:var(--gap-md);margin-bottom:var(--xs)}.dashboard .group-amounts{align-items:flex-end}.dashboard .group-progress{gap:var(--gap-xs)}.dashboard .group-status{padding:var(--2xs)}}.filter-popup-close{align-items:center;background-color:initial;border:none;border-radius:var(--radius-sm);color:var(--text-light);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.filter-popup-close:hover{background-color:var(--bg-white);color:var(--text-primary)}.filter-popup-content{display:flex;flex:1 1;flex-direction:column;gap:var(--md);overflow-y:auto;padding:var(--lg)}.filter-field{flex-direction:column}.filter-field,.filter-label{display:flex;gap:var(--gap-xs)}.filter-label{align-items:center;color:var(--text-primary);font-weight:500}.filter-input{min-height:40px;width:100%}.filter-results-summary{background-color:var(--bg-light-gray);border:1px solid var(--border-base);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--gap-sm);padding:var(--md)}.filter-popup-content .results-item{align-items:center;display:flex;justify-content:space-between}.filter-popup-content .results-label{color:var(--text-light)}.filter-popup-content .results-value{color:var(--text-primary);font-weight:600}.filter-popup-content .results-amount{color:var(--text-success)}.history .filters-section{background-color:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-md);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:var(--sm);padding:var(--md) var(--xl)}.history .filter-row-single{align-items:center;display:flex;gap:var(--md);min-height:40px}.history .search-box{align-items:center;display:flex;flex:1 1;position:relative}.history .search-box svg{color:var(--text-light);left:var(--md);position:absolute;z-index:1}.history .search-input{padding-left:var(--2xl);width:100%}.history .filter-controls-compact,.history .result-counter{align-items:center;display:flex;gap:var(--gap-sm)}.history .result-counter{height:34px;padding:var(--xs) var(--sm);white-space:nowrap}.history .result-text{color:var(--text-light)}.history .result-amount{color:var(--text-primary);font-weight:600}.history .filter-btn{align-items:center;background-color:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-light);cursor:pointer;display:flex;gap:var(--gap-xs);height:34px;padding:var(--xs) var(--sm);position:relative;transition:all .2s ease}.history .filter-btn:hover{background-color:var(--bg-light-gray);border-color:var(--border-medium)}.history .filter-btn.has-filters{background-color:var(--bg-info-light);border-color:var(--border-accent-blue);color:var(--text-info)}.history .filter-indicator{background-color:var(--text-success);border:2px solid var(--bg-white);border-radius:50%;display:none;height:8px;position:absolute;right:-2px;top:-2px;width:8px}.history .active-filters{align-items:center;border-top:1px solid var(--border-base);display:flex;flex-wrap:wrap;gap:var(--gap-xs);margin-top:var(--xs);padding:var(--sm) 0}.history .active-filter-chip{align-items:center;background-color:var(--bg-info-light);border:1px solid var(--border-accent-blue);border-radius:var(--radius-sm);color:var(--text-info);display:flex;gap:var(--gap-xs);padding:var(--2xs) var(--xs)}.history .active-filter-chip button{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-info);cursor:pointer;display:flex;height:16px;justify-content:center;line-height:1;padding:0;transition:background-color .2s ease;width:16px}.history .active-filter-chip button:hover{background-color:#0000001a}.history .clear-all-filters{background-color:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-light);cursor:pointer;height:24px;padding:var(--2xs) var(--xs);transition:all .2s ease}.history .clear-all-filters:hover{background-color:var(--bg-light-gray);border-color:var(--border-medium)}@media (max-width:767px){.history .filters-section{gap:var(--xs);padding:var(--md) var(--lg)}.history .filter-row-single{align-items:stretch;flex-direction:column;gap:var(--sm)}.history .filter-controls-compact,.history .result-counter{justify-content:space-between}.history .result-counter{flex:1 1;padding:var(--sm)}.history .filter-btn{flex-shrink:0}.history .active-filters{gap:var(--gap-sm)}}.history .expenses-list{display:flex;flex-direction:column;gap:var(--xl)}@media (max-width:767px){.history .expenses-list{gap:var(--lg)}}.history .expenses-date{align-items:center;background-color:var(--bg-white);border-left:1px solid var(--border-base);border-radius:var(--radius-md) var(--radius-md) 0 0;border-right:1px solid var(--border-base);border-top:1px solid var(--border-base);box-shadow:var(--shadow);display:inline-flex;gap:var(--gap-sm);margin-bottom:-1px;padding:var(--md) var(--xl)}@media (max-width:767px){.history .expenses-date{padding:var(--sm) var(--lg)}}.history .expenses-section{background-color:var(--bg-white);border:1px solid var(--border-base);border-radius:0 var(--radius-md) var(--radius-md) var(--radius-md);box-shadow:var(--shadow);overflow:hidden}.history .expense-item{border-bottom:1px solid var(--border-base);display:flex;flex-direction:column;gap:var(--sm);padding:var(--md) var(--xl);position:relative;transition:all .2s ease}@media (max-width:767px){.history .expense-item{padding:var(--sm) var(--lg)}}.history .expense-item:last-child{border-bottom:none}.history .expense-item:hover .delete-btn{opacity:1}.history .expenses-header{align-items:center;display:flex;justify-content:space-between}.history .expense-content{display:flex;flex:1 1;flex-direction:column;gap:var(--gap-sm)}.history .expenses-total{align-items:center;display:flex;gap:var(--gap-sm);justify-content:flex-end;overflow:hidden;padding:0 var(--xl);text-overflow:ellipsis;white-space:nowrap}.history .expenses-total span{border-radius:var(--radius-sm);color:var(--text-body);padding:var(--2xs) var(--xs)}.history .expenses-total.good{color:var(--text-success)}.history .expenses-total.good span{background-color:var(--bg-success-light)}.history .expenses-total.warning{color:var(--text-warning)}.history .expenses-total.warning span{background-color:var(--bg-warning-light)}.history .expenses-total.danger{color:var(--text-danger)}.history .expenses-total.danger span{background-color:var(--bg-danger-light)}@media (max-width:767px){.history .expenses-total{padding:0 var(--lg)}}.history .expense-main{align-items:center;display:flex;justify-content:space-between}.history .expense-amount{color:var(--text-primary);font-weight:700}.history .expense-details{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--gap-lg)}.history .expense-group{align-items:center;display:flex;gap:var(--gap-xs)}.history .expense-group svg{color:var(--text-success)}.history .expense-group .group-name{color:var(--text-success);font-weight:500}.history .expense-date,.history .expense-note{color:var(--text-light);display:flex;gap:var(--gap-xs)}.history .expense-date svg,.history .expense-note svg{color:var(--text-light)}.history .expense-note .text-caption{flex:1 1}.history .expense-actions{align-items:center;display:flex;gap:var(--gap-xs)}.history .action-btn{align-items:center;background:none;border:1px solid var(--border-base);border-radius:var(--radius-sm);cursor:pointer;display:flex;height:32px;justify-content:center;padding:var(--xs);transition:all .2s ease;width:32px}.history .edit-btn{color:var(--text-info)}.history .edit-btn:hover{background-color:var(--bg-info-light);border-color:var(--border-accent-blue)}.history .delete-btn{color:var(--text-danger)}.history .delete-btn:hover{background-color:var(--bg-danger-light);border-color:var(--border-accent-pink)}@media (max-width:767px){.history .expense-details{flex-direction:row;gap:var(--gap-md)}.history .action-btn{height:28px;width:28px}}@media (max-width:480px){.history .expense-details{gap:var(--gap-sm)}}.monthly-fixed-toggle-container{display:flex;flex-direction:column;gap:var(--gap-xs);width:100%}.monthly-fixed-toggle-container .monthly-fixed-toggle-label{color:var(--text-body);font-size:.875rem;font-weight:500}.monthly-fixed-toggle-container .toggle-label{font-size:var(--font-xs);font-weight:500}.monthly-fixed-toggle-container .toggle-input:checked+.toggle-slider .toggle-thumb{color:#6b7280}.monthly-fixed-toggle-container.small .toggle-switch{height:26px;width:50px}.monthly-fixed-toggle-container.small .toggle-thumb{height:22px;width:22px}.monthly-fixed-toggle-container.small .toggle-input:checked+.toggle-slider .toggle-thumb{transform:translateX(24px)}.monthly-fixed-toggle-container.small .toggle-label{font-size:.75rem;min-width:30px}.monthly-fixed-toggle-container.small .monthly-fixed-toggle-label{font-size:.8125rem}.monthly-fixed-toggle-container.large .toggle-switch{height:38px;width:70px}.monthly-fixed-toggle-container.large .toggle-thumb{height:34px;width:34px}.monthly-fixed-toggle-container.large .toggle-input:checked+.toggle-slider .toggle-thumb{transform:translateX(32px)}.monthly-fixed-toggle-container.large .toggle-label{font-size:.9375rem;min-width:40px}.monthly-fixed-toggle-container.large .monthly-fixed-toggle-label{font-size:1rem}[data-theme=dark] .monthly-fixed-toggle-container .monthly-fixed-toggle-label{color:var(--text-body)}.plan-group-form{display:flex;flex-direction:column;gap:var(--md)}.monthly-fixed-description{margin-top:var(--xs)}.monthly-fixed-description .text-caption{line-height:1.4}.quick-budget-section{border-top:1px solid var(--border-base);margin-top:var(--xl);padding-top:var(--lg)}.quick-budget-chips{display:flex;flex-wrap:wrap;gap:var(--gap-sm)}@media (max-width:480px){.quick-budget-chips{gap:var(--gap-xs)}}.plan .header-content{display:flex;flex-direction:column;gap:var(--gap-md)}.plan .plan-stats{display:flex;flex-wrap:wrap;gap:var(--gap-lg)}.plan .stat-item{align-items:center;background-color:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-sm);color:var(--text-light);display:flex;gap:var(--gap-xs);padding:var(--xs) var(--sm)}.plan .stat-item svg{color:var(--text-success)}.plan .add-group-btn{align-self:flex-start;white-space:nowrap}@media (max-width:767px){.plan .plan-stats{gap:var(--gap-sm)}}.plan .budget-summary{background-color:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:var(--xl)}.plan .summary-content{margin:0 auto;max-width:600px}.plan .summary-title{color:var(--text-primary);font-weight:600;margin:0 0 var(--lg) 0;text-align:center}.plan .summary-stats{grid-gap:var(--lg);display:grid;gap:var(--lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.plan .summary-stat{background-color:var(--bg-light-gray);border:1px solid var(--border-base);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:var(--xs);padding:var(--md);text-align:center}.plan .stat-label{color:var(--text-light);letter-spacing:.5px;text-transform:uppercase}.plan .stat-value{color:var(--text-primary);font-weight:600}@media (max-width:767px){.plan .summary-stats{gap:var(--md);grid-template-columns:1fr}}@media (max-width:480px){.plan .budget-summary{padding:var(--lg)}}.plan .groups-section{background-color:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-md);box-shadow:var(--shadow);min-height:0;overflow:hidden;padding:0}.plan .group-item,.plan .groups-list{display:flex;flex-direction:column}.plan .group-item{border-bottom:1px solid var(--border-base);gap:var(--sm);padding:var(--md) var(--xl);position:relative;transition:all .2s ease}@media (max-width:767px){.plan .group-item{align-items:flex-start;padding:var(--sm) var(--lg)}}.plan .group-item:last-child{border-bottom:none}.plan .fixed-group{color:var(--text-light);display:flex;gap:var(--gap-xs)}.plan .fixed-group .text-caption{flex:1 1}.plan .group-content{align-items:center;display:flex;justify-content:space-between;width:100%}.plan .group-main{width:100%}.plan .group-info{align-items:center;display:flex;gap:var(--gap-md)}.plan .group-budget-amount{color:var(--text-primary);font-weight:700;min-width:120px}.plan .group-name-text{color:var(--text-success);font-weight:500}.plan .group-name-wrapper{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--gap-lg)}@media (max-width:767px){.plan .group-name-wrapper{gap:var(--gap-md)}}.plan .group-actions{align-items:center;display:flex;gap:var(--gap-xs)}.plan .action-btn{align-items:center;background:none;border:1px solid var(--border-base);border-radius:var(--radius-sm);cursor:pointer;display:flex;height:32px;justify-content:center;padding:var(--xs);transition:all .2s ease;width:32px}.plan .edit-btn{color:var(--text-info)}.plan .edit-btn:hover{background-color:var(--bg-info-light);border-color:var(--border-accent-blue)}.plan .delete-btn{color:var(--text-danger)}.plan .delete-btn:hover{background-color:var(--bg-danger-light);border-color:var(--border-accent-pink)}@media (max-width:767px){.plan .group-info{align-items:flex-start;flex-direction:column;gap:var(--gap-sm)}.plan .action-btn{height:28px;width:28px}}.plan .empty-state{padding:var(--4xl)}.plan .empty-content{align-items:center;display:flex;flex-direction:column;gap:var(--md);justify-content:center;max-width:400px;text-align:center}.plan .empty-icon{color:var(--text-light);opacity:.5}.plan .empty-actions{display:flex;flex-wrap:wrap;gap:var(--gap-sm);justify-content:center;margin-top:var(--lg)}@media (max-width:767px){.plan .empty-state{padding:var(--2xl)}.plan .empty-actions{align-items:stretch;flex-direction:column;gap:var(--gap-xs)}}.plan .confirm-dialog .header-content{flex-direction:row}.archivement .page-title svg{color:var(--text-warning)}.archivement .header-stats{align-items:center;display:flex}.archivement .total-plans{background-color:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-sm);color:var(--text-light);padding:var(--xs) var(--sm)}.archivement .summary-section{background-color:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:var(--xl)}.archivement .summary-title{color:var(--text-primary);font-weight:600;margin:0 0 var(--lg) 0;text-align:center}.archivement .summary-grid{grid-gap:var(--lg);display:grid;gap:var(--lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.archivement .summary-card{align-items:center;background-color:var(--bg-light-gray);border:1px solid var(--border-base);border-radius:var(--radius-md);display:flex;gap:var(--gap-md);padding:var(--lg)}.archivement .summary-icon{color:var(--text-success);flex-shrink:0}.archivement .summary-content{display:flex;flex-direction:column;gap:var(--2xs)}.archivement .summary-number{color:var(--text-primary);font-weight:700}.archivement .summary-text{color:var(--text-light);letter-spacing:.5px;text-transform:uppercase}@media (max-width:767px){.archivement .summary-grid{gap:var(--md);grid-template-columns:1fr}}@media (max-width:480px){.archivement .summary-section{padding:var(--lg)}}.archivement .histories-section{background-color:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-md);box-shadow:var(--shadow)}.archivement .histories-list{display:flex;flex-direction:column}.archivement .history-card{border-bottom:1px solid var(--border-base);transition:all .2s ease}.archivement .history-card:last-child{border-bottom:none}.archivement .history-card-header{align-items:center;cursor:pointer;display:flex;gap:var(--gap-md);justify-content:space-between;padding:var(--md) var(--xl)}.archivement .history-card-title{align-items:center;display:flex;flex:1 1;gap:var(--gap-sm)}.archivement .history-card-title svg{color:var(--text-success)}.archivement .history-card-title h3{color:var(--text-primary);font-weight:600;margin:0}.archivement .history-card-summary{display:flex;flex-wrap:wrap;gap:var(--gap-lg)}.archivement .expand-btn{background:none;border:none;border-radius:var(--radius-sm);color:var(--text-light);cursor:pointer;padding:var(--xs);transition:all .2s ease}.archivement .expand-btn:hover{background-color:var(--bg-primary);color:var(--text-body)}.archivement .summary-item{align-items:flex-end}@media (max-width:767px){.archivement .history-card-header{align-items:flex-start;flex-direction:column;gap:var(--gap-sm);padding:var(--lg) var(--lg) var(--sm)}.archivement .history-card-summary,.archivement .history-card-title{justify-content:space-between;width:100%}.archivement .history-card-summary{gap:var(--gap-sm)}.archivement .summary-item{align-items:flex-start}}.archivement .performance-badge{border-radius:var(--radius-sm);font-weight:600;letter-spacing:.5px;padding:var(--2xs) var(--xs);text-transform:uppercase}.archivement .performance-badge.success{background-color:var(--bg-success-light);color:var(--text-success)}.archivement .performance-badge.warning{background-color:#fff3cd;color:var(--text-warning)}.archivement .performance-badge.danger{background-color:var(--bg-danger-light);color:var(--text-danger)}.archivement .history-progress{padding:0 var(--xl) var(--xl) var(--xl)}.archivement .history-details{border-top:1px solid var(--border-base)}.archivement .details-content{padding:var(--lg) var(--xl)}@media (max-width:767px){.archivement .details-content{padding:var(--lg)}}.archivement .details-title{color:var(--text-primary);font-weight:600;margin:0 0 var(--md) 0}.archivement .groups-details{display:flex;flex-wrap:wrap;gap:var(--md);margin-bottom:var(--lg)}@media (min-width:768px){.archivement .groups-details.single-item .group-detail-item{flex:1 1 100%}.archivement .groups-details.multiple-items .group-detail-item{flex:1 1 calc(50% - var(--md)/2)}}@media (max-width:767px){.archivement .groups-details{flex-direction:column}}.archivement .group-detail-item{border:1px solid var(--border-base);border-radius:var(--radius-sm);padding:var(--md);transition:all .2s ease}.archivement .group-detail-item.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.archivement .group-detail-header{align-items:center;display:flex;gap:var(--gap-sm);justify-content:space-between;margin-bottom:var(--sm)}@media (max-width:480px){.archivement .group-detail-header{align-items:flex-start;flex-direction:column;gap:var(--gap-xs)}}.archivement .group-detail-name{color:var(--text-primary);font-weight:500}.archivement .group-detail-amounts{align-items:center;display:flex;gap:var(--gap-xs)}.archivement .spent-amount{color:var(--text-primary);font-weight:600}.archivement .budget-separator{color:var(--text-light)}.archivement .group-detail-progress{align-items:center;display:flex;gap:var(--gap-sm)}.archivement .no-groups{color:var(--text-light);font-style:italic;margin:0}.archivement .completion-info{align-items:center;color:var(--text-light);display:flex;gap:var(--gap-xs)}.archivement .completion-row{align-items:center;border-top:1px solid var(--border-base);display:flex;gap:var(--gap-sm);justify-content:space-between;padding-top:var(--md)}.archivement .icon-btn{background:#0000;border:1px solid var(--border-base);border-radius:var(--radius-sm);color:var(--text-light);cursor:pointer;height:28px;padding:var(--xs);transition:all .15s ease-in-out;width:28px}.archivement .icon-btn.danger{color:var(--text-danger)}.archivement .icon-btn:hover{background:var(--bg-danger-light);border-color:var(--border-accent-pink)}@media (max-width:767px){.archivement .history-progress{padding:0 var(--lg) var(--lg) var(--lg)}}.guide-page .comparison-grid{grid-gap:var(--xl);display:grid;gap:var(--xl);grid-template-columns:1fr 1fr}.guide-page .comparison-card{background:var(--bg-white);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:var(--xl);position:relative;transition:transform .2s ease}.guide-page .comparison-card.before{border-left:4px solid var(--text-danger)}.guide-page .comparison-card.after{border-left:4px solid var(--text-success)}.guide-page .comparison-card h3{align-items:center;display:flex;font-weight:600;gap:var(--gap-sm);margin-bottom:var(--lg)}.guide-page .comparison-card.before h3{color:var(--text-danger)}.guide-page .comparison-card.after h3{color:var(--text-success)}.guide-page .comparison-icon{align-items:center;border-radius:var(--radius-full);color:var(--text-white);display:flex;font-weight:700;height:24px;justify-content:center;width:24px}.guide-page .comparison-card.before .comparison-icon{background:var(--text-danger)}.guide-page .comparison-card.after .comparison-icon{background:var(--text-success)}.guide-page .comparison-list{list-style:none;margin:0;padding:0}.guide-page .comparison-list li{align-items:flex-start;color:var(--text-body);display:flex;gap:var(--gap-sm);line-height:1.5;padding:var(--xs) 0}.guide-page .comparison-list li:before{color:var(--text-light);content:"•";flex-shrink:0;font-weight:700;margin-top:2px}.guide-page .section-header{margin-bottom:var(--2xl);text-align:center}.guide-page .section-header h2{color:var(--text-primary);font-weight:700;margin-bottom:var(--md)}.guide-page .section-header p{color:var(--text-body);line-height:1.6}.guide-page .benefits-grid{grid-gap:var(--xl);display:grid;gap:var(--xl);grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.guide-page .benefit-card{background:var(--bg-white);border:2px solid #0000;border-radius:var(--radius-md);box-shadow:var(--shadow);padding:var(--xl);transition:transform .2s ease,box-shadow .2s ease}.guide-page .benefit-icon{align-items:center;justify-content:center;margin-bottom:var(--lg)}.guide-page .benefit-card h3{color:var(--text-primary);font-weight:600;margin-bottom:var(--md)}.guide-page .benefit-card p{color:var(--text-body);line-height:1.6;margin-bottom:var(--lg)}.guide-page .usage-steps{background:var(--bg-light-gray);border-radius:var(--radius-md);margin-top:var(--lg);padding:var(--lg)}.guide-page .usage-steps h4{align-items:center;color:var(--text-primary);display:flex;font-weight:600;gap:var(--gap-sm);margin-bottom:var(--md)}.guide-page .steps-list{counter-reset:step-counter;list-style:none;margin:0;padding:0}.guide-page .steps-list li{align-items:flex-start;color:var(--text-body);counter-increment:step-counter;display:flex;gap:var(--gap-md);line-height:1.5;padding:var(--xs) 0}.guide-page .steps-list li:before{align-items:center;background:var(--text-success);border-radius:var(--radius-full);color:var(--text-white);content:counter(step-counter);display:flex;flex-shrink:0;font-weight:700;height:20px;justify-content:center;margin-top:2px;width:20px}.guide-page .visual-examples{background:var(--bg-info-light);border:1px solid var(--border-accent-blue);border-radius:var(--radius-md);margin-top:var(--xl);padding:var(--lg)}.guide-page .visual-examples h5{align-items:center;color:var(--text-info);display:flex;font-weight:600;gap:var(--gap-sm);margin-bottom:var(--md)}.guide-page .example-items{display:flex;flex-wrap:wrap;gap:var(--gap-sm)}.guide-page .example-chip{background:var(--bg-white);border:1px solid var(--border-accent-blue);border-radius:var(--radius-sm);color:var(--text-info);font-weight:500;padding:var(--xs) var(--sm)}@media (max-width:767px){.guide-page .benefits-grid,.guide-page .comparison-grid{gap:var(--lg);grid-template-columns:1fr}}@media (max-width:480px){.guide-page .benefit-card,.guide-page .comparison-card{padding:var(--md)}.guide-page .benefit-icon{height:40px;width:40px}}.guide-page .download-section{background:var(--bg-light-gray);border:1px solid var(--border-base);border-radius:var(--radius-lg);padding:var(--2xl) 0;text-align:center}.guide-page .download-buttons{display:flex;flex-wrap:wrap;gap:var(--lg);justify-content:center}.guide-page .download-button{align-items:center;background:var(--bg-white);border:2px solid var(--border-base);border-radius:var(--radius-md);box-shadow:var(--shadow);color:var(--text-primary);display:flex;gap:var(--gap-md);min-width:200px;padding:var(--md) var(--lg);text-decoration:none;transition:all .3s ease}.guide-page .download-button:hover{border-color:var(--border-medium);box-shadow:0 4px 12px #0000001a}.guide-page .download-icon{align-items:center;border-radius:var(--radius-sm);display:flex;height:32px;justify-content:center;width:32px}.guide-page .download-button.apple .download-icon,.guide-page .download-button.google .download-icon{background:var(--bg-primary);color:var(--text-black)}.guide-page .download-text{align-items:flex-start;display:flex;flex-direction:column;text-align:left}.guide-page .download-label{color:var(--text-light);line-height:1}.guide-page .download-store{color:var(--text-primary);font-weight:600;line-height:1.2}@media (max-width:767px){.guide-page .download-section{padding:var(--xl) var(--md)}.guide-page .download-buttons{align-items:center;flex-direction:column}.guide-page .download-button{max-width:280px;width:100%}}.guide-page .support-section .section-header{margin-bottom:0}.guide-page .contact-button{align-items:center;background:var(--bg-white);border:2px solid #0000;border-radius:var(--radius-md);box-shadow:var(--shadow);color:var(--text-primary);display:inline-flex;gap:var(--gap-md);margin-top:var(--xl);padding:var(--md) var(--lg);text-decoration:none;transition:all .3s ease}.guide-page .contact-button:hover{border-color:var(--border-medium);box-shadow:0 4px 12px #0000001a}.guide-page .contact-icon{align-items:center;background:var(--bg-primary);border-radius:var(--radius-sm);color:var(--text-primary);display:flex;height:32px;justify-content:center;width:32px}.guide-page .contact-text{align-items:flex-start;display:flex;flex-direction:column;text-align:left}.guide-page .contact-label{color:var(--text-light);line-height:1}.guide-page .contact-platform{color:var(--text-primary);font-weight:600;line-height:1.2}.privacy-header{border-bottom:1px solid var(--border-base);margin-bottom:var(--2xl);padding-bottom:var(--lg);text-align:center}.privacy-header h1{color:var(--text-primary);font-weight:700;line-height:1.2;margin-bottom:var(--sm)}.privacy-page.dark .privacy-header h1{color:var(--text-white)}.privacy-content{line-height:1.7}.privacy-section{margin-bottom:var(--2xl)}.privacy-section h2{border-bottom:2px solid var(--text-success);color:var(--text-primary);display:inline-block;font-weight:600;margin-bottom:var(--md);padding-bottom:var(--xs)}.privacy-page.dark .privacy-section h2{color:var(--text-white)}.privacy-section h3{color:var(--text-primary);font-weight:500;margin:var(--lg) 0 var(--sm) 0}.privacy-page.dark .privacy-section h3{color:var(--text-white)}.privacy-section p{margin-bottom:var(--md);text-align:justify}.privacy-section ul{list-style-position:inside;margin:var(--md) 0;padding-left:var(--lg)}.privacy-section li{margin-bottom:var(--xs);position:relative}.privacy-section li::marker{color:var(--text-success)}.privacy-page.dark .contact-info{background-color:var(--bg-secondary);border-left-color:var(--accent-mint)}@media (max-width:767px){.privacy-section ul{padding-left:var(--md)}}@media (max-width:480px){.privacy-section p{text-align:left}}@media print{.privacy-header h1,.privacy-section h2,.privacy-section h3{color:#000!important}.contact-info{background-color:#f5f5f5!important}}.terms-header{border-bottom:1px solid var(--border-base);margin-bottom:var(--2xl);padding-bottom:var(--lg);text-align:center}.terms-header h1{color:var(--text-primary);font-weight:700;line-height:1.2;margin-bottom:var(--sm)}.terms-page.dark .terms-header h1{color:var(--text-white)}.last-updated{color:var(--text-light);font-style:italic}.terms-content{line-height:1.7}.terms-section{margin-bottom:var(--2xl)}.terms-section h2{border-bottom:2px solid var(--text-success);color:var(--text-primary);display:inline-block;font-weight:600;margin-bottom:var(--md);padding-bottom:var(--xs)}.terms-page.dark .terms-section h2{color:var(--text-white)}.terms-section h3{color:var(--text-primary);font-weight:500;margin:var(--lg) 0 var(--sm) 0}.terms-page.dark .terms-section h3{color:var(--text-white)}.terms-section p{margin-bottom:var(--md);text-align:justify}.terms-section ul{list-style-position:inside;margin:var(--md) 0;padding-left:var(--lg)}.terms-section li{margin-bottom:var(--xs);position:relative}.terms-section li::marker{color:var(--text-success)}.contact-info{background-color:var(--bg-light-gray);border-left:4px solid var(--text-success);border-radius:var(--radius-md);margin:var(--md) 0;padding:var(--md)}.terms-page.dark .contact-info{background-color:var(--bg-secondary);border-left-color:var(--accent-mint)}.contact-info p{font-weight:500;margin-bottom:var(--xs)}.contact-info p:last-child{margin-bottom:0}@media (max-width:767px){.terms-section ul{padding-left:var(--md)}}@media (max-width:480px){.terms-section p{text-align:left}}@media print{.terms-header h1,.terms-section h2,.terms-section h3{color:#000!important}.contact-info{background-color:#f5f5f5!important}}.legal-header{margin-bottom:var(--2xl);text-align:center}.legal-header h1{color:var(--text-primary);font-weight:700;line-height:1.2;margin-bottom:var(--sm)}.legal-page.dark .legal-header h1{color:var(--text-white)}.legal-header p{color:var(--text-light)}.legal-grid{grid-gap:var(--lg);display:grid;gap:var(--lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:var(--2xl)}.legal-card{background:var(--bg-light-gray);border:1px solid var(--border-base);border-radius:var(--radius-md);color:inherit;display:block;padding:var(--lg);text-decoration:none;transition:all .3s ease}.legal-page.dark .legal-card{background:var(--bg-secondary);border-color:var(--border-medium)}.legal-card:hover{border-color:var(--text-success);box-shadow:var(--shadow)}.legal-card-icon{color:var(--text-success);margin-bottom:var(--md)}.legal-card h3{color:var(--text-primary);font-weight:600;margin-bottom:var(--sm)}.legal-page.dark .legal-card h3{color:var(--text-white)}.legal-card p{color:var(--text-light);line-height:1.6;margin-bottom:var(--md)}.legal-card-link{color:var(--text-success);font-weight:500}.app-info,.compliance,.contact-section,.data-usage,.permissions{background:var(--bg-light-gray);border:1px solid var(--border-base);border-radius:var(--radius-md);margin-bottom:var(--xl);padding:var(--lg)}.legal-page.dark .app-info,.legal-page.dark .compliance,.legal-page.dark .contact-section,.legal-page.dark .data-usage,.legal-page.dark .permissions{background:var(--bg-secondary);border-color:var(--border-medium)}.app-info h2,.compliance h2,.contact-section h2,.data-usage h2,.permissions h2{border-bottom:2px solid var(--text-success);color:var(--text-primary);display:inline-block;font-weight:600;margin-bottom:var(--md);padding-bottom:var(--xs)}.legal-page.dark .app-info h2,.legal-page.dark .compliance h2,.legal-page.dark .contact-section h2,.legal-page.dark .data-usage h2,.legal-page.dark .permissions h2{color:var(--text-white)}.info-grid{grid-gap:var(--sm);display:grid;gap:var(--sm);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{background:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-sm);padding:var(--sm)}.legal-page.dark .info-item{background:var(--bg-dark);border-color:var(--border-medium)}.usage-grid{grid-gap:var(--md);display:grid;gap:var(--md);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.usage-category{background:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-sm);padding:var(--md)}.legal-page.dark .usage-category{background:var(--bg-dark);border-color:var(--border-medium)}.usage-category h4{color:var(--text-primary);font-weight:600;margin-bottom:var(--sm)}.legal-page.dark .usage-category h4{color:var(--text-white)}.usage-category ul{list-style-position:inside;margin:var(--sm) 0;padding-left:var(--md)}.usage-category li{color:var(--text-light);margin-bottom:var(--2xs)}.usage-purpose{color:var(--text-success);display:block;font-weight:500;margin-top:var(--xs)}.permission-item{border-left:4px solid var(--text-success);padding:var(--sm)}.legal-page.dark .permission-item{background:var(--bg-dark);border-color:var(--border-medium);border-left-color:var(--accent-mint)}.contact-grid{grid-gap:var(--md);display:grid;gap:var(--md);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.contact-item{align-items:center;background:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-sm);display:flex;gap:var(--sm);padding:var(--md)}.legal-page.dark .contact-item{background:var(--bg-dark);border-color:var(--border-medium)}.contact-item svg{color:var(--text-success);flex-shrink:0}.contact-item strong{color:var(--text-primary);display:block;margin-bottom:var(--2xs)}.legal-page.dark .contact-item strong{color:var(--text-white)}.contact-item p{color:var(--text-light);margin:0}.compliance p{color:var(--text-light);line-height:1.6}@media (max-width:767px){.contact-grid,.info-grid,.legal-grid,.usage-grid{grid-template-columns:1fr}}@media (max-width:480px){.app-info,.compliance,.contact-section,.data-usage,.legal-card,.permissions{padding:var(--md)}}.data-safety-header{margin-bottom:var(--2xl);text-align:center}.data-safety-header h1{color:var(--text-primary);font-weight:700;line-height:1.2;margin-bottom:var(--sm)}.data-safety-page.dark .data-safety-header h1{color:var(--text-white)}.subtitle{color:var(--text-light);font-style:italic}.data-safety-content{line-height:1.6}.safety-section{background:var(--bg-light-gray);border:1px solid var(--border-base);border-radius:var(--radius-md);margin-bottom:var(--xl);padding:var(--lg)}.data-safety-page.dark .safety-section{background:var(--bg-secondary);border-color:var(--border-medium)}.safety-section h2{border-bottom:2px solid var(--text-success);color:var(--text-primary);display:inline-block;font-weight:600;margin-bottom:var(--md);padding-bottom:var(--xs)}.data-safety-page.dark .safety-section h2{color:var(--text-white)}.data-collection-grid{grid-gap:var(--lg);display:grid;gap:var(--lg);grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.collection-item{background:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-sm);padding:var(--md)}.data-safety-page.dark .collection-item{background:var(--bg-dark);border-color:var(--border-medium)}.collection-item h3{color:var(--text-primary);font-weight:600;margin-bottom:var(--sm)}.data-safety-page.dark .collection-item h3{color:var(--text-white)}.collection-item ul{list-style-position:inside;margin:var(--sm) 0;padding-left:var(--md)}.collection-item li{color:var(--text-light);margin-bottom:var(--2xs)}.collection-details{border-top:1px solid var(--border-base);margin-top:var(--sm);padding-top:var(--sm)}.data-safety-page.dark .collection-details{border-top-color:var(--border-medium)}.collection-purpose,.collection-sharing{display:block;margin-bottom:var(--2xs)}.collection-purpose{color:var(--text-success);font-weight:500}.collection-sharing{color:var(--text-info);font-weight:500}.security-measures{grid-gap:var(--md);display:grid;gap:var(--md);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.security-item{background:var(--bg-white);border:1px solid var(--border-base);border-left:4px solid var(--text-success);border-radius:var(--radius-sm);padding:var(--md)}.data-safety-page.dark .security-item{background:var(--bg-dark);border-color:var(--border-medium);border-left-color:var(--accent-mint)}.security-item h4{color:var(--text-primary);font-weight:600;margin-bottom:var(--xs)}.data-safety-page.dark .security-item h4{color:var(--text-white)}.security-item p{color:var(--text-light);margin:0}.permissions-list{display:flex;flex-direction:column;gap:var(--sm)}.permission-item{align-items:flex-start;background:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:var(--md)}.data-safety-page.dark .permission-item{background:var(--bg-dark);border-color:var(--border-medium)}.permission-item h4{color:var(--text-primary);font-weight:600;margin-bottom:var(--2xs)}.data-safety-page.dark .permission-item h4{color:var(--text-white)}.permission-item p{color:var(--text-light);flex:1 1;margin:0}.permission-optional,.permission-required{border-radius:var(--radius-sm);font-weight:500;margin-left:var(--sm);padding:var(--2xs) var(--xs)}.permission-required{background:var(--bg-danger-light);color:var(--text-danger)}.permission-optional{background:var(--bg-info-light);color:var(--text-info)}.compliance-list{grid-gap:var(--md);display:grid;gap:var(--md);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.compliance-item{background:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-sm);padding:var(--md)}.data-safety-page.dark .compliance-item{background:var(--bg-dark);border-color:var(--border-medium)}.compliance-item h4{color:var(--text-primary);font-weight:600;margin-bottom:var(--xs)}.data-safety-page.dark .compliance-item h4{color:var(--text-white)}.compliance-item p{color:var(--text-light);margin:0}.children-policy{background:var(--bg-info-light);border:1px solid var(--border-accent-blue);border-radius:var(--radius-sm);padding:var(--md)}.children-policy p{color:var(--text-body);margin-bottom:var(--sm)}.children-policy p:last-child{margin-bottom:0}.contact-security{background:var(--bg-success-light);border:1px solid var(--border-accent-mint);border-radius:var(--radius-sm);padding:var(--md)}.contact-security p{color:var(--text-body);font-weight:500;margin-bottom:var(--xs)}.contact-security p:last-child{margin-bottom:0}.policy-updates{background:var(--bg-white);border:1px solid var(--border-base);border-radius:var(--radius-sm);padding:var(--md)}.data-safety-page.dark .policy-updates{background:var(--bg-dark);border-color:var(--border-medium)}.policy-updates p{color:var(--text-light);margin-bottom:var(--sm)}.policy-updates p:last-child{margin-bottom:0}@media (max-width:767px){.compliance-list,.data-collection-grid,.security-measures{grid-template-columns:1fr}.permission-item{align-items:flex-start;flex-direction:column}.permission-optional,.permission-required{margin-left:0;margin-top:var(--xs)}}@media (max-width:480px){.safety-section{padding:var(--md)}}.scenario-selector{bottom:calc(var(--xl) + 64px);position:fixed;right:var(--xl);transition:all .2s ease;z-index:var(--z-index-top-content-fixed)}.scenario-menu{background:#fff;background:var(--bg-white,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-base,#e5e7eb);border-radius:6px;border-radius:var(--radius-md,6px);box-shadow:0 8px 32px #00000026;max-width:350px;min-width:300px;overflow:hidden;position:absolute;right:0;top:-10px;transform:translateY(-100%)}@media (max-width:767px){.scenario-selector{bottom:calc(148px + var(--lg));right:var(--lg)}.scenario-menu{max-width:calc(100vw - 30px);min-width:280px}}.scenario-toggle{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--bg-gradient-primary,linear-gradient(135deg,#667eea 0,#764ba2 100%));border:none;border-radius:50%;box-shadow:0 2px 8px #00000026;box-shadow:var(--shadow,0 2px 8px #00000026);color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;opacity:.5;position:relative;transition:all .3s ease;width:56px}.scenario-toggle:hover:not(:disabled){box-shadow:0 4px 12px #0003;opacity:1;transform:scale(1.1)}.scenario-toggle:disabled{cursor:not-allowed;opacity:.7;transform:none}.scenario-list{padding:8px;padding:var(--sm,8px)}.scenario-sync-status{border-radius:4px;border-radius:var(--radius-sm,4px);font-size:10px;font-weight:500;letter-spacing:.5px;padding:2px 4px;padding:var(--2xs,2px) var(--xs,4px);position:absolute;right:8px;right:var(--sm,8px);text-transform:uppercase;top:8px;top:var(--sm,8px)}.scenario-sync-status.syncing{background:#e7f3ff;background:var(--bg-info-light,#e7f3ff);color:#667eea;color:var(--text-info,#667eea)}.scenario-sync-status.synced{background:#e6f7e6;background:var(--bg-success-light,#e6f7e6);color:#28a745;color:var(--text-success,#28a745)}.scenario-sync-status.error{background:#ffe6e6;background:var(--bg-danger-light,#ffe6e6);color:#dc3545;color:var(--text-danger,#dc3545)}.scenario-item{background:none;border:none;border-radius:4px;border-radius:var(--radius-sm,4px);cursor:pointer;display:block;margin-bottom:4px;margin-bottom:var(--xs,4px);padding:12px 16px;padding:var(--md,12px) var(--lg,16px);position:relative;text-align:left;transition:all .2s ease;width:100%}.scenario-item:hover{background:#f8f9fa;background:var(--bg-light-gray,#f8f9fa);transform:translateX(4px)}.scenario-item:last-child{margin-bottom:0}.scenario-item.reset-item{background:#ffe6e6;background:var(--bg-danger-light,#ffe6e6);border-radius:4px;border-radius:var(--radius-sm,4px)}.scenario-item.reset-item:hover{background:#fcc}.scenario-name{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-weight:600;margin-bottom:2px;margin-bottom:var(--2xs,2px)}.scenario-description{color:#999;color:var(--text-light,#999);line-height:1.4}.scenario-note{background:#f8f9fa;background:var(--bg-light-gray,#f8f9fa);border-top:1px solid #e5e7eb;border-top:1px solid var(--border-base,#e5e7eb);padding:8px 16px;padding:var(--sm,8px) var(--lg,16px);text-align:center}.scenario-note small{color:#f59e0b;color:var(--text-warning,#f59e0b)}.scenario-performance{border-top:1px solid #e5e7eb;border-top:1px solid var(--border-base,#e5e7eb);display:flex;flex-direction:column;gap:2px;gap:var(--2xs,2px);margin-top:4px;margin-top:var(--xs,4px);padding-top:4px;padding-top:var(--xs,4px)}.performance-duration{color:#28a745;color:var(--text-success,#28a745);font-size:11px;font-weight:500;margin-left:var(--sm)}.performance-timestamp{color:#999;color:var(--text-light,#999);font-size:10px}.scenario-item.loading{animation:pulse-loading 1.5s ease-in-out infinite;border-left-color:#667eea!important;border-left-color:var(--text-info,#667eea)!important}.scenario-item.loading,.scenario-item.loading:hover{background:#e7f3ff;background:var(--bg-info-light,#e7f3ff);transform:none}@keyframes pulse-loading{0%,to{opacity:.7}50%{opacity:1}}.scenario-loading-indicator{align-items:center;display:flex;justify-content:center;position:absolute;right:16px;right:var(--lg,16px);top:50%;transform:translateY(-50%)}.loading-spinner-small{animation:spin 1s linear infinite;border:2px solid #e5e7eb;border-top:2px solid #667eea;border:2px solid var(--border-base,#e5e7eb);border-radius:50%;border-top-color:var(--text-info,#667eea);height:16px;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.App{-webkit-overflow-scrolling:touch;height:100%;min-height:100dvh;overflow:auto;overscroll-behavior:none;overscroll-behavior-y:none;position:relative;text-align:left;touch-action:manipulation;width:100%}*,.App{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}*{-webkit-tap-highlight-color:transparent}[contenteditable],input,textarea{-webkit-user-select:text;user-select:text}[role=button],a,button{touch-action:manipulation}.recharts-wrapper{font-family:inherit!important}.recharts-cartesian-axis-tick-value{fill:var(--text-light)!important;font-size:12px!important}.recharts-tooltip-wrapper{z-index:var(--z-index-top-content)!important}::-webkit-scrollbar{border-radius:var(--radius-md);height:6px;width:6px}::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:var(--radius-md)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-md)}::-webkit-scrollbar-thumb:hover{background:var(--text-light)}::selection{background-color:#28a74533;color:var(--text-primary)}:focus{outline:0 solid var(--text-success)}.btn:focus,:focus,button:focus{outline-offset:0}*{transition:border-color .2s ease,background-color .2s ease,color .2s ease}@media print{.action-btn,.add-expense-btn,.delete-btn,.finish-plan-btn,.header,.navigation{display:none!important}.main-content{padding:0!important}.card,.group-card,.stat-card{border:1px solid var(--border-base)!important;box-shadow:none!important;break-inside:avoid;page-break-inside:avoid}}