/* Staff-note editor shared by the AL, change-duty and station-shift cards. */
.request-note-editor {
    min-width: 0;
    margin: 4px 0;
    text-align: left;
}
.request-note-editor > .request-note-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    max-width: 100%;
    box-sizing: border-box;
    padding: 7px 12px;
    border: 1px solid #b8cef3;
    border-radius: 9px;
    background: #eff6ff;
    color: #1d4ed8;
    font: inherit;
    font-weight: 600;
    line-height: 1.3;
    list-style: none;
    cursor: pointer;
}
.request-note-toggle::-webkit-details-marker { display: none; }
.request-note-toggle::marker { content: ''; }
.request-note-toggle svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}
.request-note-toggle:hover { background: #dbeafe; }
.request-note-toggle:focus-visible,
.request-note-form textarea:focus-visible {
    outline: 3px solid #93c5fd;
    outline-offset: 2px;
}
.request-note-editor[open] > .request-note-toggle { margin-bottom: 10px; }
.request-note-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 12px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    color: #1f2937;
}
.request-note-form label { font-weight: 600; }
.request-note-form textarea {
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 92px;
    box-sizing: border-box;
    padding: 10px 12px;
    border: 1px solid #94a3b8;
    border-radius: 7px;
    background: #fff;
    color: #111827;
    font: inherit;
    line-height: 1.5;
    resize: vertical;
}
.request-note-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.request-note-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: auto;
    min-width: 80px;
}
.request-note-actions .btn svg { width: 18px; height: 18px; flex: 0 0 18px; }
.request-note-actions .btn:focus-visible { outline: 3px solid #93c5fd; outline-offset: 2px; }
.compact-table:has(.request-note-cell) { table-layout: auto; }
.compact-table .request-note-cell { min-width: 240px; }
.compact-table .request-note-editor { min-width: 220px; }
@media (max-width: 700px) {
    .request-note-editor > .request-note-toggle { min-height: 44px; }
    .request-note-form textarea { font-size: 16px; }
    .request-note-actions .btn { min-height: 44px; }
}
@media print {
    .request-note-editor { display: none !important; }
}
