#app-shell{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:960px;padding:1rem}.app-header{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid #e5e7eb;padding-bottom:.5rem}.app-role{color:#6b7280;font-size:.875rem;display:inline-flex;align-items:center;gap:.75rem}.app-user{font-weight:600;color:#374151}.nav-link{color:#2563eb;text-decoration:none;font-size:.8rem}.nav-link.router-link-active{font-weight:600;text-decoration:underline}.logout-btn{cursor:pointer;border:1px solid #d1d5db;background:#fff;border-radius:6px;padding:.2rem .5rem;font-size:.75rem}.login{display:flex;flex-direction:column;gap:.9rem;max-width:320px;margin:3rem auto 0;padding:1.5rem;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 3px #0000000f}.login h2{margin:0}.login-sub{color:#6b7280;font-size:.85rem;margin:0}.login-field{display:flex;flex-direction:column;gap:.3rem;font-size:.875rem}.login-field input{padding:.5rem .7rem;border:1px solid #d1d5db;border-radius:6px;font:inherit}.login-btn{cursor:pointer;border:1px solid #2563eb;background:#2563eb;color:#fff;border-radius:6px;padding:.55rem .9rem;font-size:.95rem}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-error{color:#991b1b;font-size:.85rem;margin:0}.backend-picker{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem;padding-top:.75rem;border-top:1px dashed #e5e7eb}.backend-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.backend-input{padding:.4rem .6rem;border:1px solid #d1d5db;border-radius:6px;font:inherit;font-size:.8rem}.backend-quick{display:flex;gap:.4rem}.backend-chip{cursor:pointer;border:1px solid #d1d5db;background:#fff;border-radius:999px;padding:.2rem .6rem;font-size:.72rem;color:#374151}
