:root{color-scheme:light;--bg: #fbf6ed;--panel: #ffffff;--ink: #1f2937;--muted: rgba(31, 41, 55, .7);--border: rgba(31, 41, 55, .12);--shadow: 0 16px 40px rgba(17, 24, 39, .08);--shadow-soft: 0 10px 28px rgba(17, 24, 39, .06);--radius: 18px;--accent: #1f3d2b;--accent-2: #c9a35b;--danger: #b00020}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji}a{color:inherit;text-decoration-color:#1f293759}button,input,textarea{font:inherit}button{border:1px solid var(--border);background:var(--panel);color:var(--ink);border-radius:12px;padding:10px 12px;box-shadow:var(--shadow-soft);cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}button.primary{background:var(--accent);border-color:#0000;color:#fff;box-shadow:0 18px 40px #1f3d2b3d}input,textarea{width:100%;border:1px solid var(--border);background:#ffffffbf;border-radius:14px;padding:10px 12px;outline:none;box-shadow:0 10px 22px #1118270a inset}input:focus,textarea:focus{border-color:#1f3d2b66;box-shadow:0 0 0 4px #1f3d2b1f,0 10px 22px #1118270a inset}.card{background:#ffffffd9;border:1px solid rgba(255,255,255,.5);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.muted{color:var(--muted)}.error{color:var(--danger)}.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:#ffffffb3}.statusBar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:#ffffffbf}.statusLeft{display:inline-flex;align-items:center;gap:10px;min-width:0}.statusDot{width:10px;height:10px;border-radius:999px;background:#1f293740;box-shadow:0 0 0 4px #1f293714}.statusDot.ok{background:var(--accent);box-shadow:0 0 0 4px #1f3d2b1f}.statusDot.warn{background:var(--accent-2);box-shadow:0 0 0 4px #c9a35b29}.statusDot.bad{background:var(--danger);box-shadow:0 0 0 4px #b000201f}.banner{padding:12px;border-radius:14px;border:1px solid rgba(201,163,91,.35);background:#c9a35b1f}.modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1118278c;display:flex;align-items:center;justify-content:center;padding:18px;z-index:50}.modalCard{width:min(640px,100%);border-radius:18px;background:#ffffffeb;border:1px solid rgba(255,255,255,.55);box-shadow:0 28px 70px #11182740;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:18px}.modalActions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.toastWrap{position:fixed;right:16px;bottom:16px;z-index:60;pointer-events:none}.toast{pointer-events:auto;border-radius:14px;padding:12px;border:1px solid rgba(31,61,43,.25);background:#ffffffeb;box-shadow:0 20px 50px #1118272e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:toastIn .16s ease-out;max-width:min(520px,calc(100vw - 32px))}.progressTrack{height:10px;border-radius:999px;background:#1f29371f;overflow:hidden}.progressFill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-2) 100%);border-radius:999px;transition:width .52s cubic-bezier(.2,.9,.2,1)}@keyframes progressBump{0%{filter:saturate(1);transform:translateY(0)}35%{filter:saturate(1.25);transform:translateY(-1px)}to{filter:saturate(1);transform:translateY(0)}}.progressPulse{animation:progressBump .52s ease-out}@keyframes lockClose{0%{transform:translateY(-3px) rotate(-10deg);opacity:.35}70%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(0) rotate(0);opacity:.85}}.lockPulse{animation:lockClose .26s ease-out}.progressFill{background:var(--accent);opacity:.85;transition:width .22s ease-out}.vaultTopGrid{display:grid;grid-template-columns:1.4fr .6fr;gap:12px}.vaultItemRow{display:grid;grid-template-columns:1fr 1.6fr;gap:10px;align-items:start}@media (max-width: 720px){.statusBar{flex-wrap:wrap;justify-content:flex-start}.modalActions{flex-direction:column;align-items:stretch}.docSideBySide{grid-template-columns:1fr!important}.vaultTopGrid,.vaultItemRow{grid-template-columns:1fr}}
