.pv-logo { gap:11px; }
.pv-logo img { width:42px; height:42px; object-fit:contain; background:#fff; border-radius:10px; padding:3px; }
.pv-logo span { font:800 20px "Plus Jakarta Sans",sans-serif; letter-spacing:-.7px; }
.pv-logo .pv-logout { margin-left:auto; width:34px; height:34px; display:grid; place-items:center; border:1px solid #ffffff30; border-radius:8px; background:transparent; color:#c9e4d6; font-size:18px; line-height:1; }
.pv-logo .pv-logout:hover { background:#ffffff17; color:#fff; }
.login-v2 > section { align-items:center; }
.login-v2 .login-brand-logo { justify-content:center; gap:45px; }
.login-v2 .login-brand-logo img { width:240px; height:240px; padding:16px; border-radius:55px; }
.login-v2 .login-brand-logo span { font-size:120px; letter-spacing:-4.5px; }
@media (max-width:900px) { .login-v2 .login-brand-logo { gap:24px; } .login-v2 .login-brand-logo img { width:min(32vw,180px); height:min(32vw,180px); padding:12px; border-radius:34px; } .login-v2 .login-brand-logo span { font-size:clamp(54px,14vw,90px); } }
.pv-sort-header { cursor:pointer; user-select:none; }
.pv-sort-header::after { content:'↕'; display:inline-block; margin-left:5px; color:#9aa9a0; font-size:11px; }
.pv-sort-header[data-pv-direction="asc"]::after { content:'↑'; color:var(--accent); }
.pv-sort-header[data-pv-direction="desc"]::after { content:'↓'; color:var(--accent); }
.transaction-delete { margin:0; padding:7px 10px; color:#a43f3a; background:#fae8e5; }
.transaction-delete:hover { background:#f4d5d1; }
.pv-side { position:sticky; top:0; align-self:start; height:100vh; overflow-y:auto; }
.pill.bad { background:#fde9e7; color:#b13d38; }
.invoice-edit { cursor:pointer; }
