@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Architects+Daughter&display=swap);:root{--font-ui:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-recipient-names:"Architects Daughter","Bradley Hand","Segoe Print","Marker Felt",cursive,sans-serif;--font-code:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace}@keyframes slideInSmall{0%{opacity:0;transform:scale(.9) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}:root{--theme-bg:#fffef7;--theme-paper:#fafafa;--theme-white:#fff;--theme-black:#1e1e1e;--theme-border:#000;--theme-green:#4caf50;--theme-green-dark:#45a049;--theme-blue:#2196f3;--theme-red:#ff6b6b;--theme-red-dark:#ff5252;--theme-orange:#ffa502;--theme-gray:#666;--theme-gray-light:#f8f8f0;--theme-gray-lighter:#f5f5f5;--theme-gray-border:#ddd;--theme-gray-alt:#f8f9fa;--theme-text:#333;--theme-success:#2e7d32;--theme-success-dark:#1b5e20;--theme-danger:#f44336;--theme-info:#1976d2;--theme-info-dark:#1565c0;--space-xs:2px;--space-sm:4px;--space-md:8px;--space-lg:12px;--space-xl:16px;--space-2xl:20px;--space-3xl:24px;--space-4xl:30px;--sidebar-collapsed-width:42px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--shadow-sm:2px 2px 0px var(--theme-black);--shadow-md:3px 3px 0px var(--theme-black);--shadow-subtle:2px 2px 0px #0000001a}.handdrawn-element{background:#fffef7;background:var(--theme-bg);border:2px solid #1e1e1e;border:var(--space-xs) solid var(--theme-black);border-style:dashed;font-family:var(--font-ui);transition:all .2s ease}.handdrawn-paper{background:#fafafa;background:var(--theme-paper);font-family:var(--font-ui)}.handdrawn-text{font-family:var(--font-ui);text-rendering:optimizeLegibility;-webkit-user-select:none;user-select:none}.handdrawn-tilt-left{transform:rotate(-.2deg)}.handdrawn-tilt-right{transform:rotate(.2deg)}.handdrawn-tilt-left-more{transform:rotate(-.3deg)}.handdrawn-tilt-right-more{transform:rotate(.3deg)}.handdrawn-shadow{box-shadow:2px 2px 0 #1e1e1e;box-shadow:var(--shadow-sm)}.handdrawn-shadow-hover{box-shadow:3px 3px 0 #1e1e1e;box-shadow:var(--shadow-md)}.handdrawn-shadow-subtle{box-shadow:2px 2px 0 #0000001a;box-shadow:var(--shadow-subtle)}.btn-handdrawn{background:#4caf50;background:var(--theme-green);border:2px solid #1e1e1e;border:var(--space-xs) solid var(--theme-black);border-radius:6px;border-radius:var(--radius-md);box-shadow:2px 2px 0 #1e1e1e;box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-family:var(--font-ui);font-size:14px;font-weight:600;padding:12px 20px;padding:var(--space-lg) var(--space-2xl);transform:rotate(-.2deg);transition:all .2s ease}.btn-handdrawn:hover{background:#45a049;background:var(--theme-green-dark);box-shadow:3px 3px 0 #1e1e1e;box-shadow:var(--shadow-md);transform:rotate(.2deg) translateY(-1px)}.btn-handdrawn.danger{background:#ff6b6b;background:var(--theme-red)}.btn-handdrawn.danger:hover{background:#ff5252;background:var(--theme-red-dark)}.btn-handdrawn.primary{background:#2196f3;background:var(--theme-blue)}.btn-handdrawn.primary:hover{background:#1976d2}.input-handdrawn{background:#fff;background:var(--theme-white);border:2px solid #1e1e1e;border:var(--space-xs) solid var(--theme-black);border-radius:6px;border-radius:var(--radius-md);box-shadow:2px 2px 0 #0000001a;box-shadow:var(--shadow-subtle);font-family:var(--font-ui);font-size:14px;padding:12px;padding:var(--space-lg) var(--space-lg);transform:rotate(.1deg);transition:all .2s ease}.input-handdrawn:focus{border-color:#2196f3;border-color:var(--theme-blue);box-shadow:0 0 0 2px #2196f333;box-shadow:0 0 0 var(--space-xs) #2196f333;outline:none;transform:rotate(-.1deg)}.card-handdrawn{background:#fff;background:var(--theme-white);border:2px solid #1e1e1e;border:var(--space-xs) solid var(--theme-black);border-radius:8px;border-radius:var(--radius-lg);box-shadow:3px 3px 0 #1e1e1e;box-shadow:var(--shadow-md);margin-bottom:20px;margin-bottom:var(--space-2xl);overflow:hidden;transform:rotate(.1deg)}.card-handdrawn:nth-child(2n){transform:rotate(-.1deg)}.card-header-handdrawn{align-items:center;background:#f8f8f0;background:var(--theme-gray-light);border-bottom:2px dashed #1e1e1e;border-bottom:var(--space-xs) dashed var(--theme-black);display:flex;justify-content:space-between;padding:16px 20px;padding:var(--space-xl) var(--space-2xl)}.card-content-handdrawn{padding:20px;padding:var(--space-2xl)}.badge-handdrawn{background:#4caf50;background:var(--theme-green);border:2px solid #1e1e1e;border:var(--space-xs) solid var(--theme-black);border-radius:12px;border-radius:var(--radius-xl);box-shadow:2px 2px 0 #0000001a;box-shadow:var(--shadow-subtle);color:#fff;font-size:12px;font-weight:600;padding:4px 12px;padding:var(--space-sm) var(--space-lg);transform:rotate(.5deg)}.dialog-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0}.dialog-overlay.high-z{z-index:1100}.dialog-overlay.medium-z{z-index:1001}.dialog-overlay.low-z{z-index:1000}.dialog-container{animation:slideIn .3s ease-out;max-height:90vh;max-width:90vw;position:relative}.dialog-handdrawn{background:var(--theme-bg);border:var(--space-xs) solid var(--theme-black);border-radius:var(--radius-xl);border-style:solid;box-shadow:var(--shadow-md),8px 8px 16px #00000026;display:flex;flex-direction:column;font-family:var(--font-ui);overflow:hidden;position:relative;transform:rotate(-.3deg)}.dialog-header{align-items:center;background:var(--theme-gray-light);border-bottom:var(--space-xs) dashed var(--theme-gray);display:flex;justify-content:space-between;padding:var(--space-2xl) var(--space-3xl);position:relative}.dialog-title{color:var(--theme-black);font-family:var(--font-ui);font-size:20px;font-weight:700;margin:0}.dialog-close{align-items:center;background:var(--theme-red);border:var(--space-xs) solid var(--theme-black);border-radius:50%;box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:28px;justify-content:center;transform:rotate(-2deg);transition:all .2s ease;width:28px}.dialog-close:hover{background:var(--theme-red-dark);box-shadow:var(--shadow-md);transform:rotate(2deg) scale(1.1)}.dialog-content{flex:1 1;overflow-y:auto;padding:var(--space-3xl)}.dialog-container.small{height:200px;width:350px}.dialog-container.medium{height:300px;width:400px}.dialog-container.large{max-height:90vh;width:800px}.dialog-section{margin-bottom:var(--space-3xl)}.dialog-section:last-child{margin-bottom:0}.section-header{margin-bottom:var(--space-xl)}.section-title{color:var(--theme-black);font-family:var(--font-ui);font-size:18px;font-weight:600;margin:0 0 var(--space-md) 0}.section-content{background:var(--theme-white);border:var(--space-xs) solid var(--theme-gray-border);border-radius:var(--radius-lg);padding:var(--space-2xl)}.form-label{color:var(--theme-text);font-size:14px;font-weight:600;margin-bottom:var(--space-md)}.form-input{background:var(--theme-white);border:var(--space-xs) solid var(--theme-gray-border);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:14px;padding:var(--space-lg) var(--space-lg);transition:all .2s ease;width:100%}.form-input:focus{border-color:var(--theme-blue);box-shadow:0 0 0 var(--space-xs) #2196f333;outline:none}.form-input.error{border-color:var(--theme-red);box-shadow:0 0 0 var(--space-xs) #d32f2f33}.form-input.success{border-color:var(--theme-green);box-shadow:0 0 0 var(--space-xs) #4caf5033}.form-error-text{color:var(--theme-red);font-size:12px;font-weight:500;margin-top:var(--space-sm)}.dialog-background{height:100%;left:0;position:absolute;top:0;width:100%}.dialog-content.centered{align-items:center;display:flex;flex-direction:column;font-family:var(--font-ui);justify-content:center;text-align:center}.dialog-content.large{max-height:70vh;overflow-y:auto;padding:var(--space-2xl) var(--space-3xl)}.dialog-icon{animation:pulse 2s infinite;font-size:48px;margin-bottom:15px}.dialog-icon.small{animation:bounce .6s ease-out;font-size:36px;margin-bottom:15px}.dialog-icon.success{color:#2e7d32}.dialog-icon.error{color:#d32f2f}.dialog-icon.warning{color:#ff9f00}.dialog-icon.info{color:#1976d2}.dialog-title.notification{color:var(--theme-text);font-family:var(--font-ui);font-size:24px;font-weight:700;margin:0 0 var(--space-xl) 0;text-shadow:1px 1px 0 #0000001a}.dialog-message{color:var(--theme-text-muted);font-size:16px;font-weight:400;line-height:1.5;margin:0 0 var(--space-2xl) 0}.dialog-message.small{font-size:14px;margin:0 0 var(--space-2xl) 0}.dialog-message.centered{align-items:center;display:flex;flex:1 1;justify-content:center;text-align:center}.dialog-actions{display:flex;gap:var(--space-xl);justify-content:center;margin-top:auto;padding-top:var(--space-2xl)}.dialog-actions.right-aligned{justify-content:flex-end}.dialog-actions.space-between{justify-content:space-between}.dialog-btn{border:var(--space-xs) solid var(--theme-black);border-radius:var(--radius-md);font-size:14px;font-weight:600;min-width:100px;padding:var(--space-lg) var(--space-2xl)}.dialog-btn.primary{background:var(--theme-blue);color:#fff}.dialog-btn.primary:hover{background:var(--theme-blue-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.dialog-btn.secondary{background:var(--theme-white);color:var(--theme-text)}.dialog-btn.secondary:hover{background:var(--theme-gray-light);transform:translateY(-1px)}.dialog-btn.danger{background:var(--theme-red)}.dialog-btn.danger:hover{background:var(--theme-red-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-small{font-size:12px;padding:6px 8px}.btn-medium{font-size:14px;padding:10px 16px}.btn-large{font-size:16px;padding:12px 24px}.btn-xlarge{font-size:16px;font-weight:700;letter-spacing:.5px;padding:16px 24px;text-transform:uppercase}.btn-standard{background:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-family:var(--font-ui);font-weight:500;transition:background-color .2s}.btn-standard:hover{background:#1565c0}.btn-standard:active{background:#0d47a1}.btn-standard.full-width{width:100%}.dialog-btn{border:2px solid;border-radius:8px;cursor:pointer;font-family:var(--font-ui);font-size:16px;font-weight:700;padding:12px 24px;position:relative;transform:rotate(-1deg);transition:all .2s ease}.dialog-btn.cancel{background:#fff;border-color:#666;color:#666}.dialog-btn.cancel:hover{background:#f5f5f5;border-color:#333;color:#333}.dialog-btn.confirm{transform:rotate(1deg)}.dialog-btn.danger{background:#ff4757;border-color:#c44569;color:#fff}.dialog-btn.danger:hover{background:#ff3742;border-color:#a23755}.dialog-btn.warning{background:#ffa502;border-color:#ff6348;color:#fff}.dialog-btn.warning:hover{background:#ff9f00;border-color:#ff5722}.dialog-btn.info{background:#3742fa;border-color:#2f3542;color:#fff}.dialog-btn.info:hover{background:#2f36e8;border-color:#1e2238}.notification-btn{background:#fff}.notification-btn:hover{background:#f5f5f5;border-color:#1976d2;color:#1976d2}.btn-icon-round{align-items:center;border:2px solid var(--theme-black);border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:32px;justify-content:center;transition:all .2s ease;width:32px}.btn-icon-round.add{background:#2e7d32;box-shadow:2px 2px 0 var(--theme-black);color:#fff;transform:rotate(-2deg)}.btn-icon-round.add:hover{background:#1b5e20;box-shadow:3px 3px 0 var(--theme-black);transform:rotate(2deg) scale(1.1)}.btn-icon-round.close{background:#ff6b6b;box-shadow:2px 2px 0 var(--theme-black);color:#fff;height:36px;transform:rotate(1deg);width:36px}.btn-icon-round.close:hover{background:#ff5252;box-shadow:3px 3px 0 var(--theme-black);transform:rotate(-1deg) scale(1.05)}.form-group{margin-bottom:16px}.form-row.align-start{align-items:flex-start}.form-label{color:#555;display:block;font-family:var(--font-ui);font-size:.9em;font-weight:500;margin-bottom:6px}label[for]{position:relative}input[required]+label:after,label[for]:has(+input[required]):after,label[for]:has(+select[required]):after,select[required]+label:after{color:#f44;content:" *";font-weight:700}input[required]~label:after,select[required]~label:after{color:#f44;content:" *";font-weight:700}.form-group:has(input[required]) label:after,.form-group:has(select[required]) label:after,label:has(+input[required]):after,label:has(+select[required]):after{color:#f44;content:" *";font-weight:700}.visually-hidden{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.form-input,.form-select{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-family:var(--font-ui);font-size:.9em;padding:10px 12px;transition:border-color .2s;width:100%}.form-input:focus,.form-select:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.form-input[type=number]{-moz-appearance:textfield}.form-input[type=number]::-webkit-inner-spin-button,.form-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-select{background:#fff;cursor:pointer}.form-select.small{font-size:13px;min-width:120px;padding:6px 8px}.budget-select:focus{border-color:#007bff}.form-input.error,.form-select.error{border-color:#d32f2f;box-shadow:0 0 0 2px #d32f2f1a}.form-input.success,.form-select.success{border-color:#2e7d32;box-shadow:0 0 0 2px #2e7d321a}*{box-sizing:border-box}body,html{font-family:var(--font-ui);margin:0;padding:0}#root,body,html{height:100%;width:100%}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.w-full{width:100%}.h-full{height:100%}.h-screen{height:100vh}.mb-0{margin-bottom:0}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.p-0{padding:0}.p-1{padding:8px}.p-2{padding:16px}.p-3{padding:24px}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-900{color:#111827}.loading-spinner{border-top-color:#1976d2}.empty-state{color:#6b7280;padding:20px}code{font-family:var(--font-code)}.budget-selector-container{left:20px;position:absolute;top:20px;z-index:100}.budget-selector-wrapper{align-items:stretch;background:#fff;border:2px solid #333;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;gap:0;overflow:hidden}.budget-selector{background:#fff;border:none;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;min-width:150px;padding:8px 12px}.budget-selector:focus{background:#f8f8f8;outline:none}.create-budget-btn{align-items:center;background:#4caf50;border:none;border-left:2px solid #333;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:auto;justify-content:center;margin:0;padding:0;width:36px}.create-budget-btn:hover{background:#45a049;transform:translateY(-1px)}.create-budget-btn:active{transform:translateY(0)}.summary-overlay{align-items:center;background:#fffffff2;border:var(--space-xs) solid var(--theme-black);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;gap:var(--space-xl);padding:var(--space-xl);position:fixed;right:calc(420px + var(--space-2xl));top:var(--space-2xl);transition:right .3s ease;z-index:100}.summary-overlay.sidebar-collapsed{right:calc(var(--sidebar-collapsed-width) + var(--space-2xl))}.summary-item{flex-direction:column;gap:var(--space-sm)}.stat-label{color:var(--theme-text-muted);margin-bottom:var(--space-sm)}.stat-value{color:var(--theme-text)}.stat-value.available{color:var(--theme-success)}.manage-trigger-btn{background:var(--theme-info);border:var(--space-xs) solid var(--theme-black);border-radius:var(--radius-md);color:var(--theme-white);font-size:14px;padding:var(--space-lg) var(--space-xl)}.manage-trigger-btn:hover{background:var(--theme-info-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.manage-trigger-btn:active{transform:translateY(0)}.mindmap-canvas{cursor:grab;display:block;height:100%;width:100%}.mindmap-canvas:active{cursor:grabbing}.rough-element{filter:drop-shadow(1px 1px 1px rgba(0,0,0,.2))}.recipient-box{transition:filter .2s ease}.recipient-box:hover{filter:drop-shadow(2px 2px 2px rgba(0,0,0,.3))}.amount-label{text-shadow:1px 1px 2px #fffc}.transaction-text{font-size:11px}.recipient-name-text{font-family:var(--font-recipient-names);font-weight:700;text-rendering:optimizeLegibility;-webkit-user-select:none;user-select:none}.currency-input-wrapper{align-items:center;display:flex;gap:8px;width:100%}.currency-prefix{color:#666;flex-shrink:0;font-weight:600}.currency-input,.currency-prefix{font-family:var(--font-ui);font-size:.9em}.currency-input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;flex:1 1;padding:10px 12px;transition:border-color .2s}.currency-input:focus{border-color:var(--theme-info);box-shadow:0 0 0 2px #1976d21a;outline:none}.currency-input:focus~.currency-prefix{color:var(--theme-info)}.notification-dialog-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#0006;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1001}.notification-dialog{animation:slideInSmall .3s ease-out;height:200px;position:relative;width:350px}.notification-background{height:100%;left:0;position:absolute;top:0;width:100%}.notification-content{align-items:center;bottom:0;display:flex;flex-direction:column;font-family:var(--font-ui);left:0;padding:30px 20px 20px;position:absolute;right:0;text-align:center;top:0}.notification-icon{animation:bounce .6s ease-out;font-size:36px;margin-bottom:15px}.notification-icon.success{color:var(--theme-success)}.notification-icon.error{color:#d32f2f}.notification-icon.info{color:var(--theme-info)}.notification-message{align-items:center;color:#333;display:flex;flex:1 1;font-size:14px;font-weight:400;line-height:1.4;margin:0 0 20px}.notification-btn{background:var(--theme-white);border:2px solid #333;border-radius:6px;color:#333;cursor:pointer;font-family:var(--font-ui);font-size:14px;font-weight:700;padding:8px 20px;transform:rotate(-.5deg);transition:all .2s ease}.notification-btn:hover{background:var(--theme-gray-lighter);border-color:var(--theme-info);color:var(--theme-info);transform:rotate(0deg) scale(1.05)}.hamburger-toggle{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--theme-text);cursor:pointer;display:flex;height:40px;justify-content:center;padding:var(--space-sm);position:relative;transition:all .2s ease;width:40px}.hamburger-toggle:hover{background:var(--theme-gray-lighter);transform:scale(1.05)}.hamburger-toggle:active{transform:scale(.95)}.hamburger-toggle svg{transition:transform .3s ease}.hamburger-lines{transition:all .3s cubic-bezier(.4,0,.2,1)}.line{transform-origin:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.hamburger-toggle.collapsed .line-bottom,.hamburger-toggle.collapsed .line-middle,.hamburger-toggle.collapsed .line-top,.line{opacity:1;transform:translateY(0) rotate(0deg) scaleX(1)}.hamburger-toggle.expanded .line-top{opacity:1;transform:translateY(6px) rotate(45deg) scaleX(1)}.hamburger-toggle.expanded .line-middle{opacity:0;transform:translateY(0) rotate(0deg) scaleX(0)}.hamburger-toggle.expanded .line-bottom{opacity:1;transform:translateY(-6px) rotate(-45deg) scaleX(1)}.hamburger-toggle svg{position:relative}.hamburger-toggle svg:before{background:inherit;content:"";filter:contrast(1.1) brightness(.95);inset:0;position:absolute;z-index:-1}.hamburger-toggle:hover svg{transform:rotate(1deg)}.hamburger-toggle.expanded:hover svg{transform:rotate(-1deg)}.hamburger-toggle:focus{background:var(--theme-gray-lighter);outline:2px solid var(--theme-info);outline-offset:2px}.hamburger-toggle svg defs{display:none}.hamburger-toggle:before{content:"";height:0;overflow:hidden;position:absolute;width:0}@keyframes wiggle{0%,to{transform:translateX(0)}25%{transform:translateX(-.5px)}75%{transform:translateX(.5px)}}.hamburger-toggle.collapsed .line{animation:wiggle 3s infinite;animation-delay:0s;animation-delay:calc(var(--line-index, 0)*.2s)}.sidebar{background:var(--theme-gray-lighter);border-left:var(--space-xs) solid var(--theme-gray-border);box-shadow:-2px 0 8px #0000001a;font-family:var(--font-ui);height:100vh;overflow-y:auto;position:absolute;right:0;top:0;transition:width .3s ease;width:420px;z-index:20}.sidebar,.sidebar.collapsed{display:flex;flex-direction:column}.sidebar.collapsed{align-items:center;padding-top:var(--space-lg);width:var(--sidebar-collapsed-width)}.sidebar.collapsed .sidebar-header{align-items:center;display:flex;justify-content:center;margin-bottom:0;padding:0;width:100%}.sidebar.collapsed .app-logo{height:var(--space-3xl);width:var(--space-3xl)}.logo-img{height:32px;margin-right:var(--space-md);width:32px}.logo-text{font-size:16px;font-weight:600}.sidebar-header,.sidebar-logo{align-items:center;display:flex}.sidebar-header{justify-content:space-between}.sidebar-toggle{flex-shrink:0}.sidebar-content{flex:1 1;padding:var(--space-2xl)}.tab-buttons{border:var(--space-xs) solid var(--theme-text);border-radius:var(--radius-md);display:flex;gap:0;margin-bottom:var(--space-2xl);overflow:hidden}.tab-btn,.tab-buttons{background:var(--theme-white)}.tab-btn{border:none;border-right:var(--space-xs) solid var(--theme-gray-border);cursor:pointer;flex:1 1;font-family:var(--font-ui);font-size:13px;font-weight:600;padding:var(--space-lg) var(--space-xl);transition:all .2s ease;white-space:nowrap}.tab-btn:last-child{border-right:none}.tab-btn:hover{background:var(--theme-gray-alt)}.tab-btn.active{background:var(--theme-green);color:#fff}.tab-content{margin-top:var(--space-2xl)}.sidebar-form{display:flex;flex-direction:column;gap:var(--space-xl)}.form-group{gap:var(--space-sm)}.form-group label{color:var(--theme-text)}.sidebar-input{border:var(--space-xs) solid var(--theme-gray-border);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:14px;padding:var(--space-lg) var(--space-lg);transition:border-color .2s ease}.sidebar-input:focus{border-color:var(--theme-green);outline:none}.sidebar-btn-primary{background:var(--theme-green);border:none;border-radius:var(--radius-md);color:var(--theme-white);cursor:pointer;font-size:14px;font-weight:600;padding:var(--space-lg) var(--space-2xl);transition:all .2s ease}.sidebar-btn-primary:hover{background:var(--theme-green-dark);transform:translateY(-1px)}.sidebar-btn-primary:active{transform:translateY(0)}.sidebar-btn-primary:disabled{background:var(--theme-gray);cursor:not-allowed;transform:none}.form-helper-text{color:var(--theme-text-muted);font-size:12px;margin-top:var(--space-sm)}.form-helper-text-error{color:var(--theme-red)!important;font-weight:500}.empty-state{color:var(--theme-text-muted);font-size:.9em;font-style:italic;margin:0;padding:var(--space-2xl);text-align:center}.sidebar-header{background:var(--theme-white);border-bottom:var(--space-xs) solid var(--theme-gray-border);margin-bottom:var(--space-xl);padding:var(--space-2xl);position:relative}.sidebar .collapse-toggle{align-items:center;background:var(--theme-gray-lighter);border:var(--space-xs) solid var(--theme-gray-border);border-radius:var(--radius-full);bottom:-15px;box-shadow:var(--shadow-sm);color:var(--theme-text-muted);cursor:pointer;display:flex;font-size:12px;height:var(--space-3xl);justify-content:center;left:50%;position:absolute;transform:translateX(-50%);transition:all .2s ease;width:var(--space-3xl);z-index:100}.sidebar.collapsed .collapse-toggle{background:var(--theme-white);box-shadow:var(--shadow-md)}.sidebar .collapse-toggle:hover{background:var(--theme-gray-light);color:var(--theme-text);transform:translateX(-50%) scale(1.1)}.app-branding{align-items:center;display:flex;gap:var(--space-lg);margin-bottom:var(--space-xl)}.app-logo{border-radius:var(--radius-full);box-shadow:var(--shadow-md);height:40px;object-fit:cover;width:40px}.sidebar-header h2{color:var(--theme-text);font-size:1.4em;font-weight:600;margin:0}.tabs{background:var(--theme-white);border-bottom:var(--space-xs) solid var(--theme-gray-border);display:flex}.tab{background:none;border:none;border-bottom:var(--space-xs) solid #0000;color:var(--theme-text-muted);cursor:pointer;flex:1 1;font-size:.9em;font-weight:500;padding:var(--space-lg) var(--space-lg);transition:all .2s}.tab:hover{background:var(--theme-gray-lighter)}.tab.active{background:var(--theme-info-light);border-bottom-color:var(--theme-info);color:var(--theme-info)}.tab-content{background:var(--theme-white);border-bottom:var(--space-xs) solid var(--theme-gray-border);padding:var(--space-2xl)}.form h3{color:var(--theme-text);font-size:1.1em;margin:0 0 var(--space-xl) 0}.form-group{margin-bottom:var(--space-xl)}.form-group label{color:var(--theme-text-secondary);display:block;font-size:.9em;font-weight:500;margin-bottom:var(--space-sm)}.form-group input,.form-group select{border:var(--space-xs) solid var(--theme-gray-border);border-radius:var(--radius-sm);box-sizing:border-box;font-size:.9em;padding:var(--space-lg) var(--space-lg);transition:border-color .2s;width:100%}.form-group input[type=number]{-moz-appearance:textfield}.form-group input[type=number]::-webkit-inner-spin-button,.form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-group input:focus,.form-group select:focus{border-color:var(--theme-info);box-shadow:0 0 0 var(--space-xs) #1976d21a;outline:none}.submit-btn{background:var(--theme-info);border:none;border-radius:var(--radius-sm);color:var(--theme-white);cursor:pointer;font-size:.9em;font-weight:500;padding:var(--space-lg);transition:background-color .2s;width:100%}.submit-btn:hover{background:var(--theme-info-dark)}.submit-btn:active{background:var(--theme-info-darker)}.no-recipients{background:var(--theme-gray-lightest);border-radius:var(--radius-sm);color:var(--theme-text-muted);font-style:italic;margin:0;padding:var(--space-2xl);text-align:center}.sidebar.collapsed .sidebar-spacer{flex:1 1}.help-btn-collapsed{align-items:center;background:var(--theme-white);border:var(--space-xs) solid var(--theme-black);border-radius:50%;box-shadow:1px 1px 0 #0003;color:var(--theme-black);cursor:pointer;display:flex;font-family:var(--font-ui);font-size:16px;font-weight:700;height:28px;justify-content:center;margin-bottom:var(--space-xl);transform:rotate(-.2deg);transition:all .2s ease;width:28px}.help-btn-collapsed:hover{box-shadow:2px 2px 0 #0000004d;transform:rotate(.2deg) translateY(-1px)}.help-btn-collapsed:hover,.help-btn-expanded{background:var(--theme-info);color:var(--theme-white)}.help-btn-expanded{border:var(--space-xs) solid var(--theme-black);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;font-family:var(--font-ui);font-size:14px;font-weight:600;margin-top:var(--space-2xl);padding:var(--space-lg) var(--space-xl);transform:rotate(-.1deg);transition:all .2s ease;width:100%}.help-btn-expanded:hover{background:var(--theme-info-dark);box-shadow:var(--shadow-md);transform:rotate(.1deg) translateY(-1px)}.manage-dialog-backdrop{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.manage-dialog{background:var(--theme-bg);border-radius:12px;border-style:solid;border:3px solid var(--theme-black);border-image:none;box-shadow:4px 4px 0 var(--theme-black),8px 8px 16px #00000026;display:flex;flex-direction:column;font-family:var(--font-ui);max-height:90vh;max-width:800px;overflow:hidden;position:relative;transform:rotate(-.3deg);width:100%}.manage-dialog-header{align-items:center;background:var(--theme-gray-light);border-bottom:2px dashed var(--theme-gray);display:flex;justify-content:space-between;padding:20px 24px;position:relative}.manage-dialog-title{color:var(--theme-black);font-size:24px;margin:0;text-shadow:1px 1px 0 #0000001a;transform:rotate(.2deg)}.manage-dialog-close,.manage-dialog-title{font-family:var(--font-ui);font-weight:700}.manage-dialog-close{align-items:center;background:#ff6b6b;border:2px solid #1e1e1e;border-radius:50%;box-shadow:2px 2px 0 #1e1e1e;color:#fff;cursor:pointer;display:flex;font-size:45px;height:40px;justify-content:center;transform:rotate(-2deg);transition:all .2s ease;width:40px}.manage-dialog-close:hover{background:var(--theme-danger);box-shadow:3px 3px 0 #1e1e1e;transform:rotate(2deg) scale(1.1)}.manage-dialog-content{flex:1 1;overflow-y:auto;padding:20px 24px}.manage-section{background:var(--theme-white);border:2px solid var(--theme-black);border-radius:8px;box-shadow:3px 3px 0 #0000001a;margin-bottom:20px;overflow:hidden;will-change:auto}.section-header{align-items:center;background:#f0f8ff;border-bottom:2px dashed var(--theme-black);display:flex;justify-content:space-between;padding:16px 20px}.section-header h3{color:var(--theme-black);font-family:var(--font-ui);font-size:18px;font-weight:600;margin:0;transform:rotate(-.2deg)}.section-badge{background:var(--theme-green);border:2px solid var(--theme-black);border-radius:12px;box-shadow:2px 2px 0 #0000001a;color:#fff;font-size:12px;font-weight:600;padding:4px 12px;transform:rotate(.5deg)}.section-content{padding:20px}.payment-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:20px}.stat-item{background:#f9f9f9;border:2px dashed var(--theme-gray);border-radius:6px;padding:12px 16px;text-align:center}.stat-label{color:var(--theme-gray);display:block;font-size:14px;font-weight:600;margin-bottom:4px}.stat-value{display:block;font-family:var(--font-ui);font-size:18px;font-weight:700}.stat-value.current{color:var(--theme-blue)}.stat-value.available{color:var(--theme-green)}.payment-update-form{align-items:flex-end;display:flex;gap:12px}.payment-update-form input{flex:1 1}.btn-update-handdrawn{background:var(--theme-green);border:2px solid var(--theme-black);border-radius:6px;box-shadow:2px 2px 0 var(--theme-black);color:#fff;cursor:pointer;font-family:var(--font-ui);font-size:.9em;font-weight:600;padding:10px 20px;transform:rotate(-.3deg);transition:all .2s ease;white-space:nowrap}.btn-update-handdrawn:hover{background:var(--theme-green-dark);box-shadow:3px 3px 0 var(--theme-black);transform:rotate(.3deg) translateY(-1px)}.btn-update-handdrawn:disabled{color:#999;cursor:not-allowed}.btn-update-handdrawn:disabled,.btn-update-handdrawn:disabled:hover{background:#ccc;box-shadow:none;transform:none}.recipient-selector-handdrawn{background:var(--theme-white);border:2px solid var(--theme-black);border-radius:6px;box-shadow:2px 2px 0 #0000001a;font-family:var(--font-ui);font-size:14px;margin-bottom:16px;padding:12px 16px;transform:rotate(.1deg);width:100%}.recipient-details-handdrawn{background:#f8f8f8;border:2px dashed #999;border-radius:8px;padding:16px}.recipient-header{align-items:center;border-bottom:1px dashed #ccc;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.recipient-name{color:var(--theme-black);font-size:18px}.recipient-name,.recipient-total{font-family:var(--font-ui);font-weight:600}.recipient-total{background:var(--theme-blue);border:2px solid var(--theme-black);border-radius:8px;box-shadow:2px 2px 0 #0000001a;color:#fff;padding:6px 12px;transform:rotate(.5deg)}.transactions-section{margin-bottom:16px}.transactions-header-handdrawn{color:var(--theme-black);font-family:var(--font-ui);font-size:16px;font-weight:600;margin-bottom:12px;transform:rotate(-.2deg)}.transactions-list-handdrawn{display:flex;flex-direction:column;gap:8px}.transaction-item-handdrawn{word-wrap:break-word;align-items:flex-start;background:var(--theme-white);border:2px solid #e0e0e0;border-radius:6px;box-shadow:1px 1px 0 #0000001a;display:flex;justify-content:space-between;overflow-wrap:break-word;padding:12px;position:relative}.transaction-item-handdrawn.consolidated{background:#2196f31a;border-color:var(--theme-info);border-style:solid;border-width:2px}.transaction-item-handdrawn.consolidated:before{align-items:center;background:var(--theme-info);border-radius:50%;box-shadow:1px 1px 2px #0003;color:#fff;content:"🔗";display:flex;font-size:10px;height:20px;justify-content:center;min-height:fit-content;position:absolute;right:-5px;top:-5px;width:20px}.transaction-info{display:flex;flex:1 1;flex-direction:column;gap:4px;margin-right:8px;max-width:calc(100% - 60px);min-width:0}.transaction-amount{color:var(--theme-blue);font-family:var(--font-ui);font-size:14px;font-weight:600}.transaction-amount,.transaction-description{word-wrap:break-word;overflow-wrap:break-word;white-space:normal}.transaction-description{color:var(--theme-gray);font-size:13px;line-height:1.3;margin-top:2px}.btn-remove-handdrawn{align-items:center;align-self:flex-start;background:var(--theme-red);border:2px solid var(--theme-black);border-radius:50%;box-shadow:1px 1px 0 var(--theme-black);color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-family:var(--font-ui);font-size:30px;font-weight:700;height:28px;justify-content:center;margin-top:2px;transform:rotate(.3deg);transition:all .2s ease;width:28px}.btn-remove-handdrawn:hover{background:var(--theme-red-dark);box-shadow:2px 2px 0 var(--theme-black);transform:rotate(-.3deg) scale(1.05)}.btn-danger-handdrawn{background:var(--theme-red);border:2px solid var(--theme-black);border-radius:6px;box-shadow:2px 2px 0 var(--theme-black);color:#fff;cursor:pointer;font-family:var(--font-ui);font-size:14px;font-weight:600;padding:10px 16px;transform:rotate(-.2deg);transition:all .2s ease;width:100%}.btn-danger-handdrawn:hover{background:var(--theme-red-dark);box-shadow:3px 3px 0 var(--theme-black);transform:rotate(.2deg) translateY(-1px)}.empty-state-handdrawn{color:var(--theme-gray);font-family:var(--font-ui);padding:40px 20px;text-align:center}.empty-state-handdrawn.small{padding:20px}.empty-icon{font-size:48px;margin-bottom:16px;transform:rotate(-5deg)}.empty-state-handdrawn p{font-size:16px;margin:0;transform:rotate(.2deg)}.danger-section{background:var(--theme-white)5f5;border-color:var(--theme-red)}.danger-header{background:#ffe6e6;border-bottom-color:var(--theme-red)}.danger-warning{align-items:flex-start;background:var(--theme-white);border:2px dashed var(--theme-red);border-radius:6px;display:flex;gap:16px;margin-bottom:20px;padding:16px;transform:rotate(-.1deg)}.warning-icon{font-size:24px;transform:rotate(5deg)}.warning-text{flex:1 1}.warning-text strong{color:#d32f2f;display:block;font-family:var(--font-ui);font-size:16px;margin-bottom:8px}.warning-text p{color:var(--theme-gray);font-size:14px;line-height:1.4;margin:0}.btn-danger-large-handdrawn{background:#d32f2f;border:3px solid var(--theme-black);border-radius:8px;box-shadow:3px 3px 0 var(--theme-black);color:#fff;cursor:pointer;font-family:var(--font-ui);font-size:16px;font-weight:700;letter-spacing:.5px;padding:16px 24px;text-transform:uppercase;transform:rotate(.2deg);transition:all .2s ease;width:100%}.btn-danger-large-handdrawn:hover{background:#b71c1c;box-shadow:4px 4px 0 var(--theme-black);transform:rotate(-.2deg) translateY(-2px)}.budget-info{background:var(--theme-gray-light);border:2px dashed var(--theme-gray);border-radius:6px;margin-bottom:20px;padding:16px;transform:rotate(-.1deg)}.current-budget{align-items:center;display:flex;gap:12px}.budget-name{background:#e8f5e8;border-radius:4px;color:var(--theme-success);font-size:14px;font-weight:700;padding:4px 8px}.budget-create-form{background:var(--theme-white);border:2px solid var(--theme-black);border-radius:8px;box-shadow:2px 2px 0 var(--theme-black);margin-bottom:24px;padding:20px;transform:rotate(.1deg)}.budget-create-form h4{color:#333;font-family:var(--font-ui);font-size:16px;font-weight:600;margin:0 0 16px}.form-row{align-items:end;display:flex;gap:12px}.budget-name-input{background:var(--theme-white);border:2px solid #ccc;border-radius:6px;flex:1 1;font-family:var(--font-ui);font-size:14px;padding:10px 12px;transition:border-color .2s ease}.budget-name-input:focus{border-color:var(--theme-blue);box-shadow:0 0 0 2px #2196f333;outline:none}.btn-create-budget{background:var(--theme-success);border:2px solid var(--theme-black);border-radius:6px;box-shadow:2px 2px 0 var(--theme-black);color:#fff;cursor:pointer;font-family:var(--font-ui);font-size:14px;font-weight:600;padding:10px 16px;transform:rotate(-.1deg);transition:all .2s ease;white-space:nowrap}.btn-create-budget:hover{background:#1b5e20;box-shadow:3px 3px 0 var(--theme-black);transform:rotate(.1deg) translateY(-1px)}.budget-list{margin-top:20px}.budget-list h4{color:#333;font-family:var(--font-ui);font-size:16px;font-weight:600;margin:0 0 16px}.budget-item{align-items:center;background:var(--theme-white);border:2px solid #ddd;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:8px;padding:12px 16px;transition:all .2s ease}.budget-item.active{background:#e8f5e8;border-color:var(--theme-success);box-shadow:2px 2px 0 #2e7d324d}.budget-details{align-items:center;display:flex;flex:1 1;gap:12px}.budget-item .budget-name{background:none;border-radius:0;color:#333;font-size:14px;font-weight:600;padding:0}.budget-amount{color:var(--theme-gray);font-size:13px;font-weight:500}.active-badge{background:var(--theme-success);border-radius:12px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.budget-actions{display:flex;gap:8px}.btn-delete-budget{background:var(--theme-red);border:2px solid var(--theme-black);border-radius:4px;box-shadow:1px 1px 0 var(--theme-black);color:#fff;cursor:pointer;font-size:12px;padding:6px 8px;transform:rotate(-.1deg);transition:all .2s ease}.btn-delete-budget:hover{background:var(--theme-danger);box-shadow:2px 2px 0 var(--theme-black);transform:rotate(.1deg) translateY(-1px)}.manage-dialog-backdrop:focus-within .manage-dialog{outline:3px solid var(--theme-blue);outline-offset:2px}.confirm-dialog-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.confirm-dialog{animation:slideIn .3s ease-out;background:var(--theme-bg);border:3px solid var(--theme-black);border-radius:12px;box-shadow:0 4px 6px #0000001a,8px 8px 16px #00000026;max-height:90vh;max-width:90vw;min-height:300px;overflow:hidden;position:relative;width:400px}.confirm-dialog .dialog-content{align-items:center;display:flex;flex-direction:column;height:100%;padding:24px;text-align:center}.confirm-dialog .dialog-icon{font-size:48px;margin-bottom:16px}.confirm-dialog .dialog-title{color:var(--theme-black);font-family:var(--font-ui);font-size:20px;font-weight:700;margin:0 0 16px}.confirm-dialog .dialog-message{color:var(--theme-text-muted);font-family:var(--font-ui);font-size:16px;font-weight:400;line-height:1.5;margin:0 0 24px}.confirm-dialog .dialog-actions{display:flex;gap:16px;justify-content:center;margin-top:auto}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.confirm-dialog .dialog-btn{border-radius:var(--radius-md);border-width:var(--space-xs);font-family:var(--font-ui);font-size:16px;font-weight:700;transform:rotate(-1deg)}.dialog-btn:hover{transform:rotate(0deg) scale(1.05)}.cancel-btn{background:var(--theme-white);border-color:var(--theme-text-muted);color:var(--theme-text-muted)}.cancel-btn:hover{background:var(--theme-gray-lighter);border-color:var(--theme-text);color:var(--theme-text)}.confirm-btn{transform:rotate(1deg)}.confirm-btn.danger{background:var(--theme-red);border-color:var(--theme-red-dark);color:var(--theme-white)}.confirm-btn.danger:hover{background:var(--theme-red-dark);border-color:var(--theme-red-darker)}.confirm-btn.warning{background:var(--theme-warning);border-color:var(--theme-warning-dark);color:var(--theme-white)}.confirm-btn.warning:hover{background:var(--theme-warning-dark);border-color:var(--theme-warning-darker)}.confirm-btn.info{background:var(--theme-info);border-color:var(--theme-info-dark);color:var(--theme-white)}.confirm-btn.info:hover{background:var(--theme-info-dark);border-color:var(--theme-info-darker)}.budget-create-backdrop{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.budget-create-dialog{background:#fffef7;border:3px solid #1e1e1e;border-radius:12px;box-shadow:4px 4px 0 #1e1e1e,8px 8px 16px #00000026;display:flex;flex-direction:column;font-family:var(--font-ui);max-height:90vh;max-width:500px;overflow:hidden;position:relative;transform:rotate(-.2deg);width:100%}.budget-create-header{align-items:center;background:#f8f8f0;border-bottom:2px dashed #666;display:flex;justify-content:space-between;padding:20px 24px;position:relative}.budget-create-title{color:#1e1e1e;font-size:20px;margin:0;transform:rotate(.1deg)}.budget-create-close,.budget-create-title{font-family:var(--font-ui);font-weight:700}.budget-create-close{align-items:center;background:#ff6b6b;border:2px solid #1e1e1e;border-radius:50%;box-shadow:2px 2px 0 #1e1e1e;color:#fff;cursor:pointer;display:flex;font-size:30px;height:40px;justify-content:center;transform:rotate(-2deg);transition:all .2s ease;width:40px}.budget-create-close:hover{background:var(--theme-danger);box-shadow:3px 3px 0 #1e1e1e;transform:rotate(2deg) scale(1.1)}.budget-create-content{overflow-y:auto;padding:24px}.welcome-message{background:#e8f5e8;border:2px dashed var(--theme-success);border-radius:8px;margin-bottom:24px;padding:20px;text-align:center;transform:rotate(.1deg)}.welcome-message p{color:#333;font-size:16px;line-height:1.5;margin:0}.budget-create-form{gap:20px}.budget-create-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#333;font-size:14px;font-weight:600;margin-bottom:4px}.form-group input{background:#fff;border:2px solid #ccc;border-radius:8px;font-family:var(--font-ui);font-size:14px;padding:12px 16px;transform:rotate(-.1deg);transition:all .2s ease}.form-group input:focus{border-color:var(--theme-blue);box-shadow:0 0 0 2px #2196f333;outline:none;transform:rotate(.1deg)}.btn-create-budget-submit{background:var(--theme-success);border:var(--space-sm) solid var(--theme-black);border-radius:var(--radius-md);box-shadow:var(--shadow-handdrawn);color:var(--theme-white);cursor:pointer;font-family:var(--font-ui);font-size:16px;font-weight:700;letter-spacing:.5px;margin-top:var(--space-md);padding:var(--space-xl) var(--space-3xl);text-transform:uppercase;transform:rotate(.2deg);transition:all .2s ease}.btn-create-budget-submit:hover:not(:disabled){background:var(--theme-success-dark);box-shadow:var(--shadow-handdrawn-hover);transform:rotate(-.2deg) translateY(-2px)}.btn-create-budget-submit:disabled{background:var(--theme-gray);box-shadow:var(--shadow-sm);cursor:not-allowed;transform:rotate(0deg)}.desktop-only-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.desktop-only-dialog{animation:slideIn .3s ease-out;background:#fffef7;border:3px solid #1e1e1e;border-radius:12px;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:90vw;min-height:200px;overflow:hidden;position:relative;width:350px}.desktop-only-dialog .dialog-content{align-items:center;display:flex;flex-direction:column;font-family:var(--font-ui);height:100%;padding:24px;text-align:center}.desktop-only-dialog .dialog-icon.large{animation:bounce .6s ease-out;font-size:48px;margin-bottom:var(--space-xl)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.desktop-only-dialog .dialog-title{color:var(--theme-text);font-size:24px;margin-bottom:var(--space-xl);transform:rotate(-.5deg)}.desktop-only-dialog .dialog-message{color:var(--theme-text-secondary);font-size:16px;line-height:1.5;margin-bottom:var(--space-2xl);text-align:center}.desktop-features{flex-direction:column;margin-bottom:var(--space-2xl);text-align:left}.desktop-features,.feature-item{display:flex;gap:var(--space-md)}.feature-item{align-items:center;color:var(--theme-text-secondary);font-size:14px;transform:rotate(.2deg)}.feature-item:nth-child(2n){transform:rotate(-.2deg)}.feature-icon{font-size:18px;text-align:center;width:24px}.dialog-subtitle{color:var(--theme-text-muted);font-size:14px;font-style:italic;margin:0;transform:rotate(.3deg)}@media (max-width:768px){.desktop-only-overlay{display:flex!important}}@media (min-width:769px){.desktop-only-overlay{display:none!important}}.zero-balance-toggle-container{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;border:var(--space-xs) solid var(--theme-black);border-radius:var(--radius-lg);bottom:var(--space-3xl);box-shadow:var(--shadow-md);font-family:var(--font-ui);left:var(--space-3xl);padding:var(--space-lg) var(--space-xl);position:fixed;transition:all .3s ease;z-index:1000}.zero-balance-toggle-container:hover{background:#fffffffa;box-shadow:4px 4px 0 var(--theme-black);transform:translateY(-1px)}.toggle-label{align-items:center;color:var(--theme-text);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:var(--space-lg);margin:0;-webkit-user-select:none;user-select:none}.toggle-text{font-weight:600;white-space:nowrap}.toggle-switch{display:inline-block;height:24px;position:relative;width:48px}.toggle-input{height:0;opacity:0;position:absolute;width:0}.toggle-slider{background:var(--theme-gray-lighter);border:var(--space-xs) solid var(--theme-black);border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transform:rotate(-.2deg);transition:all .3s ease}.toggle-slider:before{background:var(--theme-white);border:var(--space-xs) solid var(--theme-black);border-radius:50%;bottom:2px;box-shadow:1px 1px 0 #0003;content:"";height:16px;left:2px;position:absolute;transform:rotate(.3deg);transition:transform .3s ease,box-shadow .2s ease;width:16px}.toggle-input:checked+.toggle-slider{background:var(--theme-success);transform:rotate(.2deg)}.toggle-input:checked+.toggle-slider:before{transform:translateX(22px) rotate(-.3deg)}.toggle-input:focus+.toggle-slider{outline:2px solid var(--theme-blue);outline-offset:2px}.toggle-label:hover .toggle-slider{transform:rotate(0deg)}.toggle-label:hover .toggle-slider:before{box-shadow:2px 2px 0 #0000004d}@media (max-width:768px){.zero-balance-toggle-container{bottom:var(--space-2xl);left:var(--space-2xl);padding:var(--space-md) var(--space-lg)}.toggle-text{font-size:13px}.toggle-switch{height:22px;width:44px}.toggle-slider:before{height:14px;width:14px}.toggle-input:checked+.toggle-slider:before{transform:translateX(20px) rotate(-.3deg)}}.keyboard-shortcuts-backdrop{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-2xl);position:fixed;right:0;top:0;z-index:1000}.keyboard-shortcuts-dialog{background:var(--theme-bg);border:var(--space-xs) solid var(--theme-black);border-radius:var(--radius-xl);border-style:solid;box-shadow:4px 4px 0 var(--theme-black),8px 8px 16px #00000026;display:flex;flex-direction:column;font-family:var(--font-ui);max-width:420px;overflow:hidden;position:relative;transform:rotate(-.1deg);width:100%}.keyboard-shortcuts-header{align-items:center;background:var(--theme-gray-light);border-bottom:var(--space-xs) dashed var(--theme-black);display:flex;justify-content:space-between;padding:var(--space-2xl) var(--space-3xl);position:relative}.keyboard-shortcuts-title{font-weight:600;margin:0}.keyboard-shortcuts-close-btn,.keyboard-shortcuts-title{color:var(--theme-text);font-family:var(--font-ui);font-size:20px}.keyboard-shortcuts-close-btn{align-items:center;background:var(--theme-white);border:var(--space-xs) solid var(--theme-black);border-radius:50%;cursor:pointer;display:flex;font-weight:700;height:32px;justify-content:center;transform:rotate(.2deg);transition:all .2s ease;width:32px}.keyboard-shortcuts-close-btn:hover{background:var(--theme-red);box-shadow:2px 2px 0 #0003;color:var(--theme-white);transform:rotate(-.2deg) scale(1.1)}.keyboard-shortcuts-content{flex:1 1;padding:var(--space-2xl)}.shortcuts-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:1fr 1fr;margin-bottom:var(--space-xl)}.shortcut-item{align-items:center;display:flex;gap:var(--space-md);padding:var(--space-sm) 0}.shortcut-key{background:var(--theme-white);border:var(--space-xs) solid var(--theme-black);border-radius:var(--radius-sm);box-shadow:1px 1px 0 #0000001a;flex-shrink:0;font-size:12px;font-weight:600;min-width:24px;padding:var(--space-xs) var(--space-md);text-align:center;transform:rotate(-.1deg);white-space:nowrap}.shortcut-description,.shortcut-key{color:var(--theme-text);font-family:var(--font-ui)}.shortcut-description{font-size:13px;line-height:1.3}.shortcuts-note{background:#2196f31a;border:1px dashed var(--theme-info);border-radius:var(--radius-md);margin-top:var(--space-2xl);padding:var(--space-xl);transform:rotate(.1deg)}.shortcuts-note p{color:var(--theme-info);font-family:var(--font-ui);font-size:13px;line-height:1.5;margin:0}@media (max-width:768px){.keyboard-shortcuts-dialog{margin:var(--space-xl);max-height:90vh}.keyboard-shortcuts-header{padding:var(--space-xl) var(--space-2xl)}.keyboard-shortcuts-content{padding:var(--space-2xl)}.shortcut-item{gap:var(--space-lg)}.shortcut-key{font-size:12px;min-width:70px}.shortcut-description{font-size:13px}}.shared-floating-backdrop{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-2xl);position:fixed;right:0;top:0;z-index:1000}.shared-floating-dialog{background:var(--theme-bg);border:var(--space-xs) solid var(--theme-black);border-radius:var(--radius-xl);border-style:solid;box-shadow:4px 4px 0 var(--theme-black),8px 8px 16px #00000026;display:flex;flex-direction:column;font-family:var(--font-ui);max-height:90vh;overflow:hidden;position:relative;transform:rotate(-.2deg);width:100%}.shared-floating-header{align-items:center;background:var(--theme-gray-light);border-bottom:var(--space-xs) dashed var(--theme-black);display:flex;justify-content:space-between;padding:var(--space-2xl) var(--space-3xl);position:relative}.shared-floating-title{color:var(--theme-text);font-family:var(--font-ui);font-size:18px;font-weight:600;margin:0}.shared-floating-close-btn{align-items:center;background:#ff6b6b;border:2px solid #1e1e1e;border-radius:50%;box-shadow:2px 2px 0 #1e1e1e;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-family:var(--font-ui);font-size:25px;font-weight:700;height:40px;justify-content:center;transform:rotate(.2deg);transition:all .2s ease;width:40px}.shared-floating-close-btn:hover{background:var(--theme-danger);box-shadow:3px 3px 0 #1e1e1e;transform:rotate(2deg) scale(1.1)}.shared-floating-content{flex:1 1;overflow-y:auto;padding:var(--space-3xl)}@media (max-width:768px){.shared-floating-backdrop{padding:var(--space-xl)}.shared-floating-dialog{max-height:95vh}.shared-floating-header{padding:var(--space-xl) var(--space-2xl)}.shared-floating-title{font-size:16px}.shared-floating-close-btn{font-size:22px;height:36px;width:36px}.shared-floating-content{padding:var(--space-2xl)}}.shared-floating-dialog{animation:floatingDialogEnter .2s ease-out;isolation:isolate}@keyframes floatingDialogEnter{0%{opacity:0;transform:rotate(-.2deg) scale(.95) translateY(-10px)}to{opacity:1;transform:rotate(-.2deg) scale(1) translateY(0)}}.context-menu{animation:contextMenuEnter .15s ease-out;background:var(--theme-white);border:var(--space-xs) solid var(--theme-black);border-radius:var(--radius-lg);box-shadow:3px 3px 0 var(--theme-black),6px 6px 12px #00000026;font-family:var(--font-ui);min-width:160px;padding:var(--space-sm);position:fixed;transform:rotate(-.1deg);z-index:1100}.context-menu-item{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--theme-text);cursor:pointer;display:flex;font-family:var(--font-ui);font-size:14px;gap:var(--space-md);padding:var(--space-md) var(--space-lg);text-align:left;transform:rotate(.05deg);transition:all .15s ease;width:100%}.context-menu-item:hover{background:var(--theme-gray-light);color:var(--theme-black);transform:rotate(-.05deg) scale(1.02)}.context-menu-item:active{background:var(--theme-gray);transform:rotate(.1deg) scale(.98)}.context-menu-icon{flex-shrink:0;font-size:16px;text-align:center;width:20px}.context-menu-label{flex:1 1;font-weight:500}.context-menu-item.danger{color:var(--theme-danger)}.context-menu-item.danger:hover{background:#f443361a;color:var(--theme-danger)}.context-menu-item.primary{color:var(--theme-info);font-weight:600}.context-menu-item.primary:hover{background:#2196f31a;color:var(--theme-info)}@keyframes contextMenuEnter{0%{opacity:0;transform:rotate(-.1deg) scale(.95) translateY(-5px)}to{opacity:1;transform:rotate(-.1deg) scale(1) translateY(0)}}@media (max-width:768px){.context-menu{min-width:140px;padding:var(--space-xs)}.context-menu-item{font-size:13px;padding:var(--space-lg) var(--space-md)}.context-menu-icon{font-size:14px;width:18px}}.consolidate-dialog-backdrop{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-2xl);position:fixed;right:0;top:0;z-index:1000}.consolidate-dialog{animation:consolidateDialogEnter .2s ease-out;background:var(--theme-bg);border:var(--space-xs) solid var(--theme-black);border-radius:var(--radius-xl);border-style:solid;box-shadow:4px 4px 0 var(--theme-black),8px 8px 16px #00000026;display:flex;flex-direction:column;font-family:var(--font-ui);max-height:90vh;max-width:600px;overflow:hidden;position:relative;transform:rotate(-.1deg);width:100%}.consolidate-dialog-header{align-items:center;background:var(--theme-gray-light);border-bottom:var(--space-xs) dashed var(--theme-black);display:flex;justify-content:space-between;padding:var(--space-2xl) var(--space-3xl);position:relative}.consolidate-dialog-title{color:var(--theme-text);font-family:var(--font-ui);font-size:20px;font-weight:600;margin:0}.consolidate-dialog-close-btn{align-items:center;background:#ff6b6b;border:2px solid #1e1e1e;border-radius:50%;box-shadow:2px 2px 0 #1e1e1e;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-family:var(--font-ui);font-size:25px;font-weight:700;height:40px;justify-content:center;transform:rotate(.2deg);transition:all .2s ease;width:40px}.consolidate-dialog-close-btn:hover{background:var(--theme-danger);box-shadow:3px 3px 0 #1e1e1e;transform:rotate(2deg) scale(1.1)}.consolidate-dialog-content{flex:1 1;overflow-y:auto;padding:var(--space-3xl)}.consolidate-recipient-info h4{color:var(--theme-text);font-size:18px;font-weight:600;margin:0 0 var(--space-lg) 0}.recipient-summary{align-items:center;background:var(--theme-gray-light);border:1px dashed var(--theme-black);border-radius:var(--radius-md);display:flex;gap:var(--space-xl);margin-bottom:var(--space-2xl);padding:var(--space-lg);transform:rotate(.1deg)}.total-amount{color:var(--theme-success);font-size:18px;font-weight:700}.transaction-count{background:var(--theme-white);border:1px solid var(--theme-black);border-radius:var(--radius-sm);color:var(--theme-text);font-size:14px;padding:var(--space-xs) var(--space-md)}.consolidated-preview h4,.current-transactions h4{color:var(--theme-text);font-size:16px;font-weight:600;margin:var(--space-2xl) 0 var(--space-lg) 0}.transaction-list{background:var(--theme-white);border:1px dashed var(--theme-black);border-radius:var(--radius-md);max-height:200px;overflow-y:auto;padding:var(--space-lg)}.transaction-item{align-items:center;border-bottom:1px dotted #ddd;display:flex;gap:var(--space-lg);justify-content:space-between;padding:var(--space-md) 0}.transaction-item:last-child{border-bottom:none}.transaction-item.consolidated{background:#2196f31a;border:1px solid var(--theme-info);border-radius:var(--radius-md);margin-bottom:var(--space-lg);padding:var(--space-lg)}.transaction-amount{color:var(--theme-success);font-weight:700;min-width:80px;text-align:right}.transaction-description{color:var(--theme-text);flex:1 1;font-size:14px}.consolidated-description-input{background:var(--theme-white);border:1px solid var(--theme-black);border-radius:var(--radius-sm);flex:1 1;font-family:var(--font-ui);font-size:14px;padding:var(--space-md)}.consolidated-description-input:focus{border-color:var(--theme-info);box-shadow:0 0 0 2px #2196f333;outline:none}.consolidate-arrow{color:var(--theme-info);font-size:24px;font-weight:700;margin:var(--space-xl) 0;text-align:center;transform:rotate(-1deg)}.consolidate-not-available{background:#ffc1071a;border:1px dashed #ffc107;border-radius:var(--radius-md);color:#856404;padding:var(--space-2xl);text-align:center}.consolidate-warning{background:#f443361a;border:1px dashed var(--theme-danger);border-radius:var(--radius-md);color:var(--theme-danger);font-size:13px;line-height:1.4;margin:var(--space-lg) 0 0 0;padding:var(--space-lg);transform:rotate(.1deg)}.consolidate-dialog-actions{background:var(--theme-gray-light);border-top:var(--space-xs) dashed var(--theme-black);display:flex;gap:var(--space-lg);justify-content:flex-end;padding:var(--space-3xl)}.consolidate-cancel-btn,.consolidate-confirm-btn{border:2px solid var(--theme-black);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-ui);font-size:14px;font-weight:600;padding:var(--space-lg) var(--space-2xl);transform:rotate(-.1deg);transition:all .2s ease}.consolidate-cancel-btn{background:var(--theme-white);color:var(--theme-text)}.consolidate-cancel-btn:hover:not(:disabled){background:var(--theme-gray);transform:rotate(.1deg) scale(1.02)}.consolidate-confirm-btn{background:var(--theme-info);color:var(--theme-white)}.consolidate-confirm-btn:hover:not(:disabled){background:#1976d2;box-shadow:2px 2px 0 #0003;transform:rotate(.1deg) scale(1.02)}.consolidate-cancel-btn:disabled,.consolidate-confirm-btn:disabled{cursor:not-allowed;opacity:.6;transform:rotate(-.1deg)}@keyframes consolidateDialogEnter{0%{opacity:0;transform:rotate(-.1deg) scale(.95) translateY(-10px)}to{opacity:1;transform:rotate(-.1deg) scale(1) translateY(0)}}@media (max-width:768px){.consolidate-dialog{margin:var(--space-xl);max-height:95vh}.consolidate-dialog-header{padding:var(--space-xl) var(--space-2xl)}.consolidate-dialog-content{padding:var(--space-2xl)}.consolidate-dialog-actions{flex-direction:column;padding:var(--space-2xl)}.recipient-summary{gap:var(--space-md)}.recipient-summary,.transaction-item{align-items:flex-start;flex-direction:column}.transaction-item{gap:var(--space-sm)}.transaction-amount{min-width:auto;text-align:left}}.handdrawn-mindmap{cursor:crosshair;font-family:var(--font-ui)}.handdrawn-mindmap,.mindmap-canvas{background:#0000;height:100vh;overflow:hidden;position:relative}.mindmap-canvas{width:100vw}.budget-selector{align-items:center;background:var(--theme-white);background:var(--theme-bg);border-radius:8px;border-style:solid;border-width:2px;border:2px dashed var(--theme-black);box-shadow:2px 2px 8px #0000001a;display:flex;font-family:var(--font-ui);gap:8px;left:20px;min-width:200px;padding:12px;position:absolute;top:20px;z-index:10}.budget-label{color:#333;font-size:14px;font-weight:600;white-space:nowrap}.budget-select{background:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-family:var(--font-ui);font-size:13px;min-width:120px;padding:6px 8px}.budget-select:focus{border-color:var(--theme-blue);box-shadow:0 0 0 2px #007bff40;outline:none}.budget-add-btn{align-items:center;background:var(--theme-success);border:2px solid #1e1e1e;border-radius:50%;box-shadow:2px 2px 0 #1e1e1e;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:32px;justify-content:center;transform:rotate(-2deg);transition:all .2s ease;width:32px}.budget-add-btn:hover{background:#1b5e20;box-shadow:3px 3px 0 #1e1e1e;transform:rotate(2deg) scale(1.1)}.summary-overlay{background:var(--theme-bg);border:2px dashed var(--theme-border);border-radius:8px;box-shadow:2px 2px 8px #0000001a;font-family:var(--font-ui);min-width:220px;padding:16px;position:absolute;right:20px;top:20px;z-index:10}.summary-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px;padding:4px 0}.summary-item:last-child{border-top:1px dashed #ccc;margin-bottom:0;margin-top:8px;padding-top:8px}.summary-label{color:#333;font-size:15px;font-weight:500}.summary-value{color:var(--theme-success);font-size:15px;font-weight:700;margin-left:8px}.manage-trigger-btn{background:#4caf50;border:2px solid #1e1e1e;border-radius:6px;box-shadow:2px 2px 0 #0003;color:#fff;cursor:pointer;font-family:var(--font-ui);font-size:15px;font-weight:600;margin-top:8px;padding:8px 12px;transform:rotate(-.2deg);transition:all .2s ease;width:100%}.manage-trigger-btn:hover{background:#45a049;box-shadow:3px 3px 0 #0003;transform:rotate(.2deg) translateY(-1px)}.mindmap-svg{height:100%;min-height:600px;min-width:800px;-webkit-user-select:none;user-select:none;width:100%}.recipient-drag-group{transition:opacity .1s ease;will-change:transform}.recipient-drag-group:hover{opacity:.9}.recipient-drag-group:active{opacity:.8}.recipient-drag-group text{-webkit-user-select:none;user-select:none;will-change:transform}.rough-element{filter:url(#roughFilter);transition:all .2s ease}.rough-element:hover{filter:url(#roughFilter) drop-shadow(2px 2px 4px rgba(0,0,0,.1))}.rough-line{stroke-dasharray:0;stroke-linecap:round;stroke-linejoin:round;opacity:.8}.rough-text{font-family:var(--font-ui);text-rendering:optimizeLegibility;-webkit-user-select:none;user-select:none}.main-title{text-shadow:1px 1px 2px #0000001a}.amount-label{font-weight:700;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff}.recipient-node{cursor:pointer}.recipient-node:hover{fill:#f0f8ff}.transaction-detail{opacity:.8}.loading-container{align-items:center;background:var(--theme-paper);display:flex;flex-direction:column;font-family:var(--font-ui);height:100vh;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top:4px solid var(--theme-info);height:40px;margin-bottom:16px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-container{align-items:center;background:var(--theme-paper);display:flex;flex-direction:column;font-family:var(--font-ui);height:100vh;justify-content:center;padding:20px;text-align:center}.error-container h3{color:#d32f2f;margin-bottom:16px}.error-container p{color:#666;margin-bottom:20px}.error-container button{background:var(--theme-info);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:var(--font-ui);font-size:14px;padding:10px 20px;transition:background .2s ease}.error-container button:hover{background:#1565c0}@supports (filter:url()){.mindmap-svg{filter:url(#sketchy)}}.App{height:100vh;margin:0;overflow:hidden;padding:0;width:100vw}
/*# sourceMappingURL=main.0582b4d1.css.map*/