/* Agent Portal (js/agent-workspace.js) — Agent-only compositions on top
   of the shared Vendor Portal design system (css/portal-shell.css, the
   .vp-* shell/components). Every value below uses the Vendor Portal's
   own tokens and measurements (ivory ground, --line hairlines, --brass
   accents, 3px radius, 10px mono labels, serif titles) so the two roles
   read as one product. No new visual language. */
.aw{ color:var(--ink); font-family:var(--sans); overflow-x:hidden; }
.aw a{ color:inherit; }
.aw button{ cursor:pointer; }
.aw .vp-view{ display:flex; flex-direction:column; }
.aw .vp-view > *{ margin-top:0; margin-bottom:28px; }
.aw .vp-view > .vp-section{ margin-bottom:40px; }
.aw .vp-back{ align-self:flex-start; }

/* Page head: Vendor title block + a right-aligned action group */
.aw-head{ display:flex; flex-wrap:wrap; gap:12px 24px; align-items:flex-end; justify-content:space-between; }
.aw-head .vp-title{ margin-bottom:10px; }
.aw-head .vp-intro{ margin:0; }
.aw-actions{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.aw .vp-cat-btn{ display:inline-flex; align-items:center; text-decoration:none; }
.aw a.vp-cat-btn.is-primary, .aw button.vp-cat-btn.is-primary{ color:var(--ivory); }
.aw-link{ justify-self:start; align-self:center; font:11px var(--mono); text-transform:uppercase; letter-spacing:.08em; color:var(--ink); border-bottom:1px solid var(--ink); padding-bottom:2px; white-space:nowrap; }

/* Status: .vp-status + tone (Vendor style: outline, mono) */
.aw .vp-status{ white-space:nowrap; }
.aw .vp-status.is-good{ color:var(--ink); border-color:var(--ink); }
.aw .vp-status.is-warn{ color:var(--ink); border-color:var(--brass); background:rgba(176,154,109,.12); }
.aw .vp-status.is-bad{ color:#9c5b3e; border-color:#d9b9a8; }

/* Alerts: .ps-status (brass left rule) */
.aw .aw-banner{ max-width:720px; }
.aw .aw-banner b{ font-weight:600; }
.aw .aw-banner.is-bad{ border-left-color:#9c5b3e; }
.aw .aw-banner.is-good{ border-left-color:var(--ink); }

/* Fact rows: Vendor .vp-fact list */
.aw-facts{ max-width:720px; }
.aw-facts .vp-fact:first-child{ border-top:1px solid var(--line); }

/* Stats: identical to .vp-counts */
.aw-stats{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.aw-stat{ display:grid; gap:4px; padding:16px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--ink); text-decoration:none; min-width:0; }
a.aw-stat:hover{ background:rgba(0,0,0,.025); }
.aw-stat > span{ order:2; font:10px var(--mono); text-transform:uppercase; letter-spacing:.08em; color:var(--sage); }
.aw-stat > b{ order:1; font:400 26px/1 var(--serif); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }

/* Lists: Vendor hairline list rhythm (.vp-list / .vp-slist) */
.aw-list{ display:flex; flex-direction:column; border-top:1px solid var(--line); }
.aw-row{ display:grid; grid-template-columns:minmax(0,2.2fr) minmax(0,1.4fr) minmax(0,1fr) auto; gap:4px 20px; align-items:baseline; padding:14px 0; border-bottom:1px solid var(--line); color:var(--ink); text-decoration:none; }
a.aw-row:hover .aw-row-title{ text-decoration:underline; text-underline-offset:3px; }
a.aw-row:focus-visible{ outline:2px solid var(--brass); outline-offset:4px; }
.aw-row-title{ font:400 17px/1.3 var(--serif); overflow-wrap:anywhere; }
.aw-row-sub{ font:13px/1.5 var(--sans); color:var(--sage); overflow-wrap:anywhere; }
.aw-row-meta{ font:13px/1.5 var(--sans); color:var(--sage); font-variant-numeric:tabular-nums; }
.aw-row-end{ display:flex; gap:10px; align-items:center; justify-content:flex-end; flex-wrap:wrap; }
.aw-row.is-action{ grid-template-columns:auto minmax(0,1fr) auto; }
.aw-dot{ width:6px; height:6px; border-radius:50%; background:var(--brass); align-self:center; }
.aw-dot.is-info{ background:transparent; border:1px solid var(--sage); }
.aw-dot.is-good{ background:var(--ink); }

/* Tabs: .vp-tabs with a count */
.aw .aw-tabs{ max-width:none; overflow-x:auto; scrollbar-width:none; }
.aw .vp-tab{ white-space:nowrap; }
.aw .vp-tab em{ font-style:normal; color:var(--sage); }

/* Forms: .vp-pfield */
.aw-form{ display:flex; flex-direction:column; gap:16px; max-width:560px; }
.aw-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.aw .vp-pfield textarea{ width:100%; min-width:0; font:14px var(--sans); color:var(--ink); background:var(--ivory); border:1px solid var(--line); border-radius:3px; padding:10px 12px; resize:vertical; }
.aw .vp-pfield textarea:focus{ outline:none; border-color:var(--ink); }
.aw .vp-pfield small{ font-size:12px; }
.aw-filters{ display:grid; grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr)); gap:14px; }

/* Cards: Vendor portfolio cards (.vp-fcard) */
.aw-cards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:32px 24px; }
.aw-card{ display:grid; gap:5px; align-content:start; color:var(--ink); text-decoration:none; min-width:0; }
.aw-card-img{ display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:4/3; background:var(--clay); border-radius:2px; overflow:hidden; margin-bottom:6px; font:400 28px/1 var(--serif); color:var(--sage); }
.aw-card-img img{ width:100%; height:100%; object-fit:cover; transition:opacity .2s var(--ease-3); }
a.aw-card:hover img{ opacity:.88; }
a.aw-card:hover b{ text-decoration:underline; }
a.aw-card:focus-visible{ outline:2px solid var(--brass); outline-offset:4px; }
.aw-card-body{ display:grid; gap:5px; }
.aw-card-body b{ font:400 18px/1.25 var(--serif); overflow-wrap:anywhere; }
.aw-chips{ display:flex; flex-wrap:wrap; gap:6px; }
.aw-chip{ font:12px var(--sans); color:var(--ink); border:1px solid var(--line); border-radius:3px; padding:3px 8px; }
.aw-prose{ font:14px/1.7 var(--sans); max-width:62ch; margin:0; white-space:pre-line; }

.aw-toast{ position:fixed; left:50%; bottom:24px; transform:translateX(-50%); background:var(--ink); color:var(--ivory); border-radius:3px; padding:12px 18px; font:13px var(--sans); z-index:1000; max-width:calc(100vw - 32px); }

@media (max-width:860px){ .aw-filters{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){
  .aw-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .aw-row,.aw-row.is-action{ grid-template-columns:minmax(0,1fr); }
  .aw-row.is-action .aw-dot{ display:none; }
  .aw-row-end{ justify-content:flex-start; }
  .aw-grid2,.aw-filters{ grid-template-columns:minmax(0,1fr); }
  .aw-facts .vp-fact{ flex-wrap:wrap; }
  .aw-facts .vp-fact-value{ text-align:left; }
  .aw-head .aw-actions{ width:100%; }
  .aw-cards{ grid-template-columns:1fr 1fr; gap:22px 14px; }
}
@media (prefers-reduced-motion:reduce){ .aw *{ transition:none !important; } }

/* Profile: identical contact fields, chip editors, one-row links */
.aw .vp-pfield input[readonly]{ color:var(--ink); background:var(--ivory); }
.aw-form-wide{ max-width:none; }
.aw-form-wide .aw-grid2{ max-width:720px; }
.aw-grid3{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
/* Compact multi-select (Service Areas, Languages). The popover uses the
   Vendor Portal's own menu surface (.vp-kb-menu: ivory, --line border,
   3px radius, soft shadow). */
.aw-sel{ position:relative; max-width:720px; }
.aw-sel-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:14px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.aw-sel-summary{ min-width:0; }
.aw-sel-count{ margin:0 0 4px; font:10px var(--mono); text-transform:uppercase; letter-spacing:.08em; color:var(--sage); }
.aw-sel-list{ margin:0; font:14px/1.5 var(--sans); color:var(--ink); overflow-wrap:anywhere; }
.aw-sel-edit{ flex:none; }
.aw-sel-pop{ position:absolute; right:0; top:calc(100% + 6px); z-index:6; width:min(360px,100%); background:var(--ivory); border:1px solid var(--line); border-radius:3px; box-shadow:0 10px 30px rgba(0,0,0,.08); display:grid; grid-template-rows:auto minmax(0,1fr) auto; max-height:420px; }
.aw-sel-pop[hidden]{ display:none; }
.aw-sel-pop-head{ display:flex; align-items:center; gap:12px; padding:12px 12px 8px; }
.aw-sel-searchwrap{ flex:1; }
.aw-sel-options{ overflow-y:auto; padding:0 6px 6px; overscroll-behavior:contain; }
.aw-sel-options .vp-group-label{ margin:10px 6px 4px; }
.aw-sel-opt{ display:flex; align-items:center; gap:10px; min-height:36px; padding:0 6px; border-radius:3px; font:14px var(--sans); color:var(--ink); cursor:pointer; }
.aw-sel-opt:hover{ background:rgba(0,0,0,.025); }
.aw-sel-opt input{ width:16px; height:16px; margin:0; accent-color:var(--ink); flex:none; }
.aw-sel-opt input:checked + span{ font-weight:600; }
.aw-sel-pop-foot{ display:flex; justify-content:flex-end; padding:10px 12px; border-top:1px solid var(--line); }
@media (max-width:860px){ .aw-grid3{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:640px){ .aw-sel-pop{ position:static; width:100%; margin-top:8px; max-height:60vh; } }

/* Vendor Network: one control height for inputs and selects (Vendor .vp-pfield styling) */
.aw .vp-pfield input:not([type=checkbox]), .aw .vp-pfield select{ box-sizing:border-box; height:42px; line-height:20px; margin:0; -webkit-appearance:none; appearance:none; }
.aw .vp-pfield select{ padding-right:34px; background-image:linear-gradient(45deg,transparent 50%,var(--sage) 50%),linear-gradient(135deg,var(--sage) 50%,transparent 50%); background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%; background-size:5px 5px; background-repeat:no-repeat; }
.aw-filters{ align-items:end; }
/* Product price: public list price under the description */
.aw-price{ margin-top:2px; font:13px var(--sans); color:var(--ink); font-variant-numeric:tabular-nums; }
