:root{font-family:system-ui,-apple-system,'Helvetica Neue',sans-serif;color:#1b3043;background:#f4f6f8}
*{box-sizing:border-box}
body{margin:0;padding:24px}
main{max-width:980px;margin:0 auto}
header{margin-bottom:20px}
.eyebrow{font-weight:700;letter-spacing:.04em;color:#426683}
h1{font-size:clamp(24px,4vw,32px)}h2{font-size:21px}
section,article{background:white;border:1px solid #d8e0e7;border-radius:12px;padding:20px;margin-bottom:14px;box-shadow:0 2px 10px #19385809}
.note{color:#596a78;font-size:14px;line-height:1.7}
label{display:block;font-weight:700;margin-top:16px;margin-bottom:6px}
input{font:inherit;display:block;border:1px solid #8492a2;border-radius:7px;padding:11px;width:100%;max-width:420px}
button{font:inherit;font-weight:650;cursor:pointer;background:#135b91;color:white;border:1px solid #135b91;border-radius:7px;padding:10px 15px;margin:12px 12px 6px 0}
button.secondary{background:white;color:#135b91}
button.danger{background:#a33a28;border-color:#a33a28}
button:disabled{opacity:.45;cursor:wait}
[hidden]{display:none!important}
.actions{display:flex;flex-wrap:wrap;gap:4px}
#summary{font-weight:700}
#error{white-space:pre-wrap;overflow-wrap:anywhere;color:#ab2920;font-weight:600;min-height:1.5em}
article{border-left:5px solid #8a9aac}
article h3{margin:4px 0 12px;word-break:break-word}
pre{background:#f7f9fb;border:1px solid #e3e7eb;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:550px;overflow:auto;padding:12px;font-size:13px}

.catalog{margin-top:16px;background:#f9fbfe;box-shadow:none}
.catalogAdd{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.catalogAdd input{flex:1;min-width:220px}
.catalogRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid #e0e5ea}
.catalogRow button{flex-shrink:0}
.catalogInfo{display:flex;flex-direction:column;gap:3px;min-width:0;overflow-wrap:anywhere}
.catalogInfo small{color:#64748b}
@media(max-width:500px){.catalogRow{align-items:start;flex-direction:column}.catalogRow button{margin:3px 0 8px}}

.staffRow{border-bottom:1px solid #d9e1e9;padding:14px 0;overflow-wrap:anywhere}
.staffRow strong{font-size:16px}
.staffRow .note{margin:5px 0}
.staffActions{display:flex;gap:5px;flex-wrap:wrap}
.staffActions button{margin:5px 5px 5px 0}
.staffHistory{padding:12px;margin-top:8px;background:#f3f6f9;border:1px solid #d9e0e7;border-radius:8px}
.staffReview{background:#fff;border-bottom:1px solid #d9e0e7;padding:12px 0}
.staffReview p{margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}
