:root {font: 15px/1.5 system-ui, sans-serif; color:#242a33; background:#f7f8fa; --line:#dce0e6}
* {box-sizing:border-box}
[hidden] {display:none !important}
body {margin:0; min-width:1100px}
button,input,select {font:inherit}
button,a,input,select,summary {outline-offset:3px}
button {cursor:pointer; background:white; border:1px solid var(--line); border-radius:5px; padding:8px 14px; color:inherit}
button:disabled {cursor:default; color:#8a919b}
a {color:inherit}
header {height:76px; background:white; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; padding:0 28px}
header strong {font-size:21px}
header strong span {font-weight:400}
header small,.muted,#observation {color:#657080}
aside {position:absolute; top:76px; bottom:0; width:220px; padding:24px 18px; background:white; border-right:1px solid var(--line)}
aside>button {display:block; text-align:left; border:0; width:100%; padding:14px 10px; margin-bottom:4px}
summary {cursor:pointer; padding:14px 10px}
aside a {display:block; margin:0 0 10px; padding:12px 26px; text-decoration:none; background:#eceef2; border-radius:5px}
main {margin-left:220px; padding:26px 30px}
h1 {font-size:28px; margin:0}
.heading {display:flex; align-items:center; justify-content:space-between}
#refresh {background:#363d48; color:white}
.controls {display:flex; gap:30px; align-items:end; margin:26px 0 12px}
label {display:grid; gap:5px}
input {width:360px}
input,select {padding:9px 12px; background:white; border:1px solid var(--line); border-radius:5px}
#error {color:#a32d22; border:1px solid #dca49c; padding:12px}
.table-scroll {overflow:auto; max-height:550px; border:1px solid var(--line); border-radius:5px}
table {border-collapse:collapse; table-layout:fixed; width:max-content; min-width:100%; background:white}
th,td {position:relative; padding:12px 14px; border-bottom:1px solid var(--line); text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; height:46px}
thead {position:sticky; top:0; z-index:1; background:#eceef2}
th {padding:0; font-weight:600}
th .sort {border:0; background:none; width:100%; text-align:left; padding:13px 14px; border-radius:0; overflow:hidden; text-overflow:ellipsis}
.resizer {position:absolute; right:0; top:0; bottom:0; width:7px; cursor:col-resize; touch-action:none}
.resizer:hover,.resizer:focus-visible {background:#bcc8da}
.tenant-link {color:#254b7a; font-weight:600}
dl {display:grid; grid-template-columns:180px minmax(0,1fr); gap:10px 24px; margin-top:25px}
dt {font-weight:600}
dd {margin:0; white-space:pre-wrap; overflow-wrap:anywhere}
#detail-page h1 {margin-top:20px}

#signin-page {max-width:540px; margin:80px auto; padding:30px; background:white; border:1px solid var(--line); border-radius:5px}
#signin-error {color:#a32d22}
#database-error {color:#a32d22}
aside a:not([aria-current="page"]) {background:transparent}
.table-actions {display:flex; gap:10px}
