/* Shared controls, without changing document print styles or navigation tiles. */
@media screen {
  :root { --control-height:40px; --control-small:34px; --control-radius:10px; --control-gap:8px; --control-font:12px; }
  :is(.filterbar,.toolbar,.wf-toolbar,.calendar-toolbar,.paperless-inbox-search,.paperless-open-invoices-search,.mail-search,.mail-list-controls,.invoice-workflow-tools,.invoice-workflow-row-actions,.document-toolbar,.task-actions,.kb-card-actions,.paperless-inbox-actions,.paperless-open-invoice-action,.modalfoot,.wf-dialogfoot) {
    gap:var(--control-gap);
  }
  :is(.filterbar,.toolbar,.wf-toolbar,.calendar-toolbar,.paperless-inbox-search,.paperless-open-invoices-search,.mail-search,.mail-list-controls,.invoice-workflow-tools,.invoice-workflow-row-actions,.document-toolbar,.paperless-inbox-actions,.paperless-open-invoice-action,.modalfoot,.wf-dialogfoot) :is(button,select,:where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]))),
  .task-people-picker>summary,.paperless-tag-picker>summary,.paperless-inbox-tag-picker>summary {
    box-sizing:border-box;min-height:var(--control-height);border-radius:var(--control-radius);
    font-size:var(--control-font);line-height:18px;padding:10px 12px;vertical-align:middle;
  }
  :is(.filterbar,.wf-toolbar,.calendar-toolbar,.paperless-inbox-search,.paperless-open-invoices-search,.mail-search) { align-items:center; }
  :is(.filterbar,.wf-toolbar,.calendar-toolbar) > label { display:flex;align-items:center;gap:var(--control-gap);margin:0; }
  .filterbar :is(select,input),.task-people-picker>summary { border:1px solid var(--line,#dce5e3);background:#fff;color:var(--ink,#263e39); }
  :is(.filterbar,.toolbar,.wf-toolbar,.calendar-toolbar,.document-toolbar,.modalfoot,.wf-dialogfoot) button {font-weight:500;}
  .filterbar>input:is([type=search],[type=text],:not([type])) {flex:1 1 240px;min-width:160px;}
  .calendar-choice b {font-size:12px;line-height:1.5;}
  .calendar-list .cardhead {padding:14px;}
  /* Small row actions form a second consistent size, separate from main filters. */
  :is(.task-actions,.kb-card-actions,.wf-inline-actions,.row,.compact-table,.booking-table,.paperless-pagination,.paperless-inbox-pagination,.paperless-open-invoices-pagination) :is(button.small,button.ghost.small,select),
  button.small,.task-actions>button,.kb-card-actions>button,.wf-inline-actions>button {
    box-sizing:border-box;min-height:var(--control-small);padding:7px 10px;border-radius:var(--control-radius);font-size:12px;line-height:18px;
  }
  :is(.fields,.controlgroup,.wf-module,.paperless-inbox-metadata) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]),select) {
    box-sizing:border-box;min-height:var(--control-height);border-radius:var(--control-radius);padding:10px 12px;line-height:18px;
  }
  :is(.fields,.controlgroup,.wf-module,.paperless-inbox-metadata) textarea {border-radius:var(--control-radius);padding:10px 12px;line-height:1.6;}
  :is(.tabs,.wf-tabs,.wealth-subnav,.kb-view-toggle) button {box-sizing:border-box;padding:7px 10px;min-height:var(--control-small);border-radius:var(--control-radius);line-height:18px;}
  .task-people-picker {flex:0 1 360px;min-width:240px;max-width:100%;}
  .task-people-picker>summary {list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;}
  .task-people-picker>summary::-webkit-details-marker {display:none;}
  .task-people-picker>summary::after {content:'⌄';flex-shrink:0;color:var(--muted,#60736c);font-size:15px;}
  .task-people-picker[open]>summary::after {content:'⌃';}
  .task-people-picker>summary:focus-visible {outline:2px solid var(--teal,#267563);outline-offset:2px;}
  .task-people-options {width:100%;box-sizing:border-box;max-height:360px;overflow:auto;}
  .task-people-options label {min-height:34px;font-size:12px;}
  .task-people-options .toolbar>button {min-height:var(--control-small);padding:7px 10px;}
  @media(max-width:760px) {
    :root {--control-height:44px;--control-small:40px;}
    .task-people-picker {flex-basis:100%;min-width:0;width:100%;}
    :is(.filterbar,.wf-toolbar,.calendar-toolbar)>label {flex-wrap:wrap;max-width:100%;}
    .task-people-options label {min-height:40px;}
  }
}

/* Safari's native menulist ignores the intended control box until appearance
   is reset. Keep the native options menu and keyboard handling. */
@media screen {
  :where(#view,#dialog,#wfDialog) select:not([multiple]) {
    -webkit-appearance:none;appearance:none;
    box-sizing:border-box;min-height:var(--control-height,40px);
    padding:10px 32px 10px 12px;border:1px solid var(--line,#dce5e3);
    border-radius:var(--control-radius,10px);background-color:#fff;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23576e67' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 10px center;background-size:14px;
    font-family:inherit;font-size:12px;line-height:18px;color:var(--ink,#263e39);
    vertical-align:middle;
  }
  :where(#view,#dialog,#wfDialog) select:not([multiple]):disabled {opacity:.6;}
  #view :is(.kb-status-label,.kb-card-actions,.task-actions,.wf-inline-actions) select {
    min-height:var(--control-small,34px);padding:7px 32px 7px 10px;font-size:12px;line-height:18px;
  }
  :where(#view,#dialog,#wfDialog) input:is([type=date],[type=time],[type=month],[type=datetime-local]) {
    -webkit-appearance:none;appearance:none;box-sizing:border-box;
    min-height:var(--control-height,40px);border-radius:var(--control-radius,10px);
    font-family:inherit;line-height:18px;
  }
  :where(#view,#dialog,#wfDialog) input::-webkit-date-and-time-value {text-align:left;min-height:18px;}
}
