.logo-loader-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.logo-loader-container--fullscreen{position:fixed;inset:0;min-height:100vh;background:var(--bg-primary, #fdfbfd);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9999;animation:fadeIn .2s ease-out;width:100vw;height:100vh;overflow:hidden}.logo-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md, 1rem)}.logo-loader__wrapper{position:relative;display:flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.4,0,.2,1)}.logo-loader__image{position:relative;z-index:2;animation:logoRotate 2s cubic-bezier(.4,0,.2,1) infinite;transition:opacity .3s ease,transform .3s ease;will-change:transform;transform:translateZ(0);-webkit-transform:translateZ(0);user-select:none;-webkit-user-select:none;pointer-events:none}@keyframes logoRotate{0%{transform:rotate(0) translateZ(0) scale(1)}50%{transform:rotate(180deg) translateZ(0) scale(1.05)}to{transform:rotate(360deg) translateZ(0) scale(1)}}.logo-loader__ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) translateZ(0);border:3px solid transparent;border-radius:50%;animation:ringRotateAndClose 2s cubic-bezier(.4,0,.2,1) infinite;will-change:transform,border-color;z-index:1;transition:border-color .3s ease;box-sizing:border-box}@keyframes ringRotateAndClose{0%{transform:translate(-50%,-50%) rotate(0) translateZ(0);border-top-color:var(--primary, #6c5ce7);border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent;opacity:.6}25%{transform:translate(-50%,-50%) rotate(90deg) translateZ(0);border-top-color:var(--primary, #6c5ce7);border-right-color:var(--primary, #6c5ce7);border-bottom-color:transparent;border-left-color:transparent;opacity:.8}50%{transform:translate(-50%,-50%) rotate(180deg) translateZ(0);border-top-color:var(--primary, #6c5ce7);border-right-color:var(--primary, #6c5ce7);border-bottom-color:var(--primary, #6c5ce7);border-left-color:transparent;opacity:1}75%{transform:translate(-50%,-50%) rotate(270deg) translateZ(0);border-top-color:var(--primary, #6c5ce7);border-right-color:var(--primary, #6c5ce7);border-bottom-color:var(--primary, #6c5ce7);border-left-color:var(--primary, #6c5ce7);opacity:1}to{transform:translate(-50%,-50%) rotate(360deg) translateZ(0);border-top-color:var(--primary, #6c5ce7);border-right-color:var(--primary, #6c5ce7);border-bottom-color:var(--primary, #6c5ce7);border-left-color:var(--primary, #6c5ce7);opacity:.9}}.logo-loader__text{margin:0;color:var(--text-secondary, #6b7280);font-size:.9375rem;font-weight:500;text-align:center;animation:textFadeIn .5s ease-out .2s both;transition:color .3s ease}@keyframes textFadeIn{0%{opacity:0;transform:translateY(10px) translateZ(0)}to{opacity:1;transform:translateY(0) translateZ(0)}}.logo-loader--small .logo-loader__wrapper{width:24px;height:24px}.logo-loader--small .logo-loader__image{width:20px;height:20px}.logo-loader--small .logo-loader__ring{width:24px;height:24px;border-width:2px}.logo-loader--small .logo-loader__text{font-size:.75rem;margin-top:var(--spacing-xs, .5rem)}.logo-loader--medium .logo-loader__wrapper{width:80px;height:80px}.logo-loader--medium .logo-loader__image{width:64px;height:64px}.logo-loader--medium .logo-loader__ring{width:80px;height:80px;border-width:3px}.logo-loader--medium .logo-loader__text{font-size:.9375rem}.logo-loader--large .logo-loader__wrapper{width:120px;height:120px}.logo-loader--large .logo-loader__image{width:100px;height:100px}.logo-loader--large .logo-loader__ring{width:120px;height:120px;border-width:4px}.logo-loader--large .logo-loader__text{font-size:1.125rem}@media(max-width:480px){.logo-loader--medium .logo-loader__wrapper{width:64px;height:64px}.logo-loader--medium .logo-loader__image{width:52px;height:52px}.logo-loader--medium .logo-loader__ring{width:64px;height:64px}.logo-loader--large .logo-loader__wrapper{width:100px;height:100px}.logo-loader--large .logo-loader__image{width:80px;height:80px}.logo-loader--large .logo-loader__ring{width:100px;height:100px}}@media(min-width:768px){.logo-loader--medium .logo-loader__wrapper{width:96px;height:96px}.logo-loader--medium .logo-loader__image{width:80px;height:80px}.logo-loader--medium .logo-loader__ring{width:96px;height:96px}}@media(min-width:1024px){.logo-loader--large .logo-loader__wrapper{width:140px;height:140px}.logo-loader--large .logo-loader__image{width:120px;height:120px}.logo-loader--large .logo-loader__ring{width:140px;height:140px}}@media(prefers-reduced-motion:reduce){.logo-loader__image{animation:none;transform:none}.logo-loader__ring{animation:ringPulse 2s ease-in-out infinite}.logo-loader__text{animation:none}}@media(max-width:480px){.logo-loader__image,.logo-loader__ring{animation-duration:1.8s}}.warmup-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:10000;background:var(--bg-primary, #fdfbfd);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:warmupFadeIn .3s ease-out}@keyframes warmupFadeIn{0%{opacity:0}to{opacity:1}}.warmup-overlay__card{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:3rem 2.5rem;border-radius:1.5rem;background:#ffffff1a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #8b5cf614;max-width:380px;width:90vw;text-align:center}.warmup-overlay__logo-wrapper{position:relative;width:100px;height:100px;display:flex;align-items:center;justify-content:center}.warmup-overlay__logo{width:80px;height:80px;z-index:2;animation:warmupPulse 2s ease-in-out infinite;-webkit-user-select:none;user-select:none;pointer-events:none}@keyframes warmupPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.85}}.warmup-overlay__ring{position:absolute;inset:0;border-radius:50%;border:3px solid transparent;border-top-color:#8b5cf6;border-right-color:#8b5cf6;animation:warmupRingSpin 1.2s linear infinite;z-index:1}@keyframes warmupRingSpin{to{transform:rotate(360deg)}}.warmup-overlay__text-area{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-height:3.5rem}.warmup-overlay__message{margin:0;font-size:1rem;font-weight:500;color:var(--text-primary, #1f2937);letter-spacing:-.01em;animation:warmupTextSwap .4s ease-out}@keyframes warmupTextSwap{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.warmup-overlay__sub{margin:0;font-size:.8125rem;color:var(--text-secondary, #6b7280)}.warmup-overlay__progress{width:100%;height:4px;border-radius:999px;background:#8b5cf61f;overflow:hidden}.warmup-overlay__progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,#8b5cf6,#a78bfa,#8b5cf6);background-size:200% 100%;animation:warmupShimmer 1.5s ease-in-out infinite;width:40%}@keyframes warmupShimmer{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media(prefers-reduced-motion:reduce){.warmup-overlay__logo{animation:none}.warmup-overlay__ring{animation:none;border-color:#8b5cf6;opacity:.4}.warmup-overlay__progress-bar{animation:none;width:60%}.warmup-overlay__message{animation:none}}@media(max-width:480px){.warmup-overlay__card{padding:2rem 1.5rem;gap:1.5rem}.warmup-overlay__logo-wrapper{width:80px;height:80px}.warmup-overlay__logo{width:64px;height:64px}}.logout-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:10001;background:var(--bg-primary, #fdfbfd);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:logoutOverlayFadeIn .3s ease-out;transition:opacity .3s ease-in-out}@keyframes logoutOverlayFadeIn{0%{opacity:0}to{opacity:1}}.logout-overlay__card{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:3rem 2.5rem;border-radius:1.5rem;background:#ffffff1a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #8b5cf614;max-width:380px;width:90vw;text-align:center}.logout-overlay__logo-wrapper{position:relative;width:100px;height:100px;display:flex;align-items:center;justify-content:center}.logout-overlay__logo{width:80px;height:80px;z-index:2;animation:logoutOverlayPulse 2s ease-in-out infinite;-webkit-user-select:none;user-select:none;pointer-events:none}@keyframes logoutOverlayPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.85}}.logout-overlay__ring{position:absolute;inset:0;border-radius:50%;border:3px solid transparent;border-top-color:#8b5cf6;border-right-color:#8b5cf6;animation:logoutOverlayRingSpin 1.2s linear infinite;z-index:1}@keyframes logoutOverlayRingSpin{to{transform:rotate(360deg)}}.logout-overlay__text-area{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-height:3.5rem}.logout-overlay__app-name{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary, #1f2937);letter-spacing:-.02em}.logout-overlay__message{margin:0;font-size:1rem;font-weight:500;color:var(--text-secondary, #6b7280);letter-spacing:-.01em}.logout-overlay__progress{width:100%;height:4px;border-radius:999px;background:#8b5cf61f;overflow:hidden}.logout-overlay__progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,#8b5cf6,#a78bfa,#8b5cf6);background-size:200% 100%;animation:logoutOverlayShimmer 1.5s ease-in-out infinite;width:40%}@keyframes logoutOverlayShimmer{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media(prefers-reduced-motion:reduce){.logout-overlay__logo{animation:none}.logout-overlay__ring{animation:none;border-color:#8b5cf6;opacity:.4}.logout-overlay__progress-bar{animation:none;width:60%}}@media(max-width:480px){.logout-overlay__card{padding:2rem 1.5rem;gap:1.5rem}.logout-overlay__logo-wrapper{width:80px;height:80px}.logout-overlay__logo{width:64px;height:64px}}.airplane-transition-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#0a0a1a;will-change:transform,opacity;transform:translateZ(0);-webkit-transform:translateZ(0)}.map-background{position:absolute;inset:0;overflow:hidden}.map-image{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s ease}.map-image.loaded{opacity:1}.map-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#581c8799,#2d236480 40%,#140f28b3);mix-blend-mode:multiply}.map-background:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 0%,transparent 40%,rgba(10,10,26,.8) 100%);pointer-events:none}.sky-gradient{position:absolute;inset:0;background:linear-gradient(180deg,#0a0a1a,#1a1a3e,#2d2d6e,#5c4d8e 60%,#8b6bae,#c9a0dc 90%,#f0d0f0);background-size:100% 200%}.airplane-transition-overlay.takeoff .sky-gradient{background-position:0% 100%}.airplane-transition-overlay.landing .sky-gradient{background-position:0% 0%}.destination-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3rem;font-weight:700;color:#fff;text-shadow:0 0 40px rgba(168,85,247,.8),0 4px 20px rgba(0,0,0,.5);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;z-index:5}@media(max-width:600px){.destination-label{font-size:1.8rem}}.airplane-icon-container{position:absolute;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 50px rgba(255,255,255,.7));z-index:10}.airplane-icon{font-size:6rem;color:#fff;filter:drop-shadow(0 4px 30px rgba(0,0,0,.5))}.airplane-icon.takeoff{transform:scaleX(1)}.airplane-icon.landing{transform:scaleX(-1)}.airplane-glow{position:absolute;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.5) 0%,rgba(168,85,247,.4) 30%,transparent 70%);border-radius:50%;pointer-events:none}.engine-glow{position:absolute;left:-35px;width:50px;height:25px;background:radial-gradient(ellipse at right,rgba(255,180,80,.9) 0%,rgba(255,120,50,.5) 50%,transparent 100%);border-radius:50%;filter:blur(5px)}.airplane-icon.landing+.airplane-glow+.engine-glow{left:auto;right:-35px;background:radial-gradient(ellipse at left,rgba(255,180,80,.9) 0%,rgba(255,120,50,.5) 50%,transparent 100%)}.speed-lines{position:absolute;inset:0;pointer-events:none;z-index:3}.speed-line{position:absolute;width:120px;height:3px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.7) 50%,transparent 100%);border-radius:2px;transform-origin:left center}.transition-clouds{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:4}.cloud{position:absolute;background:#ffffff40;border-radius:50%;filter:blur(50px)}.cloud-1{width:400px;height:200px;top:8%;left:5%}.cloud-2{width:350px;height:180px;top:45%;right:10%}.cloud-3{width:300px;height:150px;bottom:20%;left:30%}.transition-status{position:absolute;bottom:15%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;color:#fff;font-size:1.5rem;font-weight:600;letter-spacing:.08em;text-shadow:0 2px 30px rgba(0,0,0,.7);white-space:nowrap;z-index:10;transition:all .3s ease;overflow:visible;max-height:none}@media(max-width:768px){.transition-status{bottom:calc(20% + env(safe-area-inset-bottom,0px));left:0!important;right:0!important;font-size:1rem;letter-spacing:.04em;white-space:normal;word-break:break-word;overflow-wrap:break-word;max-width:100%!important;width:100%!important;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));padding-left:24px;padding-right:24px;box-sizing:border-box;overflow:hidden;max-height:none;min-height:auto;transition:all .3s ease-in-out}.transition-status.mobile{min-height:auto;overflow:hidden;overflow-wrap:break-word;padding-top:8px}.transition-status.mobile>div{max-width:100%!important;overflow-wrap:break-word;word-break:break-word;box-sizing:border-box}.airplane-transition-overlay{overflow:visible}.airplane-icon-container.mobile{filter:drop-shadow(0 0 30px rgba(255,255,255,.5))}.map-layer{will-change:transform,opacity;transform:translateZ(0);-webkit-transform:translateZ(0)}.speed-line{width:80px;height:2px}}@media(max-width:375px){.transition-status{bottom:calc(18% + env(safe-area-inset-bottom,0px));font-size:.85rem;padding-left:20px;padding-right:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));max-width:100%!important;width:100%!important;left:0!important;right:0!important}.transition-status.mobile>div{font-size:.8rem!important;letter-spacing:.5px!important;padding-left:4px;padding-right:4px}}.status-text{display:flex;align-items:center;gap:.5rem}.status-dots{margin-left:2px}@media(prefers-reduced-motion:reduce){.airplane-transition-overlay *{animation:none!important;transition:none!important}}[data-motion=reduced] .airplane-transition-overlay *{animation:none!important;transition:none!important}.toast{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-secondary);border:2px solid var(--bg-tertiary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:300px;max-width:500px;animation:slideInRight .3s ease-out;position:relative;z-index:10000}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-exiting{animation:slideOutRight .3s ease-out forwards}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.toast-icon{flex-shrink:0}.toast-success{border-color:var(--success-dark);background:var(--success)}.toast-success .toast-icon{color:var(--success-dark)}.toast-error{border-color:var(--error-dark);background:var(--error)}.toast-error .toast-icon{color:var(--error-dark)}.toast-warning{border-color:var(--warning-dark);background:var(--warning)}.toast-warning .toast-icon{color:var(--warning-dark)}.toast-info{border-color:var(--info-dark);background:var(--info)}.toast-info .toast-icon{color:var(--info-dark)}.toast-message{flex:1;font-size:.9375rem;font-weight:500;color:var(--text-primary);line-height:1.4}.toast-close{background:transparent;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:var(--transition);flex-shrink:0}.toast-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media(max-width:767px){.toast{min-width:auto;max-width:calc(100vw - var(--spacing-xl));padding:var(--spacing-sm) var(--spacing-md)}.toast-message{font-size:.875rem}}.toast-retry{background:none;border:1px solid currentColor;border-radius:4px;color:inherit;cursor:pointer;font-size:.75rem;font-weight:600;margin-left:8px;opacity:.85;padding:2px 8px;white-space:nowrap}.toast-retry:hover{opacity:1}.connected-flight{width:min(420px,calc(100vw - 40px));padding:32px;border:1px solid var(--border-color, #d9d2df);border-radius:16px;background:var(--bg-secondary, #fff);color:var(--text-primary, #282331);box-shadow:0 16px 48px #0002;font-family:inherit}.connected-flight::backdrop{background:#14101a73}.connected-flight h2{margin:28px 0 8px;font-family:inherit;font-weight:600;font-size:1.4rem;line-height:1.25}.connected-flight p{line-height:1.55;color:var(--text-secondary, #554c60)}.connected-flight-route{display:flex;align-items:center;gap:20px;font-weight:600}.connected-flight-track{flex:1;height:32px;position:relative;border-bottom:1px dashed var(--text-secondary, #776c80)}.connected-flight-plane{position:absolute;left:0;top:0;width:24px;height:24px;color:var(--primary, #6c5ce7);animation:connected-flight-out .28s cubic-bezier(.23,1,.32,1) both}.connected-flight-plane svg{display:block;width:24px;height:24px;transform:rotate(90deg)}.connected-flight[data-direction=return] .connected-flight-plane{left:auto;right:0;animation-name:connected-flight-back}.connected-flight[data-direction=return] svg{transform:rotate(-90deg)}.connected-flight-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.connected-flight button{min-height:44px;padding:8px 16px;border:1px solid var(--text-secondary, #776c80);border-radius:8px;font:inherit;color:inherit;background:transparent;cursor:pointer}.connected-flight button:focus-visible{outline:2px solid var(--primary, #6c5ce7);outline-offset:3px}.connected-flight button[hidden]{display:none}@keyframes connected-flight-out{0%{transform:translate(-8px,6px);opacity:.3}to{transform:translate(64px,-4px);opacity:1}}@keyframes connected-flight-back{0%{transform:translate(8px,-4px);opacity:.3}to{transform:translate(-64px,6px);opacity:1}}.connected-flight[data-reduced=true] .connected-flight-plane{animation:none}@media(prefers-reduced-motion:reduce){.connected-flight-plane{animation:none}}.page-transition{width:100%;min-height:100%;animation:fadeIn .3s cubic-bezier(.4,0,.2,1);will-change:opacity;transform:translateZ(0);-webkit-transform:translateZ(0)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.page-transition{transition-duration:.12s}}@media(prefers-reduced-motion:reduce){.page-transition{transition:none}.page-transition--fadeIn,.page-transition--fadeOut{opacity:1;transform:none}}.accessibility-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.accessibility-modal{width:90%;max-width:500px;background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease}.accessibility-header{padding:var(--spacing-lg);border-bottom:1px solid var(--bg-tertiary);display:flex;align-items:center;justify-content:space-between}.accessibility-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.accessibility-content{padding:var(--spacing-lg);overflow-y:auto;flex:1}.setting-group{margin-bottom:var(--spacing-xl);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.setting-label{display:flex;gap:var(--spacing-md);flex:1}.setting-icon{font-size:1.5rem;color:var(--primary);flex-shrink:0;margin-top:4px}.setting-label h3{margin:0 0 4px;font-size:1.1rem;color:var(--text-primary)}.setting-label p{margin:0;font-size:.9rem;color:var(--text-secondary)}.segmented-control{background:var(--bg-tertiary);padding:4px;border-radius:var(--radius-md);display:flex;gap:4px}.segment-btn{padding:8px 16px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-weight:600;transition:all .2s ease;min-width:48px;display:flex;align-items:center;justify-content:center}.segment-btn.active{background:var(--bg-primary);color:var(--primary);box-shadow:var(--shadow-sm)}.switch{position:relative;display:inline-block;width:50px;height:28px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--bg-tertiary);transition:.4s}.slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.4s;box-shadow:0 2px 4px #0003}input:checked+.slider{background-color:var(--primary)}input:checked+.slider:before{transform:translate(22px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.accessibility-footer{padding:var(--spacing-lg);border-top:1px solid var(--bg-tertiary);display:flex;justify-content:space-between;background:var(--bg-secondary)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.setting-group{flex-direction:column;align-items:flex-start}.segmented-control,.switch{margin-left:48px;margin-top:var(--spacing-sm)}}.date-input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-sm)}.date-input-label{display:block;margin-bottom:var(--spacing-xs);font-weight:600;color:var(--text-primary);font-size:.875rem}.date-input-container{position:relative;display:flex;align-items:center;background:var(--bg-secondary);border:2px solid var(--bg-tertiary);border-radius:var(--radius-md);transition:var(--transition)}.date-input-container:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px #6c5ce726;transform:translateY(-1px)}.date-icon{padding:14px 0 14px 18px;color:var(--text-secondary);flex-shrink:0;display:flex;align-items:center;justify-content:center}.date-input{flex:1;border:none;background:transparent;padding:14px 18px 14px 8px;font-size:1rem;color:var(--text-primary);font-family:inherit;outline:none;min-height:48px;transition:var(--transition);cursor:pointer}.date-input:disabled{opacity:.6;cursor:not-allowed}.quick-dates{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;margin-top:var(--spacing-xs)}.quick-date-btn{padding:8px 16px;background:var(--bg-tertiary);border:2px solid var(--bg-tertiary);border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:var(--transition);flex:1;min-width:80px}.quick-date-btn:hover{background:var(--secondary);border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}.quick-date-btn:active{transform:translateY(0)}.quick-date-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 2px 8px #6c5ce74d}@media(min-width:1024px){.date-input-wrapper{margin-bottom:var(--spacing-xl)}.date-input-label{margin-bottom:var(--spacing-md);font-size:.9375rem}.date-input-container{padding:16px 20px}.date-input{font-size:1.125rem;padding:16px 20px}.date-quick-buttons{gap:var(--spacing-md);margin-top:var(--spacing-md)}.date-quick-btn{padding:12px 20px;font-size:.9375rem}}@media(max-width:767px){.quick-dates{gap:var(--spacing-sm)}.quick-date-btn{flex:1;min-width:90px;padding:10px 12px}}:root{--chip-color: #8e44ad}.quick-add-backdrop{position:fixed;inset:0;background:#0006;z-index:1050;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.quick-add-drawer{position:fixed;bottom:0;left:0;right:0;z-index:1051;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:24px 24px 0 0;padding:12px 24px 32px;box-shadow:var(--glass-shadow);max-width:640px;margin:0 auto;width:100%;display:flex;flex-direction:column;overflow:hidden;max-height:95vh;max-height:min(95dvh,720px)}.quick-add-handle{width:40px;height:4px;background:var(--accent, #d2b4de);opacity:.5;border-radius:2px;margin:0 auto 16px}.quick-add-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.quick-add-header h3{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.quick-add-close{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:8px;display:flex;align-items:center;transition:color .2s}.quick-add-close:hover{color:var(--text-primary)}.quick-add-form{display:flex;flex-direction:column;gap:16px;overflow-y:auto;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px))}.quick-add-type-toggle{display:flex;gap:8px;background:var(--bg-tertiary);border:1px solid var(--glass-border);border-radius:12px;padding:4px}.quick-add-type-btn{flex:1;padding:8px;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;background:transparent;color:var(--text-secondary);transition:all .2s}.quick-add-type-btn.active.expense{background:#e74c3c1f;background:color-mix(in srgb,var(--error) 14%,transparent);color:var(--error)}.quick-add-type-btn.active.income{background:#2ecc7124;background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.quick-add-amount-row{display:flex;align-items:center;gap:8px;background:var(--bg-tertiary);border-radius:16px;padding:12px 16px;border:1px solid var(--glass-border)}.quick-add-currency{font-size:1.4rem;font-weight:700;color:var(--primary, #8B5CF6)}.quick-add-amount-input{flex:1;border:none;background:transparent;font-size:1.8rem;font-weight:700;color:var(--text-primary);outline:none;min-width:0}.quick-add-amount-input::placeholder{color:var(--text-secondary)}.quick-add-payment-toggle{display:flex;gap:4px}.quick-add-pm-btn{width:36px;height:36px;border:2px solid var(--accent, #d2b4de);border-radius:8px;background:var(--bg-secondary);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s;color:var(--text-primary)}.quick-add-pm-btn.active{border-color:var(--primary, #8B5CF6);background:var(--primary, #8B5CF6);color:#fff}.quick-add-field{display:flex;flex-direction:column;gap:6px;position:relative}.quick-add-field:has(.quick-add-category-chips):after{content:"";position:absolute;right:0;bottom:4px;width:32px;height:calc(100% - 1.5rem);background:linear-gradient(to right,transparent,var(--glass-bg, #fff));pointer-events:none;z-index:1}[data-theme=light] .quick-add-backdrop{background:#0006}[data-theme=dark] .quick-add-backdrop{background:#0009}[data-theme=dark] .quick-add-drawer{background:#1a1b26f0;border:1px solid rgba(255,255,255,.12)}[data-theme=dark] .quick-add-type-toggle,[data-theme=dark] .quick-add-amount-row{background:#ffffff0d;border-color:#ffffff24}[data-theme=dark] .quick-add-pm-btn{background:#ffffff14;border-color:#fff3}[data-theme=dark] .quick-add-field:has(.quick-add-category-chips):after{background:linear-gradient(to right,transparent,rgba(26,27,38,.94))}.quick-add-field label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.quick-add-category-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;padding-right:24px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.quick-add-category-chips::-webkit-scrollbar{display:none}.quick-add-chip{flex-shrink:0;display:flex;align-items:center;gap:4px;padding:6px 12px;border-radius:20px;border:2px solid var(--chip-color);background:transparent;color:var(--chip-color);font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}.quick-add-chip.active{background:var(--chip-color);color:#fff}.quick-add-error{color:var(--error);font-size:.85rem;margin:0}.quick-add-submit{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border:none;border-radius:16px;background:var(--primary, #8B5CF6);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .2s,transform .1s;margin-top:4px}.quick-add-submit:hover:not(:disabled){opacity:.9}.quick-add-submit:active:not(:disabled){transform:scale(.98)}.quick-add-submit:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.quick-add-drawer{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px));max-height:95vh;max-height:95dvh}}.currency-popover-trigger.active{background:var(--primary-light);color:#fff}.currency-popover-overlay{position:fixed;inset:0;background:#0000004d;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:9998;animation:fadeIn .2s ease-out}.currency-popover{position:fixed;top:70px;right:16px;width:100%;max-width:380px;max-height:calc(100vh - 100px);background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 20px 60px #00000026;z-index:9999;display:flex;flex-direction:column;overflow:hidden;animation:slideDown .25s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .currency-popover{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 60px #0006,0 0 0 1px #ffffff0d inset}.currency-popover-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--bg-tertiary);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%)}.currency-popover-header h3{display:flex;align-items:center;gap:var(--spacing-sm);margin:0;font-size:1rem;font-weight:600;color:#fff}.currency-popover-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-full);background:#fff3;color:#fff;cursor:pointer;transition:var(--transition)}.currency-popover-close:hover{background:#ffffff4d;transform:scale(1.1)}.currency-popover-content{padding:var(--spacing-lg);overflow-y:auto;flex:1}.currency-popover-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-xl);color:var(--text-secondary)}.currency-loading-spinner{width:32px;height:32px;border:3px solid var(--bg-tertiary);border-radius:50%;border-top-color:var(--primary);animation:spin 1s linear infinite}.currency-loading-spinner.small{width:18px;height:18px;border-width:2px;border-color:#ffffff4d;border-top-color:#fff}.currency-popover-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.currency-popover-amount{display:flex;flex-direction:column;gap:var(--spacing-xs)}.currency-popover-amount label{font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-left:4px}.currency-popover-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:1.25rem;font-weight:600;color:var(--text-primary);background:var(--bg-tertiary);border:2px solid transparent;border-radius:var(--radius-md);transition:var(--transition);outline:none}.currency-popover-input:focus{border-color:var(--primary);background:var(--bg-secondary);box-shadow:0 0 0 4px #8e44ad1a}[data-theme=dark] .currency-popover-input{background:var(--bg-tertiary);color:var(--text-primary)}[data-theme=dark] .currency-popover-input:focus{background:var(--bg-primary)}.currency-popover-selectors{display:flex;align-items:center;gap:var(--spacing-sm)}.currency-popover-select{flex:1;padding:var(--spacing-sm) var(--spacing-md);font-size:.95rem;font-weight:600;color:var(--text-primary);background:var(--bg-tertiary);border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:16px;padding-right:32px;transition:var(--transition)}.currency-popover-select:focus{outline:none;border-color:var(--primary)}[data-theme=dark] .currency-popover-select{background-color:var(--bg-tertiary);color:var(--text-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E")}.currency-popover-swap{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:2px solid var(--bg-tertiary);border-radius:var(--radius-full);background:var(--bg-secondary);color:var(--primary);cursor:pointer;transition:var(--transition);flex-shrink:0}.currency-popover-swap:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:rotate(180deg)}[data-theme=dark] .currency-popover-swap{background:var(--bg-tertiary);border-color:#ffffff1a}.currency-popover-convert{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:.95rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);box-shadow:0 4px 12px #8e44ad4d}.currency-popover-convert:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #8e44ad66}.currency-popover-convert:active:not(:disabled){transform:translateY(0)}.currency-popover-convert:disabled{opacity:.7;cursor:not-allowed}.currency-popover-error{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:#e74c3c1a;border:1px solid rgba(231,76,60,.3);border-radius:var(--radius-sm);color:var(--error);font-size:.875rem;text-align:center}.currency-popover-result{margin-top:var(--spacing-md);padding:var(--spacing-md);background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);border:1px solid var(--bg-tertiary);border-radius:var(--radius-md);animation:fadeIn .3s ease-out}.result-main{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--spacing-xs);text-align:center}.result-from-amount{font-size:.95rem;color:var(--text-secondary)}.result-equals{font-size:1rem;color:var(--text-light);margin:0 var(--spacing-xs)}.result-to-amount{font-size:1.35rem;font-weight:700;color:var(--primary)}[data-theme=dark] .result-to-amount{color:var(--primary, #6c5ce7)}.result-rate{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm);font-size:.8rem;color:var(--text-light)}.currency-popover-rates{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--bg-tertiary)}.rates-header{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);font-size:.85rem;font-weight:600;color:var(--text-secondary)}.rates-header svg{color:var(--primary)}.rates-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.rate-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border-radius:var(--radius-sm);transition:var(--transition)}.rate-item:hover{background:var(--bg-primary);transform:translateY(-1px)}[data-theme=dark] .rate-item:hover{background:var(--bg-secondary)}.rate-code{font-weight:600;font-size:.85rem;color:var(--text-primary)}.rate-value{font-weight:700;font-size:.85rem;color:var(--primary)}[data-theme=dark] .rate-value{color:var(--primary-light)}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:640px){.currency-popover-overlay{background:#00000080}.currency-popover{position:fixed;inset:auto 0 0;max-width:100%;max-height:85vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:slideUpMobile .3s cubic-bezier(.4,0,.2,1)}.currency-popover-content{padding:var(--spacing-md);padding-bottom:calc(var(--spacing-lg) + env(safe-area-inset-bottom,20px))}.currency-popover-input{font-size:1.1rem;padding:var(--spacing-md)}.currency-popover-select{padding:var(--spacing-md);font-size:1rem}.currency-popover-swap{width:44px;height:44px}.currency-popover-convert{padding:var(--spacing-md);font-size:1rem}.result-to-amount{font-size:1.5rem}.rates-grid{grid-template-columns:repeat(2,1fr)}.rate-item{padding:var(--spacing-md)}}@keyframes slideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media(min-width:1024px){.currency-popover{max-width:400px}}.calculator-reveal-btn{position:fixed;top:80px;right:0;width:28px;height:36px;border-radius:8px 0 0 8px;border:none;background:#8e44ad26;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--primary);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:-2px 2px 8px #8e44ad33,0 1px 4px #0000001a;z-index:998;transition:all .2s ease}.calculator-reveal-btn:hover{background:#8e44ad40;width:32px}[data-theme=dark] .calculator-reveal-btn{background:#8e44ad33;color:var(--primary-light)}[data-theme=dark] .calculator-reveal-btn:hover{background:#8e44ad4d}.calculator-fab{position:fixed;top:80px;right:0;transform:none;width:36px;height:44px;border-radius:12px 0 0 12px;border:none;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:-2px 2px 12px #8e44ad4d,0 2px 6px #0000001a;z-index:999;transition:all .3s cubic-bezier(.4,0,.2,1)}.calculator-fab svg{width:18px;height:18px}.calculator-fab:hover{width:44px;box-shadow:-4px 2px 16px #8e44ad66,0 4px 12px #00000026}.calculator-fab:active{width:40px}.calculator-fab.active{background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary) 100%);width:44px}.calculator-fab-badge{position:absolute;top:4px;left:4px;width:8px;height:8px;background:var(--success, #10B981);border-radius:50%;border:1.5px solid white;animation:badge-pulse 1.5s infinite}@keyframes pulse-glow{0%,to{box-shadow:0 4px 16px #8e44ad59,0 2px 8px #00000026}50%{box-shadow:0 4px 24px #8e44ad80,0 2px 12px #0003,0 0 0 4px #8e44ad26}}@keyframes pulse-edge{0%,to{width:36px;box-shadow:-2px 2px 12px #8e44ad4d,0 2px 6px #0000001a}50%{width:42px;box-shadow:-4px 2px 16px #8e44ad73,0 2px 8px #00000026}}@keyframes badge-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.calculator-overlay{position:fixed;inset:0;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1001}.calculator-panel{position:fixed;bottom:0;left:0;right:0;max-height:70vh;max-height:calc(70vh - env(safe-area-inset-bottom,0px));background:var(--bg-secondary);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-xl, 24px) var(--radius-xl, 24px) 0 0;box-shadow:0 -8px 32px #00000026,0 0 0 1px #ffffff1a inset;z-index:1002;display:flex;flex-direction:column;overflow:hidden}[data-theme=dark] .calculator-panel{background:#1e1432f2;border:1px solid rgba(255,255,255,.08);box-shadow:0 -8px 40px #0006,0 0 0 1px #ffffff0d inset}.calculator-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md, 16px) var(--spacing-lg, 20px);border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%)}.calculator-header h3{display:flex;align-items:center;gap:var(--spacing-sm, 8px);margin:0;font-size:1rem;font-weight:600;color:#fff;letter-spacing:-.01em}.calculator-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-full, 50%);background:#fff3;color:#fff;cursor:pointer;transition:all .2s ease}.calculator-close:hover{background:#ffffff4d;transform:scale(1.1)}.calculator-display{flex-shrink:0;min-height:5rem;padding:var(--spacing-lg, 20px);background:var(--bg-tertiary, #f5f5f5);text-align:right;overflow:visible}[data-theme=dark] .calculator-display{background:#0003}.calculator-display-inner{display:block;min-height:3rem;line-height:1.4}.calculator-expression{display:block;font-size:1.5rem;font-weight:600;color:var(--text-primary);word-break:break-all;min-height:2rem;letter-spacing:-.02em}.calculator-result-line{display:block;font-size:1.25rem;font-weight:600;color:#8b5cf6;margin-top:.35rem;min-height:1.75rem;-webkit-font-smoothing:antialiased}[data-theme=dark] .calculator-result-line{color:#a78bfa}.calculator-keypad{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:var(--spacing-md, 16px);padding-bottom:calc(var(--spacing-md, 16px) + env(safe-area-inset-bottom,16px))}.calc-btn{display:flex;align-items:center;justify-content:center;height:56px;font-size:1.25rem;font-weight:600;border:none;border-radius:var(--radius-lg, 16px);cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.calc-btn-default{background:var(--bg-tertiary, #f0f0f0);color:var(--text-primary)}[data-theme=dark] .calc-btn-default{background:#ffffff14;color:var(--text-primary)}.calc-btn-default:hover{background:var(--bg-secondary);transform:scale(1.02)}[data-theme=dark] .calc-btn-default:hover{background:#ffffff1f}.calc-btn-default:active{transform:scale(.98);background:var(--bg-primary)}.calc-btn-function{background:#8e44ad1a;color:var(--primary)}[data-theme=dark] .calc-btn-function{background:#8e44ad33;color:var(--primary-light)}.calc-btn-function:hover{background:#8e44ad33;transform:scale(1.02)}[data-theme=dark] .calc-btn-function:hover{background:#8e44ad4d}.calc-btn-function:active{transform:scale(.98);background:#8e44ad40}.calc-btn-operator{background:var(--primary);color:#fff}.calc-btn-operator:hover{background:var(--primary-light);transform:scale(1.02)}.calc-btn-operator:active{transform:scale(.98);background:var(--primary-dark, #6b3fa0)}.calc-btn-equals{background:linear-gradient(135deg,var(--success, #10B981) 0%,#34D399 100%);color:#fff;font-size:1.5rem}.calc-btn-equals:hover{transform:scale(1.02);box-shadow:0 4px 12px #10b9814d}.calc-btn-equals:active{transform:scale(.98)}.calculator-hint{text-align:center;padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);padding-bottom:calc(var(--spacing-sm, 8px) + env(safe-area-inset-bottom,8px));font-size:.75rem;color:var(--text-light, #9ca3af);border-top:1px solid var(--bg-tertiary)}[data-theme=dark] .calculator-hint{border-top-color:#ffffff0d}@media(max-width:639px){.calculator-display{min-height:5.5rem;-webkit-flex-shrink:0;flex-shrink:0}.calculator-result-line{font-size:1.35rem;color:#8b5cf6!important}[data-theme=dark] .calculator-result-line{color:#a78bfa!important}.calculator-panel{max-height:70dvh;max-height:calc(70vh - env(safe-area-inset-bottom,0px))}}@media(min-width:640px){.calculator-reveal-btn{top:auto;bottom:24px;right:90px;width:40px;height:40px;border-radius:var(--radius-full, 50%);background:#8e44ad33}.calculator-reveal-btn:hover{width:44px;height:44px;background:#8e44ad4d}.calculator-fab{top:auto;bottom:24px;right:90px;transform:none;width:48px;height:48px;border-radius:var(--radius-full, 50%);box-shadow:0 4px 16px #8e44ad59,0 2px 8px #00000026}.calculator-fab svg{width:22px;height:22px}.calculator-fab:hover{width:48px;transform:translateY(-2px);box-shadow:0 6px 24px #8e44ad73,0 4px 12px #0003}.calculator-fab:active{width:48px;transform:translateY(0)}.calculator-fab.active{width:48px;transform:rotate(45deg)}.calculator-fab-badge{top:6px;left:auto;right:6px;width:10px;height:10px}.calculator-overlay{background:#0000004d}.calculator-panel{position:fixed;inset:auto 90px 90px auto;width:320px;max-height:none;border-radius:var(--radius-xl, 24px);box-shadow:0 12px 40px #00000026,0 0 0 1px #ffffff1a inset}[data-theme=dark] .calculator-panel{box-shadow:0 12px 50px #0006,0 0 0 1px #ffffff0d inset}.calculator-keypad{padding-bottom:var(--spacing-md, 16px)}.calc-btn{height:48px;font-size:1.1rem}.calculator-hint{padding-bottom:var(--spacing-sm, 8px)}}@media(min-width:1024px){.calculator-fab{bottom:32px;right:100px}.calculator-panel{right:100px;bottom:100px;width:340px}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.calculator-fab,.calculator-fab-badge,.calc-btn,.calculator-close{transition:none;animation:none}}@media(prefers-contrast:high){.calculator-panel{border:2px solid var(--text-primary)}.calc-btn{border:1px solid var(--text-primary)}.calculator-fab{border:2px solid white}}body.chatbot-open .calculator-fab,body.chatbot-open .calculator-panel,body.chatbot-open .calculator-overlay,body.chatbot-open .calculator-reveal-btn{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}.wheel-picker{position:relative;width:100%;overflow:hidden;border-radius:var(--radius-lg, 1rem);background:var(--bg-tertiary, rgba(255, 255, 255, .08));border:1px solid var(--border-color, rgba(255, 255, 255, .18));-webkit-user-select:none;user-select:none;touch-action:none}.wheel-picker:focus{outline:none}.wheel-picker:focus-visible{outline:2px solid var(--primary, #8b5cf6);outline-offset:2px;border-color:var(--primary, #8b5cf6)}.wheel-picker-fade{position:absolute;left:0;right:0;height:40%;pointer-events:none;z-index:2}.wheel-picker-fade--top{top:0;background:linear-gradient(to bottom,var(--bg-tertiary, rgba(30, 27, 46, .95)) 0%,transparent 100%)}.wheel-picker-fade--bottom{bottom:0;background:linear-gradient(to top,var(--bg-tertiary, rgba(30, 27, 46, .95)) 0%,transparent 100%)}.wheel-picker-highlight{position:absolute;left:.5rem;right:.5rem;border-radius:var(--radius-md, .5rem);background:color-mix(in srgb,var(--primary, #8b5cf6) 15%,transparent);border:1px solid color-mix(in srgb,var(--primary, #8b5cf6) 30%,transparent);pointer-events:none;z-index:1}.wheel-picker-items{position:relative;cursor:grab;will-change:transform;transition:transform .05s linear}.wheel-picker-items.is-dragging{cursor:grabbing;transition:none}.wheel-picker-item{display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:500;color:var(--text-primary);cursor:pointer;will-change:transform,opacity;transition:transform .1s ease,opacity .1s ease}.wheel-picker-item.is-selected{font-weight:600;color:var(--primary, #8b5cf6)}@media(prefers-reduced-motion:reduce){.wheel-picker-items,.wheel-picker-item{transition:none}}.voice-expense-container{position:fixed;bottom:140px;right:20px;z-index:999;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.voice-expense-container.voice-expense-container--widget-corner{position:absolute;right:12px;bottom:12px;top:auto;z-index:20}.voice-expense-container.voice-expense-container--inline{position:relative;right:auto;bottom:auto;top:auto;display:inline-flex;align-items:center;z-index:120}.voice-expense-container.voice-expense-container--inline .voice-expense-card{position:absolute;top:calc(100% + 10px);right:0}.voice-expense-fab{width:48px;height:48px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;background:#8b5cf626;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(139,92,246,.3);color:#8b5cf6;box-shadow:0 4px 20px #8b5cf633;transition:all .3s ease-in-out}.voice-expense-fab:hover:not(:disabled){background:#8b5cf640;transform:scale(1.05);box-shadow:0 6px 28px #8b5cf64d}.voice-expense-fab:disabled{opacity:.5;cursor:not-allowed}.voice-expense-fab.listening{background:#ef444426;border-color:#ef444466;color:#ef4444;box-shadow:0 4px 20px #ef444440;animation:voice-fab-pulse 1.5s infinite}.voice-expense-fab.success{background:#10b98126;border-color:#10b98166;color:#10b981;box-shadow:0 4px 20px #10b98140}@keyframes voice-fab-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.voice-expense-pulse-ring{position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(239,68,68,.4);animation:voice-ring-expand 1.5s ease-out infinite;pointer-events:none}@keyframes voice-ring-expand{0%{transform:scale(.9);opacity:1}to{transform:scale(1.6);opacity:0}}.voice-expense-card{width:320px;max-width:calc(100vw - 40px);background:linear-gradient(160deg,#1e202de0,#121420e6);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:20px;box-shadow:0 14px 40px #03061261;animation:voice-card-in .3s ease-out}@keyframes voice-card-in{0%{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.voice-expense-error-card{display:flex;align-items:center;gap:8px}.voice-expense-card-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--text-primary, #f5f6fa);font-weight:600;font-size:.9rem}.voice-expense-card-header .voice-expense-dismiss{margin-left:auto}.voice-expense-dismiss{background:none;border:none;cursor:pointer;color:var(--text-secondary, #b2bec3);padding:4px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.voice-expense-dismiss:hover{background:#ffffff1f;color:var(--text-primary, #f5f6fa)}.voice-expense-transcript{font-style:italic;color:var(--text-secondary, #d3d8de);font-size:.82rem;margin:0 0 14px;padding:8px 12px;background:#8b5cf629;border:1px solid rgba(167,139,250,.25);border-radius:12px;line-height:1.4}.voice-expense-review-hint{margin:0 0 8px;padding:8px 10px;border-radius:10px;background:#f59e0b26;border:1px solid rgba(245,158,11,.35);color:#f9d082;font-size:.78rem;line-height:1.35}.voice-expense-review-fields{margin:0 0 10px;color:#f8d78b;font-size:.74rem;letter-spacing:.02em}.voice-expense-parser-source{margin:0 0 10px;color:var(--text-secondary, #b2bec3);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}.voice-expense-fields{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.voice-expense-field label{display:block;font-size:.75rem;font-weight:500;color:var(--text-secondary, #c2c9d1);margin-bottom:4px;letter-spacing:.02em}.voice-expense-field-warning input,.voice-expense-field-warning select{border-color:#f59e0ba6;box-shadow:0 0 0 2px #f59e0b24}.voice-expense-field input,.voice-expense-field select{width:100%;padding:8px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#ffffff1a;color:var(--text-primary, #f5f6fa);font-size:.88rem;outline:none;transition:all .2s ease;box-sizing:border-box}.voice-expense-manual-input{width:100%;min-height:78px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#ffffff1a;color:var(--text-primary, #f5f6fa);font-size:.88rem;line-height:1.4;resize:vertical;outline:none;transition:all .2s ease}.voice-expense-manual-input:focus{border-color:#8b5cf680;box-shadow:0 0 0 3px #8b5cf61a}.voice-expense-field input:focus,.voice-expense-field select:focus{border-color:#8b5cf680;box-shadow:0 0 0 3px #8b5cf61a}.voice-expense-field select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background-image:none!important;padding-right:12px}.voice-expense-field select option{background:#151729;color:#f5f6fa}.voice-expense-field select::-ms-expand{display:block}.voice-expense-confidence{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:.78rem;color:var(--text-secondary, #c2c9d1)}.voice-expense-confidence-bar{flex:1;height:6px;background:#ffffff24;border-radius:3px;overflow:hidden}.voice-expense-confidence-fill{height:100%;border-radius:3px;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s ease}.voice-expense-confidence-pct{font-weight:600;min-width:34px;text-align:right}.voice-expense-actions{display:flex;gap:8px}.voice-expense-btn{flex:1;padding:10px 16px;border:none;border-radius:16px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease-in-out}.voice-expense-btn:disabled{opacity:.5;cursor:not-allowed}.voice-expense-btn-cancel{background:#ffffff24;color:var(--text-primary, #f5f6fa)}.voice-expense-btn-cancel:hover:not(:disabled){background:#ffffff38}.voice-expense-btn-confirm{background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff;box-shadow:0 4px 14px #8b5cf64d}.voice-expense-btn-confirm:hover:not(:disabled){box-shadow:0 6px 20px #8b5cf666;transform:translateY(-1px)}.voice-expense-parsing{display:flex;align-items:center;gap:10px;color:var(--text-secondary, #c2c9d1);font-size:.85rem}.voice-expense-spinner{width:18px;height:18px;border:2px solid rgba(139,92,246,.2);border-top-color:#8b5cf6;border-radius:50%;animation:voice-spin .7s linear infinite}@keyframes voice-spin{to{transform:rotate(360deg)}}.voice-expense-error-text{color:#ef4444;font-size:.82rem;margin:0;flex:1}[data-theme=dark] .voice-expense-card{background:linear-gradient(160deg,#1e202deb,#0f1016f0);border-color:#ffffff1a;color-scheme:dark}[data-theme=dark] .voice-expense-field input,[data-theme=dark] .voice-expense-field select{background:#ffffff1a;border-color:#ffffff1a}[data-theme=dark] .voice-expense-transcript{background:#8b5cf61a}[data-theme=dark] .voice-expense-btn-cancel{background:#ffffff24;color:var(--text-primary, #f5f6fa)}[data-theme=dark] .voice-expense-confidence-bar,[data-theme=dark] .voice-expense-dismiss:hover{background:#ffffff14}@media(max-width:768px){.voice-expense-container{bottom:160px;right:16px}.voice-expense-card{width:290px}.voice-expense-fab{width:44px;height:44px}}.voice-expense-container .payment-method-toggle{display:flex;gap:8px;margin-top:4px}.voice-expense-container .payment-method-btn{flex:1;padding:6px 12px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff1a;color:var(--text-secondary, #d3d8de);cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.voice-expense-container .payment-method-btn.active{border-color:#a78bfab8;background:linear-gradient(135deg,#7c6cf0,#8b5cf6);color:#fff}.voice-expense-container .payment-method-btn:hover:not(.active):not(:disabled){border-color:#a78bfa73;background:#ffffff24}[data-theme=light] .voice-expense-card{background:#ffffffeb;border-color:#0000001a;box-shadow:0 14px 40px #0000001a;color-scheme:light}[data-theme=light] .voice-expense-field input,[data-theme=light] .voice-expense-field select,[data-theme=light] .voice-expense-manual-input{background:#0000000a;border-color:#00000024;color:var(--text-primary)}[data-theme=light] .voice-expense-field select{color-scheme:light}[data-theme=light] .voice-expense-field select option{background:#fff;color:#1e293b}[data-theme=light] .voice-expense-btn-cancel{background:#0000000f;color:var(--text-primary)}[data-theme=light] .voice-expense-btn-cancel:hover:not(:disabled){background:#0000001a}[data-theme=light] .voice-expense-confidence-bar{background:#00000014}[data-theme=light] .voice-expense-dismiss:hover{background:#0000000f}[data-theme=light] .voice-expense-container .payment-method-btn{border-color:#00000024;background:#0000000a;color:var(--text-secondary)}[data-theme=light] .voice-expense-container .payment-method-btn:hover:not(.active):not(:disabled){background:#8b5cf614;border-color:#8b5cf64d}.bottom-nav{position:fixed;inset:auto 0 0;z-index:1000;border-top:1px solid var(--border-color);background:var(--bg-secondary);padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-nav.hidden{display:none}.bottom-nav-container{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:4px 8px;align-items:stretch}.finance-bottom-item{position:relative;min-width:0;min-height:62px;display:grid;grid-template-rows:24px auto;align-content:start;justify-items:center;gap:5px;padding:8px 2px 5px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);text-decoration:none;font:inherit;font-size:.71875rem;line-height:1.25;text-align:center;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation}.finance-bottom-item svg{width:21px;height:21px;stroke-width:1.8}.finance-bottom-item span{max-width:100%;overflow-wrap:anywhere}.finance-bottom-item.active{color:var(--primary-dark);font-weight:650;background:transparent}.finance-bottom-item.active:before{content:"";position:absolute;top:0;left:calc(50% - 11px);width:22px;height:2px;border-radius:2px;background:currentColor}.finance-bottom-item:active{background:var(--bg-tertiary)}.finance-bottom-item:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}@media(max-width:350px){.bottom-nav-container{padding-inline:4px}.finance-bottom-item{font-size:.6875rem}}@media(min-width:1024px){.bottom-nav{display:none}}.layout.finance-layout .layout-header{position:fixed;inset:0 0 auto;padding:10px 24px;min-height:64px;box-sizing:border-box}.layout.finance-layout{padding-top:var(--finance-header-height, 64px)}.finance-layout .header-content{min-height:44px;max-width:none}.finance-layout .header-brand{display:flex;align-items:center;gap:10px;text-decoration:none}.finance-layout .header-brand:hover{transform:none}.finance-layout .header-brand .app-title{font-size:calc(1.25rem * var(--font-scale, 1));line-height:1.15;font-weight:700}.finance-layout .header-brand .app-tagline{font-size:.75rem;line-height:1.3;margin-top:3px}.finance-layout .header-actions :is(.header-icon-btn,.user-menu-btn,.mobile-menu-toggle){border:0;min-height:44px;min-width:44px;font:inherit;cursor:pointer}.finance-sidebar{display:none}.finance-nav-link{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);text-align:left;text-decoration:none;font:inherit;font-size:.875rem;line-height:1.4;cursor:pointer;box-sizing:border-box}.finance-nav-link svg{flex-shrink:0;width:18px;height:18px}.finance-nav-link span{min-width:0;overflow-wrap:anywhere}.finance-nav-link.active{color:var(--primary-dark);background:var(--secondary);font-weight:600}.finance-nav-group{margin-block:20px}.finance-nav-group h2{font-size:.75rem;font-weight:600;color:var(--text-secondary);margin:0 12px 6px}.finance-add-action{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:44px;width:100%;margin-top:24px;padding:10px 12px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--revision-border);border-radius:8px;font:inherit;font-size:.875rem;font-weight:550;cursor:pointer}.finance-navigation-dialog{padding:0;width:min(440px,calc(100vw - 24px));max-height:min(84dvh,680px);margin:auto;border:1px solid var(--border-color, #ddd7e4);border-radius:18px;background:var(--bg-secondary);color:var(--text-primary);box-shadow:0 16px 48px #0f0d1533}.finance-navigation-dialog[open]{display:flex;flex-direction:column}.finance-navigation-dialog::backdrop{background:#0f0d1547}.finance-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0;padding:12px 16px;border-bottom:1px solid var(--border-color, #ddd7e4)}.finance-dialog-header h2{margin:0;font-size:calc(1.125rem * var(--font-scale, 1));line-height:1.4}.finance-dialog-header button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:0;border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer}.finance-dialog-header button svg{width:20px;height:20px}.finance-dialog-body{min-height:0;overflow-y:auto;padding:8px 12px 16px}.finance-mobile-destinations,.finance-more-heading{display:none}.finance-utilities{display:flex;flex-direction:column;gap:4px}.finance-utilities h3{padding:0 12px;margin:20px 0 8px;font-size:.875rem}.finance-utilities button{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:var(--text-primary);font:inherit;font-size:.875rem;text-align:left;cursor:pointer}.finance-utilities button svg{flex-shrink:0;width:18px;height:18px}:is(.finance-sidebar,.finance-navigation-dialog) :is(a,button,h2):focus-visible{outline:2px solid var(--primary);outline-offset:-2px}@media(hover:hover)and (pointer:fine){.finance-nav-link:not(.active):hover,.finance-utilities button:hover{background:var(--bg-tertiary);color:var(--text-primary)}}@media(min-width:1024px){.finance-sidebar{display:block;position:fixed;top:var(--finance-header-height, 64px);bottom:0;left:0;z-index:50;width:232px;padding:24px 16px;box-sizing:border-box;overflow-y:auto;border-right:1px solid var(--border-color, #ddd7e4);background:var(--bg-secondary)}.finance-layout .layout-main{margin:0 0 0 232px;width:calc(100% - 232px);max-width:none;padding:40px clamp(24px,3.5vw,64px) 64px}.finance-layout .mobile-menu-toggle{display:none}}@media(max-width:1023px){.finance-layout .layout-header{padding-inline:16px}.finance-layout .header-actions .desktop-only{display:none}.finance-layout .mobile-menu-toggle{display:flex;align-items:center;justify-content:center}.finance-layout .layout-main{margin:0;width:100%;padding:16px 16px calc(100px + env(safe-area-inset-bottom,0px))}.layout.finance-layout .header-actions .mobile-add-trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;min-width:44px;padding:8px 12px;border:1px solid var(--revision-border);background:var(--bg-secondary);color:var(--text-primary);font-size:.8125rem;white-space:nowrap;transform:none;-webkit-user-select:none;user-select:none}.layout.finance-layout .header-actions .mobile-add-trigger svg{flex-shrink:0}.layout.finance-layout .header-actions .mobile-add-trigger:active{background:var(--bg-tertiary)}.finance-mobile-destinations,.finance-more-heading{display:block}.finance-mobile-destinations section{margin-bottom:16px}.finance-mobile-destinations h3,.finance-more-heading{margin:14px 12px 8px;color:var(--text-secondary);font-size:.8125rem;font-weight:600}.finance-navigation-dialog{top:auto;bottom:0;margin:auto auto calc(12px + env(safe-area-inset-bottom,0px))}}@media(pointer:coarse){.finance-navigation-dialog :is(input,select,textarea){font-size:16px}}.finance-layout .finance-add-action{color:var(--text-primary)}.finance-layout .header-brand .app-title{font-size:1.25rem}.finance-layout .header-actions .user-menu-btn{width:44px;height:44px}.finance-layout .header-logo{filter:none}.finance-layout .header-actions :is(.header-icon-btn,.user-menu-btn):hover{transform:none}.finance-layout .version-display{position:static;margin:0;padding:8px 32px 16px;justify-content:flex-end;color:var(--text-secondary);opacity:1}.finance-layout .page-transition{animation:none;transform:none;will-change:auto}.finance-layout :is(.finance-nav-link,.finance-add-action,.finance-bottom-item,.header-actions button){touch-action:manipulation;-webkit-tap-highlight-color:transparent}.finance-layout :is(.finance-nav-link,.finance-add-action,.finance-bottom-item):active{opacity:.8}@media(min-width:1024px){.finance-layout .version-display{margin-left:232px}.finance-layout .layout-main>.page-transition{max-width:1120px;margin-inline:auto}}.layout-header svg,.header-icon-btn svg,.user-menu-btn svg{color:#fff!important}.layout-header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:var(--spacing-md);box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100}.header-content{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.header-left{flex:1;min-width:0}.theme-toggle-btn{background:none;border:none;color:var(--text-primary);font-size:1.25rem;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.theme-toggle-btn:hover{background-color:#0000000d}.theme-toggle-sidebar{width:100%;margin-bottom:.5rem;background:none;border:none;cursor:pointer;color:var(--text-secondary)}.theme-toggle-sidebar:hover{background-color:#0000000d;color:var(--primary)}[data-theme=dark] .theme-toggle-btn:hover,[data-theme=dark] .theme-toggle-sidebar:hover{background-color:#ffffff1a}.header-brand{display:flex;align-items:center;gap:var(--spacing-sm)}.header-logo{flex-shrink:0;filter:brightness(1.1) drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:transform .3s ease}.header-logo:hover{transform:scale(1.05)}.header-text{min-width:0}.app-title{font-size:1.25rem;font-weight:700;margin:0;color:#fff!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-tagline{font-size:.75rem;margin:4px 0 0;opacity:.9;color:#fff!important;display:none}.header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.header-icon-btn{background:#ffffff26;color:#fff;width:40px;height:40px;border-radius:var(--radius-md);cursor:pointer;display:none;align-items:center;justify-content:center;transition:all .3s ease}.header-icon-btn:hover{background:#ffffff40;transform:translateY(-2px)}.news-button{position:relative}@keyframes pulse{0%,to{box-shadow:0 0 #fff6}50%{box-shadow:0 0 0 6px #fff0}}.news-button{transition:all .3s ease}.news-button:hover{background:#ffffff40;transform:translateY(-2px)}.travel-airplane-btn{position:relative;overflow:visible;background:linear-gradient(135deg,#fff3,#ffffff1a)!important;border:1px solid rgba(255,255,255,.3)}.travel-airplane-btn:hover{background:linear-gradient(135deg,#ffffff4d,#ffffff26)!important;transform:translateY(-3px);box-shadow:0 4px 12px #00000026}.travel-airplane-btn svg{transition:transform .3s ease}.travel-airplane-btn:hover svg{transform:rotate(-10deg)}.travel-airplane-btn--labeled{width:auto;min-width:40px;min-height:40px;height:auto;padding:0 12px 0 10px;gap:8px}.travel-airplane-btn__label{font-size:.8125rem;font-weight:600;letter-spacing:-.02em;line-height:1;white-space:nowrap}.travel-airplane-btn__icon-wrap{display:flex;align-items:center;justify-content:center;flex-shrink:0}.vaire-btn-logo{width:22px;height:22px;border-radius:5px;flex-shrink:0}.user-menu{position:relative;display:none;margin-left:12px;padding-left:12px;border-left:1px solid rgba(255,255,255,.2)}.user-menu-btn{background:#ffffff26;color:#fff;width:40px;height:40px;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.user-menu-btn:has(.user-avatar){background:transparent;width:auto;height:auto;padding:2px;border-radius:50%;border:2px solid rgba(255,255,255,.5)}.user-menu-btn:hover,.user-menu-btn.active{background:#ffffff40;transform:translateY(-2px)}.user-menu-btn:has(.user-avatar):hover,.user-menu-btn:has(.user-avatar).active{background:transparent;border-color:#fff;transform:scale(1.05)}.tag-avatar{width:16px;height:16px;border-radius:50%;margin-right:6px;vertical-align:middle;object-fit:cover;border:1px solid rgba(255,255,255,.2);display:inline-block}.user-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;display:block}.user-avatar-mobile{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;margin-right:-10px;border:2px solid rgba(255,255,255,.5)}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:220px;overflow:hidden;z-index:1000;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.menu-item{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:12px 16px;background:transparent;border:none;color:var(--text-primary);font-size:.95rem;cursor:pointer;transition:all .2s ease;text-align:left}.menu-item svg{flex-shrink:0;color:currentColor!important}.menu-item:hover{background:var(--bg-tertiary)}.menu-item.logout{color:var(--error-dark)}.menu-item.logout:hover{background:var(--error);color:#fff}.menu-divider{height:1px;background:var(--bg-tertiary);margin:4px 0}.mobile-menu-toggle{display:flex;align-items:center;justify-content:center;background:#ffffff26;color:#fff;cursor:pointer;width:40px;height:40px;border-radius:var(--radius-md);transition:all .3s ease}.mobile-menu-toggle:hover{background:#ffffff40}.mobile-menu-toggle svg{color:#fff}.layout-nav{position:fixed;inset:0;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-right:var(--glass-border);transform:translate(-100%);transition:transform .3s ease;z-index:200;overflow-y:auto;display:flex;flex-direction:column}.layout-nav.mobile-open{transform:translate(0)}.mobile-nav-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:var(--glass-border);background:transparent;position:sticky;top:0;z-index:10}.mobile-nav-close-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:12px 16px;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease;width:100%;justify-content:center}.mobile-nav-close-btn:hover{background-color:var(--primary-dark, #5a4fd4);transform:translateY(-2px);box-shadow:var(--shadow-md)}.mobile-nav-close-btn:active{transform:translateY(0)}.mobile-nav-close-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px;background-color:var(--primary-dark, #5a4fd4)}.mobile-nav-close-btn svg{flex-shrink:0;transition:transform .3s ease}.mobile-nav-close-btn:hover svg{transform:rotate(90deg)}.mobile-nav-close-text{transition:opacity .3s ease}.nav-list{padding:var(--spacing-xl);margin:0;list-style:none;display:flex;flex-direction:column;gap:var(--spacing-md);flex:1;overflow-y:auto;overflow-x:visible;padding-bottom:120px}.nav-link{display:flex;align-items:center;gap:var(--spacing-md);padding:16px 20px;border-radius:var(--radius-md);color:var(--text-secondary);font-weight:500;transition:all .3s ease;white-space:nowrap;background:transparent;border:none;font-size:1.125rem;cursor:pointer;text-decoration:none;position:relative}.nav-icon{flex-shrink:0;transition:transform .3s ease}.nav-label{transition:opacity .3s ease}.nav-link:hover{background-color:var(--secondary);color:var(--primary);transform:translate(4px)}.nav-link:hover .nav-icon{transform:scale(1.1)}.nav-link.active{background-color:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.logout-mobile{color:var(--error-dark)!important;margin-top:var(--spacing-md)}.logout-mobile:hover{background-color:var(--error)!important;color:#fff!important}.mobile-section-divider{padding:var(--spacing-md) var(--spacing-lg);margin-top:var(--spacing-md);border-top:1px solid var(--bg-tertiary)}.mobile-section-divider .section-label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-light);letter-spacing:.5px}.more-menu-container{position:relative;overflow:visible;display:flex;align-items:center}.more-btn{display:flex;align-items:center;gap:var(--spacing-sm)}.more-chevron{transition:transform .2s ease;margin-left:2px}.more-chevron.open{transform:rotate(180deg)}.more-dropdown{position:absolute;top:calc(100% + 8px);left:50%;background:var(--bg-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:220px;width:max-content;overflow:hidden;z-index:1001;animation:slideDown .2s ease;white-space:nowrap;transform-origin:top center;backface-visibility:hidden;-webkit-font-smoothing:antialiased}.more-dropdown-item{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:12px 16px;background:transparent;border:none;color:var(--text-primary);font-size:.95rem;cursor:pointer;transition:all .2s ease;text-align:left}.more-dropdown-item:hover{background:var(--bg-tertiary);color:var(--primary)}.more-dropdown-item svg{flex-shrink:0;color:var(--text-secondary);transition:color .2s ease}.more-dropdown-item:hover svg{color:var(--primary)}.layout{min-height:100vh;display:flex;flex-direction:column}.layout input[type=date]{color:var(--text-primary);background-color:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--glass-border, #e0e0e0);padding:.5rem .75rem;accent-color:var(--primary)}.layout input[type=date]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #8b5cf640}.layout input[type=date]::-webkit-calendar-picker-indicator{color:var(--primary);opacity:.9;cursor:pointer}.layout input[type=date]:hover::-webkit-calendar-picker-indicator,.layout input[type=date]:focus::-webkit-calendar-picker-indicator{color:var(--text-primary)}[data-theme=dark] .layout input[type=date]{background-color:var(--bg-tertiary, #111827);border-color:var(--glass-border, rgba(255, 255, 255, .08))}[data-theme=dark] .layout input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.3);opacity:.9}.layout svg{display:inline-block;vertical-align:middle;pointer-events:none}.layout-main{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:var(--spacing-md);background-color:var(--bg-primary);min-height:calc(100vh - var(--header-height, 60px));transition:background-color .2s ease;position:relative;z-index:1}@media(max-width:767px){.layout-main{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}}.mobile-overlay{position:fixed;inset:0;background:#00000080;z-index:150;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.desktop-only{display:none!important}.mobile-only{display:block}@media(min-width:768px){.mobile-only{display:none!important}.desktop-only{display:flex!important}.app-title{font-size:1.5rem}.app-tagline{display:block;font-size:.875rem}.mobile-menu-toggle{display:none}.header-icon-btn,.user-menu{display:flex}.layout-nav{position:sticky;inset:73px auto auto;transform:translate(0);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:var(--glass-border);box-shadow:var(--shadow-sm);z-index:99;overflow:visible}.nav-list{max-width:1400px;margin:0 auto;padding:var(--spacing-sm) var(--spacing-md);flex-direction:row;gap:var(--spacing-xs);justify-content:center;overflow-x:visible;overflow-y:visible}.nav-list .more-menu-container{overflow:visible}.nav-link{padding:12px 14px;font-size:1rem;position:relative;min-width:auto}.nav-link:hover{transform:translateY(-2px)}.nav-label{display:none}.nav-link:after{content:attr(title);position:absolute;bottom:-40px;left:50%;transform:translate(-50%) scale(.8);background:var(--text-primary);color:var(--bg-primary);padding:6px 12px;border-radius:var(--radius-sm);font-size:.875rem;white-space:nowrap;opacity:0;pointer-events:none;transition:all .2s ease;z-index:1000}.nav-link:hover:after{opacity:1;transform:translate(-50%) scale(1)}.more-btn{padding:12px 14px}.more-btn .nav-label,.more-chevron{display:none}.more-dropdown{left:auto;right:0;transform:none;animation:slideDownRight .2s ease}@keyframes slideDownRight{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.layout-main{padding:var(--spacing-lg) var(--spacing-md)}}@media(min-width:1024px){.app-title{font-size:1.75rem}.layout-header{padding:var(--spacing-lg) var(--spacing-xl)}.nav-list{padding:var(--spacing-md) var(--spacing-xl);gap:var(--spacing-sm)}.nav-link{padding:12px 20px;min-width:120px}.nav-label{display:inline-block}.nav-link:after{display:none}.more-btn{padding:12px 20px}.more-btn .nav-label{display:inline-block}.more-chevron{display:block}.more-dropdown{left:50%;right:auto;transform:translate(-50%);animation:slideDown .2s ease}}.version-display{position:fixed;bottom:10px;right:20px;font-size:.75rem;color:var(--text-tertiary);opacity:.6;pointer-events:none;z-index:100;display:flex;gap:8px}.version-display:hover{opacity:1}.api-version{color:var(--text-quaternary)}@media(max-width:768px){.version-display{display:none}.version-mobile-container{margin-top:auto;padding-bottom:80px}.version-mobile{text-align:center;font-size:.7rem;color:var(--text-quaternary);padding:10px}}.import-modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;justify-content:flex-end;animation:fadeInOverlay .2s ease-out}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.import-modal-panel{background:var(--bg-secondary);width:100%;height:100%;max-height:100vh;display:flex;flex-direction:column;animation:slideInFromRight .3s cubic-bezier(.32,.72,0,1);overflow:hidden}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.import-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;flex-shrink:0}.import-modal-title{display:flex;align-items:center;gap:var(--spacing-sm)}.import-modal-title h2{margin:0;font-size:1.1rem;font-weight:600}.import-modal-close{background:#ffffff26;border:none;width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:var(--transition)}.import-modal-close:hover{background:#ffffff40}.import-modal-close:active{transform:scale(.95)}.import-modal-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@media(min-width:600px){.import-modal-panel{width:480px;max-width:90vw;height:100%;border-radius:var(--radius-lg) 0 0 var(--radius-lg);box-shadow:-10px 0 30px #0003}.import-modal-header{padding:var(--spacing-lg)}.import-modal-title h2{font-size:1.25rem}}@media(min-width:1024px){.import-modal-panel{width:520px}}[data-theme=dark] .import-modal-overlay{background:#000c}[data-theme=dark] .import-modal-panel{box-shadow:-10px 0 40px #0006}@media(prefers-reduced-motion:reduce){.import-modal-overlay,.import-modal-panel{animation:none!important}}.cookie-consent-banner{position:fixed;bottom:0;left:0;width:100%;background-color:var(--card-bg, #ffffff);color:var(--text-primary, #333333);box-shadow:0 -4px 10px #0000001a;padding:1rem;z-index:9999;border-top:1px solid var(--border-color, #e0e0e0);display:flex;justify-content:center;align-items:center;animation:slideUp .5s ease-out}.cookie-content{max-width:1200px;width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}@media(min-width:768px){.cookie-content{flex-direction:row;justify-content:space-between;text-align:left}}.cookie-message{font-size:.9rem;line-height:1.5;color:var(--text-secondary, #666666)}.cookie-banner__title{margin:0 0 .35rem;font-weight:600;color:var(--text-primary, #333333);font-size:.95rem}.cookie-banner__body{margin:0;line-height:1.5;font-size:.88rem}.cookie-banner__link{color:var(--primary-color, #0066cc);text-decoration:underline;cursor:pointer;font-weight:500}.cookie-message a{color:var(--primary-color, #0066cc);text-decoration:underline;cursor:pointer}.cookie-actions{display:flex;gap:1rem;flex-shrink:0}.cookie-btn{padding:.5rem 1.5rem;border-radius:4px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease;border:none}.cookie-btn-accept{background-color:var(--primary-color, #0066cc);color:#fff}.cookie-btn-accept:hover{opacity:.9;transform:translateY(-1px)}.cookie-btn-decline{background-color:transparent;border:1px solid var(--border-color, #cccccc);color:var(--text-secondary, #666666)}.cookie-btn-decline:hover{background-color:var(--bg-secondary, #f5f5f5)}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:var(--spacing-lg)}.error-content{max-width:600px;text-align:center;background:var(--bg-secondary);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.error-content h1{font-size:2rem;margin-bottom:var(--spacing-md);color:var(--text-primary)}.error-content p{font-size:1.0625rem;color:var(--text-secondary);margin-bottom:var(--spacing-xl)}.error-details{text-align:left;margin:var(--spacing-lg) 0;padding:var(--spacing-md);background:var(--bg-tertiary);border-radius:var(--radius-md);max-height:300px;overflow-y:auto}.error-details summary{cursor:pointer;font-weight:600;color:var(--error-dark);margin-bottom:var(--spacing-sm)}.error-details pre{font-size:.875rem;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin-top:var(--spacing-sm)}.add-to-ai-widget{position:relative}.summary-pin-wrap__toolbar{display:flex;justify-content:flex-end;margin-bottom:.75rem}.paire-score-hero-wrap .summary-pin-wrap__toolbar{margin-bottom:.5rem}.add-to-ai-btn{display:inline-flex;align-items:center;gap:.2rem;padding:.2rem .45rem;min-height:1.5rem;font-size:.65rem;font-weight:600;letter-spacing:.02em;border-radius:9999px;border:1px solid var(--border-color, rgba(139, 92, 246, .35));background:var(--glass-bg, var(--bg-secondary));color:var(--text-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;opacity:1;visibility:visible;pointer-events:auto;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease,opacity .2s ease,visibility .2s ease,color .2s ease;z-index:5;box-shadow:var(--glass-shadow, 0 1px 3px rgba(15, 23, 42, .08))}[data-theme=dark] .add-to-ai-btn:not(:disabled):not(.add-to-ai-btn--added){border-color:#ffffff2e;background:#0f071a8c;box-shadow:0 2px 10px #00000059}@media(hover:hover)and (pointer:fine){.add-to-ai-widget .add-to-ai-btn{opacity:0;visibility:hidden;pointer-events:none}.add-to-ai-widget:hover .add-to-ai-btn,.add-to-ai-widget:focus-within .add-to-ai-btn{opacity:1;visibility:visible;pointer-events:auto;box-shadow:0 2px 8px #8b5cf640}}@media(hover:none),(pointer:coarse){.add-to-ai-widget .add-to-ai-btn{opacity:0;visibility:hidden;pointer-events:none}.add-to-ai-widget.add-to-ai-widget--mobile-reveal .add-to-ai-btn,.add-to-ai-widget:focus-within .add-to-ai-btn{opacity:1;visibility:visible;pointer-events:auto}}.add-to-ai-btn:hover:not(:disabled){background:var(--bg-tertiary, var(--bg-primary));border-color:var(--primary, #8b5cf6)}.add-to-ai-btn:disabled,.add-to-ai-btn--added{cursor:default;color:var(--success, var(--success-color, #10b981));border-color:#10b98173;background:#10b98124}[data-theme=dark] .add-to-ai-btn:disabled,[data-theme=dark] .add-to-ai-btn--added{background:#10b9812e;color:#6ee7b7}.add-to-ai-btn__icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;width:.875rem;height:.875rem}:root{--primary: #8e44ad;--primary-light: #a569bd;--primary-dark: #7d3c98;--primary-gradient: linear-gradient(135deg, #8e44ad 0%, #a569bd 100%);--secondary: #f4ecf7;--accent: #d2b4de;--glass-bg: rgba(255, 255, 255, .85);--glass-border: 1px solid rgba(0, 0, 0, .08);--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, .08);--glass-blur: blur(12px);--bg-primary: #fdfbfd;--bg-secondary: #ffffff;--bg-tertiary: #f5f5f5;--text-primary: #1e293b;--text-secondary: #475569;--text-light: #94a3b8;--success: #2ecc71;--success-dark: #27ae60;--error: #e74c3c;--error-dark: #c0392b;--warning: #f1c40f;--warning-dark: #f39c12;--info: #3498db;--info-dark: #2980b9;--shadow-sm: 0 2px 8px rgba(142, 68, 173, .05);--shadow-md: 0 4px 16px rgba(142, 68, 173, .08);--shadow-lg: 0 8px 30px rgba(142, 68, 173, .12);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px;--radius-full: 50%;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--transition: all .3s cubic-bezier(.25, .8, .25, 1);--font-scale: 1;--p-violet-600: #6c5ce7;--p-violet-500: #7c6cf0;--p-violet-100: #ede9fe;--p-violet-50: #f5f3ff;--p-ink: #0f0d15;--p-gray-900: #111827;--p-gray-600: #4b5563;--p-gray-400: #9ca3af;--p-gray-200: #e5e7eb;--p-gray-50: #f9fafb;--p-charcoal: #18181b}[data-font-size=large]{--font-scale: 1.15}[data-font-size=xl]{--font-scale: 1.3}[data-motion=reduced] *,[data-motion=reduced] *:before,[data-motion=reduced] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}*{margin:0;padding:0;box-sizing:border-box}html{font-size:calc(16px * var(--font-scale, 1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;overflow-y:scroll;width:100%;max-width:100vw;height:100%}[data-contrast=high]{--border-width: 2px;--glass-border: 2px solid rgba(0, 0, 0, .4);--text-primary: #000000;--text-secondary: #000000;--bg-primary: #ffffff}[data-theme=dark][data-contrast=high]{--glass-border: 2px solid #ffffff;--text-primary: #ffffff;--text-secondary: #ffffff;--bg-primary: #000000}[data-contrast=high] .btn,[data-contrast=high] input,[data-contrast=high] .card{border:2px solid currentColor}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100%;overflow-x:hidden;overflow-y:auto;width:100%;max-width:100vw;position:relative;transition:background-color .2s ease}html{background-color:var(--bg-primary);transition:background-color .2s ease}#root{background-color:var(--bg-primary);min-height:100%;overflow-x:hidden;width:100%;max-width:100vw;transition:background-color .2s ease}html.overlay-open,html.overlay-open body{overflow:hidden!important}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--text-primary)}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-bottom:var(--spacing-md);color:var(--text-secondary)}a{color:var(--primary);text-decoration:none;transition:var(--transition)}a:hover{color:var(--primary-dark)}button,.btn{padding:8px 16px;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:inherit;white-space:nowrap}button svg,.btn svg,a.btn svg{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0;width:22px;height:22px;margin:0;padding:0}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 100%);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary{background-color:var(--secondary);color:var(--primary)}.btn-secondary:hover{background-color:var(--primary-light);color:#fff}.btn-success{background-color:var(--success-dark);color:#fff}.btn-error{background-color:var(--error-dark);color:#fff}.btn-outline{background-color:transparent;border:2px solid var(--primary);color:var(--primary)}.btn-outline:hover{background-color:var(--primary);color:#fff}.btn-sm{padding:6px 12px;font-size:.8125rem;border-radius:var(--radius-sm)}.page-header .btn,.page-header button{padding:8px 16px;font-size:.875rem;max-width:fit-content}button svg,.btn svg,a.btn svg,button .icon,.btn .icon,a.btn .icon,button * svg,.btn * svg{animation:none!important;transform:none!important;transition:none!important}button:hover svg,.btn:hover svg,a.btn:hover svg,button:hover .icon,.btn:hover .icon,a.btn:hover .icon,button:hover * svg,.btn:hover * svg,button:focus svg,.btn:focus svg,button:active svg,.btn:active svg{animation:none!important;transform:none!important;transition:none!important}button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.form-group{margin-bottom:var(--spacing-lg)}label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--text-primary)}input:not([type=checkbox]):not([type=radio]),textarea,select{width:100%;padding:14px 18px;border:2px solid #e0e0e0;border-radius:var(--radius-md);font-size:1rem;font-family:inherit;transition:var(--transition);background-color:var(--bg-secondary);color:var(--text-primary);line-height:1.5;min-height:48px;-webkit-appearance:none;appearance:none}select{padding-right:40px;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;cursor:pointer}[data-theme=dark] select{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f5f6fa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e")}input[type=checkbox],input[type=radio]{width:auto;min-height:auto;padding:0;margin:0;-webkit-appearance:checkbox;appearance:checkbox;cursor:pointer;flex-shrink:0}input[type=radio]{-webkit-appearance:radio;appearance:radio}[data-theme=dark]{--primary: #8b7af0;--primary-light: #a394f4;--primary-dark: #6c5ce7;--secondary: #00b894;--secondary-light: #55efc4;--secondary-dark: #00cec9;--accent: #fd79a8;--bg-primary: #1a1b26;--bg-secondary: #0f1016;--bg-tertiary: #2d2e3a;--text-primary: #f5f6fa;--text-secondary: #b2bec3;--text-tertiary: #636e72;--card-bg: var(--bg-secondary);--card-border: rgba(255, 255, 255, .1);--card-shadow: 0 4px 6px rgba(0, 0, 0, .3);--glass-bg: rgba(30, 32, 45, .6);--glass-border: rgba(255, 255, 255, .08);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .5);--gradient-primary: linear-gradient(135deg, #6c5ce7 0%, #341f97 100%);--gradient-glass: linear-gradient(135deg, rgba(255, 255, 255, .05) 0%, rgba(255, 255, 255, .01) 100%)}label:has(input[type=checkbox]),label:has(input[type=radio]){cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;gap:var(--spacing-sm)}@media(max-width:767px){input[type=checkbox],input[type=radio]{width:28px;height:28px;min-width:28px;min-height:28px;flex-shrink:0}label:has(input[type=checkbox]),label:has(input[type=radio]){min-height:48px;padding:var(--spacing-sm);gap:var(--spacing-md)}}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #6c5ce726;transform:translateY(-1px);transition:var(--transition)}input[type=checkbox]:focus,input[type=radio]:focus{outline:2px solid var(--primary);outline-offset:2px;transform:none;box-shadow:none}input::placeholder,textarea::placeholder{color:var(--text-light)}.card{background-color:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid rgba(0,0,0,.02)}.glass-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg);transition:var(--transition)}.card:hover,.glass-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#8e44ad33}.card-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--bg-tertiary)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--spacing-md);background-color:var(--bg-primary);transition:background-color .2s ease;width:100%;position:relative}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:var(--spacing-md);padding:var(--spacing-xl);background-color:var(--bg-primary);transition:background-color .2s ease;width:100%}.spinner{width:48px;height:48px;border:4px solid var(--secondary, rgba(0, 0, 0, .1));border-top-color:var(--primary, #6c5ce7);border-right-color:var(--primary, #6c5ce7);border-bottom-color:var(--primary, #6c5ce7);border-left-color:var(--primary, #6c5ce7);border-radius:50%;animation:spinSmooth 1s cubic-bezier(.4,0,.2,1) infinite;transition:all .3s cubic-bezier(.4,0,.2,1);will-change:transform;transform:translateZ(0);-webkit-transform:translateZ(0)}@keyframes spinSmooth{0%{transform:rotate(0) translateZ(0)}to{transform:rotate(360deg) translateZ(0)}}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-column{flex-direction:column}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}@media(min-width:768px){html{font-size:calc(17px * var(--font-scale, 1))}h1{font-size:2.5rem}}@media(min-width:1024px){html{font-size:calc(18px * var(--font-scale, 1))}h1{font-size:3rem}h2{font-size:2.25rem}}.page-header .btn,.page-header button{padding:10px 18px;font-size:.875rem;min-height:44px}.empty-state .btn{padding:12px 24px;font-size:.9375rem;min-height:48px}@media(min-width:768px){.page-header .btn,.page-header button{padding:8px 16px;font-size:.875rem;min-height:auto}input,textarea,select{padding:9px 18px;font-size:1.0625rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:2px}[data-theme=dark] img[src$="/paire-logo.svg"]{content:url(/paire-logo-dark.svg)}body.paire-app{--primary: #6f4ea5;--primary-dark: #5d3f8e;--primary-light: #947cb4;--primary-gradient: var(--primary);--secondary: #f0edf5;--bg-primary: #f8f8fa;--bg-secondary: #fff;--bg-tertiary: #f1f1f4;--text-primary: #27262d;--text-secondary: #64616c;--text-light: #77717e;--border-color: #e4e3e8;--revision-border: var(--border-color);--finance-positive: #307454;--finance-negative: #a74542;--finance-accent-ink: #fff;--success: var(--finance-positive);--success-dark: #245b41;--error: var(--finance-negative);--error-dark: #8b3533;--warning: #8a632b;--warning-dark: #785323;--info: #536f91;--info-dark: #405978;--accent: var(--primary-light);--border: var(--border-color);--text-muted: var(--text-secondary);--glass-bg: var(--bg-secondary);--glass-border: 1px solid var(--border-color);--glass-blur: none;--glass-shadow: none;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--radius-lg: 12px;--radius-sm: 8px;--radius-md: 8px;--radius-xl: 16px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-primary)}[data-theme=dark] body.paire-app{--primary: #c3a5d7;--primary-dark: #d6bfe5;--primary-light: #a98cbd;--secondary: #332c39;--bg-primary: #17171c;--bg-secondary: #202026;--bg-tertiary: #292930;--text-primary: #f2eff5;--text-secondary: #b4aebc;--text-light: #a49cad;--border-color: #36323c;--finance-positive: #8bceac;--finance-negative: #eda39d;--finance-accent-ink: #211a26;--success-dark: #a8dfc2;--error-dark: #f4bbb6;--warning: #d4b27c;--warning-dark: #e4c89d;--info: #a0b9d6;--info-dark: #c1d2e7}html:has(body.paire-app){font-size:calc(16px * var(--font-scale, 1));background:var(--bg-primary)}.layout.finance-layout{background:var(--bg-primary)}.layout.finance-layout .layout-main{color:var(--text-primary);background:var(--bg-primary)}.layout.finance-layout .page-header h1{margin:0;font-size:1.75rem;font-weight:600;line-height:1.3;letter-spacing:-.03em;color:var(--text-primary);background:none;-webkit-text-fill-color:currentColor}.layout.finance-layout .page-header h1>svg{display:none}.layout.finance-layout .page-subtitle{max-width:65ch;margin-top:8px;color:var(--text-secondary);font-size:.875rem;line-height:1.6}.layout.finance-layout :is(.card,.glass-card,.summary-card){background:var(--bg-secondary);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border-color:var(--border-color);transform:none}.layout.finance-layout :is(.card,.glass-card):before,.layout.finance-layout :is(.card,.glass-card):after{display:none}.layout.finance-layout :is(.btn,.btn-primary,.btn-secondary){min-height:44px;padding:10px 16px;border-radius:8px;box-shadow:none;font:inherit;font-size:.875rem;font-weight:550;text-shadow:none;background-image:none;transform:none}.layout.finance-layout .btn-primary{background:var(--primary);color:var(--finance-accent-ink)}.layout.finance-layout .btn-secondary{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.layout.finance-layout .layout-header{background:var(--bg-secondary);color:var(--text-primary);box-shadow:none;border-bottom:1px solid var(--border-color)}.layout.finance-layout .layout-header .app-title{color:var(--text-primary)!important}.layout.finance-layout .layout-header svg{color:var(--text-secondary)!important}.layout.finance-layout .layout-header :is(.header-icon-btn,.user-menu-btn,.mobile-menu-toggle){background:transparent;color:var(--text-secondary);border-radius:8px;box-shadow:none}.layout.finance-layout .header-actions{gap:8px}.layout.finance-layout :is(.summary-value,.amount,.value,table){font-variant-numeric:tabular-nums}.layout.finance-layout .summary-cards{gap:0;border-block:1px solid var(--border-color);margin-block:24px 28px}.layout.finance-layout .summary-cards .summary-card{border:0;border-radius:0;padding:24px;background:transparent}.layout.finance-layout .summary-card+.summary-card{border-inline-start:1px solid var(--border-color)}.layout.finance-layout .summary-card :is(.card-icon,.summary-icon){background:transparent;color:var(--text-secondary);box-shadow:none}.layout.finance-layout .summary-card .amount{color:var(--text-primary);text-shadow:none}.layout.finance-layout .add-to-ai-btn{min-height:44px;min-width:44px;padding:8px 10px;border-color:var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;letter-spacing:0;transform:none}.layout.finance-layout :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--primary);outline-offset:3px}.layout.finance-layout :is(input,textarea){caret-color:var(--primary)}.layout.finance-layout ::selection{background:var(--secondary);color:var(--text-primary)}.layout.finance-layout input::placeholder{color:var(--text-light);opacity:1}.layout.finance-layout .more-dropdown{max-height:min(70dvh,560px);overflow-y:auto}.connection-arrival{max-width:560px;margin:15vh auto;padding:24px;color:var(--text-primary)}.connection-arrival h1{font-size:1.6rem}.connection-arrival p{color:var(--text-secondary);line-height:1.6}.connection-arrival button{min-height:44px;padding:10px 20px;font:inherit}@media(max-width:600px){.layout.finance-layout .page-header h1{font-size:1.5rem}.layout.finance-layout .summary-cards{grid-template-columns:1fr}.layout.finance-layout .summary-cards .summary-card{padding:16px 0;border:0}.layout.finance-layout .summary-card+.summary-card{border-top:1px solid var(--border-color)}.layout.finance-layout .summary-card .amount{font-size:1.5rem}}:root{--revision-border: #ddd7e4}[data-theme=dark]{--revision-border: #51455f}body :is(.login-page,.forgot-password-page,.reset-password-page,.email-confirmation-page,.accept-invitation-container){min-height:100svh;padding:clamp(16px,4vw,40px)}body .login-page .login-container,body .forgot-password-page .forgot-password-card,body .reset-password-page .reset-card,body .email-confirmation-page .confirmation-card,body .accept-invitation-container .accept-invitation-card{background:var(--bg-secondary);border:1px solid var(--revision-border);border-radius:16px;box-shadow:0 12px 40px #1f143314;backdrop-filter:none;-webkit-backdrop-filter:none}body .login-page .login-form-container{padding:clamp(24px,4vw,48px)}body .login-page .login-form-wrapper{width:100%;max-width:420px;margin-inline:auto}body .login-page .login-form{gap:12px}body .login-page .login-form .form-group{margin-bottom:0}body .login-page .form-title{filter:none;margin:0 0 24px;text-shadow:none;line-height:1.2;text-wrap:balance}body :is(.login-page,.forgot-password-page,.reset-password-page) .form-group{margin-bottom:18px}body :is(.login-page,.forgot-password-page,.reset-password-page) .form-group label{line-height:1.5}body :is(.login-page,.forgot-password-page,.reset-password-page) .form-group input{min-height:48px;font-size:16px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--revision-border);border-radius:10px}body :is(.login-page,.forgot-password-page,.reset-password-page) .form-group input:focus-visible{outline:2px solid var(--primary);outline-offset:3px}body :is(.login-page,.forgot-password-page,.reset-password-page) .alert{display:flex;align-items:flex-start;gap:10px;line-height:1.6;overflow-wrap:anywhere;margin-bottom:20px}body :is(.login-page,.forgot-password-page,.reset-password-page) .alert svg{flex-shrink:0;margin-top:3px}body .login-page .password-toggle{min-width:44px;min-height:44px}body .login-page .remember-me-row{margin-bottom:4px}body .login-page .remember-me-label{min-height:44px}body .login-page .forgot-password-row{margin-bottom:16px}body .login-page .forgot-password-link a,body .forgot-password-page .back-link,body .reset-password-page .link-button{display:inline-flex;align-items:center;min-height:44px}body .reset-password-page .reset-content .back-link{display:block;width:fit-content;margin:16px auto 0;padding:8px;min-height:44px}body .admin-auth-container{min-height:100svh;padding:24px}body .admin-auth-container .admin-auth-card{min-height:0;border:1px solid var(--revision-border);border-radius:16px;background:var(--bg-secondary);box-shadow:0 12px 40px #1f143314;backdrop-filter:none;-webkit-backdrop-filter:none}body .admin-auth-container .admin-auth-header h1{font-size:1.75rem;line-height:1.2;filter:none}body .admin-auth-container .admin-auth-error{line-height:1.6;overflow-wrap:anywhere}body .admin-auth-container :is(button,input){min-height:48px;font-size:16px}body .admin-auth-container :is(button,input):focus-visible{outline:2px solid var(--primary);outline-offset:3px}body .admin-auth-container code{overflow-wrap:anywhere}body :is(.forgot-password-page,.reset-password-page,.email-confirmation-page) h1{line-height:1.2;text-wrap:balance}body :is(.forgot-password-page,.reset-password-page,.email-confirmation-page) p{line-height:1.65}body :is(.forgot-password-page,.reset-password-page,.email-confirmation-page) .btn{min-height:48px}body :is(.login-page,.forgot-password-page,.reset-password-page,.email-confirmation-page) :is(button,a):focus-visible{outline:2px solid var(--primary);outline-offset:3px}@media(max-width:640px){body .login-page{padding:12px;align-items:flex-start}body .login-page .login-branding-mobile{padding:20px 24px;gap:6px}body .login-page .login-branding-mobile .brand-logo{margin-bottom:0}body .login-page .login-branding-mobile .brand-logo :is(img,svg){width:48px;height:48px}body .login-page .login-branding-mobile h1{font-size:1.25rem;margin:0}body .login-page .login-branding-mobile p{margin:0}body .login-page .login-form-container{padding:28px 20px;align-items:flex-start}body .login-page .login-form{gap:12px}body .login-page .login-form .form-group{margin-bottom:0}body .login-page .form-title{filter:none;font-size:1.5rem;margin-bottom:24px}body :is(.forgot-password-page,.reset-password-page,.email-confirmation-page) :is(.forgot-password-card,.reset-card,.confirmation-card){padding:24px 20px}}@media(prefers-reduced-motion:reduce){body :is(.login-page,.forgot-password-page,.reset-password-page,.email-confirmation-page,.accept-invitation-container){animation:none}body .login-page .login-branding:before{animation:none}}.layout :is(.expenses-page,.income-page) .data-cards-grid{grid-template-columns:minmax(0,1fr);gap:0}.layout .expenses-page .data-cards-grid .expense-card.card:not(.skeleton-card),.layout .income-page .data-cards-grid .income-card.card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"header actions" "description actions" "meta actions";gap:6px 24px;min-height:0;height:auto;padding:20px 4px;border:0;border-bottom:1px solid var(--revision-border);border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background-color .12s ease}.layout :is(.expenses-page,.income-page) .data-cards-grid .data-card-header{grid-area:header;min-width:0;margin:0;align-items:center;gap:16px}.layout :is(.expenses-page,.income-page) .data-cards-grid .data-card-body{grid-area:description;min-width:0;min-height:0;margin:0;-webkit-line-clamp:2;line-clamp:2}.layout :is(.expenses-page,.income-page) .data-cards-grid .data-card-body p{margin:0;line-height:1.6}.layout :is(.expenses-page,.income-page) .data-cards-grid .data-card-meta{grid-area:meta;margin:0;line-height:1.6}.layout :is(.expenses-page,.income-page) .data-cards-grid .data-card-actions{grid-area:actions;display:flex;align-items:center;gap:4px;border:0;margin:0;padding:0}.layout :is(.expenses-page,.income-page) .data-cards-grid .data-card-actions button{min-width:44px;min-height:44px;box-shadow:none}.layout :is(.expenses-page,.income-page) .data-cards-grid :is(.expense-amount,.income-amount){font-size:1.125rem;line-height:1.4;font-variant-numeric:tabular-nums;text-shadow:none}.layout :is(.expenses-page,.income-page) .data-cards-grid :is(.expense-category,.income-category){font-size:.9375rem;line-height:1.5}.layout :is(.expenses-page,.income-page) .data-cards-grid :is(.expense-card,.income-card):hover{transform:none;box-shadow:none;background:transparent}.layout :is(.expenses-page,.income-page) :is(.expenses-filters-grid,.income-filters-grid){gap:12px;margin-bottom:18px}.layout :is(.expenses-page,.income-page) :is(.search-input,.picker-trigger){box-shadow:none;border-radius:10px}.layout :is(.expenses-ai-context,.income-ai-context){border-radius:0;padding:12px 0;margin-bottom:8px;background:transparent;box-shadow:none;border:0;border-bottom:1px solid var(--revision-border)}.layout :is(.expenses-ai-context__text,.income-ai-context__text){margin:0;line-height:1.6}.layout :is(.all-transactions-page,.budgets-page,.savings-goals-page,.loans-page,.recurring-bills-page) .page-header{align-items:flex-start;gap:16px}.layout .budgets-page .budget-card,.layout .loans-page .loan-card,.layout .savings-goals-page .goal-card,.layout .recurring-bills-page .bill-card{border:1px solid var(--revision-border);border-radius:12px;padding:24px;background:var(--bg-secondary);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:border-color .12s ease}.layout .budgets-page .budget-card:hover,.layout .loans-page .loan-card:hover,.layout .savings-goals-page .goal-card:hover,.layout .recurring-bills-page .bill-card:hover{transform:none;box-shadow:none;background:var(--bg-secondary)}.layout :is(.budgets-page,.loans-page,.savings-goals-page,.recurring-bills-page) :is(.budget-card,.loan-card,.goal-card,.bill-card):before{display:none}.layout :is(.budgets-page,.loans-page,.savings-goals-page,.recurring-bills-page) :is(.budget-header,.loan-header,.goal-header,.bill-header){min-width:0}.layout :is(.budget-category,.loan-party,.goal-info,.bill-title){min-width:0;overflow-wrap:anywhere}.layout :is(.budgets-page,.loans-page,.savings-goals-page,.recurring-bills-page) :is(.icon-btn,.icon-button){min-width:44px;min-height:44px}.layout :is(.budgets-page,.savings-goals-page,.loans-page,.recurring-bills-page) :is(.amount-value,.budget-amount,.goal-amount,.summary-value){font-variant-numeric:tabular-nums;text-shadow:none}.layout .all-transactions-page .visible-summary-bar{gap:16px;flex-wrap:wrap;border-radius:10px;box-shadow:none}.layout .all-transactions-page .summary-value{font-variant-numeric:tabular-nums}.layout :is(.profile-page,.partnership-page)>.card{border:1px solid var(--revision-border);border-radius:12px;box-shadow:none;background:var(--bg-secondary);padding:24px}.layout .profile-page .card-header h2{font-size:1.25rem;line-height:1.3}.layout .profile-page .card-header{gap:16px;align-items:flex-start}.layout :is(.profile-page .info-content,.partnership-page .partner-details){min-width:0;overflow-wrap:anywhere}.layout .profile-page .info-icon{background:transparent;box-shadow:none;color:var(--primary)}.layout .profile-page .info-content p{font-size:1rem;line-height:1.6}.layout :is(.achievements-page .achievements-title,.paire-score-page .page-title){color:var(--text-primary);font-size:1.8rem;line-height:1.2;background:none;-webkit-text-fill-color:currentColor;text-shadow:none}.layout .achievements-page .achievements-header{text-align:left}.layout .paire-score-page .paire-score-header{align-items:flex-start;text-align:left}.layout .paire-score-page .score-hero{padding-block:24px}.layout :is(.expenses-page,.income-page,.all-transactions-page) :is(.pagination-controls,.pagination){flex-wrap:wrap;row-gap:12px}.form-field .form-field-label{flex-wrap:wrap;line-height:1.5}.form-field .form-field-input-wrapper{min-width:0}.form-field .form-field-input{min-height:48px;border-width:1px;transition:border-color .12s ease,box-shadow .12s ease}.form-field .form-field-message{line-height:1.6;overflow-wrap:anywhere}.layout .query-error{max-width:68ch;padding:24px;border:1px solid var(--revision-border);border-radius:12px;background:var(--bg-secondary)}.layout .query-error h2{font-size:1.25rem;line-height:1.3;margin:0 0 12px}.layout .query-error p{line-height:1.65;margin-bottom:20px}.portal-modal-content{max-height:min(90dvh,900px)}.portal-modal-content .portal-modal-header{border-bottom:1px solid var(--revision-border)}.portal-modal-content .portal-modal-close-btn{min-width:44px;min-height:44px}.portal-modal-content .portal-modal-body{min-height:0;overscroll-behavior:contain}.portal-modal-content :is(input,select,textarea){font-size:16px}.portal-modal-content :is(button,input,select,textarea):focus-visible{outline:2px solid var(--primary);outline-offset:3px}.toast-container .toast{pointer-events:none}.toast-container .toast button{pointer-events:auto;min-width:44px;min-height:44px}.toast-container .toast-message{overflow-wrap:anywhere}@media(prefers-reduced-motion:reduce){.toast-container :is(.toast,.toast-exiting){animation:none}}@media(hover:hover)and (pointer:fine){.layout :is(.expenses-page,.income-page) .data-cards-grid :is(.expense-card,.income-card):hover{background:var(--bg-secondary)}}@media(max-width:600px){.layout :is(.budgets-page .budget-card,.loans-page .loan-card,.savings-goals-page .goal-card,.recurring-bills-page .bill-card){padding:20px}.layout .expenses-page .data-cards-grid .expense-card.card:not(.skeleton-card),.layout .income-page .data-cards-grid .income-card.card{grid-template-areas:"header header" "description description" "meta actions";gap:8px 12px;padding-block:18px}.layout :is(.expenses-page,.income-page) .data-cards-grid .data-card-meta{align-self:center}.layout :is(.expenses-page,.income-page) .data-cards-grid .data-card-actions{justify-self:end}.portal-modal-overlay .portal-modal-content{max-height:calc(100dvh - 24px);border-radius:16px}}body.paire-app{--p-violet-600: var(--primary);--p-violet-500: var(--primary-dark);--p-violet-100: var(--secondary);--p-violet-50: var(--bg-tertiary);--p-ink: var(--text-primary);--p-gray-900: var(--text-primary);--p-gray-600: var(--text-secondary);--p-gray-400: var(--text-light);--p-gray-200: var(--border-color);--p-gray-50: var(--bg-primary);background:var(--bg-primary);scrollbar-color:var(--text-light) var(--bg-tertiary);color-scheme:light}[data-theme=dark] body.paire-app{color-scheme:dark}body.paire-app ::selection{background:var(--secondary);color:var(--text-primary)}body.paire-app :is(button,a,summary){touch-action:manipulation;-webkit-tap-highlight-color:transparent}body.paire-app :is(button,summary){-webkit-user-select:none;user-select:none}body.paire-app :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--primary);outline-offset:3px}body.paire-app :is(input,textarea){caret-color:var(--primary)}body.paire-app :is(input,textarea)::placeholder{color:var(--text-light);opacity:1}body.paire-app :is(.btn,.btn-primary,.btn-secondary,.btn-danger,.convert-button,.generate-btn,.recalculate-btn,.onboarding-primary-btn,.onboarding-secondary-btn){min-height:44px;border-radius:8px;padding:10px 16px;font-family:inherit;font-size:.875rem;font-weight:600;box-shadow:none;background-image:none;text-shadow:none;transform:none;letter-spacing:0;transition:background-color .12s ease,border-color .12s ease,opacity .12s ease}body.paire-app :is(.btn-primary,.convert-button,.generate-btn,.onboarding-primary-btn){background:var(--primary);color:var(--finance-accent-ink);border:1px solid transparent}body.paire-app :is(.btn-secondary,.recalculate-btn,.onboarding-secondary-btn){background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}body.paire-app .btn-danger{background:var(--error);color:var(--finance-accent-ink);border:1px solid transparent}body.paire-app button:disabled{cursor:not-allowed}body.paire-app :is(.btn,.convert-button,.generate-btn,.recalculate-btn):active:not(:disabled){opacity:.8;transform:none}body.paire-app :is(.icon-btn,.icon-button,.close-btn,.modal-close-btn,.nav-arrow){min-width:44px;min-height:44px;border-radius:8px;box-shadow:none}body.paire-app :is(.form-group,.input-group,.form-field){min-width:0}body.paire-app :is(.form-group,.input-group,.form-field)>label{display:block;margin-bottom:8px;color:var(--text-primary);font-size:.875rem;font-weight:600;line-height:1.5}body.paire-app :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]),select,textarea){min-width:0;max-width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-family:inherit;font-size:1rem;line-height:1.5;box-shadow:none}body.paire-app textarea{min-height:96px;resize:vertical}body.paire-app :is(input,select,textarea):disabled{color:var(--text-secondary);background:var(--bg-tertiary);opacity:.7}body.paire-app :is(input[type=checkbox],input[type=radio]){accent-color:var(--primary)}body.paire-app .input-with-icon input{padding-inline-start:44px}body.paire-app .password-input-wrapper input{padding-inline-end:48px}body.paire-app :is(.form-hint,.form-group small,.form-field-hint){color:var(--text-secondary);font-size:.8125rem;line-height:1.6}body.paire-app .form-section{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;margin-bottom:24px}body.paire-app .form-section-header{padding:0 0 12px;margin-bottom:16px;border-bottom:1px solid var(--border-color)}body.paire-app .form-section-title{font-size:1rem;line-height:1.4}body.paire-app .form-section-content{gap:16px}body.paire-app .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}body.paire-app .form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:16px;border-top:1px solid var(--border-color)}body.paire-app .form-actions .btn{width:auto;min-width:104px}body.paire-app .currency-input-container{display:flex;align-items:center;min-height:48px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);box-shadow:none;overflow:hidden}body.paire-app .currency-input-container .currency-symbol{position:static;transform:none;padding:0 12px;color:var(--text-secondary);background:transparent}body.paire-app .currency-input-container input.currency-input{border:0;border-radius:0;flex:1;width:100%;min-height:46px;padding-inline-start:0;background:transparent;box-shadow:none}body.paire-app .currency-input-container:focus-within{outline:2px solid var(--primary);outline-offset:2px}body.paire-app .currency-input-container input:focus{outline:none}body.paire-app :is(.currency-input-container,.date-input-container){padding:0;transform:none}body.paire-app .date-input-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:none}body.paire-app .date-input-container input.date-input{min-height:46px;width:100%;padding:10px 12px;border:0;background:transparent}body.paire-app .autocomplete-input-container{padding:0;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);box-shadow:none;transform:none}body.paire-app .autocomplete-input-container input.autocomplete-input{min-height:46px;padding:10px 12px;border:0;border-radius:0;background:transparent;box-shadow:none}body.paire-app .autocomplete-input-container .autocomplete-icon{width:40px;padding:0;color:var(--text-secondary)}body.paire-app :is(.quick-amounts,.quick-dates){display:flex;flex-wrap:wrap;gap:6px}body.paire-app :is(.quick-amount-btn,.quick-date-btn,.payment-method-btn){min-height:44px;padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);box-shadow:none;transform:none}body.paire-app .payment-method-btn.active{background:var(--secondary);border-color:var(--primary);color:var(--primary-dark)}body.paire-app .category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}body.paire-app .category-grid .category-card{flex-direction:row;align-items:center;justify-content:flex-start;min-height:48px;padding:8px;gap:8px;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);background:var(--bg-secondary);box-shadow:none;transform:none}body.paire-app .category-grid .category-card.selected{border-color:var(--primary);background:var(--secondary);color:var(--primary-dark);box-shadow:none}body.paire-app .category-grid .category-icon{width:28px;height:28px;min-width:28px;background:transparent;box-shadow:none;transform:none}body.paire-app .category-grid .category-card.selected .category-icon{background:var(--primary);border-radius:6px}body.paire-app .category-grid .category-name{min-width:0;font-weight:500;text-align:start}body.paire-app .category-grid .category-check{display:none}body.paire-app input.category-validation-input{min-height:0;min-width:0;width:0;height:0;padding:0;border:0}body.paire-app :is(.picker-trigger,.date-range-picker .date-range-trigger){min-height:44px;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);background:var(--bg-secondary);box-shadow:none}body.paire-app :is(.form-tabs-bar,.tabs-container){background:transparent;box-shadow:none;border-bottom:1px solid var(--border-color);border-radius:0}body.paire-app .form-tabs-btn{min-height:48px;border-radius:8px 8px 0 0;color:var(--text-secondary);background:transparent;box-shadow:none}body.paire-app .form-tabs-btn.active{color:var(--primary-dark);background:var(--secondary)}body.paire-app .form-tabs-btn{white-space:normal;line-height:1.4}body.paire-app .form-tabs-btn-label{white-space:normal;overflow:visible;text-overflow:clip}body.paire-app .custom-dropdown__button{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:none;transform:none}body.paire-app .custom-dropdown__button:hover{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary);box-shadow:none;transform:none}body.paire-app :is(.custom-dropdown__menu,.custom-dropdown__options){background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}body.paire-app .portal-modal-overlay{padding:12px;background:#14121c5c;-webkit-backdrop-filter:none;backdrop-filter:none;animation:none}body.paire-app .workspace-dialog{width:100%;max-width:680px;max-height:calc(100dvh - 24px - env(safe-area-inset-bottom,0px));background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;box-shadow:none;animation:none}body.paire-app .workspace-dialog .portal-modal-header{padding:16px 20px;border-bottom:1px solid var(--border-color);border-radius:0;gap:12px}body.paire-app .workspace-dialog .portal-modal-header h2{font-size:1.125rem;line-height:1.4;color:var(--text-primary)}body.paire-app .portal-modal-close-btn{min-width:44px;min-height:44px;border-radius:8px;background:transparent;color:var(--text-secondary);transform:none}body.paire-app .workspace-dialog .portal-modal-body{padding:20px;scrollbar-color:var(--text-light) var(--bg-tertiary)}body.paire-app .workspace-dialog .portal-modal-body:has(>form .form-with-scroll){padding:0}body.paire-app .workspace-dialog .portal-modal-body>form.transaction-form{padding:0;gap:0}body.paire-app .workspace-dialog .portal-modal-body>form .form-with-scroll{padding:20px;gap:18px;scrollbar-color:var(--text-light) var(--bg-tertiary)}body.paire-app .workspace-dialog .transaction-form>*{margin-bottom:0}body.paire-app .workspace-dialog .form-tabs-panel>*{margin-block:0}body.paire-app .workspace-dialog .form-tabs-panel{gap:20px}body.paire-app .workspace-dialog .portal-modal-body>form .form-actions{flex-shrink:0;flex-direction:row;margin:0;padding:16px 20px;background:var(--bg-secondary)}body.paire-app .workspace-dialog .form-group{margin:0 0 16px}body.paire-app .workspace-dialog .form-tabs-bar{margin:0;padding:8px 12px 0;flex-shrink:0}body.paire-app .workspace-dialog :is(.category-selector-trigger,.picker-trigger,.file-upload-label){min-height:48px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:8px;box-shadow:none}body.paire-app :is(.category-modal,.modal-content,.confirmation-modal,.quick-add-drawer,.accessibility-panel,.calculator-panel){background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:16px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}body.paire-app :is(.category-modal-header,.modal-header,.quick-add-header){background:var(--bg-secondary);color:var(--text-primary);border-bottom:1px solid var(--border-color)}body.paire-app :is(.category-modal-header,.modal-header):before{display:none}body.paire-app :is(.category-modal-footer,.modal-footer){background:var(--bg-secondary);border-top:1px solid var(--border-color)}body.paire-app :is(.quick-add-drawer,.accessibility-panel){max-height:calc(100dvh - 16px - env(safe-area-inset-bottom,0px))}body.paire-app .quick-add-drawer :is(.category-chip,.quick-add-tab){min-height:44px;box-shadow:none;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}body.paire-app .quick-add-drawer :is(.category-chip.selected,.quick-add-tab.active){border-color:var(--primary);background:var(--secondary);color:var(--primary-dark)}body.paire-app .quick-add-drawer :is(.quick-add-type-toggle,.quick-add-amount-row){background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px}body.paire-app .quick-add-drawer :is(.quick-add-type-btn,.quick-add-chip,.quick-add-pm-btn){min-height:44px;border:1px solid var(--border-color);color:var(--text-secondary);background:var(--bg-secondary);box-shadow:none;transform:none}body.paire-app .quick-add-drawer .quick-add-pm-btn{min-width:44px}body.paire-app .quick-add-drawer :is(.quick-add-type-btn.active,.quick-add-chip.active,.quick-add-pm-btn.active){background:var(--secondary);color:var(--primary-dark);border-color:var(--primary)}body.paire-app .quick-add-drawer .quick-add-submit{min-height:48px;background:var(--primary);color:var(--finance-accent-ink);box-shadow:none;border-radius:8px}body.paire-app .quick-add-drawer .quick-add-field label{text-transform:none;letter-spacing:0;color:var(--text-primary)}body.paire-app .quick-add-drawer .quick-add-amount-input{font-size:1.5rem;padding:6px;border:0;background:transparent}body.paire-app .quick-add-drawer .quick-add-currency{color:var(--text-secondary)}body.paire-app .quick-add-drawer .quick-add-close{min-width:44px;min-height:44px;color:var(--text-secondary)}body.paire-app .layout-main :is(.analytics-page,.profile-page,.partnership-page,.receipts-page,.shopping-lists-page,.economic-news-page,.achievements-page,.paire-score-page,.weekly-recap-page,.paire-home-page,.challenges-page,.year-review-page,.reminder-settings-container,.currency-calculator-page,.reconcile-page){width:100%;max-width:1280px;min-width:0;padding:0;margin:0 auto}body.paire-app .finance-layout :is(.page-header,.achievements-header,.paire-score-header,.recap-header,.ph-header,.reminder-settings-header,.currency-header){margin:0 0 28px;padding:0;text-align:start;gap:16px}body.paire-app .finance-layout :is(.page-header h1,.achievements-title,.page-title,.ph-title,.reminder-settings-header h1,.currency-header h1){font-size:1.75rem;font-weight:600;line-height:1.3;letter-spacing:-.03em;color:var(--text-primary);background:none;-webkit-text-fill-color:currentColor;text-shadow:none;filter:none}body.paire-app .finance-layout :is(.page-header h1,.achievements-title,.ph-title)>svg{display:none}body.paire-app .finance-layout :is(.page-subtitle,.achievements-subtitle,.ph-subtitle,.reminder-settings-header .subtitle,.currency-header p){margin:8px 0 0;max-width:65ch;font-size:.875rem;line-height:1.6;color:var(--text-secondary)}body.paire-app .finance-layout :is(.card,.glass-card,.chart-card,.settings-section,.currency-converter-card,.rate-card,.benefits-card,.help-card,.list-card,.items-panel,.achievement-card,.component-card,.recap-card,.stat-card,.reconcile-upload-card){border:1px solid var(--border-color);border-radius:12px;background:var(--bg-secondary);color:var(--text-primary);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform:none}body.paire-app .finance-layout :is(.chart-card,.settings-section,.currency-converter-card,.benefits-card,.help-card,.items-panel){padding:24px}body.paire-app .finance-layout :is(.card,.glass-card,.chart-card,.settings-section,.currency-converter-card,.rate-card,.benefits-card,.help-card,.achievement-card):before,body.paire-app .finance-layout :is(.card,.glass-card,.chart-card,.settings-section,.currency-converter-card,.rate-card,.benefits-card,.help-card,.achievement-card):after{display:none}body.paire-app .finance-layout :is(.card-header h2,.chart-card h2,.section-header h2,.popular-header){color:var(--text-primary);font-size:1.0625rem;line-height:1.4}body.paire-app .finance-layout :is(.charts-grid,.components-grid,.reminder-settings-content){gap:24px;background:transparent;border:0;box-shadow:none}body.paire-app .finance-layout :is(.analytics-filters,.achievements-filters){background:transparent;border:0;padding:0;box-shadow:none;gap:16px}body.paire-app .finance-layout :is(.category-item,.partner-detail-item,.loan-stat,.benefits-list li,.account-item,.info-item){background:transparent;box-shadow:none;border-radius:0;border:0;border-bottom:1px solid var(--border-color);transform:none}body.paire-app .finance-layout .benefits-list li:before{display:none}body.paire-app .finance-layout :is(.income,.positive,.amount.positive){color:var(--finance-positive)}body.paire-app .finance-layout :is(.negative,.amount.negative){color:var(--finance-negative)}body.paire-app .finance-layout :is(.amount,.stat-value,.rate-value,.balance-amount,.score-number){font-variant-numeric:tabular-nums;text-shadow:none}body.paire-app .finance-layout .chart-container{min-width:0}body.paire-app .analytics-page .summary-card .amount{text-shadow:none}body.paire-app .analytics-page .summary-card{display:block;text-align:start}body.paire-app .analytics-page .summary-card .card-icon{display:none}body.paire-app .analytics-page .summary-card h3{font-size:.8125rem;text-transform:none;letter-spacing:0;font-weight:500}body.paire-app .analytics-page .summary-card .amount{font-size:1.5rem}body.paire-app .analytics-page .card-header{border-bottom-width:1px}body.paire-app .analytics-page .chart-card:has(.pie-chart){display:grid;grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr);align-items:center;gap:0 24px}body.paire-app .analytics-page .chart-card:has(.pie-chart)>.card-header{grid-column:1 / -1}body.paire-app .analytics-page .pie-chart{height:300px;padding:0}body.paire-app .analytics-page .category-list{margin-top:0;padding-top:0;border:0}body.paire-app .analytics-page .category-item{min-height:64px;padding:16px 0}body.paire-app .finance-layout :is(.monthly-comparison-table,.reconcile-table-wrapper){max-width:100%;overflow-x:auto}body.paire-app .profile-page>.card{margin-bottom:24px}body.paire-app .profile-page :is(.info-icon,.avatar-placeholder){background:var(--bg-tertiary);color:var(--text-secondary);box-shadow:none}body.paire-app .profile-page .language-btn{min-height:48px;border-radius:8px;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);box-shadow:none;transform:none}body.paire-app .profile-page .language-btn.active{background:var(--secondary);border-color:var(--primary)}body.paire-app .profile-page .danger-zone{border-color:var(--border-color);background:var(--bg-secondary)}body.paire-app .profile-page .danger-zone h2{color:var(--error)}body.paire-app .profile-page .profile-info{display:grid;grid-template-columns:96px minmax(0,1fr);gap:0 24px;text-align:start}body.paire-app .profile-page .profile-avatar-display{width:80px;height:80px;grid-column:1;grid-row:1 / 4;margin:0}body.paire-app .profile-page .info-item{grid-column:2;display:flex;flex-direction:row;align-items:center;text-align:start;padding:14px 0}body.paire-app .profile-page .info-icon{display:none}body.paire-app .profile-page .info-content{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;width:100%;align-items:baseline}body.paire-app .profile-page .info-content p{margin:0}body.paire-app .two-factor-setup{background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:none;padding:24px;border-radius:12px}body.paire-app .two-factor-header h3{font-size:1.0625rem}body.paire-app .two-factor-setup .status-badge{text-transform:none;letter-spacing:0;border-radius:8px;background:var(--bg-tertiary);color:var(--text-secondary)}body.paire-app :is(.warning-box,.danger-warning,.pending-request-info){background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px}body.paire-app .reminder-settings-container :is(.settings-actions,.section-header){background:transparent;border-color:var(--border-color);box-shadow:none}body.paire-app .reminder-settings-container .settings-section{margin-bottom:0}body.paire-app .reminder-settings-container .settings-actions{margin-top:24px;padding:16px 0}body.paire-app .currency-calculator-page :is(.currency-select,.amount-input){border-radius:8px;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}body.paire-app .currency-calculator-page .amount-input{padding-inline-start:44px}body.paire-app .currency-calculator-page .swap-button{min-width:44px;min-height:44px;border-radius:8px;background:var(--bg-tertiary);color:var(--text-secondary);transform:none;box-shadow:none}body.paire-app .currency-calculator-page .result-container{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px}body.paire-app .currency-calculator-page :is(.result-to,.rate-value,.popular-header){color:var(--text-primary);background:none;-webkit-text-fill-color:currentColor}body.paire-app .shopping-lists-page .list-card{padding:16px}body.paire-app .shopping-lists-page .list-card.selected{border-color:var(--primary);background:var(--secondary)}body.paire-app .shopping-lists-page :is(.list-actions,.item-actions){opacity:1}body.paire-app .shopping-lists-page .item-card{padding:16px 0;border:0;border-bottom:1px solid var(--border-color);border-radius:0;box-shadow:none;background:transparent}body.paire-app .shopping-lists-page .item-card.checked{background:var(--bg-tertiary)}body.paire-app .shopping-lists-page .items-header{border-bottom:1px solid var(--border-color)}body.paire-app .items-panel.mobile-portal-view{background:var(--bg-primary);color:var(--text-primary);border:0;border-radius:0;box-shadow:none}body.paire-app .items-panel.mobile-portal-view .items-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}body.paire-app .items-panel.mobile-portal-view .item-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:none}body.paire-app .items-panel.mobile-portal-view .item-actions{opacity:1}body.paire-app .calculator-panel :is(.calc-btn,.calculator-display){background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:none}body.paire-app .calculator-panel :is(.calc-btn-operator,.calc-btn-equals){background:var(--primary);color:var(--finance-accent-ink)}body.paire-app :is(.calculator-header,.accessibility-header){background:var(--bg-secondary);color:var(--text-primary);border-bottom:1px solid var(--border-color)}body.paire-app .accessibility-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}body.paire-app .voice-expense-container--inline .voice-expense-fab{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);box-shadow:none}body.paire-app .shopping-lists-page :is(.list-stat,.progress-badge,.item-quantity,.mobile-list-card){background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:none;border-radius:8px}body.paire-app .achievements-page .achievements-stats{gap:0;border-block:1px solid var(--border-color);margin-top:24px}body.paire-app .achievements-page .achievements-stats{padding:0;border-inline:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}body.paire-app .achievements-page .achievements-title-section{text-align:start;margin:0;max-width:none}body.paire-app .achievements-page .achievement-icon-wrapper{width:48px;height:48px;margin-bottom:16px}body.paire-app .achievements-page :is(.achievement-icon.unlocked-icon,.achievement-icon.locked-icon){background:var(--secondary);color:var(--primary-dark);border:0;border-radius:8px;box-shadow:none}body.paire-app .achievements-page .achievement-card.unlocked .achievement-icon.unlocked-icon{background:var(--secondary);color:var(--primary-dark);box-shadow:none}body.paire-app .achievements-page .stat-card{padding:20px 16px;border:0;border-radius:0;background:transparent;text-align:start}body.paire-app .achievements-page .stat-value{color:var(--text-primary);font-size:1.5rem}body.paire-app .achievements-page .achievement-card{border-color:var(--border-color)}body.paire-app .paire-score-page :is(.component-icon,.score-label-badge){background:var(--secondary);color:var(--primary-dark);box-shadow:none}body.paire-app .paire-score-page :is(.score-hero,.history-section,.partnership-section,.tips-section){background:transparent;border:0;border-top:1px solid var(--border-color);border-radius:0;padding:24px 0;box-shadow:none}body.paire-app .weekly-recap-page :is(.recap-stat-card,.week-navigator,.insights-card,.recap-insights,.top-categories-card){background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:none}body.paire-app .weekly-recap-page .summary-icon-wrap{display:none}body.paire-app .weekly-recap-page .summary-card{display:flex;flex-direction:row;text-align:start}body.paire-app .weekly-recap-page :is(.expense-amount,.expense-icon){color:var(--error)}body.paire-app .weekly-recap-page :is(.income-amount,.income-icon){color:var(--success)}body.paire-app .weekly-recap-page .summary-pin-wrap__toolbar{min-height:0}body.paire-app .paire-home-page :is(.ph-stat-item,.ph-stats-bar,.ph-theme-selector){background:transparent;border-color:var(--border-color);box-shadow:none;color:var(--text-primary)}body.paire-app .paire-home-page :is(.ph-stat-value,.ph-theme-label){color:var(--text-primary)}body.paire-app .economic-news-page :is(.indicator-card,.news-card,.data-section,.impact-card){background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:none;transform:none}body.paire-app .economic-news-page .newspaper-masthead{text-align:start;margin-bottom:28px}body.paire-app .economic-news-page .masthead-rule{display:none}body.paire-app .economic-news-page .masthead-inner{padding:0 56px 0 0}body.paire-app .economic-news-page .masthead-dateline{align-items:flex-start;margin-bottom:12px}body.paire-app .economic-news-page .dateline-text{text-transform:none;letter-spacing:0}body.paire-app .economic-news-page .masthead-title{font-size:1.75rem;font-weight:600;color:var(--text-primary);filter:none}body.paire-app .economic-news-page .masthead-refresh{top:0;right:0;width:44px;height:44px;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}body.paire-app .economic-news-page :is(.cpi-headline,.ticker-badge,.market-prices-section,.news-column-section,.newspaper-footer){background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform:none}body.paire-app .economic-news-page .cpi-headline-accent{display:none}body.paire-app .economic-news-page .cpi-headline-value{color:var(--text-primary);text-shadow:none}body.paire-app .economic-news-page .newspaper-divider{height:1px;background:var(--border-color);box-shadow:none}body.paire-app .reminder-settings-container .toggle-label input[type=checkbox]:checked~.toggle-slider{background:var(--primary)}body.paire-app .reminder-settings-container .toggle-label:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:4px}body.paire-app .reconcile-page .reconcile-header{margin:0 0 28px}body.paire-app .reconcile-page .reconcile-header h1{font-size:1.75rem;font-weight:600;letter-spacing:-.03em}body.paire-app .reconcile-page .reconcile-header h1 svg{display:none}body.paire-app .reconcile-page .reconcile-subtitle{margin-top:8px;color:var(--text-secondary);font-size:.875rem}body.paire-app .reconcile-page .drop-zone{background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:12px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}body.paire-app .reconcile-page .reconcile-tab{min-height:48px;padding:10px 12px}body.paire-app .challenges-page>div:first-child>div:first-child{display:none}body.paire-app .challenges-page button{min-height:44px}body.paire-app .yr-page{font-family:inherit;color:var(--text-primary)}body.paire-app .yr-page :is(.yr-header-btn,.yr-nav-btn,.yr-dot){min-width:44px;min-height:44px;border-radius:8px;color:var(--text-secondary);background:var(--bg-tertiary);box-shadow:none}body.paire-app .yr-page .yr-dot{position:relative;width:44px;height:44px;background:transparent}body.paire-app .yr-page .yr-dot:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:var(--border-color);inset:19px}body.paire-app .yr-page .yr-dot-active:after{background:var(--primary)}body.paire-app .yr-page .yr-progress{gap:0;bottom:8px}body.paire-app .yr-page .yr-intro-cta{animation:none;color:var(--text-secondary)}body.paire-app .yr-page .yr-year-selector{color:var(--text-secondary)}body.paire-app :is(.login-page,.forgot-password-page,.reset-password-page,.email-confirmation-page,.accept-invitation-container,.onboarding-page,.two-factor-setup){background:var(--bg-primary);color:var(--text-primary)}body.paire-app :is(.login-container,.forgot-password-card,.reset-card,.confirmation-card,.accept-invitation-card){border:1px solid var(--border-color);border-radius:16px;box-shadow:none;background:var(--bg-secondary)}body.paire-app .login-page :is(.login-branding,.login-branding-mobile){background:var(--bg-tertiary);color:var(--text-primary)}body.paire-app .login-page .login-branding:before{display:none}body.paire-app .login-page :is(.branding-content h1,.branding-content p,.login-branding-mobile h1,.login-branding-mobile p,.form-title){color:var(--text-primary);background:none;-webkit-text-fill-color:currentColor;text-shadow:none}body.paire-app .login-page .branding-content p{color:var(--text-secondary)}body.paire-app :is(.forgot-password-page,.reset-password-page,.email-confirmation-page,.accept-invitation-container,.terms-container,.privacy-container) :is(h1,h2){color:var(--text-primary);background:none;-webkit-text-fill-color:currentColor;filter:none;text-shadow:none}body.paire-app :is(.login-page,.forgot-password-page,.reset-password-page,.email-confirmation-page) .brand-logo{filter:none;box-shadow:none}body.paire-app .onboarding-page .onboarding-step-icon{background:var(--secondary);color:var(--primary);box-shadow:none}body.paire-app .onboarding-page :is(.onboarding-feature-card,.onboarding-tour-card){background:transparent;border:0;border-radius:0;box-shadow:none}body.paire-app .onboarding-page .onboarding-feature-card{border-bottom:1px solid var(--border-color)}body.paire-app .onboarding-page .onboarding-step-title{color:var(--text-primary);background:none;-webkit-text-fill-color:currentColor;font-size:1.75rem}body.paire-app .admin-auth-container{background:var(--bg-primary)}body.paire-app .admin-auth-container .admin-auth-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}body.paire-app .admin-auth-container .admin-auth-header h1{color:var(--text-primary);filter:none}body.paire-app .admin-auth-container .admin-auth-button{min-height:48px;padding:10px 16px;border:0;border-radius:8px;background:var(--primary);color:var(--finance-accent-ink);font-family:inherit;font-size:1rem;box-shadow:none;transform:none}[data-contrast=high] body.paire-app{--text-primary: #000;--text-secondary: #000;--text-light: #333;--bg-primary: #fff;--bg-secondary: #fff;--border-color: #444}[data-theme=dark][data-contrast=high] body.paire-app{--text-primary: #fff;--text-secondary: #fff;--text-light: #ddd;--bg-primary: #000;--bg-secondary: #000;--border-color: #ccc}@media(hover:hover)and (pointer:fine){body.paire-app :is(.btn-secondary,.recalculate-btn,.portal-modal-close-btn):hover{background:var(--bg-tertiary);color:var(--text-primary);transform:none}body.paire-app :is(.btn-primary,.convert-button,.generate-btn):hover:not(:disabled){background:var(--primary-dark);color:var(--finance-accent-ink);transform:none}}@media(max-width:600px){body.paire-app .form-row{grid-template-columns:minmax(0,1fr)}body.paire-app .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.paire-app .workspace-dialog .portal-modal-header{padding:12px 16px}body.paire-app .workspace-dialog :is(.portal-modal-body,.form-with-scroll){padding:16px}body.paire-app .workspace-dialog .portal-modal-body>form .form-actions{padding:12px 16px;flex-wrap:nowrap}body.paire-app .workspace-dialog .form-actions .btn{flex:1;min-width:0}body.paire-app .finance-layout :is(.page-header h1,.achievements-title,.page-title,.ph-title,.reminder-settings-header h1,.currency-header h1){font-size:1.5rem}body.paire-app .finance-layout :is(.chart-card,.settings-section,.currency-converter-card,.benefits-card,.help-card,.items-panel){padding:16px}body.paire-app .finance-layout :is(.paire-score-header,.recap-header){flex-wrap:wrap}body.paire-app .finance-layout :is(.charts-grid,.components-grid){grid-template-columns:minmax(0,1fr)}body.paire-app .analytics-page .chart-card:has(.pie-chart){grid-template-columns:minmax(0,1fr)}body.paire-app .analytics-page .summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}body.paire-app .analytics-page .summary-cards .summary-card{padding:16px 8px;border:0}body.paire-app .analytics-page .summary-cards .summary-card:nth-child(n+3){border-top:1px solid var(--border-color)}body.paire-app .analytics-page .summary-card .amount{font-size:1.25rem}body.paire-app .economic-news-page .masthead-title{font-size:1.5rem}body.paire-app .profile-page .profile-info{grid-template-columns:minmax(0,1fr)}body.paire-app .profile-page .profile-avatar-display{grid-row:auto}body.paire-app .profile-page .info-item{grid-column:1}body.paire-app .profile-page .info-content{grid-template-columns:minmax(0,1fr);gap:4px}body.paire-app .yr-page{min-height:620px;height:calc(100dvh - 160px)}body.paire-app .achievements-page .achievements-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}
