.vault-app{--ink:#162238;--dark:#162238;--paper:#f5f7fb;--mint:#e5edff;--line:#e2e8f2;--muted:#69778d;min-height:100dvh;background:var(--paper);font-family:'Segoe UI',Arial,sans-serif;color:var(--ink)}
.vault-app *, .vault-app *::before,.vault-app *::after{box-sizing:border-box} .vault-app .button{background:#2563eb;border-color:#2563eb;border-radius:10px;padding:13px 20px;font-size:14px;gap:16px;min-height:44px}.vault-app .button:hover{background:#1d4ed8;transform:none}.vault-app .button.ghost{background:#fff;border-color:var(--line);color:#34435e}.vault-app .button.ghost:hover{background:#eff4ff}.vault-app .text-link{color:#446080;font-size:13px;min-height:36px}.vault-app .eyebrow{font-size:10px;letter-spacing:1.8px;color:#8b9bb2}
.app-header{height:76px;padding:0 32px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;justify-content:space-between;background:#fff}.app-header .brand{font-size:25px;color:#1e3a64}.app-header .brand-sub{font-size:16px;color:#6b7f9e}.app-state{font-size:12px;color:#69809f;background:#f1f5fb;border:1px solid #e7edf6;padding:8px 12px;border-radius:30px}.app-header #lock{border:1px solid var(--line);border-radius:8px;padding:7px 13px}
.app-message{position:fixed;inset-inline:16px;bottom:24px;z-index:100;width:fit-content;max-width:min(560px,calc(100vw - 32px));margin-inline:auto;background:#1f2f49;color:#fff;box-shadow:0 12px 35px #0f254b26;border-radius:12px;padding:14px 20px;font-size:14px;line-height:1.65;text-align:center;overflow-wrap:anywhere}.app-message:empty{display:none}
.auth-card{width:calc(100% - 32px);max-width:470px;padding:36px;margin:52px auto;border:1px solid #e6ebf4;border-radius:20px;background:#fff;box-shadow:0 16px 55px #23385d0a}.auth-card h1{font-size:31px;line-height:1.25;letter-spacing:-.9px;margin:18px 0 26px}.auth-card p{font-size:13px;line-height:1.8;color:var(--muted)}.auth-tabs{display:flex;background:#f0f4fa;padding:4px;border-radius:10px;margin:24px 0}.auth-tabs button{flex:1;background:none;border:0;padding:10px;border-radius:7px;color:#72829b;font-size:13px;min-height:40px}.auth-tabs .active{background:#fff;color:#2563eb;font-weight:600;box-shadow:0 1px 5px #203c6412}.auth-card .button{width:100%;margin-top:10px}.auth-note{font-size:10px!important;text-align:center;margin-top:22px}.auth-card>a.text-link{display:block;text-align:center}
.vault-app label{display:block;font-size:13px;font-weight:500;color:#536580;margin:16px 0}.vault-app input,.vault-app select,.vault-app textarea{font:inherit;display:block;width:100%;max-width:100%;padding:12px 13px;border:1px solid #dce4f0;border-radius:9px;background:#fff;color:#23334d;margin-top:7px;outline:none;min-height:44px}.vault-app input:focus,.vault-app select:focus,.vault-app textarea:focus{border-color:#769ffd;box-shadow:0 0 0 3px #2563eb12}.vault-app label small{font-size:11px;font-weight:400;display:block;margin-top:7px;color:#8a99af}.approval-number{display:block;text-align:center;font-size:76px;line-height:1.1;background:#edf3ff;border:1px solid #dce7ff;border-radius:14px;padding:24px;margin:26px 0;direction:ltr;color:#2563eb}
.workspace{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:calc(100dvh - 76px)}.app-sidebar{background:#fff;border-left:1px solid var(--line);padding:28px 18px;position:relative;min-width:0}.account-chip{display:flex;gap:11px;align-items:center;margin:0 5px 30px}.account-chip>span{width:40px;height:40px;background:#edf3ff;color:#2563eb;border-radius:12px;display:grid;place-items:center;font-weight:700;flex:none}.account-chip div{min-width:0}.account-chip b{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;direction:ltr;text-align:right}.account-chip small{display:block;font-size:11px;color:#8a99ae;margin-top:5px}.app-sidebar nav{display:grid;gap:7px}.app-sidebar nav button{display:flex;align-items:center;gap:11px;padding:12px 14px;min-height:45px;background:none;border:0;border-radius:10px;text-align:right;font-size:13px;color:#697d9b}.app-sidebar nav button.active{background:#edf3ff;color:#2563eb;font-weight:600}.nav-icon{font-size:18px;width:22px;display:inline-grid;place-items:center;flex:none}.sidebar-bottom{position:sticky;top:85vh;font-size:10px;line-height:2.3;color:#91a0b5;padding:25px 12px}.sidebar-bottom a{display:block}.sidebar-bottom .live-dot{background:#22b38a}
.app-main{width:100%;max-width:1320px;padding:38px 40px;min-width:0}.app-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.app-title h1{font-size:29px;line-height:1.3;letter-spacing:-.7px;margin:9px 0}.app-title h1 span{font-size:12px;display:inline-block;margin-right:12px;color:#71829c;background:#eaf0f8;border-radius:20px;padding:4px 9px;vertical-align:middle}.vault-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:22px}.vault-toolbar input{margin:0;flex:1;background:#fff;padding:13px 16px}.vault-toolbar select{width:150px;margin:0}.vault-toolbar .text-link{padding:0 8px}.item-list{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 4px 14px #1e355603}.item-list:empty{display:none}.vault-row{width:100%;border:0;border-bottom:1px solid #eef2f7;padding:17px 20px;display:flex;align-items:center;gap:14px;background:#fff;text-align:right;color:var(--ink);cursor:pointer}.vault-row:hover{background:#f7faff}.vault-row:last-child{border-bottom:0}.item-icon{width:42px;height:42px;border-radius:11px;background:#edf3ff;color:#4475c5;display:grid;place-items:center;font-size:17px;font-weight:700;flex:none}.vault-row>div:nth-child(2){flex:1;min-width:0}.vault-row b{font-size:14px;font-weight:600;display:block;overflow-wrap:anywhere}.vault-row small{font-size:11px;display:block;color:#8c9ab0;margin-top:5px;overflow-wrap:anywhere}.vault-row>span:last-child{color:#9cacbf}.row-tag{font-size:10px;background:#f2f5fa;padding:5px 9px;border-radius:6px;color:#8b9bb0}.empty-state{text-align:center;padding:64px 15px;color:#889ab5}.empty-state>span{font-size:55px;color:#aac0e5}.empty-state h2{font-size:20px;color:#3a5073;font-weight:600}.empty-state p{line-height:1.9;font-size:13px}
.setup-banner{padding:24px;background:#f0f5ff;border:1px solid #dce7fb;border-radius:14px;margin-bottom:30px;min-width:0}.setup-banner h2{font-size:21px;color:#2b4a7a;line-height:1.4}.setup-banner h3{font-size:15px;margin-top:24px}.setup-banner p{font-size:13px;line-height:1.85;color:#7385a1}.setup-banner img{display:block;width:180px;max-width:100%;margin:18px auto;border-radius:10px}.setup-banner code{display:block;overflow-wrap:anywhere;font-size:12px;color:#416aaa}.setup-banner form{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:15px 0}.setup-banner form input{width:170px;margin:0}.check-label{display:flex!important;gap:9px;align-items:center}.check-label input{width:18px;min-height:18px;margin:0;accent-color:#2563eb}.setup-banner a{font-size:12px;overflow-wrap:anywhere;direction:ltr;display:block}.setup-banner .device-row{border-color:#dbe6f7}
.otp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin:25px 0}.otp-card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:14px}.otp-card h3{margin-top:0;font-size:16px}.otp-code{font-size:34px;letter-spacing:5px;direction:ltr;display:block;color:#2563eb;font-variant-numeric:tabular-nums}.otp-card small{display:block;margin:14px 0;color:#90a0b7;font-size:11px}.otp-card progress{width:100%;accent-color:#5b8bef;height:4px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-grid article{background:#fff;border:1px solid var(--line);padding:24px;border-radius:14px;min-width:0}.settings-grid h2{font-size:18px;margin-top:0}.settings-grid p{font-size:13px;line-height:1.85;color:var(--muted)}.settings-grid small{font-size:11px;color:#899bb5;line-height:1.7;display:block;margin-top:12px}.device-row,.family-row{border-bottom:1px solid var(--line);padding:12px 0;font-size:13px;display:flex;justify-content:space-between;align-items:center;gap:12px}.device-row>span,.family-row>span{min-width:0;overflow-wrap:anywhere}.device-row button,.family-row button{flex:none}.audit-row{font-size:11px;padding:10px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.approval-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;margin:18px 0}.approval-card h2{font-size:18px}.approval-card code{font-size:48px;color:#2563eb;display:block;margin:20px 0;font-variant-numeric:tabular-nums}.approval-card p{font-size:12px;overflow-wrap:anywhere;direction:ltr;text-align:right;color:#8a9bb3}.approval-card .actions{margin-top:18px}.billing-buttons{display:flex;gap:14px;flex-wrap:wrap}
.vault-app dialog{position:fixed;inset:auto;left:50%;right:auto;top:calc(var(--vault-viewport-top,0px) + var(--vault-viewport-height,100dvh)*.5);bottom:auto;transform:translate(-50%,-50%);margin:0;border:1px solid #e2e8f2;border-radius:18px;padding:28px;width:min(630px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(var(--vault-viewport-height,100dvh) - 32px);overflow:auto;overscroll-behavior:contain;background:#fff;color:var(--ink);box-shadow:0 24px 90px #0a214638}.vault-app dialog::backdrop{background:#15233c6e;backdrop-filter:blur(3px)}.editor-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.editor-heading h2{font-size:22px;margin:4px 0;font-weight:600;overflow-wrap:anywhere}.editor-heading button{min-width:36px;flex:none}.editor-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.password-input{display:flex;gap:9px;align-items:center}.password-input input{flex:1;min-width:0}.password-input .text-link{font-size:12px;white-space:nowrap}.detail-field{padding:15px 0;border-bottom:1px solid var(--line)}.detail-field small{display:block;color:#8b9bb1;font-size:11px;margin-bottom:8px}.detail-field p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;margin:0}.detail-field a{color:#2563eb;direction:ltr;display:block;overflow-wrap:anywhere}#detail .actions{margin-top:24px}.vault-app .button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:900px){.app-main{padding:30px 24px}.workspace{grid-template-columns:210px minmax(0,1fr)}.settings-grid{grid-template-columns:1fr}}
@media(max-width:700px){.vault-app{overflow-x:clip}.app-header{height:64px;padding:0 16px;gap:10px;padding-top:env(safe-area-inset-top)}.app-header .brand{font-size:21px;gap:4px}.app-header .brand-sub{font-size:13px}.app-state{font-size:9px;padding:6px 8px;max-width:140px}.app-header #lock{font-size:11px;padding:5px 9px}.workspace{display:block;min-height:calc(100dvh - 64px)}.app-sidebar{position:fixed;inset-inline:0;bottom:0;z-index:30;padding:7px 8px calc(8px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);box-shadow:0 -4px 24px #18325208;width:100%;background:#fffffff5;backdrop-filter:blur(10px)}.account-chip,.sidebar-bottom{display:none}.app-sidebar nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;width:100%;min-width:0}.app-sidebar nav button{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;min-height:54px;padding:6px 2px;font-size:10px;text-align:center;border-radius:9px;line-height:1.2;white-space:normal}.nav-icon{font-size:20px;width:auto}.app-sidebar nav #approval-count:empty{display:none}.app-main{padding:24px 16px calc(110px + env(safe-area-inset-bottom));max-width:100%;overflow-wrap:anywhere}.app-title{gap:12px;margin-bottom:20px}.app-title h1{font-size:26px;margin:6px 0}.app-title .button{font-size:12px;padding:10px 12px;gap:6px;white-space:nowrap}.app-title .eyebrow{font-size:9px}.vault-toolbar{display:grid;grid-template-columns:1fr auto;gap:10px}.vault-toolbar input{grid-column:1/-1;min-width:0}.vault-toolbar select{width:100%;min-width:0}.vault-toolbar .text-link{font-size:12px}.vault-row{padding:15px 13px;gap:11px}.vault-row b{font-size:13px}.vault-row small{font-size:11px}.item-icon{width:37px;height:37px;font-size:15px;border-radius:10px}.row-tag{display:none}.auth-card{width:calc(100% - 32px);margin:28px auto;padding:26px 22px;border-radius:16px}.auth-card h1{font-size:28px}.auth-card .eyebrow{font-size:9px}.vault-app input,.vault-app select,.vault-app textarea{font-size:16px}.auth-card>input{font-size:14px}.setup-banner{padding:20px;margin-bottom:24px}.setup-banner h2{font-size:19px}.setup-banner form{display:block}.setup-banner form input{width:100%;margin:10px 0}.setup-banner form .button{width:100%;justify-content:center}.otp-grid{grid-template-columns:1fr}.settings-grid{gap:14px}.settings-grid article{padding:21px}.vault-app dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px);padding:22px 18px;border-radius:16px;max-height:calc(var(--vault-viewport-height,100dvh) - 24px)}.editor-heading h2{font-size:21px}.editor-columns{grid-template-columns:1fr;gap:0}.password-input{flex-wrap:wrap}.password-input input{flex-basis:100%}.vault-app dialog .actions{gap:12px}.vault-app dialog .actions .button{flex:1;justify-content:center}.app-message{inset-inline:12px;width:calc(100% - 24px);max-width:calc(100vw - 24px);bottom:calc(16px + env(safe-area-inset-bottom));padding:13px 15px;font-size:13px;border-radius:12px}.vault-app:has(#workspace:not([hidden])) .app-message{bottom:calc(94px + env(safe-area-inset-bottom))}.empty-state{padding:50px 10px}.billing-buttons{display:grid;grid-template-columns:1fr}.billing-buttons .button{justify-content:center}.approval-card{padding:22px}.approval-card .actions{gap:10px}.approval-card .actions button{flex:1;justify-content:center}}
@media(prefers-reduced-motion:reduce){.vault-app *{scroll-behavior:auto!important;transition:none!important}}
