/* Screen-only CCI portal colors. Keep document styles, layout and warning states separate. */
body, body.portal-authenticated { background: #f5f3ed; }
.portal-page {
  --ink: #24282b;
  --muted: #5e6963;
  --line: #d8ceba;
  --accent: #253b32;
  --accent-dark: #253b32;
}
.portal-main { background: #f5f3ed; color: #24282b; }
.portal-brand { background: #f5f3ed; }
.portal-brand .portal-shell-logo { display: block; width: 46px; height: auto; flex: 0 0 46px; }
.portal-sidebar-brand .portal-shell-logo { display: block; width: 36px; height: auto; flex: 0 0 36px; border-radius: 0; }
.portal-sidebar { background: #253b32; color: #f5f3ed; }
.portal-sidebar-brand span, .portal-sidebar-user > span,
.portal-sidebar-user b, .portal-nav-button span { color: #d8ceba; }
.portal-nav-button { color: #f5f3ed; }
.portal-nav-button:hover, .portal-nav-button.active {
  border-color: #8a693f; background: #385347; color: #f5f3ed;
}
/* Low specificity lets semantic controls (danger, navigation, cards) retain their roles. */
button {
  border-color: #253b32; background: #253b32; color: #f5f3ed;
}
.portal-utility, .portal-signout {
  border-color: #d8ceba; background: #f5f3ed; color: #253b32;
}
.portal-page :where(input, select, textarea) { border-color: #d8ceba; }
.portal-page :where(input, select, textarea):focus {
  outline-color: #aab9af; border-color: #253b32;
}
.portal-page :where(input[type="checkbox"], input[type="radio"]) { accent-color: #253b32; }
.portal-eyebrow, .portal-catalog-heading > span, .portal-catalog-group h4 { color: #8a693f; }
.portal-dashboard-actions button { border-color: #d8ceba; }
.portal-dashboard-actions button:first-child, .estimate-card-ready,
.portal-live-total, .portal-status, .portal-message.success {
  border-color: #aab9af; background: #edf2ee; color: #253b32;
}
.portal-recent-estimate { border-bottom-color: #d8ceba; }
.portal-recent-estimate:hover { background: #f5f3ed; }
.portal-notice, .portal-detail-card, .portal-structure-card,
.portal-roof-options, .portal-structure-options, .portal-bay-direction,
.portal-selected-structure, .portal-structure-empty, .portal-file-drop-zone {
  border-color: #d8ceba; background: #f5f3ed;
}
.portal-product-card, .portal-file-row { border-color: #d8ceba; }
.portal-product-card:hover, .portal-file-drop-zone.is-dragging {
  border-color: #253b32; background: #edf2ee;
}
.portal-product-image, .portal-selected-structure-image,
.portal-file-icon, .portal-file-thumbnail-wrap { background: #edf2ee; color: #253b32; }
.portal-product-placeholder { color: #5e6963; }
.portal-selected-structure > div > span, .portal-selected-post-count,
.portal-bay-direction legend, .portal-pitch-run strong,
.portal-estimated-price strong, .estimate-card-total { color: #253b32; }
.portal-freight-fields output, .portal-calculated-field input,
.estimate-quote-identity { border-color: #aab9af; background: #edf2ee; color: #253b32; }
.portal-bay-direction label:has(input:checked) {
  border-color: #253b32; background: #edf2ee; box-shadow: inset 0 0 0 1px #253b32;
}
.portal-umbrella-style { color: #253b32; }
.portal-umbrella-style select { border-color: #253b32; background: #edf2ee; color: #253b32; }
.portal-pricing-toggle button { border-color: #aab9af; color: #253b32; }
.portal-pricing-toggle button.active, .portal-pricing-badge.is-wholesale {
  border-color: #253b32; background: #253b32; color: #f5f3ed;
}
.portal-file-actions a, .portal-file-actions button:not(.portal-danger) { border-color: #d8ceba; }

