/* Shared workspace foundation precedes this app's intentional overrides at the existing stylesheet layer. */


/* Canonical workarea rail and inline actions, extracted unchanged from Admin site.css. */
/* Shared section header replaces the separate workarea-title strip. */
.hcp-workspace-section-header.hcp-provider-page-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  align-items: center !important;
  gap: 1rem;
  padding: .8rem !important;
}
.hcp-workspace-section-header > .hcp-provider-title-row { min-width: 0; }
.hcp-workspace-section-header > .hcp-provider-section-title {
  min-width: 0; margin: 0; padding: 0; border: 0; background: transparent;
  color: #c00020; font-size: 1.05rem; font-weight: 650; line-height: 1.3;
  text-align: center; overflow-wrap: anywhere;
}
.hcp-workspace-section-header > .hcp-provider-page-actions { min-width: 0; justify-self: end; }
@media (max-width: 767.98px) {
  .hcp-workspace-section-header.hcp-provider-page-header { grid-template-columns: minmax(0, 1fr); gap: .65rem; }
  .hcp-workspace-section-header > .hcp-provider-page-actions { width: 100%; justify-self: start; justify-content: flex-start; }
}
.hcp-provider-action-row:disabled, .hcp-provider-action-row.is-disabled { cursor:not-allowed; opacity:.55; pointer-events:none; }
.hcp-provider-action-rail { min-width: 0; align-self: stretch; border-right: 1px solid #d9e1e9; background: #fff; }
.hcp-provider-action-rail-heading { min-height: 4.5rem; padding: .9rem 1rem; border-bottom: 1px solid #d9e1e9; background: #fff; }
.hcp-provider-action-rail-heading h2 { margin: 0; color: #333; font-size: .95rem; font-weight: 700; }
.hcp-provider-action-rail-heading p { margin: .18rem 0 0; overflow: hidden; color: #333; font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.hcp-provider-action-disclosure > summary { display: none; }
.hcp-provider-action-menu { display: block; padding: .55rem 0 1rem; }
.hcp-provider-action-group { min-width: 0; }
.hcp-provider-action-group + .hcp-provider-action-group { margin-top: .45rem; padding-top: .45rem; border-top: 1px solid #e3e9ee; }
.hcp-provider-action-group h3 { margin: 0; padding: .45rem .85rem .3rem; color: #c00020; font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.hcp-provider-action-group > div { display: grid; }
.hcp-provider-action-row { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; width: 100%; min-height: 2.45rem; margin: 0; padding: .42rem .7rem; border: 0; border-radius: 0; color: #000; background: transparent; text-decoration: none; font-size: .82rem; font-weight: 550; line-height: 1.25; }
.hcp-provider-action-form { margin: 0; }
.hcp-provider-action-form button.hcp-provider-action-row { width: 100%; text-align: left; font-family: inherit; cursor: pointer; }
.hcp-provider-action-row:hover,
.hcp-provider-action-row:focus-visible { background: #eef3f6; color: #000; text-decoration: none; }
.hcp-provider-action-rail .hcp-provider-action-row:focus-visible { outline: 2px solid #1675be; outline-offset: -2px; }
.hcp-provider-action-row.is-active,
.hcp-provider-action-row[aria-selected="true"] { box-shadow: inset 3px 0 #1675be; background: #e6f2fb; color: #000; text-decoration: none; }
.hcp-provider-action-row[aria-selected="true"] > span:last-child { font-weight: 700; }
.hcp-provider-action-icon { display: none; }
.hcp-provider-action-icon.hcp-provider-sync-icon { display: inline-flex; align-items: center; }
.hcp-provider-action-row:has(> .hcp-provider-sync-icon) { grid-template-columns: auto minmax(0, 1fr); column-gap: .5rem; }
.hcp-provider-action-row.is-active .hcp-provider-action-icon,
.hcp-provider-action-row[aria-selected="true"] .hcp-provider-action-icon { border-color: #9cc7e7; color: #1675be; background: #fff; }
.hcp-provider-action-row .hcp-provider-action-icon.hcp-provider-sync-icon { color: inherit; }
.hcp-provider-action-settings { border-top-color: #cfd9e1 !important; }
.hcp-provider-work-area { min-width: 0; max-width: 100%; overflow: hidden; background: #fff; }
.hcp-provider-work-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3.8rem; padding: .6rem 1rem; border-bottom: 1px solid #d9e1e9; background: #fff; }
.hcp-provider-work-kicker { margin: 0 0 .12rem; color: #000; font-size: .67rem; font-weight: 700; }
.hcp-provider-work-header h2 { margin: 0; color: #000; font-size: 1.05rem; font-weight: 700; }
.hcp-provider-work-header [data-provider-workspace-description] { display: none; }

@media (max-width: 767.98px) {
  .hcp-provider-action-rail { border-right: 0; border-bottom: 1px solid #d9e1e9; }
  .hcp-provider-action-rail-heading { display: none; }
  .hcp-provider-action-disclosure > summary { display: flex; min-height: 3rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem .85rem; color: #333; background: #fff; font-size: .86rem; font-weight: 700; cursor: pointer; list-style: none; }
  .hcp-provider-action-disclosure > summary::-webkit-details-marker { display: none; }
  .hcp-provider-action-disclosure > summary::after { content: '+'; flex: 0 0 auto; color: #333; font-size: 1.1rem; font-weight: 500; }
  .hcp-provider-action-disclosure[open] > summary::after { content: '-'; }
  .hcp-provider-action-summary-current { min-width: 0; margin-left: auto; overflow: hidden; color: #333; font-size: .78rem; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
  .hcp-provider-action-menu { max-height: min(23rem, 55vh); overflow-y: auto; border-top: 1px solid #d9e1e9; background: #fff; }
  .hcp-provider-work-area { min-height: 0; }
  .hcp-provider-action-panel { min-height: 0; }
}

/* Keep action bars and page navigation compact, even when a control uses Bootstrap button classes. */
:is(.hcp-record-toolbar, .hcp-provider-toolbar-actions, .hcp-provider-page-actions, .hcp-inline-links, .hcp-list-pages, .hcp-provider-import-pagination) :is(a, button, .btn) {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  min-height: 0;
  padding: .15rem .05rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #000;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
}
:is(.hcp-record-toolbar, .hcp-provider-toolbar-actions, .hcp-provider-page-actions, .hcp-inline-links, .hcp-list-pages, .hcp-provider-import-pagination) :is(a, button, .btn):hover {
  background: transparent;
  box-shadow: none;
  color: #000;
  text-decoration: underline;
}
:is(.hcp-record-toolbar, .hcp-provider-toolbar-actions, .hcp-provider-page-actions, .hcp-inline-links) :is(.btn-danger, .btn-outline-danger, .text-danger):not(:disabled) { color: #b42318; }
:is(.hcp-record-toolbar, .hcp-provider-toolbar-actions, .hcp-provider-page-actions, .hcp-inline-links) :is(.btn-danger, .btn-outline-danger, .text-danger):not(:disabled):hover { color: #8f1c13; }
:is(.hcp-record-toolbar, .hcp-provider-toolbar-actions, .hcp-provider-page-actions, .hcp-inline-links, .hcp-list-pages, .hcp-provider-import-pagination) :is(a, button, .btn):focus-visible {
  outline: 2px solid #1675be;
  outline-offset: 3px;
}
:is(.hcp-record-toolbar, .hcp-provider-toolbar-actions, .hcp-provider-page-actions, .hcp-inline-links, .hcp-list-pages, .hcp-provider-import-pagination) :is(button, .btn):disabled {
  color: #798693;
  text-decoration: none;
  cursor: not-allowed;
}
.hcp-compact-pagination .hcp-compact-page-button,
.hcp-compact-pagination .hcp-compact-page-button:hover {
  display: inline-grid;
  place-items: center;
  min-width: 1.8rem;
  min-height: 1.8rem;
  padding: 0;
  color: #c62828;
  font-size: 1.5rem;
  line-height: 1;
  text-decoration: none;
}
.hcp-compact-pagination .hcp-compact-page-button:disabled,
.hcp-compact-pagination .hcp-compact-page-button:disabled:hover { color: #c62828; opacity: .45; }




/* Shared Admin/Portal workspace rules. App-specific overrides remain in each app's workspace.css. */
/* Shared Portal surfaces follow the Servers directory's compact spacing and type. */
.hcp-panel-main { font-size: .875rem; }
.hcp-panel-main :is(h1, h2, h3, p, dd, summary) { overflow-wrap: anywhere; }
.hcp-panel-main h1 { font-size: 1.35rem; font-weight: 650; }
.hcp-panel-main h2 { font-size: 1.1rem; }
.hcp-panel-main h3 { font-size: 1rem; }
.hcp-panel-main .hcp-eyebrow { font-size: .7rem; }
.hcp-record-page .hcp-page-icon { display: none; }
.hcp-record-page .hcp-list-heading { flex-wrap: wrap; }
.hcp-record-page .hcp-editor-card { margin: 0; padding: 1.5rem; border: 0; box-shadow: none; }
.hcp-panel-main :is(.btn, .form-control, .form-select) { font-size: .875rem; }
.hcp-panel-main .alert { border-radius: 4px; box-shadow: none; }
.hcp-record-toolbar :is(.btn, button) { font-size: .875rem; }
.hcp-record-toolbar .btn-link { color: #000; font-weight: 500; text-decoration: none; padding: 0; }
.hcp-record-toolbar .btn-link:hover { text-decoration: underline; }
.hcp-record-toolbar :is(a, button), .hcp-table-actions :is(a, button), .hcp-editor-actions :is(a, button), .hcp-actions :is(a, button) { display: inline-flex; align-items: center; gap: .35rem; }
.hcp-ui-icon { display: inline-flex; align-items: center; justify-content: center; width: 1.15em; min-width: 1.15em; line-height: 1; font-style: normal; text-decoration: none; }
.hcp-pencil-icon { display: inline-block; transform: scaleX(-1); }
.hcp-scan-icon { display: inline-block; transform: scaleX(-1); }
.hcp-side-sub-link .hcp-ui-icon { opacity: .78; margin-inline-end: .2rem; }
.hcp-action-title .hcp-ui-icon, .hcp-stat-label .hcp-ui-icon { margin-inline-end: .4rem; color: #2557d6; }
.hcp-record-table .btn { border: 0; border-radius: 0; background: transparent; color: #000; padding: .15rem .35rem; font-size: .875rem; box-shadow: none; }
.hcp-record-table .btn:hover { text-decoration: underline; }
.hcp-record-table :is(.btn-danger, .btn-outline-danger) { color: #b42335; }
.hcp-record-table .btn:disabled { color: #74818d; text-decoration: none; }
.hcp-workspace-content { padding: 1.25rem; }
/* An owning shared page already provides the task heading and frame. */
.hcp-workspace-page:has(> .hcp-workspace-content > .hcp-record-page > .hcp-list-heading) > .hcp-list-heading { display: none; }
.hcp-workspace-page > .hcp-workspace-content:has(> .hcp-record-page:only-child) { padding: 0; }
.hcp-workspace-page > .hcp-workspace-content > .hcp-record-page:only-child { margin: 0; border: 0; border-radius: 0; }
/* Server list setup may create a toolbar that needs no controls for a single page. */
.hcp-record-toolbar:empty { display: none; }

.hcp-workspace-content > div > h2, .hcp-workspace-content > h2 { margin-top: 1.5rem; }
.hcp-workspace-content :is(.card, article, details) { border: 1px solid #ccc; border-radius: 4px; background: #fff; box-shadow: none; }
.hcp-workspace-content :is(article, details) { padding: 1rem; margin: .75rem 0; }
.hcp-workspace-content summary { color: #000; font-weight: 600; cursor: pointer; }
.hcp-workspace-content form:not(.hcp-compact-grid) { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem 1rem; padding: .75rem 0; }
.hcp-workspace-content form > :is(p, fieldset, details, .table-responsive, .hcp-record-toolbar, .validation-summary-errors) { flex-basis: 100%; min-width: 0; }
.hcp-workspace-content label { display: grid; gap: .35rem; flex: 1 1 13rem; min-width: 0; font-weight: 500; }
.hcp-workspace-content label:has(input[type="checkbox"]) { display: flex; align-items: start; }
.hcp-workspace-content :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), select, textarea) { width: 100%; min-width: 0; padding: .4rem .55rem; border: 1px solid #cbd3dd; border-radius: 0; color: #000; background-color: #fff; font: inherit; }
.hcp-workspace-content input:is([type="checkbox"], [type="radio"]) { flex: 0 0 auto; margin-top: .2rem; }
.hcp-workspace-content form > button:not([class]), .hcp-workspace-content form > .btn { padding: .45rem .85rem; border: 1px solid #2557d6; border-radius: 3px; background: #2557d6; color: #fff; font: inherit; }
.hcp-workspace-content form > button:hover { filter: brightness(.95); }
.hcp-workspace-content fieldset { padding: 1rem; border: 1px solid #ccc; }
.hcp-workspace-content legend { float: none; width: auto; font-size: 1rem; font-weight: 600; }
.hcp-workspace-content pre { padding: .75rem; background: #f8fafc; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .875rem; }
.hcp-workspace-content dl { display: grid; grid-template-columns: minmax(9rem, 15rem) minmax(0, 1fr); gap: .65rem 1rem; min-width: 0; max-width: 100%; }
.hcp-workspace-content dl > :is(dt, dd),
.hcp-workspace-content dl > dd :is(code, a) { min-width: 0; overflow-wrap: anywhere; }
.hcp-workspace-content dd { margin: 0; }
.hcp-workspace-content .table-responsive { margin-top: .75rem; border: 1px solid #d9e1e9; }
.hcp-table-actions { display: inline-flex; flex-flow: row nowrap; gap: .75rem; align-items: center; }
.hcp-table-actions > * { flex: 0 0 auto; align-self: center; }
td:has(> .hcp-table-actions) { vertical-align: middle; }
.hcp-table-actions a { color: #000; font-weight: 500; text-decoration: none; }
.hcp-table-actions a:hover { text-decoration: underline; }
.hcp-action-icon {
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #999;
  border-radius: .5rem;
  background: #fff;
  color: #000;
  line-height: 1;
  text-decoration: none;
}
.hcp-action-icon:hover { background: #f1f5f9; text-decoration: none; }
.hcp-action-icon-danger { color: #b42318; border-color: #f1b8b2; }
.hcp-action-icon-danger:hover { background: #fff1f0; }
.hcp-table-actions form { display: inline-flex; flex-flow: row nowrap; gap: .75rem; align-items: center; align-self: center; margin: 0; padding: 0; }
.hcp-inline-editor-actions { align-items: flex-start; min-width: max-content; }
.hcp-inline-editor-action { display: inline-flex; flex: 0 0 auto; flex-direction: column; align-items: center; min-width: 2rem; }
.hcp-inline-editor-action > .form-label { margin: 0 0 .35rem; color: #000; font-size: .75rem; font-weight: 500; line-height: 1; text-align: center; white-space: nowrap; }
td:has(> .hcp-inline-editor-actions) { vertical-align: middle; }
.hcp-workspace-content form > .form-check { flex-basis: 100%; }
form.hcp-workspace-content > div { margin-bottom: 1rem; }
form.hcp-workspace-content small { display: block; margin-top: .35rem; color: #000; }
.hcp-navigation-trail [aria-current="page"] { color: #c00020; }
.hcp-side-nav a:focus-visible { outline: 2px solid #8dc7fa; outline-offset: -3px; }
.hcp-side-group-title.active { background: #000; }
.hcp-panel-main :is(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid #1675be; outline-offset: 3px; }
.hcp-skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 1100; padding: .75rem 1rem; background: white; }
.hcp-skip-link:focus { top: .5rem; }
.hcp-form-modal .hcp-record-page { margin: 0; border: 0; }
@media (max-width: 767.98px) {
  .hcp-workspace-content, .hcp-record-page .hcp-editor-card { padding: 1rem; }
  .hcp-workspace-content dl { grid-template-columns: minmax(0, 1fr); gap: .25rem; }
  .hcp-workspace-content dd { margin-bottom: .75rem; }
  .hcp-list-heading { padding: 1rem; }
  .hcp-panel-topbar { padding: 0 .75rem; gap: .75rem; }
  .hcp-user-area { margin-left: auto; gap: .75rem; min-width: 0; }
  .hcp-user-name { max-width: 40vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .hcp-inline-editor-actions { gap: .5rem; }
}
.hcp-workspace-content .hcp-record-table form > :is(button, .btn) { border: 0; padding: .15rem .35rem; background: transparent; color: #000; }
.hcp-workspace-content .hcp-record-table form > button:hover { text-decoration: underline; }
.hcp-workspace-content p[role="status"] { padding: .75rem 1rem; border-left: 3px solid #d29a24; background: #fff6df; }

/* Modal form standard: section headers, field labels, and data tables run full width. */
:root {
  --hcp-modal-section-bg: #cfe6ff;
  --hcp-modal-label-bg: #f7f7f7;
}

:is(.hcp-form-modal, html.hcp-modal-document) :is(.hcp-record-editor, .hcp-inline-editor) {
  width: 100%;
  max-width: none;
  padding: 0;
}

html.hcp-modal-document .hcp-record-page {
  margin: 0;
  border: 0;
  border-radius: 0;
  overflow: visible;
}

:is(.hcp-form-modal, html.hcp-modal-document) .hcp-record-editor > :is(h2, h3, .hcp-form-section-title),
:is(.hcp-form-modal, html.hcp-modal-document) .hcp-record-editor form > :is(h2, h3, .hcp-form-section-title) {
  display: block;
  width: 100%;
  margin: 0 0 1rem !important;
  padding: .75rem 1rem;
  background: var(--hcp-modal-section-bg);
  color: #000;
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.25;
}

:is(.hcp-form-modal, html.hcp-modal-document) .hcp-record-editor :is(.form-label:not(.form-check-label):not(:has(input, select, textarea)), legend) {
  display: block;
  width: 100%;
  min-height: 2.75rem;
  margin: 0;
  padding: .65rem .8rem;
  background: var(--hcp-modal-label-bg);
  color: #000;
  font-weight: 600;
  line-height: 1.35;
}

:is(.hcp-form-modal, html.hcp-modal-document) .hcp-record-editor :is(.row, .table-responsive) {
  width: 100%;
  max-width: none;
}

:is(.hcp-form-modal, html.hcp-modal-document) .hcp-record-editor .table-responsive {
  margin: 0;
  border: 0;
  border-radius: 0;
}

:is(.hcp-form-modal, html.hcp-modal-document) .hcp-record-editor .hcp-record-table {
  width: 100%;
  margin: 0;
}

:is(.hcp-form-modal, html.hcp-modal-document) .hcp-record-editor .hcp-editor-actions {
  display: flex;
  justify-content: center;
  gap: .75rem;
  width: 100%;
  margin-top: 1rem;
}

:is(.hcp-form-modal, html.hcp-modal-document) .hcp-record-editor .hcp-editor-actions .btn-primary {
  background-color: #5cb85c;
  border-color: #4cae4c;
}




.hcp-table-actions { white-space: nowrap; }
.hcp-action-icon:focus-visible { outline: 2px solid #1675be; outline-offset: 2px; }


.hcp-softwareone-business-data { min-width: 0; margin-top: 1rem; }
.hcp-softwareone-business-data h2 { margin: 0; padding: .65rem .85rem; font-size: 1rem; font-weight: 600; border-bottom: 1px solid #d9e1e9; }
.hcp-softwareone-field-type { display: block; color: #555; font-size: .75rem; }
.hcp-softwareone-field-value { display: block; margin: 0; max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.hcp-softwareone-business-data .hcp-shared-form-row > label { overflow-wrap: anywhere; }
.hcp-softwareone-mapped-value { display: block; max-width: 20rem; white-space: pre-wrap; overflow-wrap: anywhere; }

