:root {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #1f2937;
    background: #f5f7fa;
}

* { box-sizing: border-box; }
body { margin: 0; }
a { color: #0f5ea8; }
header {
    background: #fff;
    border-bottom: 1px solid #d9dee5;
    padding: 1rem 1.25rem;
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}
nav { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
main {
    max-width: 1100px;
    margin: 0 auto;
    padding: 1.25rem;
}
.card {
    background: #fff;
    border: 1px solid #d9dee5;
    border-radius: 8px;
    padding: 1rem;
    margin-bottom: 1rem;
}
label { display: block; margin: .75rem 0 .25rem; }
input, select, textarea, button {
    font: inherit;
}
input, select, textarea {
    width: 100%;
    padding: .65rem;
    border: 1px solid #b9c1cc;
    border-radius: 6px;
    background: #fff;
}
textarea { min-height: 130px; resize: vertical; }
button, .button {
    display: inline-block;
    border: 0;
    border-radius: 6px;
    padding: .65rem .9rem;
    background: #1f6fb2;
    color: #fff;
    cursor: pointer;
    text-decoration: none;
}
button[disabled] { opacity: .6; cursor: not-allowed; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; background: #fff; }
th, td { padding: .7rem; border-bottom: 1px solid #e4e8ed; text-align: left; vertical-align: top; }
.message { min-height: 1.5rem; margin: .75rem 0; }
.pre-wrap { white-space: pre-wrap; overflow-wrap: anywhere; }
.comment { border-top: 1px solid #e4e8ed; padding: .9rem 0; }
.comment-meta { font-size: .9rem; color: #5f6b7a; }
.inline { display: flex; gap: .75rem; align-items: end; flex-wrap: wrap; }
.inline > * { flex: 1 1 180px; }
.checkbox-row { display: flex; gap: .5rem; align-items: center; }
.checkbox-row input { width: auto; }
.login-box { max-width: 420px; margin: 8vh auto; }
.muted { color: #667085; }

.history-entry {
    padding: .65rem 0;
    border-bottom: 1px solid #ddd;
    overflow-wrap: anywhere;
}

.history-entry:last-child {
    border-bottom: 0;
}

.attachment-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: .65rem 0;
    border-bottom: 1px solid #e4e8ed;
    overflow-wrap: anywhere;
}

.attachment-row:last-child { border-bottom: 0; }
