/* Job description authoring */
.rich-text-toolbar { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:8px; padding:12px; }
.rich-text-toolbar button, .rich-text-toolbar select { min-height:44px; padding:10px 12px; font:inherit; font-size:.8rem; }
.rich-text-toolbar select { width:auto; max-width:100%; border:1px solid var(--line); border-radius:4px; background:var(--paper); }
.rich-text-toolbar button[aria-pressed="true"] { background:var(--gold-pale); border-color:var(--gold-text); color:var(--ink); }
.rich-text-toolbar button:focus-visible, .rich-text-toolbar select:focus-visible { outline:2px solid var(--red); outline-offset:2px; }
.editor-format-label { font-size:.8rem; }
.rich-text-editor { min-height:340px; line-height:1.8; padding:20px; }
.rich-text-editor p, .rich-text-editor ul, .rich-text-editor ol { margin-bottom:16px; }
.rich-text-editor ul, .rich-text-editor ol { padding-left:1.5em; }
.rich-text-editor li { margin-bottom:8px; }
.rich-text-editor h3, .rich-text-editor h4, .job-description h4 { margin:20px 0 10px; color:var(--ink); }
.rich-text-editor h3 { font-size:1.2rem; }
.rich-text-editor h4, .job-description h4 { font-size:1.05rem; }
.rich-text-editor blockquote, .job-description blockquote { border-left:3px solid var(--gold); padding-left:16px; margin:16px 0; }
#descriptionEditorStatus:empty { display:none; }
#descriptionPreviewPanel { margin-top:16px; }
#descriptionPreviewPanel .job-description { white-space:normal; }
#descriptionPreviewPanel ul, #descriptionPreviewPanel ol { padding-left:1.5em; }
#descriptionPreviewPanel p, #descriptionPreviewPanel li { margin-bottom:12px; }

/* Compact document-editor appearance based on the supplied reference. */
.description-editor-frame { border:1px solid #c8c8c8; border-radius:6px; overflow:hidden; background:var(--paper); }
.description-editor-frame:focus-within { border-color:var(--red); box-shadow:0 0 0 2px rgba(168,18,31,.1); }
.description-editor-frame .rich-text-toolbar { margin:0; padding:4px 8px; border:0; border-bottom:1px solid #c8c8c8; border-radius:0; background:#f8f8f8; gap:2px; }
.description-editor-frame .editor-format-label { display:none; }
.description-editor-frame .rich-text-toolbar button { width:40px; min-width:40px; height:40px; min-height:40px; padding:10px; border:1px solid transparent; border-radius:3px; color:#343434; display:inline-flex; align-items:center; justify-content:center; }
.description-editor-frame .rich-text-toolbar button svg { width:19px; height:19px; flex-shrink:0; }
.description-editor-frame .rich-text-toolbar button:hover { background:#e9e9e9; }
.description-editor-frame .rich-text-toolbar button[aria-pressed="true"] { border-color:#c8c8c8; background:#e4e4e4; }
.description-editor-frame .rich-text-toolbar select { border:0; background:transparent; padding:8px; min-height:40px; width:140px; font-size:.8rem; }
.editor-separator { width:1px; height:25px; background:#d2d2d2; margin:0 5px; }
.description-editor-frame .rich-text-editor { border:0; border-radius:0; min-height:300px; padding:16px; box-shadow:none; font-size:.95rem; }
.description-editor-actions { display:flex; flex-wrap:wrap; gap:10px; margin:10px 0; }
.description-editor-actions button { background:var(--paper); border:1px solid var(--line); border-radius:5px; padding:8px 12px; min-height:44px; color:var(--ink); font:inherit; font-size:.8rem; cursor:pointer; }
.description-editor-actions button:focus-visible { outline:2px solid var(--red); outline-offset:2px; }
.rich-text-editor img, .job-description img { display:block; max-width:min(100%,720px); height:auto; margin:18px auto; border-radius:8px; }

/* Searchable multi-select with keyboard-accessible suggestions. */
.specialization-picker { position:relative; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); padding:6px; }
.specialization-picker:focus-within { border-color:var(--red); box-shadow:0 0 0 2px rgba(168,18,31,.1); }
.specialization-chips { display:flex; flex-wrap:wrap; gap:8px; padding:4px; }
.specialization-chip { display:inline-flex; align-items:center; gap:8px; max-width:100%; border:1px solid var(--line); border-radius:999px; padding:5px 8px 5px 12px; background:var(--cream); color:var(--ink); font-size:.82rem; }
.specialization-chip span { overflow-wrap:anywhere; }
.specialization-chip button { display:grid; place-items:center; width:30px; height:30px; border:0; border-radius:50%; background:transparent; color:var(--ink-soft); cursor:pointer; font:inherit; font-size:1.1rem; line-height:1; }
.specialization-chip button:hover { background:var(--gold-pale); color:var(--red); }
.specialization-picker input[type="text"] { width:100%; min-height:42px; border:0; box-shadow:none; outline:0; padding:8px 10px; background:transparent; }
.specialization-picker input[type="text"]:focus { border:0; box-shadow:none; }
.specialization-suggestions { position:absolute; z-index:30; top:calc(100% + 5px); left:0; right:0; max-height:280px; overflow:auto; padding:6px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); box-shadow:0 12px 30px rgba(34,21,18,.14); }
.specialization-suggestions[hidden] { display:none; }
.specialization-suggestions button { display:block; width:100%; min-height:44px; padding:10px 12px; border:0; border-radius:6px; background:transparent; color:var(--ink); text-align:left; font:inherit; font-size:.88rem; cursor:pointer; }
.specialization-suggestions button:hover, .specialization-suggestions button[aria-selected="true"] { background:var(--gold-pale); }
.specialization-suggestions p { margin:0; padding:10px 12px; color:var(--muted); font-size:.82rem; }
@media(max-width:600px) { .description-editor-frame .rich-text-toolbar { gap:4px; } .description-editor-frame .rich-text-toolbar button { width:44px; min-width:44px; min-height:44px; } .editor-separator { margin:0 2px; } }
