.modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;justify-content:center;align-items:center;z-index:6666}.centreModal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:1rem;border-radius:.5rem;width:90%;max-width:500px;max-height:80vh;overflow-y:auto;transition:top .2s ease,transform .2s ease}.centreModal.keyboard-active{top:14%;transform:translate(-50%)}.bottomSheet{background:#fff;padding:1rem;border-radius:1rem 1rem 0 0;position:fixed;left:50%;bottom:0;transform:translate(-50%,100%);width:92%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .2s ease-out forwards}.bottomSheet.closing{animation:slideDown .2s ease-out forwards}h2{margin-bottom:0}@keyframes slideUp{0%{transform:translateY(-50%,100%)}to{transform:translate(-50%)}}@keyframes slideDown{0%{transform:translate(-50%)}to{transform:translate(-50%,100%)}}.flex{display:flex;justify-content:center}.flex-left{display:flex;gap:8px}.flex-right{padding-left:10px}.anchor-right{margin-left:auto;padding-right:0!important}.Tooltip{font-size:90%;box-sizing:border-box;width:max-content;max-width:450px;z-index:8888;display:inline-flex;justify-content:space-between;color:#fff;background:#333;box-shadow:0 0 10px #0000001a;border-radius:10px;max-width:800px;padding:12px;margin:auto}.selectContainer{display:flex;align-items:center;justify-content:center;align-self:stretch;padding:.25rem;border:1px solid #dadada;border-radius:.5rem;max-height:36px;min-height:36px;cursor:pointer}.selectContainer:hover{background-color:#fcfcfc}.selectContainer.open{border-color:#8a9a5b}.selectContainer.invalid{border-color:#e42c2c}.selectContainer img{max-width:5rem;max-height:2.2rem;width:100%;height:100%;object-fit:contain;padding:0rem}.selectContainer.disabled{background-color:#f0f0f0;opacity:.7;cursor:not-allowed}.selectOptions{background-color:#fff;border:1px solid #dadada;border-radius:.5rem;padding:.25rem 0;box-shadow:0 4px 12px #0000000d;z-index:7777;max-width:500px}.selectOptions.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(2rem,1fr));gap:.5rem}.selectOptions.grid img{width:100%;max-width:100px;height:auto;object-fit:contain}.selectOption{display:flex;align-items:center;justify-content:space-between;font-size:1rem;border-radius:.5rem;transition:background-color .2s ease;cursor:pointer!important}.selectOption:hover{background-color:#f0f0f0}.empty{color:#acacac}html,body,#root{height:100%;margin:0;padding:0}#root{text-align:center;-webkit-tap-highlight-color:transparent}#app{min-height:100svh;height:100vh;display:grid;grid-template-rows:auto 1fr;overflow:hidden}.column{display:flex;flex-direction:column;align-items:center}.row,.flipRow{display:flex;flex-direction:row;justify-content:center;align-items:center}.formRow{display:flex;flex-direction:row;align-items:center;justify-content:center;width:90%;padding:0 1rem}button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:#8a9a5b;color:#fff;border:none;border-radius:.5rem;font-weight:600;font-size:1rem;box-shadow:0 2px 6px #00000026;transition:background-color .2s ease,transform .2s ease}button.threat{background-color:#e42c2c}button:disabled{background-color:#dadada;cursor:not-allowed}button:disabled:hover,button:disabled:active{background-color:#dadada;transform:none!important}button:hover{background-color:#708238;transform:translateY(-2px)}button.threat:hover{background-color:red;transform:translateY(-1px)}button:active{background-color:#556b2f;transform:translateY(0)}button,.clickable{cursor:pointer;-webkit-tap-highlight-color:transparent}.unclickable{cursor:not-allowed}.small{font-size:.8rem}.mini{font-size:.6rem}.androidBanner{background-color:#8a9a5b;height:2.5rem;width:100%;position:fixed;top:0;left:0;z-index:1000}.header{width:100%;flex:0 0 auto}.userRow{grid-column:1;grid-row:1;align-self:start;justify-self:stretch;display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:2px;justify-content:center}.headerCentre{grid-column:2;grid-row:1;justify-self:center}.headerRight{grid-column:3;grid-row:1;justify-self:end;align-self:start}.headerControls{grid-column:2;grid-row:2;justify-self:center}.headerGrid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:8px}.body{display:flex;flex-direction:column;overflow:auto;-webkit-overflow-scrolling:touch;min-height:0}.body>:not(.footer){flex:0 0 auto}.footer{flex:0 0 auto;margin-top:auto}.banner{background-color:#f0f0f0;color:#555;padding:.5rem 1rem;font-size:.9rem;text-align:center}.left{justify-self:start}.center{justify-self:center}.right{justify-self:end}.footend{margin-top:.5rem;font-style:italic}.verticalSeparator{width:1px;background-color:#dadada;height:24px;margin:0 .5rem}hr{border-top:#dadada}input[type=text],input[type=number],input[type=date]{padding:.75rem;border-radius:.5rem;border:1px solid #dadada;font-size:1rem;margin-bottom:1rem;transition:border-color .3s ease}input:focus{outline:none;border-color:#8a9a5b}input:disabled{background-color:#f0f0f0;cursor:not-allowed}input.invalid{border-color:#e42c2c}.ghostInputWrapper{position:relative;display:inline-flex;align-items:center;font-family:monospace}.ghostPrefix{position:absolute;top:25%;left:.5rem;pointer-events:none;opacity:.6}.ghostInput{padding-left:8rem!important;padding-right:0rem!important;width:3rem!important}.unselected{filter:grayscale(100%);transition:filter .2s ease}.unselected:hover{filter:grayscale(0%)}.userButton{background-color:#8a9a5b;color:#fff;border:none;border-radius:50%;width:3rem;height:3rem;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.userSelection p{margin-bottom:1rem;color:#555;line-height:1.4}.userSelection .row{flex-wrap:wrap;gap:.75rem;justify-content:center}.userSelection .row>button{font-size:.95rem}.userSelection .small.centre{margin-top:1rem;color:#aaa}.bankLogo{width:2rem;height:2rem;object-fit:contain;border-radius:25%}.bankLogoLarge{width:5rem;height:3rem;object-fit:contain}.providerLogo{width:128px;height:auto}.positive{color:#34a853}.negative{color:#ea4335}.hidden{color:#dadada}h1,h2,h3,h4{margin:0}h3{margin-bottom:.3rem}.hat{z-index:5;transition:top .5s ease}.hat.lowered{top:9px!important}.hat.popped{top:-5px!important}.floatBubble{background-color:#fff;border-radius:20.5%;z-index:1111;margin-bottom:-8px}@media (max-width: 600px){.userRow{grid-template-columns:repeat(auto-fill,minmax(30px,1fr))}.headerGrid{grid-template-columns:1fr minmax(0,auto) 1fr;overflow-x:hidden;padding:4px}.headerGrid>.headerLeft{display:flex;justify-content:flex-end;gap:2px}.headerGrid>.headerRight{display:flex;justify-content:flex-start;gap:2px}.headerCentre{justify-self:center}.flipRow{display:flex;flex-direction:column;align-items:center}}.selected-item{text-align:center}.controls-container{--highlight-width: auto;--highlight-x-pos: 0;display:flex;margin:0 0 8px}.controls{display:inline-flex;justify-content:space-between;background:#fff;box-shadow:0 0 10px #0000001a;border-radius:10px;max-width:800px;padding:12px;margin:auto;overflow:hidden;position:relative}.controls input{opacity:0;margin:0;top:0;right:0;bottom:0;left:0;position:absolute;width:100%;cursor:pointer;height:100%;z-index:1}.segment{min-width:120px;position:relative;text-align:center;z-index:1}.segment label{cursor:pointer;display:block;font-weight:700;padding:10px;transition:color .5s ease}.segment.active label{color:#fff}.controls:before{content:"";background:#8a9a5b;border-radius:8px;width:var(--highlight-width);transform:translate(var(--highlight-x-pos));position:absolute;top:8px;bottom:8px;left:0;z-index:0}.segment.inactive label{border-radius:8px;transition:color .2s ease,transform .2s ease}.segment.inactive:hover label{color:#8a9a5b;transform:translateY(-2px)}.controls.ready:before{transition:transform .3s ease,width .3s ease}.spinnerOverlay{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:#00000080;z-index:9999}.spinner{border:4px solid rgba(0,0,0,.1);border-top:4px solid #8a9a5b;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.accountCard{border-radius:.5rem;padding:1rem;background:#fff;box-shadow:0 0 4px #0000001a;display:flex;flex-direction:column;justify-content:space-between;margin:.5rem;cursor:pointer;max-height:200px;transition:transform .4s ease,background-color .2s ease}.accountCard:hover{background-color:#ebf0dd;transform:translateY(-5px)}.archived{opacity:.6}.accountRow{display:flex;justify-content:space-between;align-items:center}.accountHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.accountHeader .name{font-weight:600;font-size:1rem}.accountBody{font-size:.9rem;margin-top:.25rem}.balance{font-weight:700;font-size:1.1rem}.accountsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));width:100%;max-width:100%}.groupCard{padding:1rem;display:flex;flex-direction:column;justify-content:space-evenly;margin:.5rem;max-height:200px;align-content:flex-end}.groupIcon{width:64px;height:64px}@media (max-width: 600px){.accountsGrid{gap:.4rem}.groupCard{padding:0}.accountCard{margin-top:0;margin-bottom:0}}.transactionCard{border-radius:.5rem;padding:.5rem;margin-left:.5rem;background:#fff;box-shadow:0 0 4px #0000001a}.transactionCard.list{display:flex;flex-direction:column;justify-content:space-between;margin:0rem .5rem .5rem;padding:1rem}.transactionCard.list .bankDetails{display:flex;flex-direction:row;justify-content:center;align-items:center}.transactionCard.grid .description,.transactionCard.waterfall .description{font-size:.9rem}.transactionCard.grid .bankDetails,.transactionCard.waterfall .bankDetails{display:flex;flex-direction:column-reverse}.transactionCard.list.stacked{margin-top:-1.25rem}.icon{width:2rem;height:2rem;object-fit:contain}.balance{transition:width .6s ease}.anchorLeft{justify-content:flex-start}.transactionsGrid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));width:100%;max-width:100%}.waterfallHeaders{justify-content:space-between}.waterfallHeaderIcon{width:100%;max-width:48px;min-width:48px}.waterfallHeaderIconMini{max-width:24px}.accountHeading{width:100%}.toggleSwitch{position:relative;display:inline-block;width:60px;height:34px}.toggleSwitch input{opacity:0;width:0;height:0}.toggleSlider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:34px;display:flex;align-items:center;padding:4px}.toggleBall{height:26px;width:26px;background-color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .4s}input:checked+.toggleSlider .toggleBall{transform:translate(26px);background-color:#ebf0dd}input:checked+.toggleSlider{background-color:#8a9a5b}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(1.5deg)}75%{transform:rotate(-1.5deg)}}.wiggleWrapper{position:relative;display:inline-block;overflow:visible;cursor:grab}.wiggleContent{display:inline-block}.wiggleActive{display:inline-block;animation:wiggle .2s ease-in-out infinite;will-change:transform}.wiggleOverlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.floatingBalloon{position:absolute;left:50%;bottom:0;transform:translate(-50%);animation:floatUp 1.5s ease-out forwards;font-size:1.5rem;pointer-events:none;z-index:10}@keyframes floatUp{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-80px) scale(1.2)}}.radioButtons{position:relative;display:inline-block;height:34px}.radioButtons input{opacity:0;width:0;height:0}.dashboard{flex-direction:row;justify-content:center;align-items:stretch;display:flex;gap:24px;width:100%;--chart-height: 500px}.leftPane{width:40%;position:relative;height:var(--chart-height)}.rightPane{width:60%;height:var(--chart-height)}.chartStack{position:relative;width:100%;height:100%}.chartStack>.chartLayer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.chartLayer .recharts-wrapper{pointer-events:auto}.incentivesLayout{display:flex;min-height:70vh}.incentivesSidebar{width:300px;min-width:260px;max-width:360px;padding:10px;overflow:auto}.incentivesMain{flex:1;overflow:none;text-align:left;margin:12px}.sidebarTitle{font-size:16px;font-weight:800;margin:4px 0 10px}.sidebarSectionTitle{font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;opacity:.85;margin:14px 0 8px}.offerList{list-style:none;margin:0;padding:0}.offerStub{display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;font-size:13px;line-height:1.2;background:#ffffff08;border:1px solid rgba(255,255,255,.08);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s ease,border-color .12s ease,transform 80ms ease}.offerStub:hover{background:#8a9a5b0d;border-color:#8a9a5b59}.offerStub:active{transform:translateY(1px)}.offerStub.active{background:#8a9a5b40!important;border-color:#8a9a5b8c}.offerStub.expired{background:#9a5b5b40;border-color:#9a5b5b8c}.offerStubLogo{width:40px;height:28px;object-fit:contain;opacity:.95}.offerStubText{min-width:0;display:flex;flex-direction:column;gap:2px}.offerStubTitle{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.offerStubMeta{font-size:11px;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.offerDetails{display:flex;flex-direction:column;gap:8px}.offerCard,.offerDetailsHeader{background:#f7f8fa;border:1px solid #e2e5ea;border-radius:14px;padding:16px 18px;width:100%}.sidebarHeaderRow{position:relative;display:flex;align-items:center;justify-content:center;min-height:32px}.sidebarHeaderRow .sidebarTitle{text-align:centre}.sidebarHeaderRow>:first-child{position:absolute;left:0}.sidebarHeaderRow>:last-child{position:absolute;right:0}.offerDetailsHeader{display:flex;align-items:center;gap:16px}.offerDetailsLogo{width:96px;height:40px;object-fit:contain}.offerDetailsHeaderText{min-width:0;display:flex;flex-direction:column;gap:4px}.offerDetailsTitle{font-size:20px;font-weight:800;line-height:1.15;color:#1a1a1a}.offerDetailsHeadline{color:#555;line-height:1.25}.offerCardTitle{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#666;margin:0 0 12px}.offerGroupTitle{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#666;margin-top:12px}.offerListItem{padding:10px 0;border-bottom:1px solid #e3e6eb}.offerListItem:last-child{border-bottom:none}.offerListItemTop{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.offerReqChip{font-weight:700;color:#222}.unselected{opacity:.4}.offerReqUser{width:22px;height:22px;object-fit:cover}.offerReqMeta,.offerReqNotes{font-size:13px;color:#666}.offerReqNotes{margin-top:6px;line-height:1.4}.reqStack{position:relative;padding-left:20px}.reqStack:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:14px;border-left:2px solid #888;border-top:2px solid #888;border-bottom:2px solid #888;border-radius:12px}.smallPrint{font-size:15px;color:#666}.offerLinks{display:flex;gap:10px;flex-wrap:wrap}.offerLinks a{text-decoration:none;border-bottom:1px solid rgba(0,0,0,.25);padding-bottom:1px}.offerLinks a:hover{border-bottom-color:#0000008c}.offerDetailsDisclosure>summary{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:800}.offerDetailsDisclosure>summary::-webkit-details-marker{display:none}.offerDetailsDisclosure>summary:before{content:"▸";display:inline-block;width:18px;opacity:.8;transform:translateY(-1px)}.offerDetailsDisclosure[open]>summary:before{content:"▾"}@media (max-width: 900px){.incentivesLayout{flex-direction:column}.incentivesSidebar{width:auto;max-width:none}.incentivesMain{padding-left:0}.offerDetailsHeader{flex-direction:column;align-items:flex-start}.offerDetailsLogo{width:120px;height:44px}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0!important}@font-face{font-family:"SerenityOS Emoji";src:url(/martyn-llewelyn/SerenityOS-Emoji.ttf) format("truetype")}.glyph{font-family:"SerenityOS Emoji",sans-serif}
