.app-sidebar{display:flex;flex-direction:column}.app-sidebar__topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.app-sidebar__brand{display:flex;align-items:center;font-weight:700;font-size:1.1rem}.app-sidebar__brand img,.confirm-modal__brand img{height:.72em;width:auto;display:block;margin-right:.03em}.app-sidebar__avatar-wrap{position:relative}.app-sidebar__avatar{width:32px;height:32px;border-radius:50%;border:none;background:var(--color-accent);color:#06110c;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0}@media (min-aspect-ratio: 1/1){.app-sidebar__avatar{transform:translateY(3px)}}.app-sidebar__avatar:hover,.app-sidebar__avatar:focus-visible{background:var(--color-accent-bright)}.app-sidebar__avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.app-sidebar__avatar-menu{position:absolute;top:calc(100% + .5rem);left:0;background:#0a0f0c;border:1px solid var(--color-border-accent);border-radius:var(--radius-sm);padding:.6rem .8rem;display:flex;flex-direction:column;gap:.15rem;white-space:nowrap;z-index:30;box-shadow:0 10px 30px #00000080}.app-sidebar__avatar-menu-label{font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.app-sidebar__avatar-menu-email{font-size:.8rem;color:var(--color-text)}.app-sidebar__nav{flex:1}.app-sidebar__footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--color-border)}.app-sidebar__signout{display:flex;align-items:center;gap:.55rem;width:100%;background:none;border:none;color:var(--color-text-muted);padding:.55rem .75rem;border-radius:var(--radius-sm);font-size:.85rem}.app-sidebar__signout:hover,.app-sidebar__signout:focus-visible{color:var(--color-accent);background:var(--color-panel-strong)}.confirm-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.confirm-modal{background:#000;border:1px solid var(--color-border-accent);border-radius:var(--radius-md);padding:1.5rem;width:100%;max-width:340px;box-shadow:0 20px 60px #0009;text-align:center}.confirm-modal__text{margin:0 0 1.25rem;color:var(--color-text);font-size:.95rem}.confirm-modal__brand{display:inline-flex;align-items:center;margin-left:.3em}.confirm-modal__actions{display:flex;justify-content:center;gap:.75rem}.confirm-modal .btn--ghost{position:relative;overflow:hidden;z-index:0;border-radius:6px;transition:color .35s ease,border-color .35s ease}.confirm-modal .btn--ghost:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-text);transform:translateY(-100%);transition:transform .35s ease;z-index:-1}.confirm-modal .btn--ghost:hover,.confirm-modal .btn--ghost:focus-visible{color:#06110c;border-color:var(--color-text)}.confirm-modal .btn--ghost:hover:before,.confirm-modal .btn--ghost:focus-visible:before{transform:translateY(0)}.confirm-modal__cancel{position:relative;overflow:hidden;z-index:0;border-radius:6px;border:1px solid var(--color-border);background:transparent;color:var(--color-text);transition:color .35s ease,border-color .35s ease}.confirm-modal__cancel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-accent);transform:translateY(-100%);transition:transform .35s ease;z-index:-1}.confirm-modal__cancel:hover,.confirm-modal__cancel:focus-visible{color:#06110c;border-color:var(--color-accent)}.confirm-modal__cancel:hover:before,.confirm-modal__cancel:focus-visible:before{transform:translateY(0)}.app-mobile-topbar{display:none}@media (max-aspect-ratio: 1/1){.app-mobile-topbar{display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;height:calc(3.25rem + env(safe-area-inset-top));padding:env(safe-area-inset-top) 1rem 0;background:#0a0f0c;border-bottom:1px solid var(--color-border);z-index:25}.app-mobile-topbar__brand{display:flex;align-items:center;font-weight:700;font-size:1.05rem;color:var(--color-text)}.app-mobile-topbar__brand img{height:.72em;width:auto;display:block;margin-right:.03em}.app-mobile-topbar__actions{display:flex;align-items:center;gap:.85rem}.app-mobile-topbar__nav-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:none;background:transparent;color:var(--color-accent);padding:0;flex-shrink:0}.app-mobile-topbar__nav-btn:hover,.app-mobile-topbar__nav-btn:focus-visible{background:var(--color-panel-strong)}.app-mobile-topbar__avatar{width:30px;height:30px;border-radius:50%;border:none;background:var(--color-accent);color:#06110c;font-weight:700;font-size:.8rem;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0}.app-mobile-topbar__avatar:hover,.app-mobile-topbar__avatar:focus-visible{background:var(--color-accent-bright)}.app-mobile-topbar__avatar-menu{right:0;left:auto}.app-mobile-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000;z-index:40;transition:background-color .3s ease;pointer-events:none}.app-mobile-drawer-backdrop.is-open{background:#0000008c;pointer-events:auto}.app-mobile-drawer.app-sidebar{display:flex;position:fixed;top:0;right:0;bottom:0;width:min(78vw,280px);background:#0a0f0c;border-left:1px solid var(--color-border);border-right:none;padding:1.5rem 1rem;padding-top:calc(1.5rem + env(safe-area-inset-top));z-index:41;transform:translate(100%);transition:transform .3s ease;overflow-y:auto}.app-mobile-drawer.app-sidebar.is-open{transform:translate(0)}.app-mobile-drawer__close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--color-text-muted);padding:0;flex-shrink:0}.app-mobile-drawer__close:hover,.app-mobile-drawer__close:focus-visible{color:var(--color-accent);background:var(--color-panel-strong)}}.snackbar{position:fixed;left:50%;bottom:2rem;z-index:200;display:inline-flex;align-items:center;gap:.65rem;max-width:min(90vw,460px);padding:.85rem 1.4rem;border-radius:var(--radius-pill);font-size:.9rem;font-weight:600;line-height:1.3;text-align:left;cursor:pointer;box-shadow:0 16px 40px -14px #000000a6;transform:translate(-50%,18px);opacity:0}.snackbar__dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.snackbar__message{flex:1}.snackbar__brand{display:inline-flex;align-items:center;vertical-align:-1px}.snackbar__brand img{height:.72em;width:auto;display:block;margin-right:.05em}.snackbar__brand-text{color:#fff}.snackbar--success{background:#10241a;border:1px solid var(--color-border-accent);color:var(--color-accent-bright)}.snackbar--success .snackbar__dot{background:var(--color-accent-bright)}.snackbar--error{background:#2a1414;border:1px solid var(--color-negative);color:#e58a8a}.snackbar--error .snackbar__dot{background:#e58a8a}.snackbar--muted{background:#10241a;border:1px solid var(--color-border-accent);color:var(--color-accent)}.snackbar--muted .snackbar__dot{background:var(--color-accent)}.snackbar.is-opening{animation:snackbar-slide-up .35s ease forwards}.snackbar.is-closing{animation:snackbar-slide-down .3s ease forwards}@keyframes snackbar-slide-up{0%{transform:translate(-50%,18px);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes snackbar-slide-down{0%{transform:translate(-50%);opacity:1}to{transform:translate(-50%,18px);opacity:0}}@media (max-aspect-ratio: 1/1){.snackbar{left:1rem;right:1rem;bottom:calc(1.25rem + env(safe-area-inset-bottom));max-width:none;width:auto;justify-content:center;text-align:center;transform:translateY(18px)}.snackbar__message{flex:none}.snackbar.is-opening{animation:snackbar-slide-up-mobile .35s ease forwards}.snackbar.is-closing{animation:snackbar-slide-down-mobile .3s ease forwards}@keyframes snackbar-slide-up-mobile{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes snackbar-slide-down-mobile{0%{transform:translateY(0);opacity:1}to{transform:translateY(18px);opacity:0}}}.data-table{--dt-fill: #1c211f;--dt-header-fill: #0e150f;--dt-line: #3a4a42;--dt-line-soft: #28322e;--dt-header-text: var(--color-accent);--dt-header-text-hover: var(--color-accent-bright);--dt-chevron-idle: var(--color-text-muted);border:1px solid var(--dt-line);border-radius:var(--radius-md);overflow:hidden}.data-table table{width:100%;border-collapse:collapse;background:var(--dt-fill)}.data-table th,.data-table td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--dt-line-soft)}.data-table th:first-child,.data-table td:first-child{padding-left:1rem}.data-table th:last-child,.data-table td:last-child{padding-right:1rem}.data-table thead th{padding-top:1rem;padding-bottom:1rem;border-bottom:1px solid var(--dt-line);background:var(--dt-header-fill);color:var(--dt-header-text);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{height:3rem;transition:background-color .15s ease}.data-table tbody tr:hover td{background-color:#000}.data-table tbody td{color:var(--color-text)}.data-table tbody td.is-positive{color:var(--color-accent)}.data-table tbody td.is-negative{color:var(--color-negative)}.data-table__table--empty,.data-table__table--empty tbody,.data-table__empty-row{height:100%}.data-table__empty-row td{height:100%;padding:0;border-bottom:none}.data-table__empty{height:100%;min-height:12rem;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem;color:var(--color-text-muted);font-size:.9rem}.page-table-shell__empty{margin-top:.3rem;color:var(--color-text-muted);font-size:.9rem}.data-table__th-btn{display:inline-flex;align-items:center;gap:.4rem;background:transparent;border:none;padding:0;margin:0;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;transition:color .15s ease}.data-table__th-btn:hover,.data-table__th-btn--active{color:var(--dt-header-text-hover)}.data-table__chevrons{display:inline-flex;flex-direction:column;gap:1px;line-height:0}.data-table__chevron{display:block;color:var(--dt-chevron-idle);opacity:.45}.data-table__chevron--active{color:var(--color-accent-bright);opacity:1}.page-table-shell{display:flex;flex-direction:column;height:calc(100vh - 4rem);overflow:hidden}@media (max-aspect-ratio: 1/1){.page-table-shell{height:calc(100vh - 5.75rem - env(safe-area-inset-top));overflow-y:auto}}.data-table--viewport{flex:1;min-width:0;min-height:0;overflow-y:auto;--dt-scrollbar-color: #2f7a4a;--dt-scrollbar-color-hover: #3a8f5a;scrollbar-width:thin;scrollbar-color:transparent #000000;transition:scrollbar-color .4s ease}.data-table--viewport.is-scrolling-x,.data-table--viewport.is-scrolling-y{scrollbar-color:var(--dt-scrollbar-color) #000000}.data-table--viewport thead th{position:sticky;top:0;z-index:1}.data-table--viewport::-webkit-scrollbar{width:10px}.data-table--viewport::-webkit-scrollbar-track{background:#000}.data-table--viewport::-webkit-scrollbar-thumb{background-color:transparent;border:2px solid #000000;border-radius:var(--radius-pill);transition:background-color .4s ease}.data-table--viewport.is-scrolling-y::-webkit-scrollbar-thumb:vertical{background-color:var(--dt-scrollbar-color)}.data-table--viewport.is-scrolling-x::-webkit-scrollbar-thumb:horizontal{background-color:var(--dt-scrollbar-color)}.data-table--viewport.is-scrolling-y::-webkit-scrollbar-thumb:vertical:hover{background-color:var(--dt-scrollbar-color-hover)}.data-table--viewport.is-scrolling-x::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--dt-scrollbar-color-hover)}.data-table--viewport::-webkit-scrollbar-button{display:block;background-color:#000;background-repeat:no-repeat;background-position:center;background-size:8px 8px;height:10px;background-image:none}.data-table--viewport.is-scrolling-y::-webkit-scrollbar-button:vertical:start{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 5L5 1L9 5' stroke='%232f7a4a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.data-table--viewport.is-scrolling-y::-webkit-scrollbar-button:vertical:end{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%232f7a4a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.data-table--scroll-x{overflow-x:auto}.data-table--scroll-x table{width:max-content;min-width:100%}.data-table--scroll-x th,.data-table--scroll-x td{white-space:nowrap}.data-table--scroll-x::-webkit-scrollbar{height:10px}.data-table--scroll-x.is-scrolling-x::-webkit-scrollbar-button:horizontal:start{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10' fill='none'%3E%3Cpath d='M5 1L1 5L5 9' stroke='%232f7a4a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.data-table--scroll-x.is-scrolling-x::-webkit-scrollbar-button:horizontal:end{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10' fill='none'%3E%3Cpath d='M1 1L5 5L1 9' stroke='%232f7a4a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}@media (max-aspect-ratio: 1/1){.data-table--scroll-x-mobile{overflow-x:auto}.data-table--scroll-x-mobile table{width:max-content;min-width:100%}.data-table--scroll-x-mobile th,.data-table--scroll-x-mobile td{white-space:nowrap}.data-table--scroll-x-mobile::-webkit-scrollbar{height:10px}.data-table--scroll-x-mobile.is-scrolling-x::-webkit-scrollbar-button:horizontal:start{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10' fill='none'%3E%3Cpath d='M5 1L1 5L5 9' stroke='%232f7a4a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.data-table--scroll-x-mobile.is-scrolling-x::-webkit-scrollbar-button:horizontal:end{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10' fill='none'%3E%3Cpath d='M1 1L5 5L1 9' stroke='%232f7a4a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}.tx-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.tx-modal{background:#000;border:1px solid var(--color-border-accent);border-radius:var(--radius-md);padding:1.5rem;width:100%;max-width:440px;box-shadow:0 20px 60px #0009}.tx-modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.tx-modal__tabs{display:flex;gap:.5rem;margin-bottom:1.25rem}.tx-modal__tab{flex:1;padding:.5rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);font-size:.85rem}.tx-modal__tab.active{color:var(--color-accent);border-color:var(--color-border-accent);background:var(--color-border-accent)}.tx-modal__field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem;font-size:.8rem;color:var(--color-text-muted)}.tx-modal__field input,.tx-modal__field select{width:100%;background:var(--color-panel-strong);border-color:var(--color-border-accent)}.tx-modal__field input:hover,.tx-modal__field select:hover{border-color:var(--color-accent)}.tx-modal__close{background:none;border:none;color:var(--color-text-muted);font-size:1.1rem}.tx-modal form{display:flex;flex-direction:column}.tx-modal__submit{align-self:center;margin-top:.25rem;padding:.6rem 1.5rem}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000000b8;z-index:10}.loading-overlay__text{font-family:var(--font-mono);font-size:1rem;font-weight:700;letter-spacing:.04em;background:linear-gradient(100deg,var(--color-accent) 0%,var(--color-accent) 42%,#06170f 50%,var(--color-accent) 58%,var(--color-accent) 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:loading-text-sweep .8s ease-in-out infinite alternate}@keyframes loading-text-sweep{0%{background-position:100% 0%}to{background-position:0% 0%}}.cashflow-page__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.cashflow-page__title{margin:0}.cashflow-page__empty{color:var(--color-text-muted)}@media (max-aspect-ratio: 1/1){.cashflow-page__header{margin-bottom:1rem;gap:.75rem}.cashflow-page__title{font-size:1.15rem}.cashflow-page__new-btn{padding:.5rem .85rem;font-size:.8rem;gap:.35rem}.cashflow-page__empty{font-size:.82rem}}.btn--add-transaction{position:relative;overflow:hidden;z-index:0;border-radius:6px;border:1px solid var(--color-accent);background:var(--color-accent);color:#06110c;transition:color .35s ease}.btn--add-transaction:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#000;transform:translateY(-100%);transition:transform .35s ease;z-index:-1}.btn--add-transaction:hover,.btn--add-transaction:focus-visible{color:var(--color-accent)}.btn--add-transaction:hover:before,.btn--add-transaction:focus-visible:before{transform:translateY(0)}.btn--add-transaction__icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.clients-toolbar{display:flex;align-items:stretch;gap:.75rem;margin-bottom:1.5rem}.clients-toolbar__input{flex:1 1 320px;max-width:420px;background:#0d1310;border:1px solid #3a4a42;border-radius:var(--radius-sm);color:var(--color-text);padding:0 .85rem;font-size:.9rem;transition:border-color .15s ease,background-color .15s ease}.clients-toolbar__input::placeholder{color:var(--color-text-faint)}.clients-toolbar__input:hover{border-color:#50c878aa}.clients-toolbar .btn--slide{flex-shrink:0}.clients-empty{color:var(--color-text-muted);font-size:.9rem}@media (max-aspect-ratio: 1/1){.clients-page__title{font-size:1.15rem;margin:0 0 1rem;text-align:center}.clients-toolbar{margin-bottom:1rem}}.forecast-chart{display:flex;flex-direction:column;flex:1;min-height:0}.forecast-chart__plot{position:relative;flex:1;min-height:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--color-accent) rgba(154,163,160,.12)}.forecast-chart__plot::-webkit-scrollbar{height:8px}.forecast-chart__plot::-webkit-scrollbar-track{background:#9aa3a01f;border-radius:999px}.forecast-chart__plot::-webkit-scrollbar-thumb{background-color:var(--color-accent);border-radius:999px}.forecast-chart__plot-inner{position:relative;height:100%;width:100%}.forecast-chart__empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 1.5rem;color:var(--color-accent);font-size:.85rem;font-weight:600;pointer-events:none}@media (max-aspect-ratio: 1/1){.forecast-chart__plot{scrollbar-color:transparent rgba(154,163,160,.12);transition:scrollbar-color .4s ease}.forecast-chart__plot.is-scrolling{scrollbar-color:var(--color-accent) rgba(154,163,160,.12)}.forecast-chart__plot::-webkit-scrollbar-thumb{background-color:transparent;transition:background-color .4s ease}.forecast-chart__plot.is-scrolling::-webkit-scrollbar-thumb{background-color:var(--color-accent)}}.forecast-chart__caption{font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted);margin-top:4px;flex-shrink:0;text-align:center}@media (min-aspect-ratio: 1/1){.forecast-chart__caption{font-size:13px}}.dashboard-page{height:calc(100vh - 4rem);display:flex;flex-direction:column;overflow:hidden}.dashboard-page__stats{display:flex;gap:1rem;margin:1.5rem 0}.stat-tile.dashboard-page__editable-tile{position:relative;padding-right:3.75rem}.dashboard-page__edit-icon{position:absolute;top:.7rem;right:.7rem;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:.25rem;color:var(--color-text-muted);cursor:pointer;transition:color .15s ease}.dashboard-page__edit-icon:hover{color:var(--color-accent)}.dashboard-page__edit-form{display:flex;gap:.4rem;margin-top:.4rem}.dashboard-page__edit-form input{width:90px}.dashboard-page__edit-save{padding:.4rem .7rem}@media (max-aspect-ratio: 1/1){.dashboard-page{height:calc(100vh - 5.75rem - env(safe-area-inset-top))}.dashboard-page__title{font-size:1.15rem;margin:0 0 1rem;text-align:center}.dashboard-page__stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin:1rem 0}.dashboard-page__stats .stat-tile{padding:.75rem .9rem}.dashboard-page__stats .stat-tile__label{font-size:.62rem}.dashboard-page__stats .stat-tile__value{font-size:1.15rem;margin-top:.3rem}}.invoices-page__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.invoices-page__title{margin:0}@media (max-aspect-ratio: 1/1){.invoices-page__header{margin-bottom:1rem;gap:.75rem}.invoices-page__title{font-size:1.15rem}.invoices-page__new-btn{padding:.5rem .85rem;font-size:.8rem;gap:.35rem}.invoices-page__empty{font-size:.82rem}}.login-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{width:100%;max-width:380px;border:1px solid var(--color-border);background:var(--color-panel);border-radius:var(--radius-md);padding:2.5rem 2rem;text-align:center}.login-card__brand{display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;margin-bottom:.4rem}.login-card__brand img{height:.72em;width:auto;display:block;margin-right:.03em}.login-card__tagline{color:var(--color-text-muted);font-size:.9rem;margin-bottom:2rem}.login-card__tagline--accent{color:var(--color-accent-bright)}.login-card__google-btn{position:relative;overflow:hidden;z-index:0;width:100%;display:flex;align-items:center;justify-content:center;gap:.65rem;padding:.75rem 1rem;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-text);color:#06110c;font-size:.9rem;font-weight:600;transition:color .35s ease,border-color .35s ease,transform .15s ease}.login-card__google-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#000;transform:translateY(-100%);transition:transform .35s ease;z-index:-1}.login-card__google-btn:hover,.login-card__google-btn:focus-visible{color:#fff;border-color:#fff}.login-card__google-btn:hover:before,.login-card__google-btn:focus-visible:before{transform:translateY(0)}.login-card__google-btn:active{transform:scale(.98)}.login-card__footnote{margin-top:1.5rem;font-size:.75rem;color:var(--color-text-faint)}@media (max-aspect-ratio: 1/1){.login-card{padding:2rem 1.5rem}}.obligations-page__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.obligations-page__title{margin:0}@media (max-aspect-ratio: 1/1){.obligations-page__header{margin-bottom:1rem;gap:.75rem}.obligations-page__title{font-size:1.15rem}.obligations-page__new-btn{padding:.5rem .85rem;font-size:.8rem;gap:.35rem}.obligations-page__empty{font-size:.82rem}}.receivables-art{display:flex;flex-direction:column;gap:clamp(1.25rem,1rem + .8vw,1.75rem);min-width:0;margin:1.25rem 0 1.5rem}.receivables-bar{display:flex;width:100%;height:clamp(48px,40px + 2vw,60px);border-radius:var(--radius-pill);overflow:hidden;background:#ffffff0a}.receivables-bar__segment{display:flex;align-items:center;font-family:var(--font-mono);font-weight:700;font-size:clamp(.95rem,.85rem + .4vw,1.1rem);overflow:hidden;box-sizing:border-box}.receivables-bar__label{padding:0 1.1rem;white-space:nowrap}.receivables-bar__segment--good{background:var(--color-accent);color:#06110c;justify-content:center}.receivables-bar__segment--warn{background:#d6b250;color:#201a06;justify-content:center}.receivables-bar__segment--bad{background:var(--color-negative);color:#06110c;justify-content:center}.receivables-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,.7rem + 1.5vw,1.5rem)}.receivables-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;padding:clamp(1.5rem,1.2rem + 1.5vw,2.25rem) clamp(1.25rem,1rem + 1vw,1.75rem);border-radius:var(--radius-md);border:1px solid transparent;background:transparent;transform:scale(.96);transition:border-color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease;cursor:pointer}.receivables-card.is-revealed{transform:scale(1)}.receivables-card.is-revealed:hover,.receivables-card.is-revealed:focus-visible{transform:scale(1) translateY(-6px);outline:none}.receivables-card--good.is-revealed:hover,.receivables-card--good.is-revealed:focus-visible{border-color:#50d69a;background:#50d69a38;box-shadow:0 16px 36px -18px #50d69a73}.receivables-card--warn.is-revealed:hover,.receivables-card--warn.is-revealed:focus-visible{border-color:#d6b250;background:#d6b25038;box-shadow:0 16px 36px -18px #d6b25073}.receivables-card--bad.is-revealed:hover,.receivables-card--bad.is-revealed:focus-visible{border-color:#c85050;background:#c8505038;box-shadow:0 16px 36px -18px #c8505073}.receivables-card__eyebrow,.receivables-card__divider,.receivables-card__value{opacity:0;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease}.receivables-card.is-revealed .receivables-card__eyebrow,.receivables-card.is-revealed .receivables-card__divider,.receivables-card.is-revealed .receivables-card__value{opacity:1;transform:translateY(0)}.receivables-card__eyebrow-row{display:flex;align-items:center;gap:.5rem}.receivables-card__eyebrow{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.receivables-card__status-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto;opacity:0}.receivables-card.is-revealed .receivables-card__status-dot{animation:receivables-status-breathe 1.8s ease-in-out infinite;animation-delay:.18s}.receivables-card--good .receivables-card__status-dot{background:var(--color-accent)}.receivables-card--warn .receivables-card__status-dot{background:#d6b250}.receivables-card--bad .receivables-card__status-dot{background:var(--color-negative)}.receivables-card--warn.is-revealed .receivables-card__status-dot{animation-duration:1.2s}.receivables-card--bad.is-revealed .receivables-card__status-dot{animation-duration:.66s}@keyframes receivables-status-breathe{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}@media (prefers-reduced-motion: reduce){.receivables-card.is-revealed .receivables-card__status-dot{animation:none;opacity:1}}.receivables-card__percent{font-size:1.8rem;font-weight:700;display:inline-block;width:fit-content;align-self:center}@keyframes receivables-card-pulse{0%{transform:scale(1)}50%{transform:scale(1.35)}to{transform:scale(1)}}.receivables-card__percent.is-pulsing{animation:receivables-card-pulse .6s ease-in-out}.receivables-card__divider{display:block;height:1px;background:var(--color-border);margin:.5rem 0}.receivables-card__value{font-family:var(--font-mono);color:var(--color-text-faint)}.receivables-card--good.is-revealed{border-color:#50d69a8c;background:#50d69a24}.receivables-card--good .receivables-card__eyebrow,.receivables-card--good .receivables-card__percent{color:var(--color-accent)}.receivables-card--warn.is-revealed{border-color:#d6b2508c;background:#d6b25024}.receivables-card--warn .receivables-card__eyebrow,.receivables-card--warn .receivables-card__percent{color:#d6b250}.receivables-card--bad.is-revealed{border-color:#c850508c;background:#c8505024}.receivables-card--bad .receivables-card__eyebrow,.receivables-card--bad .receivables-card__percent{color:var(--color-negative)}@media (max-aspect-ratio: 1/1){.receivables-grid{grid-template-columns:1fr}}@media (max-width: 720px){.receivables-bar{height:44px}.receivables-bar__label{padding:0 .6rem;font-size:.85rem}.receivables-card.is-revealed{transform:scale(1) translateY(-6px)}.receivables-card--good.is-revealed{border-color:#50d69a;background:#50d69a38;box-shadow:0 16px 36px -18px #50d69a73}.receivables-card--warn.is-revealed{border-color:#d6b250;background:#d6b25038;box-shadow:0 16px 36px -18px #d6b25073}.receivables-card--bad.is-revealed{border-color:#c85050;background:#c8505038;box-shadow:0 16px 36px -18px #c8505073}}.receivables-page__lede{color:var(--color-text-muted);max-width:50ch}@media (max-aspect-ratio: 1/1){.receivables-page__title{font-size:1.15rem;margin:0 0 .5rem;text-align:center}.receivables-page__lede{font-size:.82rem;margin:0 0 1rem;max-width:none;text-align:center}}.scenario-simulator{display:flex;gap:1.75rem;flex-wrap:wrap;margin-top:1.5rem;align-items:stretch}.scenario-card{flex:1 1 320px;display:flex;flex-direction:column;background:#1c211f;border:1px solid #3a4a42;border-radius:var(--radius-md);padding:1.75rem 2rem 2rem;min-height:420px}.scenario-card__label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;color:var(--color-text-muted);text-transform:uppercase;padding-bottom:1rem;margin-bottom:1.5rem;border-bottom:1px solid #28322e}.scenario-field{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.5rem}.scenario-field__label{font-size:.8rem;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em}.scenario-field__input{display:block;width:100%;background:#000;border:1px solid #3a4a42;border-radius:var(--radius-sm);color:var(--color-text);padding:.7rem .85rem;font-size:.9rem;transition:border-color .15s ease}.scenario-field__input:hover{border-color:#50c878aa}.scenario-card__action{margin-top:auto;padding-top:.5rem}.scenario-card__action .btn--slide:disabled{opacity:.55;cursor:not-allowed}.scenario-card__action .btn--slide:disabled:hover{color:#06110c}.scenario-card__action .btn--slide:disabled:hover:before{transform:translateY(-100%)}.scenario-card__result-grid{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.25rem;flex:1}.scenario-result-slot{position:relative;flex:1;display:flex;overflow:hidden;border-radius:var(--radius-md)}.scenario-result-slot__tile{flex:1;display:flex}.scenario-card__result-grid .stat-tile{background:#000;flex:1;display:flex;flex-direction:column;justify-content:center;padding:1.5rem}.scenario-result-slot__tile.is-exiting,.scenario-result-slot__tile.is-entering{position:absolute;top:0;right:0;bottom:0;left:0}.scenario-result-slot__tile.is-exiting{animation:scenario-slot-slide-out .38s ease forwards}.scenario-result-slot__tile.is-entering{animation:scenario-slot-slide-in .38s ease forwards}@keyframes scenario-slot-slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}@keyframes scenario-slot-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.scenario-card__empty{color:var(--color-text-muted);font-size:.85rem;margin:auto 0 0}@media (max-aspect-ratio: 1/1){.scenario-card__action,.scenario-card__label,.scenario-field__label,.scenario-field__input,.scenario-card__empty,.scenario-card__result-grid .stat-tile{text-align:center}}@media (max-aspect-ratio: 1/1){.scenarios-page__title{font-size:1.15rem;margin:0 0 1rem;text-align:center}}:root{--color-bg: #000000;--color-panel: rgba(255, 255, 255, .03);--color-panel-strong: rgba(255, 255, 255, .05);--color-border: rgba(154, 163, 160, .16);--color-border-accent: rgba(80, 200, 120, .24);--color-text: #f2f4f3;--color-text-muted: #9aa3a0;--color-text-faint: #aeb8b5;--color-accent: #50c878;--color-accent-bright: #63d98a;--color-negative: #c85050;--color-warning: #c89a50;--font-sans: "Expletus Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Expletus Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-sm: 8px;--radius-md: 14px;--radius-pill: 999px}*{box-sizing:border-box}html,*,*:before,*:after{font-family:Expletus Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans)}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);padding:.5rem .7rem;font-size:.9rem;color-scheme:dark}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%2350c878' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;padding-right:2rem}select option{background:#0a0f0c;color:var(--color-text)}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(64%) sepia(46%) saturate(552%) hue-rotate(93deg) brightness(92%) contrast(92%)}.field-error{color:var(--color-accent-bright);font-size:.72rem;font-weight:600;margin-top:.3rem;animation:field-error-in .18s ease}input.has-error,select.has-error{border-color:var(--color-accent-bright)!important;box-shadow:0 0 0 1px var(--color-accent-bright) inset}.field-error--negative{color:var(--color-negative)}.heading-accent{color:var(--color-accent)}input.has-error--negative,select.has-error--negative{border-color:var(--color-negative)!important;box-shadow:0 0 0 1px var(--color-negative) inset}@keyframes field-error-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}input:focus-visible,select:focus-visible{outline:none;border-color:var(--color-accent)}button:focus-visible,a:focus-visible{outline:1px solid var(--color-accent);outline-offset:1px}.app-shell{display:flex;min-height:100vh}.app-sidebar{width:220px;flex-shrink:0;background:#0a0f0c;border-right:1px solid var(--color-border);padding:1.5rem 1rem}.app-sidebar__brand{font-weight:700;font-size:1.1rem}.app-sidebar__nav{display:flex;flex-direction:column;gap:.25rem}.app-sidebar__link{display:flex;align-items:center;gap:.55rem;color:var(--color-text-muted);text-decoration:none;padding:.55rem .75rem;border-radius:var(--radius-sm);font-size:.9rem;transition:background-color .15s ease}.app-sidebar__link:hover:not(.active){background:var(--color-panel-strong)}.app-sidebar__link.active{color:var(--color-accent);background:var(--color-border-accent)}.app-content{flex:1;min-width:0;padding:2rem;max-width:1100px;width:100%;position:relative;min-height:100vh}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;border-radius:var(--radius-pill);font-size:.9rem;font-weight:600;border:1px solid transparent}.btn--primary{background:var(--color-accent);color:#06110c}.btn--ghost{background:transparent;border-color:var(--color-border);color:var(--color-text)}.btn--slide{position:relative;overflow:hidden;z-index:0;border-radius:6px;border:1px solid var(--color-accent);background:var(--color-accent);color:#06110c;transition:color .35s ease}.btn--slide:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#000;transform:translateY(-100%);transition:transform .35s ease;z-index:-1}.btn--slide:hover,.btn--slide:focus-visible{color:var(--color-accent)}.btn--slide:hover:before,.btn--slide:focus-visible:before{transform:translateY(0)}.btn--slide__icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.btn--invert{display:inline-flex;align-items:center;border:1px solid var(--color-accent);background:transparent;color:var(--color-accent);border-radius:6px;padding:.35rem .8rem;font-size:.8rem;font-weight:600;transition:none}.btn--invert:hover,.btn--invert:focus-visible{background:var(--color-accent);color:#06110c}.stat-tile{background:#1c211f;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem 1.25rem}.stat-tile__label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;color:var(--color-text-muted);text-transform:uppercase}.stat-tile__value{font-family:var(--font-mono);font-size:1.6rem;font-weight:700;color:var(--color-accent);margin-top:.4rem}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--color-border)}th{color:var(--color-text-muted);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.is-positive{color:var(--color-accent);font-weight:600}.is-negative{color:var(--color-negative);font-weight:600}@media (max-aspect-ratio: 1/1){.app-shell{flex-direction:column}.app-sidebar{display:none}.app-content{padding:calc(4.5rem + env(safe-area-inset-top)) 1rem 1.25rem;max-width:100%}table{font-size:.8rem}th,td{padding:.5rem .35rem}html,body{overflow-x:hidden}.app-shell,.app-content{overflow-x:hidden;max-width:100vw}}
