/* Company portal additions. The existing purchasing layout remains the base. */
.portal-scope-banner { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:21px 24px; margin-bottom:22px; border:1px solid #cbd7df; border-left:4px solid var(--orange); border-radius:var(--radius); background:#edf3f7; }
.portal-scope-banner .eyebrow { display:block; margin-bottom:5px; }
.portal-scope-banner strong { display:block; font-size:16px; }
.portal-scope-banner p { color:var(--muted); margin-top:5px; font-size:12px; }
.portal-tags { display:flex; gap:6px; flex-wrap:wrap; }
.portal-tag { display:inline-block; color:#294b62; background:#e8eef3; border:1px solid #cedbe4; border-radius:5px; padding:4px 8px; font-size:11px; font-weight:600; overflow-wrap:anywhere; }
.portal-scope-banner > .portal-tags { max-width:46%; justify-content:flex-end; }
.portal-metrics { margin-bottom:24px; }
.portal-metrics .stat-value, .portal-credit .stat-value { display:block; }
.portal-credit { margin:0 0 25px; }
.portal-section-intro { margin-bottom:14px; }
.portal-section-intro p { margin-top:5px; font-size:12px; }
.portal-overview-grid { display:grid; grid-template-columns:minmax(0,1fr) 285px; gap:22px; align-items:start; margin-bottom:24px; }
.portal-overview-grid > .panel + .panel { margin-top:0; }
.portal-quick-actions { display:grid; gap:10px; }
.portal-quick-actions .button { justify-content:flex-start; }
.portal-request-summary article { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:18px 23px; }
.portal-request-summary article + article { border-top:1px solid var(--soft-line); }
.portal-request-summary article > div { min-width:0; overflow-wrap:anywhere; }
.portal-request-summary small { display:block; color:var(--muted); margin-top:5px; }
.portal-request-summary .badge { flex-shrink:0; }
.portal-queue-help { padding:0 23px 20px; font-size:12px; }
.portal-recent-list article { display:flex; justify-content:space-between; gap:20px; padding:20px 23px; }
.portal-recent-list article + article { border-top:1px solid var(--soft-line); }
.portal-recent-list article > div:first-child { min-width:0; }
.portal-recent-list article > div:last-child { display:flex; flex-direction:column; align-items:flex-end; gap:8px; flex-shrink:0; }
.portal-recent-list p { margin:5px 0; font-size:12px; }
.portal-recent-list small { color:var(--muted); }
.portal-empty { min-height:125px; padding:28px 20px; }
.portal-empty p { max-width:440px; margin:auto; }
.portal-order-filters { margin-bottom:22px; }
.portal-filter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 15px; }
.portal-search-field { margin-bottom:17px; }
.portal-filter-grid .field { min-width:0; }
.portal-filter-grid .field select, .portal-filter-grid .field input { width:100%; min-width:0; }
.portal-orders-table { min-width:1050px; font-size:12px; }
.portal-orders-table th, .portal-orders-table td { padding:16px 13px; }
.portal-orders-table td { vertical-align:top; }
.portal-orders-table td:first-child { min-width:145px; }
.portal-orders-table .badge { margin-top:8px; }
.portal-orders-table .portal-order-total { white-space:nowrap; }
.portal-orders-table .portal-order-products { min-width:155px; max-width:215px; }
.portal-order-products > span { display:block; }
.portal-order-products > span + span { margin-top:9px; }
.portal-order-products small { display:block; color:var(--muted); margin-top:2px; font-size:10px; }
.portal-snapshot-cell { overflow-wrap:anywhere; }
.portal-snapshot-cell > strong, .portal-snapshot-cell > span, .portal-snapshot-cell > small { display:block; }
.portal-snapshot-cell > * + * { margin-top:5px; }
.portal-orders-table .portal-snapshot-cell { min-width:155px; max-width:200px; }
.portal-row-actions { display:grid; gap:7px; }
.portal-row-actions .button { white-space:nowrap; }
.portal-orders-mobile { display:none; }
.portal-address-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.portal-address-card { border:1px solid var(--line); border-radius:9px; padding:19px; display:flex; flex-direction:column; align-items:flex-start; gap:10px; min-width:0; }
.portal-address-card .detail-list { width:100%; }
.portal-address-card .button { margin-top:6px; }
.portal-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:13px; width:100%; }
.portal-card-heading h3 { overflow-wrap:anywhere; }
.portal-card-heading .badge { flex-shrink:0; }
.portal-site-label { font-weight:600; color:#385e76; font-size:12px; }
.portal-address-text { white-space:pre-line; overflow-wrap:anywhere; line-height:1.6; }
.portal-people-table { min-width:780px; }
.portal-people-table td { vertical-align:top; }
.portal-people-table .portal-tags { max-width:260px; }
.portal-pricing-banner { display:flex; align-items:center; justify-content:space-between; gap:25px; background:var(--navy); color:#fff; padding:27px; border-radius:var(--radius); margin-bottom:22px; }
.portal-pricing-banner .eyebrow { color:#becfdb; }
.portal-pricing-banner p { margin-top:10px; color:#d7e3ec; max-width:660px; }
.portal-discount-mark { font-size:34px; font-weight:750; color:#ffae73; white-space:nowrap; }
.portal-destination-heading { margin:0 0 16px; }
.portal-destination-heading .eyebrow { display:block; margin-bottom:5px; }
.portal-destinations { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; margin-bottom:22px; }
.portal-destinations > section { padding:16px; background:#f6f8fa; border:1px solid var(--line); border-radius:8px; min-width:0; }
.portal-destinations h3 { margin-bottom:11px; }
.portal-destinations .portal-snapshot-cell { font-size:12px; }
.portal-readonly-billing, .portal-selected-shipping { display:flex; flex-direction:column; gap:6px; border:1px solid var(--line); border-radius:8px; padding:15px; margin:0 0 18px; }
.portal-readonly-billing { background:#f5f7f9; }
.portal-readonly-billing .eyebrow { margin-bottom:3px; }
.portal-readonly-billing span, .portal-selected-shipping span { font-size:13px; }
.portal-selected-shipping small { color:var(--muted); }
.portal-assignments { border:1px solid var(--line); border-radius:8px; margin:0 0 18px; padding:13px 15px 15px; min-width:0; }
.portal-assignments legend { font-weight:650; padding:0 6px; }
.portal-assignments label { display:flex; align-items:flex-start; flex-wrap:wrap; gap:7px; padding:8px 0; cursor:pointer; }
.portal-assignments label + label { border-top:1px solid var(--soft-line); }
.portal-assignments input[type="checkbox"] { margin:3px 0 0; accent-color:var(--navy); flex-shrink:0; }
.portal-assignments small { color:var(--muted); }
.portal-order-card { padding:20px; }
.portal-order-card + .portal-order-card { border-top:1px solid var(--line); }
.portal-order-card .portal-card-heading { margin-bottom:19px; }
.portal-order-card .portal-card-heading strong, .portal-order-card .portal-card-heading small { display:block; }
.portal-order-card .portal-card-heading small { margin-top:5px; color:var(--muted); }
.portal-order-card .actions { margin-top:20px; }
.portal-order-card .portal-order-products small { font-size:11px; }
.portal-card-actions { display:flex; flex-wrap:wrap; gap:8px; width:100%; }
.portal-card-actions:empty { display:none; }
.portal-access-note { display:block; color:var(--muted); font-size:12px; line-height:1.65; max-width:340px; }
.portal-people-table .portal-access-note { min-width:170px; max-width:250px; }
.portal-form-section { margin:24px 0 15px; padding-top:19px; border-top:1px solid var(--line); }
.portal-form-section h3 { font-size:15px; }
.portal-form-section h3 .muted { font-size:12px; font-weight:400; }
.portal-form-section p, .portal-form-hint { color:var(--muted); font-size:12px; line-height:1.65; margin-top:6px; }
.portal-form-hint { margin:-6px 0 19px; }
.portal-form-check { display:flex; align-items:flex-start; gap:10px; margin:4px 0 18px; padding:14px; border:1px solid var(--line); border-radius:8px; background:#f6f8fa; font-size:13px; cursor:pointer; }
.portal-form-check input { width:17px; height:17px; margin:3px 0 0; flex-shrink:0; accent-color:var(--navy); }
.portal-form-check small { display:block; color:var(--muted); font-size:12px; line-height:1.6; margin-top:5px; }
.portal-setup { margin-bottom:24px; border-color:#e3c498; }
.portal-setup .panel-head { align-items:flex-start; gap:16px; background:#fffaf1; }
.portal-setup .panel-head p { margin-top:6px; font-size:12px; line-height:1.6; }
.portal-setup .panel-head .badge { flex-shrink:0; }
.portal-setup-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.portal-setup-site { min-width:0; border:1px solid var(--line); border-radius:9px; padding:18px; }
.portal-setup-site h3 { font-size:15px; padding-bottom:14px; overflow-wrap:anywhere; }
.portal-setup-site ul { list-style:none; padding:0; margin:0; }
.portal-setup-site li { display:grid; grid-template-columns:23px minmax(0,1fr); column-gap:10px; row-gap:10px; padding:14px 0; border-top:1px solid var(--soft-line); }
.portal-setup-site li:last-child { padding-bottom:0; }
.portal-setup-mark { display:inline-flex; justify-content:center; align-items:center; width:23px; height:23px; border-radius:50%; font-size:13px; font-weight:700; background:#edf5ed; color:#356037; }
.portal-setup-site .needs-attention .portal-setup-mark { background:#fff0d6; color:#8c5600; }
.portal-setup-site li strong { display:block; font-size:13px; line-height:1.6; }
.portal-setup-site li small { display:block; color:var(--muted); font-size:12px; line-height:1.65; margin-top:3px; }
.portal-setup-site li .button { grid-column:2; justify-self:start; min-width:0; max-width:100%; text-align:left; white-space:normal; }
@media (max-width:1200px) {
  .portal-overview-grid { grid-template-columns:minmax(0,1fr); }
  .portal-quick-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .portal-setup-grid { grid-template-columns:1fr; }
  .portal-setup .panel-head { flex-wrap:wrap; }
  .portal-orders-desktop { display:none; }
  .portal-orders-mobile { display:block; }
  .portal-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .portal-address-grid { grid-template-columns:1fr; }
  .portal-scope-banner { align-items:flex-start; flex-direction:column; gap:15px; padding:20px; }
  .portal-scope-banner > .portal-tags { max-width:100%; justify-content:flex-start; }
  .portal-pricing-banner { padding:22px; }
}
@media (max-width:480px) {
  .portal-card-actions { flex-direction:column; align-items:stretch; }
  .portal-card-actions .button { justify-content:center; }
  .portal-setup-site { padding:15px; }
  .portal-request-summary article { padding:17px; flex-direction:column; gap:10px; }
  .portal-queue-help { padding:0 17px 17px; }
  .portal-filter-grid, .portal-destinations { grid-template-columns:1fr; }
  .portal-pricing-banner { align-items:flex-start; flex-direction:column-reverse; gap:10px; }
  .portal-discount-mark { font-size:27px; }
  .portal-quick-actions { grid-template-columns:1fr; }
  .portal-recent-list article { flex-direction:column; padding:18px; gap:12px; }
  .portal-recent-list article > div:last-child { flex-direction:row; align-items:center; justify-content:space-between; }
  .portal-order-card { padding:18px; }
  .portal-order-card .detail-list { grid-template-columns:90px minmax(0,1fr); }
  .portal-order-card .actions > .button { flex:1; }
}
@media print {
  .portal-order-filters, .portal-row-actions, .portal-quick-actions { display:none; }
  .portal-orders-desktop { display:none; }
  .portal-orders-mobile { display:block; }
  .portal-order-card { break-inside:avoid; }
  .portal-scope-banner, .portal-pricing-banner { background:white; color:var(--ink); }
  .portal-pricing-banner p, .portal-pricing-banner .eyebrow { color:var(--muted); }
}
