.wf-actions { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.wf-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 36px; max-width: 100%; }
.wf-button img, .wf-drafts summary img { width: 18px; height: 18px; flex: 0 0 18px; }
.wf-button.wf-icon-button { width: 36px; height: 36px; min-width: 36px; padding: 8px; }
.wf-button:focus-visible, .wf-drafts summary:focus-visible { outline: 2px solid #b94129; outline-offset: 3px; }
.wf-drafts { margin: 16px 0; border-block: 1px solid #dce1e8; background: #fff; }
.wf-drafts summary { display: flex; align-items: center; gap: 10px; padding: 12px; cursor: pointer; }
.wf-drafts ul { list-style: none; margin: 0; padding: 0 12px; }
.wf-drafts li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid #e4e7ec; }
.wf-drafts li > div { min-width: 0; overflow-wrap: anywhere; }
.wf-drafts small { display: block; color: #5e6879; margin-top: 4px; }
.wf-count { display: inline-grid; place-items: center; min-width: 24px; padding: 2px 6px; font-size: 12px; background: #e7edf2; color: #273743; border-radius: 4px; }
.wf-dialog { width: min(520px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 0; border: 1px solid #d5dce4; border-radius: 8px; color: #172337; background: #fff; box-shadow: 0 20px 64px #10172233; overflow: auto; }
.wf-dialog::backdrop { background: #11182080; }
.wf-dialog header { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border-bottom: 1px solid #e0e5ec; background: #fff; }
.wf-dialog h2 { font-size: 18px; line-height: 1.35; margin: 0; overflow-wrap: anywhere; }
.wf-dialog form { margin: 0; }
.wf-dialog fieldset { min-width: 0; margin: 0; padding: 18px; border: 0; display: grid; gap: 16px; }
.wf-dialog p { margin: 0; line-height: 1.55; overflow-wrap: anywhere; }
.wf-field { display: grid; gap: 7px; min-width: 0; font-size: 13px; font-weight: 600; }
.wf-field input, .wf-field select, .wf-field textarea { width: 100%; min-width: 0; box-sizing: border-box; font-size: 14px; font-weight: 400; }
.wf-dialog-feedback { padding: 0 18px 12px; color: #a22632; font-size: 13px; overflow-wrap: anywhere; }
.wf-dialog-feedback:empty { display: none; }
.wf-dialog footer { position: sticky; bottom: 0; display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; padding: 12px 18px; border-top: 1px solid #e0e5ec; background: #fff; }
.wf-dialog footer button { min-height: 40px; max-width: 100%; white-space: normal; }
.wf-completeness { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 0; font-size: 13px; color: #586373; }
.wf-status-control { display: grid; gap: 5px; }
.wf-graduation-hint { font-size: 11px; color: #853c16; white-space: normal; }
.wf-student-cscse { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.wf-student-cscse .wf-warning { flex-basis: 100%; }
.broker-nav .wf-unread-count { display: inline-flex; align-items: center; justify-content: center; margin-left: 7px; min-width: 20px; min-height: 20px; padding: 1px 5px; border-radius: 4px; background: #f4e3d0; color: #692916; font-size: 11px; line-height: 1.2; }
.wf-warning { color: #853c16; background: #fff4df; border-left: 3px solid #d18b26; padding: 10px 12px; margin: 10px 0; font-size: 13px; line-height: 1.5; }
.wf-notification-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin-bottom: 14px; }
.wf-notification-filters label { display: grid; gap: 5px; font-size: 12px; min-width: 140px; }
.wf-notification-filters select { width: 100%; min-height: 38px; }
.message-bubble .wf-message-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.message-bubble .wf-message-meta .wf-button { margin-left: auto; }
.wf-cscse-requests { border-block: 1px solid #dce1e8; padding: 16px 0; margin: 20px 0; }
.wf-cscse-requests h2 { font-size: 18px; margin: 0 0 12px; }
.wf-cscse-requests article { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #e4e7ec; padding: 12px 0; }
.wf-cscse-requests article > div { min-width: 0; overflow-wrap: anywhere; }
.wf-cscse-requests small { display: block; margin-top: 4px; color: #5e6879; }
@media (max-width: 480px) {
  .wf-dialog header, .wf-dialog fieldset, .wf-dialog footer { padding: 12px; }
  .wf-dialog footer > button { flex: 1; }
  .wf-notification-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .wf-notification-filters label { min-width: 0; }
  .wf-drafts li { align-items: flex-start; }
  .application-modal .modal-footer { flex-wrap: wrap; }
}
