html.vault-locked body>*:not(#vaultScreen),html.vault-concealed body>*{visibility:hidden!important;pointer-events:none!important}
html.vault-locked body{overflow:hidden}#vaultScreen{position:fixed;inset:0;z-index:2147483646;display:grid;place-items:center;padding:20px;overflow:auto;background:linear-gradient(135deg,#ddf8f0,#eff8fb 45%,#eee4fc);box-sizing:border-box;color:#21395e}#vaultScreen form{width:min(100%,480px);margin:auto;padding:30px;border:1px solid #fff;border-radius:24px;background:#ffffffd9;box-shadow:0 20px 70px #264d7020;box-sizing:border-box}#vaultScreen h1{font-size:25px;line-height:1.3;margin:12px 0}#vaultScreen p{font-size:13px;line-height:1.7;color:#59718a}#vaultScreen label:not(.vault-check){display:flex;flex-direction:column;gap:7px;margin-top:16px;font-size:13px;font-weight:700}#vaultScreen input[type=password]{padding:12px;border:1px solid #bdd3e1;border-radius:10px;min-width:0;min-height:44px;box-sizing:border-box;font:inherit;background:#fff;color:#20385b}#vaultScreen button{width:100%;padding:13px;border:0;border-radius:12px;color:#fff;background:linear-gradient(120deg,#255575,#7058a8);font:700 14px inherit;cursor:pointer;min-height:46px}#vaultScreen button:disabled{opacity:.5}.vault-mark{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;background:#dff5ee;color:#2a787c;font-weight:800}.vault-check{display:flex;gap:10px;align-items:start;margin-top:17px;font-size:12px;line-height:1.6}.vault-check input{width:20px;height:20px;flex:none}.vault-note{font-size:11px!important}#vaultScreen [data-vault-error]{color:#b13f51;font-weight:600}#vaultScreen :focus-visible,#vaultStatus button:focus-visible{outline:3px solid #529bb5;outline-offset:3px}#vaultStatus{position:fixed;bottom:12px;left:270px;z-index:500;display:flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid #d0e2e6;border-radius:12px;background:#f6fffded;box-shadow:0 3px 15px #203f6612;font:11px 'DM Sans',sans-serif;color:#46796d;max-width:calc(100vw - 290px);box-sizing:border-box}#vaultStatus button{padding:7px 10px;min-height:34px;border:1px solid #c8dce4;border-radius:8px;background:#fff;color:#31577a;white-space:nowrap;cursor:pointer}#vaultStatus [data-error=true]{color:#ac344a}html.vault-blocked body{display:none!important}@media(max-width:900px){#vaultStatus{left:12px;bottom:88px;max-width:calc(100vw - 24px)}#vaultScreen form{padding:23px}#vaultScreen{padding:12px}}
/* The public welcome is shown before setup or unlock, without loading records. */
.vault-timer-settings{padding:16px;margin:12px 0 22px;border:1px solid #d1e2e9;border-radius:15px;background:linear-gradient(125deg,#e7faf4b5,#efe6ffb5)}.vault-timer-settings h3{margin:0 0 8px;color:#38587e;font-size:16px}.vault-timer-settings p,.vault-timer-settings small{font-size:11px;line-height:1.7;color:#6a7e97}.vault-timer-settings small{display:block;margin:7px 0}.vault-timer-settings .vault-never-warning{display:flex;flex-direction:row;align-items:start;gap:9px;font-size:11px;line-height:1.7;padding:12px;border:1px solid #e9ce9b;border-radius:10px;background:#fff5ded9}.vault-never-warning input{flex:none;width:19px;height:19px;accent-color:#795ac0}.vault-timer-settings [hidden]{display:none!important}.vault-timer-settings [data-vault-settings-error]{color:#b14050}
.vault-dashboard-preview{position:absolute;inset:0;display:grid;grid-template-columns:210px 1fr;gap:32px;padding:28px;box-sizing:border-box;overflow:hidden;pointer-events:none;user-select:none;filter:blur(2px);opacity:.72}
.vault-dashboard-preview aside,.vault-dashboard-preview article{border:1px solid #ffffffc9;border-radius:20px;background:linear-gradient(125deg,#ffffffb0,#ddfaf3b0,#eee2ff99);box-shadow:0 15px 40px #20387012}
.vault-dashboard-preview aside{display:flex;flex-direction:column;gap:28px;padding:28px 20px;align-self:stretch;font-size:13px}.vault-dashboard-preview aside>b{font-size:22px;margin-bottom:20px}.vault-dashboard-preview main{padding:28px 14px;min-width:0}.vault-dashboard-preview h2{font-size:31px;margin:10px 0 28px}.vault-dashboard-preview h3{margin:30px 0 15px;font-size:19px}.preview-label{font-size:11px;text-transform:uppercase;letter-spacing:2px}.preview-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.preview-kpis article{padding:25px;display:flex;flex-direction:column;gap:20px}.preview-kpis b{font-size:25px;letter-spacing:5px}.preview-plans,.preview-goals{display:grid;grid-template-columns:1fr 1fr;gap:20px}.preview-plans article,.preview-goals article{padding:25px}.preview-plans i{display:block;height:8px;width:85%;margin-top:24px;border-radius:8px;background:#c4d9eb}.preview-plans i:nth-of-type(2){width:65%;background:#a7dcd5}.preview-plans i:nth-of-type(3){width:75%;background:#d2c2ef}.preview-goals article>div{height:11px;border-radius:10px;background:#dcd5ee;margin-top:25px;overflow:hidden}.preview-goals i{display:block;width:65%;height:100%;border-radius:10px;background:linear-gradient(90deg,#8a65d5,#55c7b5)}
#vaultScreen form,#vaultScreen .vault-welcome{position:relative;z-index:1;background:linear-gradient(130deg,#ffffffe0,#e8f9f8ce,#f1ebffcc);backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%);border-color:#fffffff2}
#vaultScreen .vault-intro{padding:13px 15px;border:1px solid #ffffffdd;border-radius:14px;background:#ffffff80;margin:18px 0 8px}.vault-intro strong{font-size:13px;color:#35577b}#vaultScreen .vault-intro p{font-size:11px;margin:6px 0 0;line-height:1.6}
@media(max-width:700px){.vault-dashboard-preview{grid-template-columns:1fr;padding:15px;gap:0}.vault-dashboard-preview aside{display:none}.vault-dashboard-preview main{padding:22px 0}.preview-kpis{grid-template-columns:1fr 1fr}.preview-kpis article:last-child{display:none}.preview-kpis article,.preview-plans article,.preview-goals article{padding:20px 14px}.vault-dashboard-preview h2{font-size:24px}}
/* Keep the vault in the same right-hand action stack, away from the workspace. */
#vaultStatus{left:auto;right:26px;bottom:24px;width:54px;height:49px;max-width:none;padding:0;border:0;background:none;box-shadow:none;z-index:90}
#vaultStatus .vault-lock-button{display:grid;place-content:center;gap:2px;width:54px;height:49px;min-height:44px;padding:4px;border:1px solid #bcdde5;border-radius:15px;background:linear-gradient(145deg,#fffffff0,#e4f9f4ed,#eee6ffed);box-shadow:0 9px 25px #20387025;color:#31577a;backdrop-filter:blur(16px)}
#vaultStatus .vault-lock-button span{font-size:17px;line-height:1}#vaultStatus .vault-lock-button small{font:700 8px/1.1 sans-serif}
#vaultSaveStatus{display:none;position:absolute;right:65px;bottom:0;width:220px;padding:11px;border:1px solid #c8dce4;border-radius:12px;background:#f6fffdf5;box-shadow:0 5px 20px #20387020;line-height:1.5}
#vaultStatus:hover #vaultSaveStatus,#vaultStatus:focus-within #vaultSaveStatus,#vaultSaveStatus[data-error=true]{display:block}
#vaultRetry{position:absolute;right:65px;bottom:55px}
@media(min-width:901px){.mobile-top-button{bottom:83px!important}.floating-voice-expense-button{bottom:142px!important}.desktop-quick-expense-button{bottom:201px!important}}
@media(max-width:900px){#vaultStatus{left:auto;right:15px;bottom:calc(var(--mobile-nav-height,68px) + 10px + env(safe-area-inset-bottom,0px));width:50px;height:43px;max-width:none;z-index:119}#vaultStatus .vault-lock-button{width:50px;height:43px;border-radius:13px}.mobile-top-button{bottom:calc(var(--mobile-nav-height,68px) + 59px + env(safe-area-inset-bottom,0px))!important}.floating-voice-expense-button{bottom:calc(var(--mobile-nav-height,68px) + 108px + env(safe-area-inset-bottom,0px))!important}.mobile-add{bottom:calc(var(--mobile-nav-height,68px) + 157px + env(safe-area-inset-bottom,0px))!important}}
body:has(dialog[open]) #vaultStatus{visibility:hidden;pointer-events:none}
html.vault-concealed body>#vaultPrivacyShield:not([hidden]){visibility:visible!important;pointer-events:auto!important}
#vaultPrivacyShield:not([hidden]){position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;padding:30px;box-sizing:border-box;text-align:center;background:linear-gradient(135deg,#ddf8f0,#eff8fb,#eee4fc);color:#21395e;font:600 17px/1.6 sans-serif}
#vaultScreen .vault-welcome{position:relative;width:min(100%,620px);box-sizing:border-box;margin:auto;padding:30px;border:1px solid #fff;border-radius:24px;background:linear-gradient(135deg,#ffffffcf,#e8f9f8c9,#f1ebffcb);box-shadow:0 24px 70px #264d702b;text-align:center}
#vaultScreen .vault-welcome h1{font-size:clamp(24px,4vw,32px);line-height:1.2;margin:12px 10px}
#vaultScreen .vault-welcome .eyebrow{font-size:9px;letter-spacing:1.3px;color:#7561b5;margin:12px 0}
#vaultScreen .vault-welcome-logo{display:block;margin:0 auto;width:62px;height:62px;border-radius:19px;object-fit:contain;box-shadow:0 10px 25px #5865a332}
#vaultScreen .vault-welcome a{color:#315c8a;text-underline-offset:3px}
#vaultScreen .vault-welcome blockquote{margin:18px 0;padding:15px 18px;border:1px solid #dcd9ed;border-radius:15px;background:#ffffff80;font-size:12px;line-height:1.75;color:#586d87;text-align:left}
#vaultScreen .vault-welcome-backup{padding:15px 17px;border-radius:14px;background:linear-gradient(115deg,#254d81,#61509d);color:#fff;text-align:left}
#vaultScreen .vault-welcome-backup p{color:#ffffffdc;font-size:11px;margin:6px 0 0}
#vaultScreen .vault-welcome-close{position:absolute;top:14px;right:14px;width:36px;min-height:36px;padding:0;border:1px solid #d6e2ed;background:#ffffffb8;color:#31577d;font-size:22px;border-radius:11px}
#vaultScreen form[hidden]{display:none!important}
#vaultScreen .vault-explanation{margin-top:14px;padding-top:13px;border-top:1px solid #d8e3ed;font-size:12px}
#vaultScreen .vault-explanation summary{cursor:pointer;font-weight:700;color:#355c80;line-height:1.6}
#vaultScreen .vault-explanation p{font-size:12px}
@media(max-width:600px){#vaultScreen .vault-welcome{padding:27px 18px 18px}#vaultScreen .vault-welcome blockquote{padding:13px}}
