/* Purchase orders: toolbar, period chips, Actions menu, View/Edit dialogs.
 * The menu and dialogs render outside #screen-purchase-orders (body / modal),
 * so only the toolbar rules are screen-scoped. */

#screen-purchase-orders .pos-card-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
#screen-purchase-orders .pos-card-title { font-size: 12px; margin: 0; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); }
#screen-purchase-orders .pos-periods { display: flex; gap: 6px; flex-wrap: wrap; }
#screen-purchase-orders .pos-chip { font-size: 11px; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--border); background: transparent; color: var(--text-muted); cursor: pointer; }
#screen-purchase-orders .pos-chip.active { border-color: var(--dash-cyan); color: var(--dash-cyan); }

#screen-purchase-orders .pos-toolbar { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 12px; }
#screen-purchase-orders .pos-search { flex: 1; min-width: 220px; }
#screen-purchase-orders .pos-filters { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; font-size: 12px; color: var(--text-muted); }
#screen-purchase-orders .pos-row-actions { display: flex; gap: 4px; white-space: nowrap; }
#screen-purchase-orders tr.pos-archived td { opacity: .6; }
#screen-purchase-orders .pagination { display: flex; gap: 8px; align-items: center; justify-content: flex-end; margin-top: 10px; }

/* The shared modal is 600px; PO view/edit need room for the line-item table. */
.modal:has(.pos-view), .modal:has(.pos-form-grid) { width: 980px; }

.pos-muted { color: var(--text-muted); font-size: 12px; }
.pos-label { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: .04em; margin-top: 8px; }
.pos-pre { white-space: pre-wrap; margin: 4px 0 8px; }
.pos-hint { font-size: 11px; color: var(--text-muted); margin-top: 4px; }

.pos-action-menu { position: absolute; z-index: 10000; min-width: 190px; background: var(--bg-card, var(--bg-input)); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); padding: 4px; display: flex; flex-direction: column; }
.pos-action-menu button { text-align: left; background: none; border: 0; color: var(--text); padding: 8px 10px; font-size: 13px; border-radius: 4px; cursor: pointer; }
.pos-action-menu button:hover, .pos-action-menu button:focus-visible { background: var(--bg-input); }
.pos-action-menu .pos-danger { color: var(--danger); }

.pos-view-actions { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 12px; }
.pos-view-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 16px; margin-bottom: 12px; }
.pos-totals { text-align: right; margin: 10px 0; line-height: 1.7; }
.pos-total-due { font-size: 16px; }
.pos-tabs { margin-top: 12px; }
.pos-tab-panel { padding-top: 10px; }
.pos-tab-panel table { width: 100%; }
.pos-note-form { display: flex; gap: 8px; align-items: flex-start; margin-bottom: 10px; }
.pos-note { border-top: 1px solid var(--border); padding: 8px 0; }

.pos-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
.pos-addr-btns { display: flex; gap: 6px; margin-bottom: 6px; flex-wrap: wrap; }
.pos-lines-table { width: 100%; margin-top: 8px; }
.pos-lines-table textarea { min-width: 180px; resize: vertical; }
.pos-form-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 8px; flex-wrap: wrap; }

@media (max-width: 700px) {
  .pos-view-grid, .pos-form-grid { grid-template-columns: minmax(0, 1fr); }
}
