.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--paper)}
.login-card{width:min(100%,430px)}
.login-card .card-b{padding:30px;gap:22px}.login-card h1{font-size:28px;margin:8px 0}.login-card p{margin:8px 0 0}
.narrow-card{max-width:520px}.search-input{width:min(100%,240px)}.align-bottom{display:flex;align-items:end}
#message{padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:16px;background:var(--accent-soft);color:var(--ink)}
#message[data-kind=error]{background:var(--red-soft);border-color:var(--red);color:var(--ink)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.whoami a{color:inherit}.file-details{min-width:0;overflow-wrap:anywhere}.file-details a{display:block}
.invoice-actions{justify-content:flex-start;flex-wrap:wrap}.invoice-actions .hint{flex-basis:100%}
textarea.input{resize:vertical;min-height:65px}#user-list .btn{margin:3px}.cell-actions{white-space:nowrap}
#drop[aria-disabled=true]{opacity:.5;cursor:not-allowed}#drop:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
#drop #new-draft{margin-top:6px}
.preview-note{margin-bottom:18px}.preview-note p{margin:4px 0 0}
dialog{max-width:480px;width:calc(100% - 32px);border:1px solid var(--line);color:var(--ink);background:var(--surface)}
dialog::backdrop{background:rgba(0,0,0,.45)}
@media(max-width:760px){.login-card .card-b{padding:22px}.search-input{width:100%}.invoice-actions .btn{max-width:100%;white-space:normal}}
