:root{--pc-page:#f1f5f9;--pc-surface:#fff;--pc-surface-subtle:#f8fafc;--pc-surface-tint:#f0fdfa;--pc-border:#dbe4ee;--pc-text:#172033;--pc-muted:#5f6f82;--pc-primary:#0f766e;--pc-primary-strong:#0b5f59;--pc-danger:#b42318;--pc-focus:#14b8a6;--pc-radius-control:.7rem;--pc-radius-surface:1rem;--pc-shadow-surface:0 1px 3px #0f232d12;--pc-touch-target:2.75rem;--pc-space-1:.4rem;--pc-space-2:.65rem;--pc-space-3:.9rem;--pc-space-4:1.25rem;color:var(--pc-text);background:var(--pc-page);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--pc-page);min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;min-height:var(--pc-touch-target);border:1px solid var(--pc-border);border-radius:var(--pc-radius-control);background:var(--pc-surface);color:var(--pc-text);padding:.58rem .8rem;font-weight:650}button:hover{border-color:var(--pc-primary);background:var(--pc-surface-subtle)}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.6}.primary{background:var(--pc-primary);border-color:var(--pc-primary);color:#fff}.primary:hover{background:var(--pc-primary-strong);border-color:var(--pc-primary-strong)}.danger{color:var(--pc-danger);border-color:#fca5a5}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.account-row:focus-visible{outline:3px solid color-mix(in srgb, var(--pc-focus) 55%, transparent);outline-offset:2px}.login-page{min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(24px + env(safe-area-inset-left));background:#f4f8f5;place-items:center;display:grid}.login-card{width:min(100%,420px);box-shadow:none;text-align:left;background:#fff;border-radius:22px;padding:24px}.login-brand{text-align:center;flex-direction:column;align-items:center;display:flex}.logo{background:#fff;border-radius:22.8px;place-items:center;width:76px;height:76px;margin:0;padding:13.68px;display:grid;box-shadow:0 14px 24px #174c3c1f}.logo img{width:100%;height:100%;display:block}.login-brand h1{color:#174c3c;margin:14px 0 0;font-size:28px;font-weight:800;line-height:36px}.login-brand p{color:#46534c;margin:8px 0 0;font-size:16px;line-height:24px}.login-card form{text-align:left;margin-top:24px}.login-card button{width:100%;margin-top:24px}.app-shell{min-height:100dvh;padding-bottom:calc(4.3rem + env(safe-area-inset-bottom))}.topbar{height:3.8rem;padding:env(safe-area-inset-top) max(1rem, env(safe-area-inset-right)) 0 max(1rem, env(safe-area-inset-left));z-index:2;background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand{background:0 0;border:0;padding:0;font-size:1.05rem}.role{text-transform:capitalize;color:#075985;background:#e0f2fe;border-radius:999px;width:max-content;padding:.22rem .55rem;font-size:.78rem;display:inline-flex}.role.admin{color:#92400e;background:#fef3c7}.page{width:min(100%,68rem);padding:1.25rem max(1rem, env(safe-area-inset-right)) 1.5rem max(1rem, env(safe-area-inset-left));margin:auto}.page-title{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:#64748b;margin:0;font-size:.7rem;font-weight:700}.card,.metric{border:1px solid var(--pc-border);border-radius:var(--pc-radius-surface);background:var(--pc-surface);box-shadow:var(--pc-shadow-surface);margin:.8rem 0;padding:1rem}.card-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.card h2{margin:0;font-size:1rem}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.metric{margin:0}.metric span,.metric small,.row small{color:#64748b;font-size:.78rem;display:block}.metric strong{margin-top:.4rem;font-size:1.1rem;display:block}.metric strong,.history-amount,table td:nth-last-child(-n+3),input[type=number],.account-row-action strong,.projected-balance{font-variant-numeric:tabular-nums}.metric.emphasis{color:#fff;background:#0f766e;border-color:#0f766e;grid-column:span 2}.metric-grid .metric:not(.emphasis){background:var(--pc-surface-subtle);box-shadow:none}.metric.emphasis span{color:#ccfbf1}.list{gap:.35rem;display:grid}.row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem 0;display:flex}.row:last-child{border:0}.row.wrap{align-items:flex-start}.account-row{text-align:left;border:0;border-bottom:1px solid #f1f5f9;border-radius:0;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.8rem 0;display:flex}.account-row:last-of-type{border-bottom:0}.account-row>span:first-child{min-width:0}.account-row strong{display:block}.account-row small{color:#64748b;overflow-wrap:anywhere;margin-top:.18rem;display:block}.account-row-action{text-align:right;flex:none;justify-items:end;gap:.3rem;display:grid}.account-row-action>span{color:#0f766e;font-size:.8rem;font-weight:700}.account-row:focus-visible{outline-offset:2px;outline:3px solid #5eead4}.create-account-form,.movement-form{scroll-margin-top:calc(4.5rem + env(safe-area-inset-top))}.locker-row{align-items:start;gap:var(--pc-space-3) var(--pc-space-4);padding:var(--pc-space-3) 0;border-bottom:1px solid #f1f5f9;grid-template-columns:minmax(12rem,1fr) minmax(0,auto);display:grid}.locker-row:last-child{border-bottom:0}.locker-info{min-width:0;padding-top:.3rem}.locker-info strong,.locker-info small{display:block}.locker-info small{color:var(--pc-muted);overflow-wrap:anywhere;margin-top:.18rem}.locker-actions{justify-content:flex-end;align-items:center;max-width:42rem}.locker-row>.feedback,.locker-row>.security-form{grid-column:1/-1}.locker-row>.feedback{margin:0}.security-form{gap:var(--pc-space-3);width:100%;margin-top:var(--pc-space-3);padding:var(--pc-space-3);border:1px solid var(--pc-border);border-radius:var(--pc-radius-control);background:var(--pc-surface-subtle);scroll-margin-top:calc(4.5rem + env(safe-area-inset-top));display:grid}.security-form h3,.security-form p{margin:0}.locker-unlock-prompt{gap:var(--pc-space-3);margin-top:var(--pc-space-3);padding:var(--pc-space-3);border-radius:var(--pc-radius-control);background:var(--pc-surface-tint);scroll-margin-top:calc(4.5rem + env(safe-area-inset-top));border:1px solid #99d8d2;display:grid}.locker-unlock-prompt h3,.locker-unlock-prompt p{margin:0}.locker-unlock-prompt label{gap:.33rem;font-weight:650;display:grid}.security-form label{gap:.33rem;font-size:.9rem;font-weight:650;display:grid}.security-form .feedback{margin:0}@media (width>=720px){.security-form{grid-template-columns:repeat(2,minmax(0,1fr))}.security-form h3,.security-form p,.security-form .feedback,.security-form .actions{grid-column:1/-1}}.projected-balance{padding:var(--pc-space-3);border-radius:var(--pc-radius-control);background:var(--pc-surface-tint);color:#115e59;border:1px solid #99d8d2;margin:0;font-weight:700}.movement-form label:has(select) small{margin-top:var(--pc-space-1);padding:var(--pc-space-2);border-left:3px solid var(--pc-primary);background:var(--pc-surface-subtle);color:var(--pc-text);line-height:1.45}.account-control-groups{gap:var(--pc-space-3);display:grid}.account-control-group{gap:var(--pc-space-2);padding-top:var(--pc-space-3);border-top:1px solid var(--pc-border);display:grid}.account-control-group:first-child{border-top:0;padding-top:0}.account-control-group>p{color:var(--pc-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:750}.account-control-group select{max-width:18rem}.lifecycle-control{align-items:start}.history-amount small{overflow-wrap:anywhere;max-width:15rem}.row .actions{align-items:center}.row .actions button{white-space:nowrap}.card>.form-grid{padding-top:.1rem}.tabs{padding-bottom:.2rem;scroll-padding-inline:.25rem}.tabs:after{content:"";flex:0 0 .25rem}.tabs button.active{box-shadow:inset 0 -2px #ccfbf1}.actions{flex-wrap:wrap;gap:.45rem;display:flex}.actions>button,.actions>select{min-height:var(--pc-touch-target)}.form-grid,.filter-grid{gap:.8rem;min-width:0;display:grid}.form-grid label,.filter-grid label{gap:.33rem;min-width:0;font-size:.9rem;font-weight:650;display:grid}.suggestion-input{z-index:1;position:relative}.suggestion-input:focus-within{z-index:4}.suggestion-list{z-index:5;border:1px solid var(--pc-border);border-radius:var(--pc-radius-control);background:var(--pc-surface);max-height:min(15rem,40dvh);margin:0;padding:.3rem;list-style:none;position:absolute;top:calc(100% - .2rem);left:0;right:0;overflow-y:auto;box-shadow:0 .6rem 1.25rem #0f232d24}.suggestion-list li{margin:0}.suggestion-list button{width:100%;min-height:var(--pc-touch-target);border-radius:calc(var(--pc-radius-control) - .18rem);color:var(--pc-text);text-align:left;overflow-wrap:anywhere;background:0 0;border:0;padding:.6rem .7rem;font-weight:600;display:block}.suggestion-list button:hover,.suggestion-list li.active button{background:var(--pc-surface-tint);color:#115e59}input,select,textarea{width:100%;min-width:0;min-height:var(--pc-touch-target);border:1px solid var(--pc-border);color:#172033;background:#fff;border-radius:.65rem;padding:.62rem .7rem}textarea{resize:vertical;min-height:5rem}.checkbox{align-items:center;gap:.6rem;display:flex!important}.checkbox input{width:auto}.feedback{border-radius:.65rem;margin:.25rem 0;padding:.65rem .75rem;font-size:.9rem}.feedback.error{color:#b42318;background:#fef2f2}.feedback.success{color:#047857;background:#ecfdf5}.muted{color:#64748b}.loading{border:1px solid var(--pc-border);border-radius:var(--pc-radius-surface);background:var(--pc-surface);text-align:center;margin:1rem 0;padding:1.25rem}.tabs{gap:.4rem;margin-bottom:.8rem;display:flex;overflow:auto}.tabs button{white-space:nowrap}.tabs .active{color:#fff;background:#0f766e;border-color:#0f766e}.bottom-nav{z-index:3;padding:.45rem max(.5rem, env(safe-area-inset-right)) calc(.45rem + env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left));background:#fff;border-top:1px solid #e2e8f0;gap:.1rem;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-x:auto}.bottom-nav button{min-width:4.2rem;min-height:var(--pc-touch-target);background:0 0;border:0;flex:1;padding:.45rem .35rem;font-size:.72rem}.bottom-nav button.active{color:#0f766e;background:#f0fdfa}.history-list{gap:.75rem;display:grid}.history-item{border-bottom:1px solid #e2e8f0;justify-content:space-between;gap:.7rem;padding:.75rem 0;display:flex}.history-item:has(.voided){background:snow}.history-item:last-child{border:0}.history-item p,.history-item small{color:#64748b;margin:.25rem 0;display:block}.history-amount{text-align:right;justify-items:end;gap:.5rem;display:grid}.positive{color:#047857}.negative{color:#b42318}.badge{border-radius:999px;padding:.18rem .45rem;font-size:.72rem}.voided{color:#991b1b;background:#fee2e2}.void-detail{color:#991b1b!important}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:38rem;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid #e2e8f0;padding:.65rem}th{color:#475569;text-transform:uppercase;font-size:.75rem}th:not(:first-child),td:not(:first-child){text-align:right}.key-value{grid-template-columns:1fr auto;gap:.65rem;margin-bottom:1rem;display:grid}.key-value span{color:#64748b}@media (width>=720px){.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric.emphasis{grid-column:span 1}.form-grid,.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid>.feedback,.form-grid>.actions,.form-grid>.primary{grid-column:1/-1}.bottom-nav{border-top:0;border-bottom:1px solid #e2e8f0;order:-1;justify-content:center;position:static}.bottom-nav button{flex:0 auto}.app-shell{flex-direction:column;padding-bottom:0;display:flex}.topbar{position:static}}@media (width<=719px){.page-title{align-items:flex-start;gap:var(--pc-space-2)}.page-title>button{flex:none}.row.wrap{gap:var(--pc-space-2)}.row.wrap>div:first-child{min-width:0}.row.wrap .actions{width:100%}.row.wrap .actions>button{flex:auto}.locker-row{gap:var(--pc-space-2);grid-template-columns:minmax(0,1fr)}.locker-info{padding-top:0}.locker-row .locker-actions{justify-content:flex-start;width:100%;max-width:none}.locker-row .locker-actions>button{flex:0 auto}.history-item{align-items:flex-start}.history-item>div:first-child{min-width:0}.history-amount{min-width:6.5rem}}
