/*
  CSS Ownership Map: css-mycomponent.css

  Scope kept here (page-family specific: Form Work / MyComponent):
  - Page layout and card treatment (.overview-grid, .lower-section, .contact-column, .quick-actions-column)
  - Form Work table look and sizing (table, th, td, rounded corners)
  - Embedded basic form tuning (.basic-form-embed*)
  - Membership row action menu (.membership-*)

  Shared/global dependencies from /css-global-base.css:
  - Collapsible primitives (.collapsible-*, .arrow, .arrow.rotate)

  Candidate future utility extraction (only if reused by >=2 page families):
  - .contact-name
  - .email-button
*/

/* Form Work / MyComponent layout and visual shell */
 body {
    font-family: Arial, sans-serif;
  }

  .info-label-value {
    background-color: #f3f2f1;
    border: 7px solid #f3f2f1;
    border-radius: 18px;
    padding: 6px 20px;
    display: inline-block;
    font-weight: 600;
    font-size: 16px;
    min-width: 120px;
    color: #005289;
  }

  /* Uses shared collapsible primitives from /css-global-base.css */

  .collapsible-container {
    max-width: 1300px;
    margin: 20px auto;
  }

  .collapsible-sub-header {
    border-radius: 8px;
  }

  .project-title {
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    color: #005289;
    margin-bottom: 25px;
  }

  .overview-grid {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 40px;
  }

  .info-block {
    text-align: center;
    flex: 1 1 180px;
  }

  .info-label {
    font-weight: 600;
    color: #005289;
    margin-bottom: 8px;
    font-size: 16;
  }

  .info-value {
    background-color: #f3f2f1;
    border-radius: 20px;
    padding: 10px 18px;
    font-weight: 600;
    font-size: 16px;
    display: inline-block;
    margin-top: 5px;
  }

  .status-active {
    background-color: #8CD211;
    color: white;
  }

  .lower-section {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
  }

  .contact-column {
    background-color: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    padding: 20px;
    flex: 2;
    min-width: 300px;
  }

  .grant-column {
    background-color: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    padding: 20px;
    flex: 1;
    min-width: 240px;

  }

  .quick-actions-column {
    background-color: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    padding: 20px;
    flex: 1;
    min-width: 240px;
  }

  .contact-column h4,
  .grant-column h4 {
    color: #005289;
    margin: 16px 0 6px;
  }

  .contact-column p,
  .grant-column p {
    font-size: 10px;
    margin-bottom: 10px;
  }

  .quick-actions-column h3 {
    text-align: center;
    color: #005289;
    font-size: 18px;
    margin-bottom: 15px;
  }

  .quick-actions-column .quick-action-link {
    display: block;
    width: 100%;
    margin-bottom: 10px;
    padding: 10px;
    background-color: #0066b3;
    color: white;
    font-weight: 600;
    border: none;
    border-radius: 5px;
    font-size: 14px;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
  }

  .quick-actions-column .quick-action-link:hover {
    background-color: #004f8a;
    color: white;
  }

  .officer-grid {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
  }

  .officer-box {
    flex: 1;
    min-width: 200px;
  }

  .officer-box h4 {
    color: #005289;
    margin-bottom: 8px;
  }

  .contact-name {
    background-color: #eee;
    padding: 6px 12px;
    border-radius: 6px;
    display: inline-block;
    margin-bottom: 10px;
    font-weight: 500;
  }

  .email-button {
    border: 1px solid #000;
    background-color: white;
    padding: 6px 14px;
    font-weight: 500;
    border-radius: 4px;
    cursor: pointer;
  }

  
/* hides the entire form group/row for the lookup name input */
/* #idrc_componentlkup_name,
#idrc_contactlkup_name {
  display: none !important;
} */

/* Form Work reporting tables */
/* Table Styling */
table {
    width: 100%;
    border-radius: 16px;
    /* Rounded corners */
    border-collapse: separate;
    /* Ensure border-radius works */
    border-spacing: 0;
    /* Remove gaps */
    overflow: hidden;
    /* Hide extra borders */
    font-size: 16px !important;
    /* Force global font size */
}

/* Header & Cell Styling */
th,
td {
    border: 1px solid #333;
    padding: 5px;
    font-size: 16px !important;
    /* Force 16px for all cells */
}

th {
    background-color: #004b80;
    color: white;
    text-align: left;
    font-size: 16px !important;
    /* Ensure headers are also 16px */
}

p,
b {
    font-size: 16px !important;
    /* Apply 16px to all <p> and <b> elements inside cells */
}

/* Rounded Corners Fix */
tr:first-child th:first-child {
    border-top-left-radius: 16px;
}

tr:first-child th:last-child {
    border-top-right-radius: 16px;
}

tr:last-child td:first-child {
    border-bottom-left-radius: 16px;
}

tr:last-child td:last-child {
    border-bottom-right-radius: 16px;
}

/* ============================================================
Embedded Basic Form tuning (Form Work specific)
Class hook: .basic-form-embed
============================================================ */

/* ---- Theme tokens ---- */
.basic-form-embed {
    --bfe-font: Poppins, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
    --bfe-text: #323130;
    --bfe-blue: #0066b3;
    --bfe-blue-dark: #004f8a;
    --bfe-surface: rgba(243, 242, 241, 0.55);
    --bfe-border: rgba(0, 0, 0, 0.08);
    --bfe-field-border: rgba(50, 49, 48, 0.25);
    --bfe-field-border-hover: rgba(0, 102, 179, 0.45);
    --bfe-focus: rgba(0, 120, 212, 0.35);
    --bfe-radius: 16px;
    --bfe-field-radius: 10px;
}

/* ---- Base typography ---- */
/* .basic-form-embed,
.basic-form-embed * {
font-family: var(--bfe-font);
font-size: 14px;
color: var(--bfe-text);
} */

.basic-form-embed {
    font-family: var(--bfe-font);
    font-size: 14px;
    color: var(--bfe-text);
}

/* Ensure common text elements inherit */
.basic-form-embed p,
.basic-form-embed span,
.basic-form-embed label,
.basic-form-embed legend,
.basic-form-embed h1,
.basic-form-embed h2,
.basic-form-embed h3,
.basic-form-embed h4 {
    color: inherit;
}

/* ---- container "card" to match your pill style block ---- */
.basic-form-embed {
    border: 1px solid var(--bfe-border);
    border-radius: var(--bfe-radius);
    background: var(--bfe-surface);
    padding: 16px;
}

/* ---- Remove default fieldset/legend styling that can look like panels ---- */
.basic-form-embed fieldset {
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    min-inline-size: auto;
}

.basic-form-embed legend.section-title {
    border: 0 !important;
    padding: 0 !important;
    margin: 0 0 8px 0 !important;
    background: var(--bfe-surface);
}

.basic-form-embed legend.section-title h3 {
    margin: 2px !important;
    font-size: 16px;
    font-weight: 700;
    color: #005289;
    /* background: var(--bfe-surface); */
    background: rgba(255, 255, 255, 0);
}

/* ============================================================
REMOVE FORM FIELD CONTAINER OUTLINE
Power Pages Basic Form uses <table class="section"> with <td class="cell ...">
Many portal themes apply borders/backgrounds/padding to those cells.
============================================================ */

.basic-form-embed table.section {
    width: 100%;
    background: transparent !important;
    border-collapse: separate;
    border-spacing: 0;
}

/* Remove cell containers (this is the main “remove boxes” change) */
.basic-form-embed td.cell,
.basic-form-embed td.form-control-cell,
.basic-form-embed td.picklist-cell,
.basic-form-embed td.lookup,
.basic-form-embed td.clearfix,
.basic-form-embed td.zero-cell {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;

    /* Replace “boxed cell” spacing with clean vertical rhythm */
    padding: 2px 16px 14px 2px !important;
    vertical-align: top;
}

/* Remove styling from the label wrapper that can look like a mini header box */
.basic-form-embed .table-info,
.basic-form-embed .control {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Labels */
.basic-form-embed label.field-label {
    display: block;
    margin: 0 0 6px 0 !important;
    font-weight: 600;
    color: #005289;
    border-radius: 0px;
}

/* Overall box adjustment: Rounded corners */
.basic-form-embed .crmEntityFormView {
    border-radius: 16px;
}

/* ============================================================
2) MODERN FIELD STYLING + HOVER
============================================================ */

.basic-form-embed input.form-control,
.basic-form-embed select.form-control,
.basic-form-embed select.form-select,
.basic-form-embed textarea.form-control {
    background: #fff !important;
    border: 1px solid var(--bfe-field-border) !important;
    border-radius: var(--bfe-field-radius) !important;
    box-shadow: none !important;
    padding: 10px 12px !important;
    height: auto !important;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;

    /* add an arrow (SVG) */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

}

/* Hover: subtle highlight */
.basic-form-embed input.form-control:hover,
.basic-form-embed select.form-control:hover,
.basic-form-embed select.form-select:hover,
.basic-form-embed textarea.form-control:hover {
    outline: 2px solid rgba(0, 102, 179, 0.45);
    outline-offset: 0;
    /* Use 1px to make it slightly outside */
}

/* Focus: accessible ring */
.basic-form-embed input.form-control:focus,
.basic-form-embed select.form-control:focus,
.basic-form-embed select.form-select:focus,
.basic-form-embed textarea.form-control:focus {
    outline: 2px solid var(--bfe-focus);
    outline-offset: 1px;
    border-color: rgba(0, 102, 179, 0.75) !important;
    box-shadow: none !important;
}

/* If an inline underline was set on email, normalize it */
.basic-form-embed input[type="email"] {
    text-decoration: none !important;
}

/* ============================================================
4) REQUIRED/VALIDATION indicators
============================================================ */
.basic-form-embed .validators span {
    color: #d83b01;
    /* accessible warning */
}

/* ============================================================
5) RESPONSIVE: make table-based layout behave on mobile
============================================================ */

/* Tablet and down: reduce side padding between the two columns */
@media (max-width: 992px) {

    .basic-form-embed td.cell,
    .basic-form-embed td.form-control-cell,
    .basic-form-embed td.picklist-cell,
    .basic-form-embed td.lookup {
        padding-right: 10px !important;
    }
}

/* Mobile: convert table rows/cells into block layout (single column) */
@media (max-width: 768px) {

    .basic-form-embed table.section,
    .basic-form-embed tbody,
    .basic-form-embed tr,
    .basic-form-embed td {
        display: block !important;
        width: 100% !important;
    }

    /* Remove right padding because there is no second column */
    .basic-form-embed td.cell,
    .basic-form-embed td.form-control-cell,
    .basic-form-embed td.picklist-cell,
    .basic-form-embed td.lookup,
    .basic-form-embed td.zero-cell {
        padding: 0 0 14px 0 !important;
    }

    /* hide extra empty cell column on mobile */
    .basic-form-embed td.zero-cell {
        display: none !important;
    }
}

/* ============================================================
6) hide Dashlane/autofill injected icons
============================================================ */
.basic-form-embed span[data-dashlanecreated="true"] {
    display: none !important;
}



/* Membership row action menu (three-dot) */
.membership-name-cell-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  position: relative;
}

.membership-menu-toggle {
  border: none;
  background: transparent;
  color: #004e9e;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0 4px;
  border-radius: 6px;
  min-width: 26px;
  min-height: 26px;
  transition: background-color 0.15s ease, color 0.15s ease, transform 0.08s ease;
}

.membership-menu-toggle:hover,
.membership-menu-toggle:focus-visible {
  background-color: #f0f5fb;
  color: #003a75;
  outline: none;
}

.membership-menu-toggle:active {
  transform: scale(0.92);
}

.membership-menu-toggle.is-open {
  background-color: #e6eef8;
  transform: scale(0.96);
}

.membership-row-menu {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 170px;
  background: #fff;
  border: 1px solid #d0dbe5;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  z-index: 2000;
  padding: 6px;
}

.membership-row-menu.is-open {
  display: block;
}

.membership-row-menu-item {
  display: block;
  width: 100%;
  text-align: left;
  border: none;
  background: transparent;
  padding: 8px 10px;
  border-radius: 4px;
  color: #004e9e;
  font-weight: 600;
  cursor: pointer;
}

.membership-row-menu-item:hover,
.membership-row-menu-item:focus-visible {
  background-color: #f0f5fb;
  outline: none;
}

.membership-row-menu-item--danger {
  color: #a30000;
}

.membership-row-menu-item--danger:hover,
.membership-row-menu-item--danger:focus-visible {
  background-color: #fbe9e9;
}

.membership-row-menu-empty {
  padding: 8px 10px;
  color: #666;
  font-size: 13px;
}

/* ============================================================
BASIC FORM EMBED – Submit button text color
============================================================ */

/* Power Pages renders Submit as <input type="button"> */
.basic-form-embed input[type="submit"],
.basic-form-embed input[type="button"].submit-btn,
.basic-form-embed #InsertButton {
    color: #ffffff !important;
}

/* Ensure hover/focus/disabled states stay white as well */
.basic-form-embed input[type="submit"]:hover,
.basic-form-embed input[type="button"].submit-btn:hover,
.basic-form-embed #InsertButton:hover,
.basic-form-embed input[type="submit"]:focus,
.basic-form-embed input[type="button"].submit-btn:focus,
.basic-form-embed #InsertButton:focus,
.basic-form-embed input[type="submit"][disabled],
.basic-form-embed input[type="button"][disabled] {
    color: #ffffff !important;
}

.basic-form-embed #InsertButton {
    background-color: #0066b3 !important;
    border-color: #0066b3 !important;
}

.basic-form-embed #InsertButton:hover {
    background-color: #004f8a !important;
    border-color: #004f8a !important;
}