/* Instacertify — modern Poppins desk · teal structure + citrus prompts */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap");

:root,
[data-theme="light"],
html {
  --ic-primary: #065175;
  --ic-accent: #EC691F;
  --ic-primary-soft: #e4f1f8;
  --ic-accent-soft: #fff1e6;
  --ic-primary-deep: #033447;
  --ic-accent-deep: #c44710;
  --ic-cyan: #0a8fb5;
  --ic-mint: #1b7a4e;
  --ic-coral: #c0392b;
  --ic-amber: #b54708;
  --ic-surface: #e8f1f6;
  --ic-surface-2: #dde9f1;
  --ic-mist: #c9dce8;
  --ic-ink: #152833;
  --ic-muted: #5a7382;
  --ic-radius: 14px;
  --ic-radius-sm: 10px;
  /* Tiles stretch full row; home sits flush beside the desk sidebar */
  --ic-tile-min: 132px;
  --ic-tile-gap: 12px;
  --ic-tile-cols: repeat(auto-fit, minmax(min(100%, var(--ic-tile-min)), 1fr));
  --ic-home-side-pad: 4px;
  --ic-shadow: 0 10px 28px rgba(6, 81, 117, 0.07);
  --ic-shadow-hover: 0 14px 32px rgba(6, 81, 117, 0.12);
  --ic-font: "Poppins", "Segoe UI", sans-serif;
  --ic-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ic-rise: cubic-bezier(0.16, 1, 0.3, 1);

  --bg-color: #e8f1f6;
  --subtle-fg: #f4f9fc;
  --fg-color: #ffffff;
  --card-bg: #ffffff;
  --control-bg: #ffffff;
  --surface-gray-1: #f4f9fc;
  --surface-gray-2: #e8f1f6;
  --surface-gray-3: #d5e4ee;
  --surface-menu-bar: #e4eff5;
  --surface-modal: #ffffff;
  --surface-white: #ffffff;
  --border-color: #c8dae6;
  --navbar-bg: rgba(244, 249, 252, 0.88);
  --text-color: #152833;
  --heading-color: #065175;
  --font-stack: "Poppins", "Segoe UI", sans-serif;

  --primary: #065175;
  --primary-color: #065175;
  --btn-primary: #065175;
  --btn-primary-hover: #033447;
  --btn-primary-color: #ffffff;
  /* Text on filled brand surfaces — never use brand blue as button label */
  --text-on-primary: #ffffff;
  --text-on-accent: #ffffff;
  --text-on-danger: #ffffff;
  --text-primary: #065175;
  --text-on-blue: #ffffff;
  --icon-stroke: #152833;
  --icon-stroke-muted: #334955;
  /* Uniform soft highlight brightness (same luminance family) */
  --ic-hl-bg: rgba(6, 81, 117, 0.08);
  --ic-hl-bg-strong: rgba(6, 81, 117, 0.12);
  --ic-hl-edge: rgba(236, 105, 31, 0.55);
  --alert-text-info: #065175;
  --blue-500: #065175;
  --blue-600: #033447;
  --orange-500: #EC691F;
  --orange-600: #c44710;
  --border-radius: 12px;
  --border-radius-md: 14px;
  --border-radius-lg: 16px;
}

html,
body,
.desk-page,
.page-container,
.form-layout,
.list-row,
.modal,
.btn,
input,
textarea,
select,
.awesomplete,
.navbar,
.sidebar,
.workspace-sidebar,
.for-login,
.web-page,
.webpage-container,
.ic-portal-body,
.page-card,
.layout-main {
  font-family: var(--ic-font) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: -0.011em;
}

h1, h2, h3, h4, h5,
.page-title .title-text,
.ic-crm-tracker-title,
.ic-greeting h2,
.widget-title,
.modal-title {
  font-family: var(--ic-font) !important;
  letter-spacing: -0.028em;
  font-weight: 600;
  color: var(--ic-primary);
}

/* Subtle premium selection / focus */
::selection {
  background: rgba(6, 81, 117, 0.18);
  color: var(--ic-primary-deep);
}

.form-control:focus,
input.form-control:focus,
textarea.form-control:focus,
select.form-control:focus,
.input-with-feedback:focus,
input:not([type="checkbox"]):not([type="radio"]):focus,
textarea:focus,
select:focus {
  border-color: #EC691F !important;
  box-shadow: 0 0 0 3px rgba(236, 105, 31, 0.22) !important;
  outline: none !important;
  transition: border-color 0.2s var(--ic-ease), box-shadow 0.2s var(--ic-ease);
}

.awesomplete > ul > li[aria-selected="true"],
.awesomplete > ul > li:hover,
.dropdown-item.active,
.dropdown-item:active,
.dropdown-menu .dropdown-item:hover {
  background: var(--ic-hl-bg) !important;
  color: var(--ic-ink) !important;
  box-shadow: inset 3px 0 0 var(--ic-hl-edge);
}

.list-row:hover,
.list-row.list-row-highlight,
.list-row-container .list-row:hover {
  background: var(--ic-hl-bg) !important;
  box-shadow: inset 3px 0 0 var(--ic-hl-edge);
}

.list-row.list-row-highlight {
  background: var(--ic-hl-bg-strong) !important;
  color: var(--ic-ink) !important;
}

.grid-row:hover .data-row,
.grid-row > .data-row.highlight,
.grid-body .data-row:hover {
  background: var(--ic-hl-bg) !important;
  color: var(--ic-ink) !important;
}

.checkbox input:checked,
input[type="checkbox"]:checked,
input[type="radio"]:checked {
  accent-color: var(--ic-accent);
}

/* Links only — never force brand ink onto filled .btn surfaces */
a:not(.btn):not(.btn-primary):not(.btn-secondary):not(.btn-default):not(.btn-warning):not(.btn-danger):not(.btn-success):not(.btn-info):not(.btn-accent),
.btn-link:not(.btn-primary),
.text-primary:not(.btn):not(.btn-primary) {
  color: var(--ic-primary) !important;
  transition: color 0.15s var(--ic-ease);
}
a:not(.btn):hover,
.btn-link:not(.btn-primary):hover {
  color: var(--ic-accent) !important;
}

/* Force light atmosphere on desk chrome */
html,
body,
body.full-width,
.desk-page,
#body_div,
.main-section,
.content.page-container,
.layout-main-section,
.page-container,
.workspace-page,
.workspace-body,
.list-row-container,
.form-layout,
.layout-side-section,
.sidebar-left,
.desk-sidebar,
.std-form-layout {
  background-color: var(--ic-surface) !important;
}

body {
  background-color: #e8f1f6 !important;
  background-image:
    radial-gradient(ellipse 90% 60% at 8% -10%, rgba(6, 81, 117, 0.16), transparent 55%),
    radial-gradient(ellipse 70% 50% at 96% 4%, rgba(236, 105, 31, 0.14), transparent 48%),
    radial-gradient(ellipse 50% 40% at 50% 100%, rgba(10, 143, 181, 0.08), transparent 55%),
    repeating-linear-gradient(
      -18deg,
      transparent,
      transparent 22px,
      rgba(6, 81, 117, 0.018) 22px,
      rgba(6, 81, 117, 0.018) 23px
    ),
    linear-gradient(165deg, #dceaf2 0%, #e8f1f6 38%, #f3f8fb 72%, #fff7f0 100%) !important;
  background-attachment: fixed !important;
  min-height: 100vh;
  color: var(--ic-ink);
}

/* Frappe desk home / workspace shells */
.layout-main,
.layout-main-section-wrapper,
.workspace-sidebar,
.codex-editor,
.editor-js,
.page-body,
#page-Workspaces,
.desktop-list,
.workspaces-container,
[data-page-container="1"] {
  background-color: transparent !important;
}

/* Keep cards / forms readable on the tinted canvas */
.frappe-card,
.form-page,
.layout-main-section-wrapper .form-layout,
.widget,
.widget.number-widget-box,
.widget.dashboard-widget-box,
.list-paging-area,
.page-form,
.modal-content,
.dropdown-menu {
  background-color: #ffffff !important;
}

/* ——— Two-color chrome: teal structure + orange highlights ——— */
.navbar {
  background: linear-gradient(180deg, #f7fbfd 0%, #e8f3f8 100%) !important;
  border-bottom: 3px solid var(--ic-primary) !important;
  box-shadow: 0 3px 0 var(--ic-accent), 0 8px 20px rgba(6, 81, 117, 0.06) !important;
  backdrop-filter: blur(8px);
}

.navbar .nav-link,
.navbar .navbar-brand,
.navbar .es-icon {
  color: var(--ic-primary) !important;
}
.navbar .nav-link:hover,
.navbar .nav-item:hover > .nav-link {
  color: var(--ic-accent) !important;
}

.sidebar-left,
.desk-sidebar,
.layout-side-section,
.workspace-sidebar {
  background: linear-gradient(180deg, #eef5f9 0%, #f3f8fb 100%) !important;
  border-right: 1px solid rgba(6, 81, 117, 0.12);
}

.desk-sidebar .standard-sidebar-item.selected,
.desk-sidebar .standard-sidebar-item.active,
.workspace-sidebar .item-anchor.active,
.sidebar-item-container .item-anchor.active,
.list-sidebar .list-link.active a,
.list-sidebar .list-link a.active {
  background: var(--ic-primary-soft) !important;
  color: var(--ic-primary) !important;
  font-weight: 600 !important;
  border-left: 3px solid var(--ic-accent) !important;
  border-radius: 0 8px 8px 0;
}

.desk-sidebar .standard-sidebar-item:hover,
.workspace-sidebar .item-anchor:hover {
  background: rgba(236, 105, 31, 0.08) !important;
  color: var(--ic-accent-deep) !important;
}

.page-head,
.page-head .container,
.form-tabs-list {
  background: rgba(247, 251, 253, 0.95) !important;
}

.page-head {
  border-bottom: 1px solid rgba(6, 81, 117, 0.1);
}

.page-title .title-text,
.page-head .title-text {
  color: var(--ic-primary) !important;
}

/* Primary = teal, secondary/CTA accents = orange */
.btn-primary,
.btn-primary:not(:disabled),
.btn-primary:active,
.btn.btn-primary {
  background: var(--ic-primary) !important;
  border-color: var(--ic-primary) !important;
  color: #fff !important;
  box-shadow: 0 2px 0 rgba(4, 58, 82, 0.25);
}
.btn-primary:hover,
.btn-primary:focus {
  background: var(--ic-primary-deep) !important;
  border-color: var(--ic-primary-deep) !important;
  color: #fff !important;
}

.btn-secondary,
.btn-default,
.btn.btn-default {
  border-color: rgba(6, 81, 117, 0.25) !important;
  color: var(--ic-primary) !important;
}
.btn-secondary:hover,
.btn-default:hover {
  border-color: var(--ic-accent) !important;
  color: var(--ic-accent) !important;
  background: var(--ic-accent-soft) !important;
}

/* Orange for high-visibility actions */
.btn-warning,
.btn-orange,
.page-actions .btn-primary-dark,
.standard-actions .btn[data-label*="Share"],
.btn.btn-accent {
  background: var(--ic-accent) !important;
  border-color: var(--ic-accent) !important;
  color: #fff !important;
}

.form-tabs .nav-link {
  color: #5b7382 !important;
  font-weight: 500;
}
.form-tabs .nav-link.active {
  border-bottom: 3px solid var(--ic-accent) !important;
  color: var(--ic-primary) !important;
  font-weight: 700 !important;
  box-shadow: none;
}

.indicator-pill.blue,
.indicator.blue,
.indicator-pill.green {
  background: var(--ic-primary-soft) !important;
  color: var(--ic-primary) !important;
}
.indicator-pill.orange,
.indicator.orange,
.indicator-pill.yellow {
  background: var(--ic-accent-soft) !important;
  color: var(--ic-accent-deep) !important;
}
.indicator-pill.red,
.indicator.red {
  background: #ffe5e0 !important;
  color: #c0392b !important;
}

.widget.number-widget-box {
  border-top: 3px solid var(--ic-primary) !important;
  border-radius: var(--ic-radius) !important;
}
.widget.number-widget-box:nth-child(even) {
  border-top-color: var(--ic-accent) !important;
}
.widget .widget-head .widget-title,
.widget .widget-title {
  color: var(--ic-primary) !important;
}
.widget.number-widget-box .widget-body .widget-content .number {
  color: var(--ic-primary) !important;
}
.widget.number-widget-box:nth-child(even) .widget-body .widget-content .number {
  color: var(--ic-accent) !important;
}

.list-row-head {
  background: linear-gradient(90deg, var(--ic-primary-soft), #fff) !important;
  border-bottom: 2px solid rgba(6, 81, 117, 0.12) !important;
  color: var(--ic-primary) !important;
}

.progress-bar,
.progress .progress-bar {
  background: linear-gradient(90deg, var(--ic-primary), var(--ic-accent)) !important;
}

.dropdown-item.active,
.dropdown-item:active,
.dropdown-menu .dropdown-item:hover {
  background: var(--ic-primary-soft) !important;
  color: var(--ic-primary) !important;
}

.ic-greeting {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  background:
    linear-gradient(125deg, #033447 0%, #065175 42%, #0a8fb5 78%, #ec691f 145%);
  color: #fff;
  border-radius: var(--ic-radius);
  padding: 28px 28px 26px;
  margin-bottom: 20px;
  box-shadow: var(--ic-shadow);
  isolation: isolate;
  animation: ic-hero-in 0.7s var(--ic-rise) both;
}

.ic-greeting::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 88% 20%, rgba(236, 105, 31, 0.45), transparent 42%),
    radial-gradient(circle at 12% 90%, rgba(255, 255, 255, 0.12), transparent 40%);
  pointer-events: none;
  z-index: 0;
}

.ic-greeting::after {
  content: "";
  position: absolute;
  right: -40px;
  top: -50px;
  width: 220px;
  height: 220px;
  border-radius: 40% 60% 55% 45%;
  border: 18px solid rgba(255, 255, 255, 0.08);
  transform: rotate(18deg);
  pointer-events: none;
  z-index: 0;
}

.ic-greeting-brand {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: clamp(1.85rem, 3.2vw, 2.45rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.05;
  color: var(--ic-accent, #EC691F);
  margin: 0 0 8px;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
}

.ic-home-brand-icon {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  border-radius: 50%;
  object-fit: contain;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
  background: transparent;
}

.ic-greeting-brand-text,
.ic-greeting-brand-text span,
.ic-greeting-brand > span:not(.ic-greeting-brand-text) {
  color: var(--ic-accent, #EC691F) !important;
}

.ic-greeting h2 {
  position: relative;
  z-index: 1;
  margin: 0 0 6px 0;
  font-weight: 500;
  font-size: 1.05rem;
  letter-spacing: -0.01em;
  color: rgba(255, 255, 255, 0.92) !important;
}

.ic-greeting .ic-datetime {
  position: relative;
  z-index: 1;
  opacity: 0.88;
  font-size: 0.88rem;
  font-weight: 400;
  color: #fff;
}

.ic-summary-grid {
  display: grid;
  grid-template-columns: var(--ic-tile-cols);
  gap: var(--ic-tile-gap, 12px);
  margin-bottom: 20px;
  width: 100%;
}

.ic-explore-panel {
  margin-bottom: 20px;
  animation: ic-rise-in 0.5s var(--ic-rise) both;
}

.ic-explore-title {
  font-family: "Poppins", var(--ic-font);
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--ic-primary);
  letter-spacing: -0.02em;
}

.ic-explore-sub {
  color: var(--ic-muted, #5a6f7a);
  font-size: 0.86rem;
  margin-top: 2px;
  margin-bottom: 12px;
}

.ic-explore-grid {
  display: grid;
  grid-template-columns: var(--ic-tile-cols);
  gap: var(--ic-tile-gap, 12px);
  width: 100%;
}

/* Unified square tiles — Explore + KPI + Projects share one rhythm */
.ic-explore-card,
.ic-summary-card,
.ic-project-tile {
  aspect-ratio: 1 / 1;
  min-height: 0;
  height: auto;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--ic-radius-sm, 12px);
  box-sizing: border-box;
}

.ic-explore-card {
  text-align: left;
  border: 1px solid rgba(6, 81, 117, 0.12);
  padding: 12px;
  background: linear-gradient(165deg, #ffffff 0%, #f5fafc 100%);
  cursor: pointer;
  transition: transform 0.22s var(--ic-ease), box-shadow 0.22s var(--ic-ease);
  box-shadow: var(--ic-shadow);
  font-family: "Poppins", var(--ic-font);
}

.ic-explore-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(6, 81, 117, 0.1);
}

.ic-explore-card.accent-coral { border-top: 4px solid #c0392b; border-left: 1px solid rgba(6, 81, 117, 0.12); }
.ic-explore-card.accent-citrus { border-top: 4px solid var(--ic-accent); border-left: 1px solid rgba(6, 81, 117, 0.12); }
.ic-explore-card.accent-teal { border-top: 4px solid var(--ic-primary); border-left: 1px solid rgba(6, 81, 117, 0.12); }

.ic-explore-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 22px;
  margin-bottom: 6px;
  flex-shrink: 0;
}

.ic-explore-count {
  background: var(--ic-primary);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  border-radius: 8px;
  padding: 2px 8px;
}

.ic-explore-action {
  background: #fff4ec;
  color: #c44710;
  font-size: 0.7rem;
  font-weight: 700;
  border-radius: 6px;
  padding: 2px 7px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.ic-explore-card-title {
  font-weight: 700;
  color: #033447;
  font-size: 0.9rem;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ic-explore-card-sub {
  color: var(--ic-muted, #5a6f7a);
  font-size: 0.74rem;
  margin-top: auto;
  padding-top: 8px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ic-summary-card {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
  padding: 14px 12px;
  border: 1px solid rgba(6, 81, 117, 0.1);
  border-top: 4px solid var(--ic-primary);
  border-left: 1px solid rgba(6, 81, 117, 0.1);
  box-shadow: var(--ic-shadow);
  transition: transform 0.22s var(--ic-ease), box-shadow 0.22s var(--ic-ease), border-color 0.22s ease;
  animation: ic-rise-in 0.55s var(--ic-rise) both;
  justify-content: space-between;
  align-items: flex-start;
}

.ic-summary-card.is-clickable,
.ic-summary-card[data-kpi] {
  cursor: pointer;
  user-select: none;
}

.ic-summary-card.is-clickable:focus-visible,
.ic-summary-card[data-kpi]:focus-visible {
  outline: 2px solid var(--ic-accent);
  outline-offset: 2px;
}

.widget.number-widget-box {
  cursor: pointer;
}

.ic-summary-card:nth-child(even) {
  border-top-color: var(--ic-accent);
}

.ic-summary-card.accent {
  border-top-color: var(--ic-accent);
  background: linear-gradient(180deg, #fffaf5 0%, #ffffff 70%);
}

.ic-summary-card:nth-child(3n) {
  border-top-color: var(--ic-cyan);
}

.ic-summary-card:nth-child(1) { animation-delay: 0.04s; }
.ic-summary-card:nth-child(2) { animation-delay: 0.07s; }
.ic-summary-card:nth-child(3) { animation-delay: 0.1s; }
.ic-summary-card:nth-child(4) { animation-delay: 0.13s; }
.ic-summary-card:nth-child(5) { animation-delay: 0.16s; }
.ic-summary-card:nth-child(6) { animation-delay: 0.19s; }
.ic-summary-card:nth-child(7) { animation-delay: 0.22s; }
.ic-summary-card:nth-child(8) { animation-delay: 0.25s; }
.ic-summary-card:nth-child(n+9) { animation-delay: 0.28s; }

.ic-summary-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--ic-shadow-hover);
  border-color: rgba(6, 81, 117, 0.18);
}

.ic-summary-card .label {
  color: var(--ic-muted);
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ic-summary-card .value {
  color: var(--ic-primary);
  font-size: clamp(1.45rem, 3.2vw, 1.85rem);
  font-weight: 700;
  margin-top: auto;
  letter-spacing: -0.03em;
  line-height: 1.1;
  align-self: flex-start;
}

.ic-summary-card:nth-child(even) .value,
.ic-summary-card.accent .value {
  color: var(--ic-accent);
}

.ic-summary-card:nth-child(3n) .value {
  color: var(--ic-cyan);
}

.ic-related-party {
  margin: 0 0 14px;
  color: #3d5563;
  font-size: 0.92rem;
  line-height: 1.5;
}
.ic-related-party .ic-status-pill {
  margin-left: 4px;
}


.ic-related-hint {
  margin: 0 0 18px;
  font-size: 0.9rem;
}

.ic-related-section {
  margin-bottom: 22px;
  background: #fff;
  border: 1px solid #d7e6ef;
  border-radius: var(--ic-radius);
  padding: 14px 16px 10px;
}

.ic-related-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.ic-related-header h4 {
  margin: 0;
  font-size: 0.95rem;
  color: var(--ic-primary);
  font-weight: 700;
}

.ic-view-all {
  font-size: 0.82rem;
  white-space: nowrap;
}

.ic-related-empty {
  color: #7a8f9c;
  font-size: 0.88rem;
  padding: 8px 0 12px;
}

.ic-related-table-wrap {
  overflow-x: auto;
  border: 1.5px solid #9eb8c8;
  border-radius: 10px;
  background: #fff;
}

.ic-related-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}

.ic-related-table th {
  text-align: left;
  color: #065175;
  font-weight: 650;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 9px 11px;
  border-bottom: 1.5px solid #9eb8c8;
  border-right: 1px solid #d5e4ee;
  background: linear-gradient(180deg, #eef5fa, #e6f0f6);
}

.ic-related-table th:last-child,
.ic-related-table td:last-child {
  border-right: none;
}

.ic-related-table td {
  padding: 9px 11px;
  border-bottom: 1px solid #d5e4ee;
  border-right: 1px solid #e8f0f5;
  vertical-align: middle;
  color: #243945;
}

.ic-related-table tr:last-child td {
  border-bottom: none;
}

.ic-related-table tr:hover td {
  background: #f7fbfd;
}

.ic-doc-link {
  font-weight: 600;
  color: var(--ic-primary);
}

.ic-status-pill {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  background: #e8f3f8;
  color: #0b5f7a;
  font-size: 0.78rem;
  font-weight: 600;
}

.ic-sample-tested-for {
  font-weight: 600;
  color: #243447;
  line-height: 1.35;
  max-width: 280px;
}

.ic-related-table .ic-sample-report-dl {
  white-space: nowrap;
}

.ic-project-grid {
  display: grid;
  grid-template-columns: var(--ic-tile-cols);
  gap: var(--ic-tile-gap, 12px);
  margin-bottom: 20px;
  width: 100%;
}

.ic-project-grid-board {
  min-height: 320px;
}

.ic-project-empty {
  grid-column: 1 / -1;
  padding: 28px;
  text-align: center;
  color: #5f7f90;
  background: #f5f9fc;
  border: 1px dashed #cfe0ea;
  border-radius: 14px;
  aspect-ratio: auto;
  min-height: 120px;
}

/* Project tiles — square & compact */
.ic-project-tile {
  position: relative;
  gap: 6px;
  padding: 12px;
  border: 1px solid #d3e3ee;
  background:
    linear-gradient(165deg, rgba(255,255,255,0.95) 0%, rgba(243,249,252,0.98) 100%);
  cursor: pointer;
  font-family: var(--ic-font);
  transition: transform 0.2s var(--ic-ease), box-shadow 0.2s var(--ic-ease), border-color 0.2s ease;
}

.ic-project-tile-glow {
  position: absolute;
  inset: -40% auto auto -20%;
  width: 110px;
  height: 110px;
  background: radial-gradient(circle, rgba(6,81,117,0.12), transparent 70%);
  pointer-events: none;
}

.ic-project-tile.priority-High .ic-project-tile-glow,
.ic-project-tile.priority-Urgent .ic-project-tile-glow {
  background: radial-gradient(circle, rgba(236,105,31,0.16), transparent 70%);
}

.ic-project-tile::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: auto;
  width: auto;
  height: 4px;
  background: linear-gradient(90deg, var(--ic-primary), #3d8aab);
}

.ic-project-tile.priority-High::before {
  background: linear-gradient(90deg, var(--ic-accent), #f0a06a);
}
.ic-project-tile.priority-Urgent::before {
  background: linear-gradient(90deg, #c0392b, var(--ic-accent));
}
.ic-project-tile.priority-Low::before {
  background: linear-gradient(90deg, #8aa0ab, #c5d3db);
}

.ic-project-tile:hover {
  transform: translateY(-3px);
  box-shadow: var(--ic-shadow-hover);
  border-color: #a9c7d8;
}

.ic-project-tile:focus-visible {
  outline: 2px solid var(--ic-primary);
  outline-offset: 2px;
}

.ic-project-tile-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 6px;
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}

.ic-project-tile-mark {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.02em;
  color: #fff;
  background: linear-gradient(145deg, #065175, #0a7aa3);
  box-shadow: 0 4px 10px rgba(6, 81, 117, 0.18);
  flex-shrink: 0;
}

.ic-project-tile.priority-High .ic-project-tile-mark,
.ic-project-tile.priority-Urgent .ic-project-tile-mark {
  background: linear-gradient(145deg, #ec691f, #f0944f);
}

.ic-project-tile-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  justify-content: flex-end;
}

.ic-project-stage {
  display: none; /* hide in square tiles — priority badge is enough */
}

.ic-project-tile-title {
  margin: 0;
  position: relative;
  z-index: 1;
  color: #065175;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.01em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ic-project-tile-customer {
  position: relative;
  z-index: 1;
  color: #5f7f90;
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ic-project-tile-progress {
  display: block;
  position: relative;
  z-index: 1;
  margin-top: auto;
}

.ic-project-ring {
  display: none; /* bar only inside square tiles */
}

.ic-project-ring::before {
  content: none;
}

.ic-project-ring > span {
  display: none;
}

.ic-project-tile-progress-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #7a93a1;
  margin-bottom: 4px;
}

.ic-project-pending {
  margin-top: 4px;
  font-size: 11px;
  color: #1f3a45;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ic-project-pending.muted {
  color: #7a93a1;
  font-weight: 400;
}

.ic-project-tile-foot {
  display: flex;
  justify-content: space-between;
  gap: 6px;
  align-items: center;
  margin-top: 4px;
  padding-top: 6px;
  border-top: 1px solid #e2eef4;
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}

.ic-project-tile-person {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: #3d5a68;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ic-project-person-label {
  display: none; /* avatars only in square tiles */
}

.ic-project-person-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #3d8aab;
  flex: 0 0 auto;
}

.ic-project-tile-due {
  font-size: 10px;
  font-weight: 700;
  padding: 3px 6px;
  border-radius: 6px;
  background: #eef4f8;
  color: #526874;
  white-space: nowrap;
  max-width: 48%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ic-project-tile-due.urgency-upcoming {
  background: #fff3eb;
  color: #c44710;
}
.ic-project-tile-due.urgency-soon,
.ic-project-tile-due.urgency-overdue {
  background: #ffe8e3;
  color: #b13322;
}

.ic-project-board {
  margin: 8px 4px 20px;
}
.ic-project-board-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  align-items: flex-end;
  margin-bottom: 16px;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid #d7e6ef;
  background: linear-gradient(180deg, #eef6fa, #fff);
}
.ic-project-board-kicker {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5f7f90;
}
.ic-project-board-title {
  font-size: 1.35rem;
  font-weight: 700;
  color: #065175;
}
.ic-project-board-sub {
  color: #5f7f90;
  font-size: 13px;
  margin-top: 2px;
}
.ic-project-board-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.ic-project-board-tools .form-control {
  min-width: 160px;
  max-width: 220px;
}

.ic-project-section-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin: 18px 0 12px;
}
.ic-project-section-head h3 {
  margin: 0;
  color: #065175;
  font-size: 1.1rem;
  font-weight: 700;
}
.ic-project-section-head a {
  font-size: 13px;
  font-weight: 600;
}

@media (max-width: 700px) {
  .ic-project-grid,
  .ic-explore-grid,
  .ic-summary-grid,
  .ic-lead-prompt-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ic-project-board-tools .form-control {
    max-width: none;
    min-width: 0;
    flex: 1 1 140px;
  }
}

.ic-badge {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
}

.ic-badge.high { background: var(--ic-accent-soft); color: var(--ic-accent); }
.ic-badge.medium { background: var(--ic-primary-soft); color: var(--ic-primary); }
.ic-badge.low { background: #eef2f4; color: #607078; }
.ic-badge.urgent { background: #ffe5e0; color: #c0392b; }

.ic-progress {
  height: 6px;
  background: #e7eef3;
  border-radius: 999px;
  overflow: hidden;
  margin: 4px 0 2px;
}

.ic-progress > span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--ic-primary), var(--ic-accent));
  border-radius: 999px;
}

.ic-stage-tracker {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.ic-stage-tracker .stage {
  font-size: 0.68rem;
  padding: 2px 8px;
  border-radius: 999px;
  background: #eef4f8;
  color: #6a7f8c;
}

.ic-stage-tracker .stage.active {
  background: var(--ic-primary);
  color: #fff;
}

.ic-stage-tracker .stage.done {
  background: #d9f0e4;
  color: #1e7a4c;
}

/* Progress Tracker saved log */
.ic-progress-log {
  margin-top: 14px;
  border: 1px solid var(--ic-border, #d7e6ef);
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
.ic-progress-log-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: linear-gradient(180deg, #f3f8fb, #fff);
  border-bottom: 1px solid var(--ic-border, #d7e6ef);
  color: var(--ic-primary, #065175);
}
.ic-progress-log-body {
  max-height: 420px;
  overflow: auto;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: #f8fbfd;
}
.ic-progress-log-empty {
  padding: 8px 2px;
  font-size: 13px;
}
.ic-progress-entry {
  background: #fff;
  border: 1px solid #e2eef4;
  border-radius: 10px;
  padding: 10px 12px;
}
.ic-progress-entry-top {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: flex-start;
}
.ic-progress-entry-title {
  font-weight: 600;
  color: #0d3a4d;
  font-size: 13px;
}
.ic-progress-entry-actions {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
}
.ic-progress-entry-meta {
  font-size: 11px;
  color: #6b8492;
  margin-top: 4px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.ic-progress-entry-body {
  font-size: 12.5px;
  color: #2a4450;
  margin-top: 6px;
  line-height: 1.4;
  white-space: pre-wrap;
}
.ic-progress-pending {
  margin-top: 6px;
  font-size: 12px;
  color: #8a5a00;
}
.ic-progress-pill {
  display: inline-block;
  font-size: 10px;
  padding: 1px 7px;
  border-radius: 999px;
  background: #e8f3f8;
  color: #065175;
}

/* App / navbar logo — circular Instacertify mark */
.navbar .app-logo,
.navbar .navbar-brand img,
.navbar img.app-logo,
.sidebar-logo img,
.splash img,
.login-content .app-logo,
.page-container .app-logo {
  max-height: 28px !important;
  width: auto !important;
  object-fit: contain;
}

.navbar .navbar-brand {
  display: flex;
  align-items: center;
}

/* Login / website brand wordmark when used full-width */
.for-login .page-card-head img,
.login-content img[src*="instacertify_logo"],
.web-footer img[src*="instacertify_logo"],
.brand-logo img {
  max-height: 48px;
  width: auto;
  object-fit: contain;
}

/* Login page — branded atmosphere */
body.for-login,
.for-login {
  background:
    radial-gradient(ellipse 90% 70% at 8% -5%, rgba(6, 81, 117, 0.18), transparent 52%),
    radial-gradient(ellipse 70% 55% at 95% 5%, rgba(236, 105, 31, 0.16), transparent 48%),
    repeating-linear-gradient(
      -18deg,
      transparent,
      transparent 26px,
      rgba(6, 81, 117, 0.02) 26px,
      rgba(6, 81, 117, 0.02) 27px
    ),
    linear-gradient(155deg, #d7e8f1 0%, #eef5f9 48%, #fff6ee 100%) !important;
  background-attachment: fixed !important;
}

.for-login .page-card,
.login-content .page-card,
.for-login .login-content {
  border-radius: 16px !important;
  border: 1px solid rgba(6, 81, 117, 0.1) !important;
  box-shadow: var(--ic-shadow) !important;
  overflow: hidden;
}

.for-login .page-card-head,
.login-content .page-card-head {
  background: linear-gradient(120deg, #065175, #0a8fb5 60%, #ec691f) !important;
  color: #fff !important;
  padding: 22px 20px !important;
}

.for-login .page-card-head h4,
.login-content .page-card-head h4 {
  color: #fff !important;
  font-family: var(--ic-font) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
}

.ic-brand-icon {
  width: 36px;
  height: 36px;
  object-fit: contain;
  vertical-align: middle;
}

.ic-brand-logo {
  max-height: 44px;
  width: auto;
  object-fit: contain;
  vertical-align: middle;
}

.page-container .page-head {
  border-bottom: 1px solid rgba(6, 81, 117, 0.08);
}

.widget.number-widget-box,
.widget.dashboard-widget-box {
  border-radius: 14px !important;
  border-color: #d7e6ef !important;
}

.indicator-pill.green,
.indicator-pill.blue {
  border-radius: 999px;
}

/* Customer portal */
.ic-portal-body {
  margin: 0;
  background:
    radial-gradient(ellipse 100% 70% at 0% 0%, rgba(6, 81, 117, 0.12), transparent 50%),
    radial-gradient(ellipse 70% 50% at 100% 0%, rgba(236, 105, 31, 0.1), transparent 45%),
    linear-gradient(180deg, #e4eef5 0%, #f7fbfd 55%);
  min-height: 100vh;
  font-family: var(--ic-font) !important;
}

.ic-portal-wrap {
  max-width: 900px;
  margin: 0 auto;
  padding: 32px 18px 60px;
}

.ic-portal-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 12px 36px rgba(6, 81, 117, 0.12);
  padding: 24px;
  border-top: 5px solid var(--ic-primary);
}

.ic-portal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.ic-btn {
  border: none;
  border-radius: 10px;
  padding: 10px 16px;
  font-weight: 600;
  cursor: pointer;
}

.ic-btn-primary { background: var(--ic-primary); color: #fff; }
.ic-btn-accent { background: var(--ic-accent); color: #fff; }
.ic-btn-ghost { background: #eef4f8; color: var(--ic-primary); }

@media (max-width: 768px) {
  .ic-summary-grid,
  .ic-explore-grid,
  .ic-project-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}

/* CRM Lead Tracker */
.ic-crm-tracker {
  background: linear-gradient(180deg, #f3f8fb 0%, #ffffff 40%);
  border: 1px solid #d7e6ef;
  border-radius: var(--ic-radius);
  padding: 16px 18px 8px;
  margin-bottom: 12px;
}
.ic-crm-tracker-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ic-primary);
  margin-bottom: 12px;
}
.ic-crm-charts {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
  margin: 8px 0 12px;
}
.ic-crm-chart-card {
  background: #fff;
  border: 1px solid #d7e6ef;
  border-radius: var(--ic-radius);
  padding: 12px 12px 4px;
  min-height: 260px;
}
.ic-crm-chart-label {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #5b7382;
  font-weight: 600;
  margin-bottom: 6px;
}
.ic-summary-card.up .value { color: #1b7a4e; }
.ic-summary-card.down .value { color: #b42318; }
@media (max-width: 768px) {
  .ic-crm-charts { grid-template-columns: 1fr; }
}


/* Stronger two-color brand visibility */
.navbar {
  border-bottom: 3px solid var(--ic-primary) !important;
  box-shadow: 0 2px 0 var(--ic-accent);
}
.btn-primary, .btn-primary:not(:disabled) {
  background: var(--ic-primary) !important;
  border-color: var(--ic-primary) !important;
  color: #ffffff !important;
}
.btn-primary:hover {
  background: #023a52 !important;
  color: #ffffff !important;
}
.page-head .page-title .title-text,
.workspace-sidebar .item-anchor.active {
  color: var(--ic-primary) !important;
}
/* List titles stay dark ink — not brand-blue-on-blue highlight */
.list-row .level-left .ellipsis {
  color: var(--ic-ink) !important;
}
.indicator-pill.blue, .indicator.blue {
  background: var(--ic-primary-soft);
  color: var(--ic-primary);
}
.indicator-pill.orange, .indicator.orange {
  background: var(--ic-accent-soft);
  color: var(--ic-accent);
}
.form-tabs .nav-link.active {
  border-bottom-color: var(--ic-accent) !important;
  color: var(--ic-primary) !important;
  font-weight: 700;
}
.ic-crm-tracker {
  border-top: 4px solid var(--ic-primary);
  border-bottom: 3px solid var(--ic-accent);
}

/* Lead contact prompts on home / CRM tracker */
.ic-lead-prompt-panel {
  margin: 14px 0 18px;
  padding: 16px 18px;
  border: 1px solid rgba(6, 81, 117, 0.1);
  border-radius: var(--ic-radius, 14px);
  background:
    linear-gradient(135deg, rgba(255, 241, 230, 0.55) 0%, #ffffff 42%, #f3f9fc 100%);
  border-left: 5px solid var(--ic-accent, #EC691F);
  box-shadow: var(--ic-shadow);
  animation: ic-rise-in 0.6s var(--ic-rise) 0.12s both;
}
.ic-lead-prompt-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.ic-lead-prompt-title {
  font-weight: 700;
  color: var(--ic-primary, #065175);
  font-size: 1.05rem;
  letter-spacing: -0.02em;
}
.ic-lead-prompt-sub {
  font-size: 0.8rem;
  color: var(--ic-muted);
}
.ic-lead-prompt-list {
  display: grid;
  grid-template-columns: var(--ic-tile-cols);
  gap: var(--ic-tile-gap, 12px);
  width: 100%;
}
.ic-lead-prompt {
  display: flex;
  flex-direction: column;
  aspect-ratio: 1 / 1;
  text-decoration: none !important;
  color: inherit;
  background: #fff;
  border: 1px solid rgba(6, 81, 117, 0.1);
  border-radius: var(--ic-radius-sm, 12px);
  padding: 12px;
  overflow: hidden;
  transition: border-color 0.18s var(--ic-ease), box-shadow 0.18s var(--ic-ease), transform 0.18s var(--ic-ease);
}
.ic-lead-prompt:hover {
  border-color: var(--ic-primary, #065175);
  box-shadow: var(--ic-shadow);
  transform: translateY(-2px);
}
.ic-lead-prompt.overdue {
  border-color: rgba(192, 57, 43, 0.35);
  background: linear-gradient(180deg, #fff5f4 0%, #fff 70%);
  box-shadow: inset 3px 0 0 var(--ic-coral);
}
.ic-lead-prompt.today {
  border-color: rgba(236, 105, 31, 0.4);
  background: linear-gradient(180deg, #fff8f1 0%, #fff 70%);
  box-shadow: inset 3px 0 0 var(--ic-accent);
}
.ic-lead-prompt.upcoming {
  box-shadow: inset 3px 0 0 var(--ic-cyan);
}
.ic-lead-prompt-top {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: flex-start;
  margin-bottom: 6px;
}
.ic-lead-prompt-name {
  font-weight: 600;
  color: var(--ic-primary, #065175);
}
.ic-lead-prompt-when {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 3px 9px;
  border-radius: 8px;
  background: var(--ic-primary-soft);
  color: var(--ic-primary);
  white-space: nowrap;
}
.ic-lead-prompt-when.overdue {
  background: #fde8e6;
  color: var(--ic-coral);
}
.ic-lead-prompt-when.today {
  background: #ffedd9;
  color: var(--ic-amber);
}
.ic-lead-prompt-when.upcoming {
  background: #e4f4fa;
  color: var(--ic-cyan);
}
.ic-lead-prompt-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 0.8rem;
  margin-bottom: 6px;
  color: #5b7382;
}
.ic-lead-prompt-connected {
  font-weight: 600;
  font-size: 0.75rem;
}
.ic-lead-prompt-connected.connected { color: #1b7a4e; }
.ic-lead-prompt-connected.not-connected { color: #b54708; }
.ic-lead-prompt-remarks {
  font-size: 0.85rem;
  color: #334155;
  line-height: 1.35;
}
.ic-lead-prompt-empty {
  color: #5b7382;
  font-size: 0.9rem;
  padding: 8px 2px;
}

/* Lead reminder hub — whom / with / remarks */
.ic-lead-hub .ic-lead-prompt-header {
  align-items: flex-start;
}
.ic-lead-hub-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.ic-lead-hub-counts {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--ic-accent, #EC691F);
  background: var(--ic-accent-soft, #fff1e6);
  padding: 4px 10px;
  border-radius: 8px;
}
.ic-lead-hub-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}
.ic-lead-hub-chip {
  font-size: 0.72rem;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: 8px;
  background: #e8f1f6;
  color: #065175;
}
.ic-lead-hub-chip.overdue {
  background: #fde8e6;
  color: #c0392b;
}
.ic-lead-hub-chip.upcoming {
  background: #e4f4fa;
  color: #0a8fb5;
}
.ic-lead-hub-chip.tip {
  background: transparent;
  color: #5b7382;
  font-weight: 500;
  padding-left: 0;
}
.ic-lead-hub-card {
  padding: 14px 14px 12px !important;
}
.ic-lead-hub-kicker {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ic-accent, #EC691F);
  margin-bottom: 2px;
}
.ic-lead-hub-company {
  font-size: 0.8rem;
  color: #5b7382;
  margin-top: 2px;
}
.ic-lead-hub-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
}
.ic-lead-hub-cell {
  min-width: 0;
}
.ic-lead-hub-label {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #7a93a1;
  margin-bottom: 2px;
}
.ic-lead-hub-value {
  font-size: 0.84rem;
  font-weight: 560;
  color: #1c2f3a;
  word-break: break-word;
}
.ic-lead-hub-remarks-wrap {
  border-top: 1px dashed rgba(6, 81, 117, 0.12);
  padding-top: 8px;
  margin-top: 2px;
}
.ic-lead-prompt-remarks.muted {
  color: #8aa0ab;
  font-style: italic;
}
.ic-lead-prompt-phone {
  color: var(--ic-primary, #065175) !important;
  font-weight: 650;
  text-decoration: none !important;
}
a.ic-lead-prompt-phone:hover {
  color: var(--ic-accent, #EC691F) !important;
}
.ic-lead-form-reminder {
  margin: 0 0 14px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid rgba(236, 105, 31, 0.28);
  background: linear-gradient(135deg, #fff8f1 0%, #ffffff 60%);
  border-left: 5px solid var(--ic-accent, #EC691F);
}
.ic-lead-form-reminder.overdue {
  border-left-color: #c0392b;
  background: linear-gradient(135deg, #fff5f4 0%, #ffffff 60%);
}
.ic-lead-form-reminder-title {
  font-weight: 700;
  color: #065175;
  font-size: 0.95rem;
  margin-bottom: 6px;
}
.ic-lead-form-reminder-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 8px 14px;
  font-size: 0.84rem;
  color: #1c2f3a;
}
.ic-lead-form-reminder-grid strong {
  display: block;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #7a93a1;
  font-weight: 700;
  margin-bottom: 2px;
}
@media (max-width: 720px) {
  .ic-lead-hub-grid {
    grid-template-columns: 1fr;
  }
}


/* ——— Apple-inspired premium CRM chrome ——— */
.navbar {
  background: rgba(245, 249, 252, 0.78) !important;
  backdrop-filter: saturate(180%) blur(16px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(16px) !important;
  border-bottom: 1px solid rgba(6, 81, 117, 0.1) !important;
  box-shadow: 0 1px 0 rgba(236, 105, 31, 0.35), 0 8px 24px rgba(6, 81, 117, 0.04) !important;
}

.frappe-card,
.widget,
.widget.number-widget-box,
.widget.dashboard-widget-box,
.modal-content,
.ic-related-section,
.ic-project-tile,
.ic-project-card,
.ic-summary-card,
.ic-crm-chart-card,
.ic-lead-prompt-panel,
.ic-portal-card {
  border-radius: var(--ic-radius) !important;
  border: 1px solid rgba(6, 81, 117, 0.08) !important;
  box-shadow: var(--ic-shadow) !important;
  transition: transform 0.22s var(--ic-ease), box-shadow 0.22s var(--ic-ease);
}

.ic-summary-card:hover,
.ic-project-tile:hover,
.ic-project-card:hover,
.widget.number-widget-box:hover {
  transform: translateY(-2px);
  box-shadow: var(--ic-shadow-hover) !important;
}

.btn,
.btn-primary,
.btn-default,
.btn-secondary {
  border-radius: 12px !important;
  font-weight: 560 !important;
  letter-spacing: -0.01em;
  padding: 0.45rem 1.05rem !important;
  transition: background 0.18s var(--ic-ease), color 0.18s var(--ic-ease),
    border-color 0.18s var(--ic-ease), box-shadow 0.18s var(--ic-ease), transform 0.12s var(--ic-ease);
}
.btn-primary:active,
.btn:active {
  transform: scale(0.98);
}

.form-control,
.input-with-feedback,
textarea.form-control,
select.form-control {
  border-radius: var(--ic-radius-sm) !important;
  border: 1.5px solid #c9d3db !important;
  background-color: #ffffff !important;
  box-shadow: none !important;
  color: #152833 !important;
  transition: border-color 0.15s var(--ic-ease), box-shadow 0.15s var(--ic-ease), background-color 0.15s var(--ic-ease);
}

select.form-control,
select.input-with-feedback {
  background-color: #ffffff !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #7a8f9c 50%),
    linear-gradient(135deg, #7a8f9c 50%, transparent 50%),
    linear-gradient(180deg, #ffffff 0%, #ffffff 100%) !important;
  background-position:
    calc(100% - 16px) calc(50% - 2px),
    calc(100% - 11px) calc(50% - 2px),
    0 0 !important;
  background-size: 5px 5px, 5px 5px, 100% 100% !important;
  background-repeat: no-repeat !important;
  padding-right: 2rem !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.page-head {
  backdrop-filter: blur(12px);
  background: rgba(245, 249, 252, 0.75) !important;
}

.form-tabs .nav-link {
  border-radius: 8px 8px 0 0;
  transition: color 0.15s var(--ic-ease), border-color 0.15s var(--ic-ease);
}
.form-tabs .nav-link.active {
  border-bottom: 2px solid var(--ic-accent) !important;
  color: var(--ic-primary) !important;
  font-weight: 600 !important;
}

.desk-sidebar .standard-sidebar-item.selected,
.desk-sidebar .standard-sidebar-item.active,
.workspace-sidebar .item-anchor.active,
.sidebar-item-container .item-anchor.active {
  background: rgba(6, 81, 117, 0.08) !important;
  border-left: 3px solid var(--ic-accent) !important;
  border-radius: 0 12px 12px 0;
  font-weight: 600 !important;
}

/* Portal / website pages — same Poppins premium feel */
.ic-portal-body {
  min-height: 100vh;
  background:
    radial-gradient(ellipse 100% 70% at 0% 0%, rgba(6, 81, 117, 0.12), transparent 50%),
    radial-gradient(ellipse 80% 60% at 100% 0%, rgba(236, 105, 31, 0.1), transparent 45%),
    linear-gradient(180deg, #e4eef5 0%, #f5f9fc 100%);
  font-family: var(--ic-font) !important;
  color: var(--text-color);
}
.ic-portal-wrap {
  max-width: 880px;
  margin: 0 auto;
  padding: 40px 20px 64px;
}
.ic-portal-card {
  background: #fff;
  padding: 28px 28px 24px;
}
.ic-portal-card h2 {
  font-weight: 600;
  letter-spacing: -0.03em;
}
.ic-btn {
  border-radius: 12px !important;
  font-family: var(--ic-font) !important;
}
.ic-brand-logo {
  max-height: 40px;
  width: auto;
}

/* Softer list headers */
.list-row-head {
  background: rgba(6, 81, 117, 0.04) !important;
  border-bottom: 1px solid rgba(6, 81, 117, 0.08) !important;
  font-weight: 600;
  letter-spacing: -0.01em;
}

/* Workdesk + HR panels on home — square tile panels */
.ic-workdesk-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: var(--ic-tile-gap, 12px);
  margin: 8px 0 18px;
  width: 100%;
}
.ic-workdesk-panel,
.ic-hr-panel {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
  border: 1px solid rgba(6, 81, 117, 0.1);
  border-radius: var(--ic-radius-sm, 12px);
  padding: 14px;
  box-shadow: var(--ic-shadow, 0 10px 28px rgba(6, 81, 117, 0.07));
  animation: ic-rise-in 0.6s var(--ic-rise) both;
  min-height: 220px;
  display: flex;
  flex-direction: column;
}
.ic-workdesk-panel:nth-child(1) { animation-delay: 0.08s; border-top: 3px solid var(--ic-primary); }
.ic-workdesk-panel:nth-child(2) { animation-delay: 0.14s; border-top: 3px solid var(--ic-accent); }
.ic-workdesk-panel:nth-child(3) { animation-delay: 0.2s; border-top: 3px solid var(--ic-cyan); }
.ic-hr-panel {
  margin-bottom: 18px;
  border-left: 4px solid var(--ic-primary, #065175);
}
.ic-workdesk-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
}
.ic-workdesk-title {
  font-weight: 650;
  color: var(--ic-primary, #065175);
  letter-spacing: -0.02em;
}
.ic-workdesk-sub {
  font-size: 0.78rem;
  color: #5b7382;
}
.ic-workdesk-row {
  display: block;
  text-decoration: none !important;
  color: inherit;
  padding: 10px 10px;
  border-radius: 10px;
  border: 1px solid transparent;
  margin-bottom: 6px;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.ic-workdesk-row:hover {
  background: rgba(6, 81, 117, 0.04);
  border-color: rgba(6, 81, 117, 0.1);
}
.ic-workdesk-row.overdue {
  background: #fff8f7;
}
.ic-workdesk-row-main {
  font-weight: 560;
  color: #1c2f3a;
  font-size: 0.9rem;
}
.ic-workdesk-row-meta {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-top: 4px;
  font-size: 0.75rem;
  color: #5b7382;
}
.ic-hr-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
  gap: 12px;
  margin-top: 12px;
  width: 100%;
}
.ic-hr-columns > div {
  aspect-ratio: 1 / 1;
  overflow: auto;
  border: 1px solid rgba(6, 81, 117, 0.1);
  border-radius: 12px;
  padding: 12px;
  background: linear-gradient(165deg, #fff, #f7fbfd);
}
.ic-hr-col-title {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #5b7382;
  font-weight: 650;
  margin-bottom: 6px;
}
.ic-hr-profile-card {
  background: linear-gradient(135deg, #e8f4f9, #fff);
  border-radius: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(6, 81, 117, 0.08);
}
.ic-hr-name {
  font-weight: 650;
  color: var(--ic-primary, #065175);
  font-size: 1.05rem;
}
.ic-hr-meta {
  font-size: 0.82rem;
  color: #5b7382;
  margin-top: 2px;
}
.ic-hr-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.ic-hr-link {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 10px;
  background: var(--ic-primary-soft, #e8f4f9);
  color: var(--ic-primary, #065175) !important;
  font-size: 0.8rem;
  font-weight: 560;
  text-decoration: none !important;
}
.ic-hr-link:hover {
  background: var(--ic-accent-soft, #fff3eb);
  color: var(--ic-accent, #EC691F) !important;
}
@media (max-width: 960px) {
  .ic-workdesk-grid,
  .ic-hr-columns {
    grid-template-columns: 1fr;
  }
}

/* Project team chat */
.ic-project-chat {
  margin-top: 16px;
  border: 1px solid var(--ic-border, #d7e6ef);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}
.ic-project-chat-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  background: linear-gradient(180deg, #f3f8fb, #fff);
  border-bottom: 1px solid var(--ic-border, #d7e6ef);
  color: var(--ic-primary, #065175);
}
.ic-project-chat-log {
  max-height: 280px;
  overflow: auto;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #f8fbfd;
}
.ic-project-chat.dialog .ic-project-chat-log {
  max-height: 420px;
}
.ic-chat-bubble {
  align-self: flex-start;
  max-width: 85%;
  background: #fff;
  border: 1px solid #e2eef4;
  border-radius: 12px 12px 12px 4px;
  padding: 8px 10px;
}
.ic-chat-bubble.mine {
  align-self: flex-end;
  background: #e8f3f8;
  border-color: #c5dce8;
  border-radius: 12px 12px 4px 12px;
}
.ic-chat-meta {
  font-size: 11px;
  color: #6b8492;
  margin-bottom: 4px;
}
.ic-chat-body {
  font-size: 13px;
  color: #1f3a45;
  line-height: 1.4;
}
.ic-project-chat-compose {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  padding: 10px 12px;
  border-top: 1px solid var(--ic-border, #d7e6ef);
  background: #fff;
}

/* Team collaboration hub */
.ic-collab-page .layout-main-section {
  padding: 0 !important;
}
.ic-collab-shell {
  display: grid;
  grid-template-columns: minmax(260px, 320px) 1fr;
  min-height: calc(100vh - 120px);
  border: 1px solid var(--ic-border, #d7e6ef);
  border-radius: 16px;
  overflow: hidden;
  background: linear-gradient(180deg, #f4f9fc 0%, #ffffff 40%);
  margin: 8px 4px 16px;
}
.ic-collab-sidebar {
  border-right: 1px solid var(--ic-border, #d7e6ef);
  background: #f7fbfd;
  display: flex;
  flex-direction: column;
  min-height: 560px;
}
.ic-collab-side-head,
.ic-collab-main-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  padding: 16px 16px 12px;
  border-bottom: 1px solid var(--ic-border, #d7e6ef);
  background: linear-gradient(180deg, #eef6fa, #fff);
}
.ic-collab-kicker {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5f7f90;
  margin-bottom: 2px;
}
.ic-collab-side-title,
.ic-collab-main-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--ic-primary, #065175);
  line-height: 1.25;
}
.ic-collab-main-sub {
  color: #5f7f90;
  font-size: 12px;
  margin-top: 4px;
}
.ic-collab-search {
  padding: 10px 12px;
  border-bottom: 1px solid var(--ic-border, #d7e6ef);
}
.ic-collab-room-list {
  overflow: auto;
  flex: 1;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ic-collab-room {
  text-align: left;
  border: 1px solid transparent;
  background: #fff;
  border-radius: 12px;
  padding: 10px 12px;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.ic-collab-room:hover {
  border-color: #c5dce8;
  transform: translateY(-1px);
}
.ic-collab-room.active {
  border-color: #7eb3cb;
  box-shadow: 0 0 0 1px rgba(6, 81, 117, 0.08);
  background: #eaf4f9;
}
.ic-collab-room-top {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: baseline;
}
.ic-collab-room-name {
  font-weight: 600;
  color: #12485f;
  font-size: 13px;
}
.ic-collab-room-time {
  font-size: 11px;
  color: #7a93a1;
  white-space: nowrap;
}
.ic-collab-room-meta {
  font-size: 11px;
  color: #6b8492;
  margin-top: 2px;
}
.ic-collab-room-preview {
  font-size: 12px;
  color: #4d6673;
  margin-top: 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ic-collab-main {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fff;
}
.ic-collab-log {
  flex: 1;
  overflow: auto;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background:
    radial-gradient(circle at top left, rgba(6, 81, 117, 0.05), transparent 40%),
    #f8fbfd;
  min-height: 360px;
  max-height: calc(100vh - 280px);
}
.ic-collab-compose {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  padding: 12px 16px;
  border-top: 1px solid var(--ic-border, #d7e6ef);
  background: #fff;
  align-items: end;
}
.ic-collab-empty {
  color: #6b8492;
  padding: 28px 12px;
  text-align: center;
}
.ic-collab-empty.small {
  padding: 16px 8px;
  font-size: 12px;
}
@media (max-width: 900px) {
  .ic-collab-shell {
    grid-template-columns: 1fr;
  }
  .ic-collab-sidebar {
    max-height: 280px;
    min-height: 0;
  }
  .ic-collab-log {
    max-height: 420px;
  }
}

/* Quotation data-entry — stretched & clear */
.ic-quotation-form .form-section {
  margin-bottom: 18px;
}
.ic-quotation-form .form-section .section-head {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ic-primary, #065175);
  padding: 10px 0 6px;
}
.ic-quotation-form .frappe-control[data-fieldname="ic_quotation_type"] select,
.ic-quotation-form .frappe-control[data-fieldname="ic_quotation_template"] .control-input,
.ic-quotation-form .frappe-control[data-fieldname="ic_workflow_status"] select,
.ic-quotation-form .frappe-control[data-fieldname="ic_post_accept_action"] select {
  min-height: 42px;
  font-size: 14px;
}
.ic-quotation-form .frappe-control[data-fieldname="ic_quotation_type"] .control-label,
.ic-quotation-form .frappe-control[data-fieldname="ic_quotation_template"] .control-label {
  font-weight: 700;
  font-size: 13px;
  color: #12485f;
}
.ic-quotation-form .form-grid {
  border-radius: 12px;
  overflow: hidden;
}
.ic-quotation-form .grid-heading-row,
.ic-quotation-form .grid-row {
  min-height: 40px;
}
.ic-quote-entry {
  margin: 4px 0 14px;
  padding: 16px 18px;
  border: 1px solid #cfe0ea;
  border-radius: 14px;
  background: linear-gradient(180deg, #f3f9fc 0%, #ffffff 55%);
}
.ic-quote-entry-kicker {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5f7f90;
}
.ic-quote-entry-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: #065175;
  margin-top: 2px;
}
.ic-quote-entry-sub {
  color: #5f7f90;
  font-size: 13px;
  margin-top: 4px;
  margin-bottom: 12px;
}
.ic-quote-type-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}
.ic-quote-type-chip {
  text-align: left;
  border: 1px solid #d5e4ed;
  background: #fff;
  border-radius: 12px;
  padding: 10px 12px;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.ic-quote-type-chip:hover {
  border-color: #7eb3cb;
  transform: translateY(-1px);
}
.ic-quote-type-chip.active {
  border-color: #065175;
  background: #e8f3f8;
  box-shadow: 0 0 0 1px rgba(6, 81, 117, 0.12);
}
.ic-quote-type-name {
  display: block;
  font-weight: 700;
  color: #12485f;
  font-size: 13px;
}
.ic-quote-type-hint {
  display: block;
  font-size: 11px;
  color: #6b8492;
  margin-top: 2px;
  line-height: 1.35;
}
.ic-quote-steps {
  margin: 0;
  padding-left: 1.25rem;
  color: #1f3a45;
  font-size: 13px;
  line-height: 1.55;
}
.ic-quote-steps li {
  margin-bottom: 4px;
}
.ic-quote-guide-empty {
  margin: 0;
  color: #6b8492;
  font-size: 13px;
}
.ic-quote-dialog-help {
  margin-bottom: 8px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f3f9fc;
  border: 1px solid #d7e6ef;
  line-height: 1.55;
  color: #1f3a45;
}
.ic-quote-dialog-step {
  margin: 2px 0;
}
.ic-new-quote-type-chips {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 4px 0 12px;
}
.ic-new-quote-type-chip {
  text-align: left;
  border: 1px solid #c5d5df;
  background: #fff;
  border-radius: 10px;
  padding: 10px 12px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 2px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.ic-new-quote-type-chip:hover {
  border-color: #065175;
}
.ic-new-quote-type-chip.active {
  border-color: #065175;
  box-shadow: inset 0 0 0 1px #065175;
  background: #f0f7fb;
}
.ic-new-quote-type-name {
  font-weight: 650;
  color: #065175;
  font-size: 0.92rem;
}
.ic-new-quote-type-hint {
  font-size: 11px;
  color: #6b8492;
  line-height: 1.35;
}
.ic-new-quote-format-hint {
  margin: 4px 0 8px;
  font-size: 12.5px;
  line-height: 1.45;
  min-height: 1.2em;
}
@media (max-width: 640px) {
  .ic-new-quote-type-chips {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 900px) {
  .ic-quote-type-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 560px) {
  .ic-quote-type-grid {
    grid-template-columns: 1fr;
  }
}

/* Multi-assignee avatars on project tiles */
.ic-project-avatars {
  display: inline-flex;
  align-items: center;
  margin-right: 6px;
}
.ic-project-avatar {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  font-size: 9px;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(145deg, #065175, #3d8aab);
  border: 2px solid #fff;
  margin-left: -6px;
}
.ic-project-avatar:first-child {
  margin-left: 0;
}
.ic-project-avatar.more {
  background: #dce8f0;
  color: #065175;
}
.ic-project-person-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ——— Motion + desk polish (cool, not flat) ——— */
@keyframes ic-hero-in {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes ic-rise-in {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes ic-bar-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.72; }
}

#ic-home-root {
  animation: ic-rise-in 0.45s var(--ic-rise) both;
}

.widget.number-widget-box {
  border-left: 4px solid var(--ic-primary) !important;
  background: linear-gradient(180deg, #fff 0%, #f7fbfd 100%) !important;
  transition: transform 0.22s var(--ic-ease), box-shadow 0.22s var(--ic-ease) !important;
}
.widget.number-widget-box:nth-child(even) {
  border-left-color: var(--ic-accent) !important;
}
.widget.number-widget-box .widget-title,
.widget.number-widget-box .number-widget-title {
  color: var(--ic-muted) !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-size: 0.72rem !important;
}
.widget.number-widget-box .widget-content,
.widget.number-widget-box .number {
  color: var(--ic-primary) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em;
}

.page-head .page-title .title-text {
  letter-spacing: -0.03em !important;
  font-weight: 700 !important;
}

.ic-status-pill,
.ic-project-stage,
.ic-project-tile-due {
  border-radius: 8px !important;
}

.ic-view-all {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 10px;
  border-radius: 8px;
  background: rgba(6, 81, 117, 0.06);
  color: var(--ic-primary) !important;
  font-weight: 600;
  text-decoration: none !important;
  transition: background 0.15s ease, color 0.15s ease;
}
.ic-view-all:hover {
  background: var(--ic-accent-soft);
  color: var(--ic-accent) !important;
}

.ic-project-section-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin: 8px 0 14px;
}
.ic-project-section-head h3 {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.ic-lead-prompt-panel#ic-helpdesk-panel {
  border-left-color: var(--ic-primary);
  background: linear-gradient(135deg, rgba(228, 241, 248, 0.7) 0%, #fff 50%);
}
.ic-lead-prompt-panel#ic-collab-panel {
  border-left-color: var(--ic-cyan);
  background: linear-gradient(135deg, rgba(10, 143, 181, 0.08) 0%, #fff 50%);
}

.ic-project-tile-glow {
  opacity: 0.55;
}

@media (prefers-reduced-motion: reduce) {
  .ic-greeting,
  .ic-summary-card,
  .ic-workdesk-panel,
  .ic-lead-prompt-panel,
  #ic-home-root {
    animation: none !important;
  }
}

/* ——— Modern Poppins · colorful prompts & highlights ——— */
html, body, .desk-page, .page-container, .form-layout,
.navbar, .btn, input, textarea, select, .modal,
.ic-lead-prompt, .ic-summary-card, .ic-workdesk-panel {
  font-family: "Poppins", "Segoe UI", sans-serif !important;
}

.ic-lead-prompt-title,
.ic-workdesk-title,
.ic-crm-tracker-title,
.ic-project-section-head h3,
.ic-greeting-brand {
  font-family: "Poppins", "Segoe UI", sans-serif !important;
  font-weight: 700;
  letter-spacing: -0.025em;
}

/* Color-coded prompt cards */
.ic-lead-prompt.overdue,
.ic-lead-hub-card.overdue {
  background: linear-gradient(165deg, #fff5f4 0%, #ffffff 55%) !important;
  border-color: rgba(192, 57, 43, 0.35) !important;
  box-shadow: inset 4px 0 0 #c0392b, 0 10px 24px rgba(192, 57, 43, 0.08) !important;
}
.ic-lead-prompt.today,
.ic-lead-hub-card.today {
  background: linear-gradient(165deg, #fff8f0 0%, #ffffff 55%) !important;
  border-color: rgba(236, 105, 31, 0.4) !important;
  box-shadow: inset 4px 0 0 #EC691F, 0 10px 24px rgba(236, 105, 31, 0.1) !important;
}
.ic-lead-prompt.upcoming,
.ic-lead-hub-card.upcoming {
  background: linear-gradient(165deg, #f0f9fc 0%, #ffffff 55%) !important;
  border-color: rgba(10, 143, 181, 0.35) !important;
  box-shadow: inset 4px 0 0 #0a8fb5, 0 10px 24px rgba(10, 143, 181, 0.08) !important;
}

.ic-lead-prompt-when.overdue {
  background: #c0392b !important;
  color: #fff !important;
}
.ic-lead-prompt-when.today {
  background: #EC691F !important;
  color: #fff !important;
}
.ic-lead-prompt-when.upcoming {
  background: #0a8fb5 !important;
  color: #fff !important;
}

.ic-lead-hub-kicker {
  color: #EC691F !important;
}
.ic-lead-hub-card.overdue .ic-lead-hub-kicker { color: #c0392b !important; }
.ic-lead-hub-card.upcoming .ic-lead-hub-kicker { color: #0a8fb5 !important; }

.ic-lead-hub-remarks-wrap {
  background: rgba(6, 81, 117, 0.04);
  border-radius: 10px;
  border-top: none !important;
  padding: 10px 12px !important;
  margin-top: 8px !important;
}
.ic-lead-hub-card.overdue .ic-lead-hub-remarks-wrap {
  background: rgba(192, 57, 43, 0.06);
}
.ic-lead-hub-card.today .ic-lead-hub-remarks-wrap {
  background: rgba(236, 105, 31, 0.07);
}
.ic-lead-hub-card.upcoming .ic-lead-hub-remarks-wrap {
  background: rgba(10, 143, 181, 0.07);
}

.ic-lead-prompt-remarks {
  font-family: "Poppins", "Segoe UI", sans-serif !important;
  font-weight: 500;
  color: #1c2f3a !important;
}
.ic-lead-prompt-connected.connected {
  color: #1b7a4e !important;
  background: #e7f6ee;
  padding: 2px 8px;
  border-radius: 6px;
}
.ic-lead-prompt-connected.not-connected {
  color: #b54708 !important;
  background: #ffedd9;
  padding: 2px 8px;
  border-radius: 6px;
}

.ic-lead-hub-counts {
  background: linear-gradient(90deg, #EC691F, #c44710) !important;
  color: #fff !important;
  font-family: "Poppins", sans-serif !important;
  font-weight: 700 !important;
}

.ic-lead-hub-chip.overdue {
  background: #c0392b !important;
  color: #fff !important;
}
.ic-lead-hub-chip.upcoming {
  background: #0a8fb5 !important;
  color: #fff !important;
}

/* KPI / summary color rhythm — square tiles use top accent bar */
.ic-summary-card .value {
  font-family: "Poppins", sans-serif !important;
  font-weight: 800 !important;
}
.ic-summary-card.accent,
.ic-summary-card:nth-child(3n) {
  background: linear-gradient(180deg, #fff8f1 0%, #fff 70%) !important;
}
.ic-summary-card:nth-child(3n+1) {
  border-top-color: #065175 !important;
  border-left-color: rgba(6, 81, 117, 0.1) !important;
}
.ic-summary-card:nth-child(3n+2) {
  border-top-color: #EC691F !important;
  border-left-color: rgba(6, 81, 117, 0.1) !important;
}
.ic-summary-card:nth-child(3n) {
  border-top-color: #0a8fb5 !important;
  border-left-color: rgba(6, 81, 117, 0.1) !important;
}
.ic-summary-card:nth-child(3n) .value {
  color: #0a8fb5 !important;
}

/* Workdesk row urgency colors */
.ic-workdesk-row.overdue {
  background: linear-gradient(90deg, #fff5f4, #fff) !important;
  box-shadow: inset 3px 0 0 #c0392b;
}
.ic-workdesk-row .ic-lead-prompt-when.overdue,
.ic-workdesk-row-meta .ic-lead-prompt-when.overdue {
  background: #c0392b !important;
  color: #fff !important;
}
.ic-workdesk-title {
  color: #065175 !important;
}

/* Form reminder color pops */
.ic-lead-form-reminder {
  font-family: "Poppins", sans-serif !important;
}
.ic-lead-form-reminder.overdue {
  border-left-color: #c0392b !important;
  background: linear-gradient(135deg, #fff1f0 0%, #fff 55%) !important;
}
.ic-lead-form-reminder.today {
  border-left-color: #EC691F !important;
  background: linear-gradient(135deg, #fff8f1 0%, #fff 55%) !important;
}
.form-message.red .ic-lead-form-reminder-title { color: #c0392b !important; }
.form-message.orange .ic-lead-form-reminder-title { color: #EC691F !important; }

/* Navbar / page title Poppins punch */
.navbar .nav-link,
.page-head .title-text,
.desk-sidebar .standard-sidebar-label {
  font-family: "Poppins", sans-serif !important;
}

/* ——— Always-visible fillable boxes & dropdowns (no hover required) ——— */
:root,
[data-theme="light"] {
  --ic-field-border: #c9d3db;
  --ic-field-border-soft: #d2dbe2;
  --ic-field-border-hover: #065175;
  --ic-field-border-focus: #EC691F;
  --ic-field-bg: #ffffff;
  --ic-field-bg-tint: #ffffff;
  --ic-field-ring: transparent;
}

/* Rest: light grey outline — darker only on hover / focus */
body .form-control:not([disabled]):not([readonly]),
body .input-with-feedback:not([disabled]):not([readonly]),
body input.form-control:not([disabled]):not([readonly]),
body textarea.form-control:not([disabled]):not([readonly]),
body select.form-control:not([disabled]):not([readonly]),
body .awesomplete > input:not([disabled]):not([readonly]),
body .control-input input:not([type="checkbox"]):not([type="radio"]):not([disabled]):not([readonly]),
body .control-input textarea:not([disabled]):not([readonly]),
body .control-input select:not([disabled]):not([readonly]),
body .filter-box .form-control,
body .page-form .form-control,
body .modal-body .form-control,
body .grid-row-open .form-control,
body .grid-form-body .form-control {
  border: 1.5px solid #c9d3db !important;
  background-color: #ffffff !important;
  box-shadow: none !important;
}

body .form-control:not([disabled]):not([readonly]):hover,
body .input-with-feedback:not([disabled]):not([readonly]):hover,
body input.form-control:not([disabled]):not([readonly]):hover,
body textarea.form-control:not([disabled]):not([readonly]):hover,
body select.form-control:not([disabled]):not([readonly]):hover,
body .awesomplete > input:not([disabled]):not([readonly]):hover,
body .control-input input:not([type="checkbox"]):not([type="radio"]):not([disabled]):not([readonly]):hover,
body .control-input textarea:not([disabled]):not([readonly]):hover,
body .control-input select:not([disabled]):not([readonly]):hover,
body .filter-box .form-control:hover,
body .page-form .form-control:hover,
body .modal-body .form-control:hover,
body .grid-row-open .form-control:hover,
body .grid-form-body .form-control:hover {
  border-color: #065175 !important;
  box-shadow: 0 0 0 2px rgba(6, 81, 117, 0.12) !important;
}

/* Select / dropdown affordance — darker chevron area */
.form-layout select.form-control:not([disabled]):not([readonly]),
.form-page select.form-control:not([disabled]):not([readonly]),
.modal-body select.form-control:not([disabled]):not([readonly]),
.filter-box select.form-control:not([disabled]):not([readonly]),
.page-form select.form-control:not([disabled]):not([readonly]),
select.input-with-feedback:not([disabled]):not([readonly]),
.control-input-wrapper select:not([disabled]):not([readonly]) {
  border-color: #c9d3db !important;
  background-color: #ffffff !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #7a8f9c 50%),
    linear-gradient(135deg, #7a8f9c 50%, transparent 50%),
    linear-gradient(180deg, #ffffff 0%, #ffffff 100%) !important;
  background-position:
    calc(100% - 16px) calc(50% - 2px),
    calc(100% - 11px) calc(50% - 2px),
    0 0 !important;
  background-size: 5px 5px, 5px 5px, 100% 100% !important;
  background-repeat: no-repeat !important;
  padding-right: 28px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.form-layout select.form-control:not([disabled]):not([readonly]):hover,
.form-page select.form-control:not([disabled]):not([readonly]):hover,
.modal-body select.form-control:not([disabled]):not([readonly]):hover,
select.input-with-feedback:not([disabled]):not([readonly]):hover {
  border-color: #065175 !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #065175 50%),
    linear-gradient(135deg, #065175 50%, transparent 50%),
    linear-gradient(180deg, #ffffff 0%, #ffffff 100%) !important;
}

/* Link field (Awesomplete) — same visible box */
.frappe-control[data-fieldtype="Link"] .awesomplete > input,
.frappe-control[data-fieldtype="Dynamic Link"] .awesomplete > input,
.frappe-control[data-fieldtype="Data"] .control-input input,
.frappe-control[data-fieldtype="Select"] select,
.frappe-control[data-fieldtype="Date"] input,
.frappe-control[data-fieldtype="Datetime"] input,
.frappe-control[data-fieldtype="Time"] input,
.frappe-control[data-fieldtype="Int"] input,
.frappe-control[data-fieldtype="Float"] input,
.frappe-control[data-fieldtype="Currency"] input,
.frappe-control[data-fieldtype="Percent"] input,
.frappe-control[data-fieldtype="Phone"] input,
.frappe-control[data-fieldtype="Email"] input,
.frappe-control[data-fieldtype="Small Text"] textarea,
.frappe-control[data-fieldtype="Long Text"] textarea,
.frappe-control[data-fieldtype="Text"] textarea,
.frappe-control[data-fieldtype="Code"] textarea {
  border: 1.5px solid #c9d3db !important;
  background-color: #ffffff !important;
}

/* Required empty fields — soft orange edge */
.frappe-control[data-reqd="1"] .control-input .form-control:placeholder-shown,
.frappe-control[data-reqd="1"] .control-input input.input-with-feedback:placeholder-shown,
.frappe-control[data-reqd="1"] .control-input select.input-with-feedback:invalid,
.frappe-control.reqd-empty .control-input .form-control,
.frappe-control.has-error .control-input .form-control {
  border-color: #e8a06a !important;
  box-shadow: none !important;
}

/* Focus — orange ring (stronger than rest; still no hover dependency) */
.form-control:focus,
input.form-control:focus,
textarea.form-control:focus,
select.form-control:focus,
.input-with-feedback:focus,
input:not([type="checkbox"]):not([type="radio"]):focus,
textarea:focus,
select:focus,
.awesomplete > input:focus,
.datepicker input:focus {
  border-color: var(--ic-field-border-focus) !important;
  box-shadow: 0 0 0 3px rgba(236, 105, 31, 0.22) !important;
  background-color: #fff !important;
  outline: none !important;
}

/* Read-only / disabled stay quieter so editable boxes remain the visual target */
.form-control[disabled],
.form-control[readonly],
.input-with-feedback[disabled],
.input-with-feedback[readonly],
select.form-control[disabled],
select.form-control[readonly],
.frappe-control.like-disabled-input .control-value,
.frappe-control[data-fieldtype="Read Only"] .control-value,
.like-disabled-input {
  border: 1px solid rgba(6, 81, 117, 0.16) !important;
  background: #eef2f5 !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #5a7382 !important;
}

/* Child table cells — visible grid entry boxes */
.grid-body .data-row .col input.form-control,
.grid-body .data-row .col textarea.form-control,
.grid-body .data-row .col select.form-control,
.form-grid .grid-row .form-control,
.grid-row-open .form-section .form-control,
.rows .grid-row .form-control {
  border: 1.5px solid #c9d3db !important;
  background: #fff !important;
}

.grid-body .data-row .col input.form-control:hover,
.form-grid .grid-row .form-control:hover {
  border-color: #065175 !important;
}

/* List / filter bar dropdowns & search */
.filter-list .form-control,
.filter-area .form-control,
.list-filters .form-control,
.standard-filter-section .form-control,
.page-form .awesomplete > input,
.sort-selector .btn-group .btn-default,
.filter-button,
.list-row-head .filter-x-button {
  border: 1.5px solid #c9d3db !important;
}

/* Checkbox / radio — clearer hit area without relying on hover */
.frappe-control[data-fieldtype="Check"] .checkbox,
.frappe-control input[type="checkbox"],
.frappe-control input[type="radio"] {
  accent-color: var(--ic-field-border);
  outline: 2px solid rgba(6, 81, 117, 0.35);
  outline-offset: 2px;
}

/* MultiSelect / Tag fields */
.frappe-control .form-control.frappe-control,
.control-input .ql-container.ql-snow,
.frappe-control[data-fieldtype="Text Editor"] .ql-toolbar.ql-snow,
.frappe-control[data-fieldtype="Text Editor"] .ql-container.ql-snow {
  border: 1.5px solid #c9d3db !important;
  background: #ffffff !important;
}

/* Attach / color / rating wrappers */
.frappe-control[data-fieldtype="Attach"] .control-input,
.frappe-control[data-fieldtype="Attach Image"] .control-input,
.frappe-control[data-fieldtype="Color"] .control-input {
  border: 1.5px solid #c9d3db !important;
  border-radius: var(--ic-radius-sm);
  background: #ffffff;
  padding: 4px;
}

/* Keep link-btn visible (not only on hover) so dropdowns are discoverable */
.frappe-control .control-input-wrapper .link-btn,
.frappe-control .control-input .link-btn,
.frappe-control .btn-open,
.frappe-control .btn-search {
  opacity: 1 !important;
  visibility: visible !important;
  color: var(--ic-field-border) !important;
}

/* ——— Category color code (Consulting / Testing / Renewal / Other) ——— */
:root {
  --ic-cat-consulting: #065175;
  --ic-cat-consulting-bg: #e4f1f8;
  --ic-cat-testing: #EC691F;
  --ic-cat-testing-bg: #fff1e6;
  --ic-cat-renewal: #1b7a4e;
  --ic-cat-renewal-bg: #e8f6ee;
  --ic-cat-other: #5a6382;
  --ic-cat-other-bg: #eef0f5;
  --ic-cat-all: #6b8492;
  --ic-cat-all-bg: #f0f4f7;
}

/* Shared swatch */
.ic-quote-type-swatch,
.ic-new-quote-type-swatch,
.ic-quote-lib-cat-swatch {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 6px;
  flex-shrink: 0;
  vertical-align: middle;
  background: currentColor;
}

.ic-quote-type-chip,
.ic-new-quote-type-chip {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 2px 0;
}
.ic-quote-type-chip .ic-quote-type-swatch,
.ic-new-quote-type-chip .ic-new-quote-type-swatch {
  margin-top: 4px;
}
.ic-quote-type-chip .ic-quote-type-name,
.ic-quote-type-chip .ic-quote-type-hint,
.ic-new-quote-type-chip .ic-new-quote-type-name,
.ic-new-quote-type-chip .ic-new-quote-type-hint {
  width: calc(100% - 16px);
}

/* Form entry chips */
.ic-quote-type-chip.cat-consulting { border-color: rgba(6, 81, 117, 0.35); color: var(--ic-cat-consulting); }
.ic-quote-type-chip.cat-consulting .ic-quote-type-swatch { background: var(--ic-cat-consulting); }
.ic-quote-type-chip.cat-consulting .ic-quote-type-name { color: var(--ic-cat-consulting); }
.ic-quote-type-chip.cat-consulting.active {
  background: var(--ic-cat-consulting-bg);
  border-color: var(--ic-cat-consulting);
  box-shadow: inset 0 0 0 1px var(--ic-cat-consulting);
}

.ic-quote-type-chip.cat-testing { border-color: rgba(236, 105, 31, 0.4); color: var(--ic-cat-testing); }
.ic-quote-type-chip.cat-testing .ic-quote-type-swatch { background: var(--ic-cat-testing); }
.ic-quote-type-chip.cat-testing .ic-quote-type-name { color: var(--ic-cat-testing); }
.ic-quote-type-chip.cat-testing.active {
  background: var(--ic-cat-testing-bg);
  border-color: var(--ic-cat-testing);
  box-shadow: inset 0 0 0 1px var(--ic-cat-testing);
}

.ic-quote-type-chip.cat-renewal { border-color: rgba(27, 122, 78, 0.4); color: var(--ic-cat-renewal); }
.ic-quote-type-chip.cat-renewal .ic-quote-type-swatch { background: var(--ic-cat-renewal); }
.ic-quote-type-chip.cat-renewal .ic-quote-type-name { color: var(--ic-cat-renewal); }
.ic-quote-type-chip.cat-renewal.active {
  background: var(--ic-cat-renewal-bg);
  border-color: var(--ic-cat-renewal);
  box-shadow: inset 0 0 0 1px var(--ic-cat-renewal);
}

.ic-quote-type-chip.cat-other { border-color: rgba(90, 99, 130, 0.4); color: var(--ic-cat-other); }
.ic-quote-type-chip.cat-other .ic-quote-type-swatch { background: var(--ic-cat-other); }
.ic-quote-type-chip.cat-other .ic-quote-type-name { color: var(--ic-cat-other); }
.ic-quote-type-chip.cat-other.active {
  background: var(--ic-cat-other-bg);
  border-color: var(--ic-cat-other);
  box-shadow: inset 0 0 0 1px var(--ic-cat-other);
}

/* New Quotation dialog chips */
.ic-new-quote-type-chip.cat-consulting { border-color: rgba(6, 81, 117, 0.35); }
.ic-new-quote-type-chip.cat-consulting .ic-new-quote-type-swatch,
.ic-new-quote-type-chip.cat-consulting .ic-new-quote-type-name { color: var(--ic-cat-consulting); background-color: transparent; }
.ic-new-quote-type-chip.cat-consulting .ic-new-quote-type-swatch { background: var(--ic-cat-consulting); }
.ic-new-quote-type-chip.cat-consulting.active {
  background: var(--ic-cat-consulting-bg);
  border-color: var(--ic-cat-consulting);
  box-shadow: inset 0 0 0 1px var(--ic-cat-consulting);
}

.ic-new-quote-type-chip.cat-testing { border-color: rgba(236, 105, 31, 0.4); }
.ic-new-quote-type-chip.cat-testing .ic-new-quote-type-name { color: var(--ic-cat-testing); }
.ic-new-quote-type-chip.cat-testing .ic-new-quote-type-swatch { background: var(--ic-cat-testing); }
.ic-new-quote-type-chip.cat-testing.active {
  background: var(--ic-cat-testing-bg);
  border-color: var(--ic-cat-testing);
  box-shadow: inset 0 0 0 1px var(--ic-cat-testing);
}

.ic-new-quote-type-chip.cat-renewal { border-color: rgba(27, 122, 78, 0.4); }
.ic-new-quote-type-chip.cat-renewal .ic-new-quote-type-name { color: var(--ic-cat-renewal); }
.ic-new-quote-type-chip.cat-renewal .ic-new-quote-type-swatch { background: var(--ic-cat-renewal); }
.ic-new-quote-type-chip.cat-renewal.active {
  background: var(--ic-cat-renewal-bg);
  border-color: var(--ic-cat-renewal);
  box-shadow: inset 0 0 0 1px var(--ic-cat-renewal);
}

.ic-new-quote-type-chip.cat-other { border-color: rgba(90, 99, 130, 0.4); }
.ic-new-quote-type-chip.cat-other .ic-new-quote-type-name { color: var(--ic-cat-other); }
.ic-new-quote-type-chip.cat-other .ic-new-quote-type-swatch { background: var(--ic-cat-other); }
.ic-new-quote-type-chip.cat-other.active {
  background: var(--ic-cat-other-bg);
  border-color: var(--ic-cat-other);
  box-shadow: inset 0 0 0 1px var(--ic-cat-other);
}

/* Quote Format Library page — catalog layout */
.ic-quote-lib-page .layout-main-section { max-width: none; }
.ic-quote-lib-page .page-body.container,
.ic-quote-lib-page .container.page-body {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
}
.ic-quote-lib-page .layout-main,
.ic-quote-lib-page .layout-main-section-wrapper {
  max-width: none !important;
  width: 100% !important;
}
.ic-quote-lib {
  padding: 4px 4px 32px;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}
.ic-quote-lib-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  margin-bottom: 14px;
}
.ic-quote-lib-head-copy { flex: 1 1 240px; min-width: 0; }
.ic-quote-lib-kicker {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--ic-muted, #5a7382);
  font-weight: 600;
}
.ic-quote-lib-title {
  margin: 2px 0 4px;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--ic-primary, #065175);
  letter-spacing: -0.02em;
}
.ic-quote-lib-sub {
  margin: 0;
  color: var(--ic-muted, #5a7382);
  font-size: 0.9rem;
  max-width: 40rem;
}
.ic-quote-lib-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}
.ic-quote-lib-search {
  min-width: 200px;
  width: min(280px, 100%);
}
.ic-quote-lib-manage { position: relative; }
.ic-quote-lib-manage .ic-qlib-manage-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 4px);
  z-index: 20;
  min-width: 220px;
  display: none;
  padding: 6px 0;
  background: #fff;
  border: 1px solid #d5e4ed;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(6, 81, 117, 0.12);
}
.ic-quote-lib-manage .dropdown-item {
  display: block;
  padding: 8px 14px;
  color: #065175;
  text-decoration: none;
  font-size: 13px;
}
.ic-quote-lib-manage .dropdown-item:hover { background: #eef4f8; }
.ic-quote-lib-manage .dropdown-divider {
  height: 1px;
  margin: 4px 0;
  background: #e8eef2;
}

/* Slim category tabs */
.ic-quote-lib-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(6, 81, 117, 0.12);
}
.ic-quote-lib-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1.5px solid rgba(6, 81, 117, 0.18);
  background: #fff;
  border-radius: 8px;
  padding: 7px 12px;
  cursor: pointer;
  font-size: 13px;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.ic-quote-lib-tab-label { font-weight: 700; color: #065175; }
.ic-quote-lib-tab-count {
  font-weight: 700;
  font-size: 12px;
  color: #6b8492;
  background: #eef4f8;
  border-radius: 999px;
  padding: 1px 8px;
}
.ic-quote-lib-tab.active {
  border-color: #065175;
  background: #eaf4f9;
}
.ic-quote-lib-tab.cat-consulting.active {
  border-color: var(--ic-cat-consulting);
  background: var(--ic-cat-consulting-bg);
}
.ic-quote-lib-tab.cat-consulting.active .ic-quote-lib-tab-label { color: var(--ic-cat-consulting); }
.ic-quote-lib-tab.cat-testing.active {
  border-color: var(--ic-cat-testing);
  background: var(--ic-cat-testing-bg);
}
.ic-quote-lib-tab.cat-testing.active .ic-quote-lib-tab-label { color: var(--ic-cat-testing); }
.ic-quote-lib-tab.cat-renewal.active {
  border-color: var(--ic-cat-renewal);
  background: var(--ic-cat-renewal-bg);
}
.ic-quote-lib-tab.cat-renewal.active .ic-quote-lib-tab-label { color: var(--ic-cat-renewal); }
.ic-quote-lib-tab.cat-other.active {
  border-color: var(--ic-cat-other);
  background: var(--ic-cat-other-bg);
}
.ic-quote-lib-tab.cat-other.active .ic-quote-lib-tab-label { color: var(--ic-cat-other); }

.ic-quote-lib-tag-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px;
}
.ic-quote-lib-tag-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b8492;
  margin-right: 4px;
}
.ic-quote-lib-tag {
  border: 1px solid #c5d0d7;
  background: #fff;
  color: #065175;
  border-radius: 4px;
  padding: 3px 10px;
  font-size: 12px;
  cursor: pointer;
}
.ic-quote-lib-tag.active { background: #065175; color: #fff; border-color: #065175; }

/* Body: sticky category rail + main catalog */
.ic-quote-lib-body {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  width: 100%;
}
.ic-quote-lib-rail {
  position: sticky;
  top: 72px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid #d5e4ed;
  border-radius: 12px;
}
.ic-quote-lib-rail-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #6b8492;
  padding: 2px 8px 8px;
}
.ic-quote-lib-rail-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  border-radius: 8px;
  padding: 8px 10px;
  cursor: pointer;
  color: #065175;
}
.ic-quote-lib-rail-item:hover { background: #eef4f8; }
.ic-quote-lib-rail-item.active { background: #eaf4f9; font-weight: 700; }
.ic-quote-lib-rail-swatch {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #6b8492;
  flex-shrink: 0;
}
.ic-quote-lib-rail-item.cat-consulting .ic-quote-lib-rail-swatch { background: var(--ic-cat-consulting); }
.ic-quote-lib-rail-item.cat-testing .ic-quote-lib-rail-swatch { background: var(--ic-cat-testing); }
.ic-quote-lib-rail-item.cat-renewal .ic-quote-lib-rail-swatch { background: var(--ic-cat-renewal); }
.ic-quote-lib-rail-item.cat-other .ic-quote-lib-rail-swatch { background: var(--ic-cat-other); }
.ic-quote-lib-rail-label { flex: 1; font-size: 13px; }
.ic-quote-lib-rail-count {
  font-size: 12px;
  font-weight: 700;
  color: #6b8492;
}
.ic-quote-lib-main { min-width: 0; width: 100%; }
.ic-quote-lib-status {
  font-size: 12px;
  color: #6b8492;
  margin-bottom: 10px;
}

.ic-quote-lib-sections {
  display: flex;
  flex-direction: column;
  gap: 28px;
  width: 100%;
}
.ic-quote-lib-section-head {
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 2px solid rgba(6, 81, 117, 0.12);
}
.ic-quote-lib-section-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ic-quote-lib-section-swatch {
  width: 10px;
  height: 24px;
  border-radius: 4px;
  background: #6b8492;
  flex-shrink: 0;
}
.ic-quote-lib-section.cat-consulting .ic-quote-lib-section-swatch { background: var(--ic-cat-consulting); }
.ic-quote-lib-section.cat-testing .ic-quote-lib-section-swatch { background: var(--ic-cat-testing); }
.ic-quote-lib-section.cat-renewal .ic-quote-lib-section-swatch { background: var(--ic-cat-renewal); }
.ic-quote-lib-section.cat-other .ic-quote-lib-section-swatch { background: var(--ic-cat-other); }
.ic-quote-lib-section-title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: #065175;
  letter-spacing: -0.01em;
}
.ic-quote-lib-section.cat-consulting .ic-quote-lib-section-title { color: var(--ic-cat-consulting); }
.ic-quote-lib-section.cat-testing .ic-quote-lib-section-title { color: var(--ic-cat-testing); }
.ic-quote-lib-section.cat-renewal .ic-quote-lib-section-title { color: var(--ic-cat-renewal); }
.ic-quote-lib-section.cat-other .ic-quote-lib-section-title { color: var(--ic-cat-other); }
.ic-quote-lib-section-count {
  font-size: 0.8rem;
  font-weight: 700;
  color: #6b8492;
  background: #eef4f8;
  border-radius: 999px;
  padding: 2px 10px;
}
.ic-quote-lib-section-hint {
  margin: 4px 0 0 20px;
  font-size: 12px;
  color: #6b8492;
}

/* Service-family groups inside a category */
.ic-quote-lib-families {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.ic-quote-lib-family {
  border: 1px solid #d5e4ed;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
.ic-quote-lib-family-head {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  border: 0;
  background: #f5f9fc;
  padding: 10px 14px;
  cursor: pointer;
  text-align: left;
}
.ic-quote-lib-family-head:hover { background: #eef4f8; }
.ic-quote-lib-family-chevron {
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 6px solid #6b8492;
  transition: transform 0.15s ease;
}
.ic-quote-lib-family:not(.is-collapsed) .ic-quote-lib-family-chevron {
  transform: rotate(90deg);
}
.ic-quote-lib-family-name {
  flex: 1;
  font-weight: 700;
  font-size: 0.95rem;
  color: #065175;
}
.ic-quote-lib-family-count {
  font-size: 12px;
  font-weight: 700;
  color: #6b8492;
}
.ic-quote-lib-family.is-collapsed .ic-quote-lib-list { display: none; }

/* Full-width template rows */
.ic-quote-lib-list {
  display: flex;
  flex-direction: column;
}
.ic-quote-lib-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, 180px) auto;
  gap: 12px 16px;
  align-items: center;
  padding: 12px 14px;
  border-top: 1px solid #e8eef2;
  cursor: pointer;
  background: #fff;
  transition: background 0.12s ease;
}
.ic-quote-lib-row:hover,
.ic-quote-lib-row:focus {
  background: #f7fbfd;
  outline: none;
}
.ic-quote-lib-row-name {
  font-weight: 700;
  font-size: 0.98rem;
  color: #065175;
}
.ic-quote-lib-row-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 3px;
  font-size: 12px;
  color: #6b8492;
}
.ic-quote-lib-row-pricing {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: right;
}
.ic-quote-lib-row-amount {
  font-weight: 700;
  color: #065175;
  font-size: 0.95rem;
}
.ic-quote-lib-row-amount.muted { color: #6b8492; font-weight: 500; }
.ic-quote-lib-row-lines { font-size: 11px; color: #6b8492; }
.ic-quote-lib-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}
.ic-quote-lib-badge {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
}
.ic-quote-lib-badge.on { background: #e8f6ee; color: #1b7a4e; }
.ic-quote-lib-badge.off { background: #f0f0f0; color: #777; }
.ic-quote-lib-file {
  font-size: 10px;
  font-weight: 600;
  color: #0a8fb5;
}
.ic-quote-lib-card-tag {
  font-size: 11px;
  padding: 2px 7px;
  border-radius: 3px;
  background: #eef4f8;
  color: #065175;
  cursor: pointer;
}
.ic-quote-lib-empty {
  text-align: center;
  padding: 36px 16px;
  color: #6b8492;
  border: 1px dashed #c9d3db;
  border-radius: 12px;
  background: #fff;
}

@media (max-width: 960px) {
  .ic-quote-lib-body { grid-template-columns: 1fr; }
  .ic-quote-lib-rail { position: static; flex-direction: row; flex-wrap: wrap; }
  .ic-quote-lib-rail-title { width: 100%; }
  .ic-quote-lib-rail-item { width: auto; }
}
@media (max-width: 720px) {
  .ic-quote-lib-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .ic-quote-lib-row-pricing { text-align: left; }
  .ic-quote-lib-row-actions { justify-content: flex-start; }
}

/* List filter category buttons */
.ic-quote-lib-list-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 12px;
}
.ic-list-cat-btn {
  border: 1.5px solid #c9d3db !important;
  background: #fff !important;
  font-weight: 600 !important;
}
.ic-list-cat-btn.cat-all { color: var(--ic-cat-all) !important; border-color: rgba(107,132,146,0.45) !important; }
.ic-list-cat-btn.cat-consulting {
  color: var(--ic-cat-consulting) !important;
  border-color: rgba(6, 81, 117, 0.45) !important;
  background: var(--ic-cat-consulting-bg) !important;
}
.ic-list-cat-btn.cat-testing {
  color: var(--ic-cat-testing) !important;
  border-color: rgba(236, 105, 31, 0.5) !important;
  background: var(--ic-cat-testing-bg) !important;
}
.ic-list-cat-btn.cat-renewal {
  color: var(--ic-cat-renewal) !important;
  border-color: rgba(27, 122, 78, 0.45) !important;
  background: var(--ic-cat-renewal-bg) !important;
}
.ic-list-cat-btn.cat-other {
  color: var(--ic-cat-other) !important;
  border-color: rgba(90, 99, 130, 0.45) !important;
  background: var(--ic-cat-other-bg) !important;
}

/* Legend strip for create-quote dialog */
.ic-quote-dialog-help::after {
  content: "Consulting = teal · Testing = orange · Renewal = green · Other = slate";
  display: block;
  margin-top: 6px;
  font-size: 11px;
  color: #6b8492;
}

/* ——— Home / Workspaces: stretch beside sidebar, minimal side gaps ——— */
body.full-width {
  --page-max-width: 100% !important;
}

#ic-home-root,
.ic-greeting,
.ic-summary-grid,
.ic-explore-grid,
.ic-explore-panel,
.ic-project-grid,
.ic-lead-prompt-list,
.ic-workdesk-grid,
.ic-hr-columns,
.ic-crm-tracker,
.ic-lead-hub {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

/* Kill Frappe 900px gutter on Home / Workspaces only — do not crush Form pages */
[data-page-route="Workspaces"] .layout-main,
[data-page-route="Workspaces"] .layout-main-section-wrapper,
[data-page-route="instacertify-home"] .layout-main,
[data-page-route="instacertify-home"] .layout-main-section-wrapper {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

[data-page-route="Workspaces"] .layout-main-section,
[data-page-route="instacertify-home"] .layout-main-section {
  max-width: none !important;
  width: 100% !important;
  padding-left: var(--ic-home-side-pad, 4px) !important;
  padding-right: var(--ic-home-side-pad, 4px) !important;
}

[data-page-route="Workspaces"] .page-body.container,
[data-page-route="Workspaces"] .container.page-body,
[data-page-route="instacertify-home"] .page-body.container,
[data-page-route="instacertify-home"] .container.page-body {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

[data-page-route="Workspaces"] .page-head .container,
[data-page-route="Workspaces"] .page-head,
[data-page-route="instacertify-home"] .page-head .container,
[data-page-route="instacertify-home"] .page-head {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: var(--ic-home-side-pad, 4px) !important;
  padding-right: var(--ic-home-side-pad, 4px) !important;
}

/* Forms keep readable gutters beside the desk sidebar */
body.full-width [data-page-route^="Form/"] .layout-main-section,
body.full-width [id^="page-Form/"] .layout-main-section {
  padding-left: 16px !important;
  padding-right: 16px !important;
}

[data-page-route="Workspaces"] .codex-editor,
[data-page-route="Workspaces"] .ce-block__content,
[data-page-route="Workspaces"] .ce-toolbar__content,
[data-page-route="Workspaces"] .widget-group,
[data-page-route="Workspaces"] .widget.custom-block-widget,
[data-page-route="Workspaces"] .custom-block-widget,
[data-page-route="instacertify-home"] .codex-editor,
[data-page-route="instacertify-home"] .ce-block__content,
[data-page-route="instacertify-home"] .widget-group,
[data-page-route="instacertify-home"] .custom-block-widget,
#ic-home-root {
  max-width: none !important;
  width: 100% !important;
}

[data-page-route="Workspaces"] .ce-block__content,
[data-page-route="Workspaces"] .ce-toolbar__content,
[data-page-route="instacertify-home"] .ce-block__content,
[data-page-route="instacertify-home"] .ce-toolbar__content {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  padding-left: 2px !important;
  padding-right: 2px !important;
}

/* Custom HTML Block widget: drop inner side padding so greeting hugs the edge */
[data-page-route="Workspaces"] .widget.custom-block-widget,
[data-page-route="instacertify-home"] .widget.custom-block-widget,
[data-page-route="Workspaces"] .custom-block-widget-box,
[data-page-route="instacertify-home"] .custom-block-widget-box {
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  max-width: none !important;
}

/* Workspace shortcut / number widgets — square, even horizontal spread */
[data-page-route="Workspaces"] .widget-group .grid-col-3,
[data-page-route="Workspaces"] .widget-group .grid-col-2,
[data-page-route="instacertify-home"] .widget-group .grid-col-3,
[data-page-route="instacertify-home"] .widget-group .grid-col-2,
body.full-width .widget-group .grid-col-3,
body.full-width .widget-group .grid-col-2 {
  display: grid !important;
  grid-template-columns: var(--ic-tile-cols) !important;
  column-gap: var(--ic-tile-gap, 12px) !important;
  row-gap: var(--ic-tile-gap, 12px) !important;
  width: 100% !important;
  align-items: stretch !important;
}

[data-page-route="Workspaces"] .widget.shortcut-widget-box,
[data-page-route="Workspaces"] .widget.number-widget-box,
[data-page-route="instacertify-home"] .widget.shortcut-widget-box,
[data-page-route="instacertify-home"] .widget.number-widget-box,
body.full-width .widget.shortcut-widget-box,
body.full-width .widget.number-widget-box {
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

@media (min-width: 1200px) {
  :root {
    --ic-home-side-pad: 4px;
    --ic-tile-min: 140px;
  }
}

@media (max-width: 700px) {
  :root {
    --ic-tile-min: 140px;
    --ic-home-side-pad: 6px;
  }
  .ic-summary-grid,
  .ic-explore-grid,
  .ic-project-grid,
  .ic-lead-prompt-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 420px) {
  .ic-summary-grid,
  .ic-explore-grid,
  .ic-project-grid,
  .ic-lead-prompt-list {
    grid-template-columns: 1fr !important;
  }
}

/* Customer Data Drive — report share link + 8-digit code */
.ic-drive-share {
  min-width: 160px;
  vertical-align: middle;
}
.ic-report-share-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.ic-report-code {
  font-size: 12px;
  color: #065175;
  letter-spacing: 0.04em;
}
.ic-report-code b {
  font-size: 13px;
  letter-spacing: 0.14em;
  color: #EC691F;
}
/* —— Document Collection Library —— */
.ic-doclib-page .layout-main-section { max-width: none; }
.ic-doclib { padding: 4px 2px 24px; }
.ic-doclib-head {
  display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between;
  align-items: flex-start; margin-bottom: 16px;
}
.ic-doclib-kicker { font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: #5b7380; }
.ic-doclib-title { font-size: 1.45rem; font-weight: 650; color: #0D47A1; margin-top: 2px; }
.ic-doclib-sub { color: #5b7380; max-width: 52rem; margin-top: 4px; }
.ic-doclib-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ic-doclib-tools .form-control { min-width: 180px; max-width: 240px; }
.ic-doclib-cats { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.ic-doclib-cat {
  border: 1px solid #cfe0ea; background: #fff; color: #234; border-radius: 8px;
  padding: 6px 12px; font-size: 13px; cursor: pointer;
}
.ic-doclib-cat.is-active { background: #0D47A1; border-color: #0D47A1; color: #fff; }
.ic-doclib-panel { background: #F5F9FD; border: 1px solid #d7e6ef; border-radius: 12px; padding: 14px; }
.ic-doclib-panel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.ic-doclib-panel-title { font-weight: 650; color: #0D47A1; }
.ic-doclib-panel-sub { color: #5b7380; font-size: 13px; }
.ic-doclib-active-only { font-size: 13px; color: #456; display: flex; gap: 6px; align-items: center; }
.ic-doclib-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px;
}
.ic-doclib-card {
  background: #fff; border: 1px solid #d7e6ef; border-radius: 12px; padding: 14px;
  display: flex; flex-direction: column; gap: 10px;
}
.ic-doclib-card-top { display: flex; justify-content: space-between; gap: 10px; }
.ic-doclib-card-cat { font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; color: #5b7380; }
.ic-doclib-card-title { font-weight: 650; color: #123; }
.ic-doclib-card-meta { font-size: 12px; color: #5b7380; }
.ic-doclib-card-counts { display: flex; flex-direction: column; gap: 2px; font-size: 12px; color: #456; text-align: right; }
.ic-doclib-preview { margin: 0; padding-left: 1.1rem; color: #234; font-size: 13px; }
.ic-doclib-badge {
  display: inline-block; font-size: 10px; padding: 1px 6px; border-radius: 4px;
  background: #e8f1fb; color: #0D47A1; margin-right: 4px;
}
.ic-doclib-card-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: auto; }
.ic-doclib-empty { padding: 28px; text-align: center; color: #5b7380; }

/* ——— Lead form & list: fill width beside sidebar, even spread, no empty side gaps ——— */
body.full-width {
  --page-max-width: 100% !important;
}

[data-page-route="Lead"] .page-body.container,
[data-page-route="Lead"] .container.page-body,
[data-page-route="List/Lead"] .page-body.container,
[data-page-route="List/Lead"] .container.page-body,
.ic-lead-form-page .page-body.container,
.ic-lead-list-page .page-body.container {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

[data-page-route="Lead"] .layout-main,
[data-page-route="Lead"] .layout-main-section-wrapper,
[data-page-route="Lead"] .layout-main-section,
[data-page-route="List/Lead"] .layout-main,
[data-page-route="List/Lead"] .layout-main-section-wrapper,
[data-page-route="List/Lead"] .layout-main-section,
.ic-lead-form-page .layout-main,
.ic-lead-form-page .layout-main-section-wrapper,
.ic-lead-form-page .layout-main-section,
.ic-lead-list-page .layout-main,
.ic-lead-list-page .layout-main-section-wrapper,
.ic-lead-list-page .layout-main-section {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

[data-page-route="Lead"] .page-head .container,
[data-page-route="List/Lead"] .page-head .container,
.ic-lead-form-page .page-head .container,
.ic-lead-list-page .page-head .container {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
}

[data-page-route="Lead"] .std-form-layout .section-head,
[data-page-route="Lead"] .std-form-layout .section-body,
[data-page-route="Lead"] .form-layout .form-section,
[data-page-route="Lead"] .form-column,
.ic-lead-form-page .std-form-layout .section-head,
.ic-lead-form-page .std-form-layout .section-body,
.ic-lead-form-page .form-layout .form-section {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

[data-page-route="Lead"] .form-section .section-body > .row,
.ic-lead-form-page .form-section .section-body > .row {
  display: flex !important;
  flex-wrap: wrap;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

[data-page-route="Lead"] .form-column,
[data-page-route="Lead"] .form-column[class*="col-"],
.ic-lead-form-page .form-column,
.ic-lead-form-page .form-column[class*="col-"] {
  flex: 1 1 0 !important;
  flex-grow: 1 !important;
  flex-basis: 0 !important;
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
}

[data-page-route="Lead"] .form-layout,
[data-page-route="Lead"] .form-page,
.ic-lead-form-page .form-layout,
.ic-lead-form-page .form-page {
  width: 100% !important;
  max-width: none !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  box-sizing: border-box;
}

[data-page-route="List/Lead"] .frappe-list,
.ic-lead-list-page .frappe-list {
  padding-left: 8px !important;
  padding-right: 8px !important;
  box-sizing: border-box;
}

.ic-lead-form-page .ic-related-section,
.ic-lead-form-page .ic-lead-form-reminder,
.ic-lead-form-page .form-dashboard,
.ic-lead-form-page .form-dashboard-section,
[data-page-route="Lead"] .ic-related-section,
[data-page-route="Lead"] .ic-lead-form-reminder {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

.ic-lead-form-page .ic-related-table-wrap,
.ic-lead-form-page .ic-related-table,
[data-page-route="Lead"] .ic-related-table-wrap,
[data-page-route="Lead"] .ic-related-table {
  width: 100% !important;
}

.ic-lead-form-reminder-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)) !important;
  width: 100%;
}

.ic-lead-list-page .list-row-container,
.ic-lead-list-page .frappe-list,
[data-page-route="List/Lead"] .list-row-container,
[data-page-route="List/Lead"] .frappe-list {
  width: 100% !important;
  max-width: none !important;
}

@media (max-width: 720px) {
  [data-page-route="Lead"] .form-column,
  .ic-lead-form-page .form-column {
    flex: 1 1 100% !important;
  }
}


/* —— Testing & Samples unified page —— */
.ic-ts-page .layout-main-section { max-width: none; }
.ic-ts {
  padding: 6px 2px 36px;
  font-family: var(--ic-font, "Poppins", "Segoe UI", sans-serif);
  color: var(--ic-ink, #152833);
}
.ic-ts-head {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 16px;
  padding: 18px 20px;
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(6, 81, 117, 0.08), rgba(236, 105, 31, 0.06)),
    linear-gradient(180deg, #ffffff, #f4f9fc);
  border: 1px solid var(--ic-mist, #c9dce8);
  box-shadow: var(--ic-shadow, 0 10px 28px rgba(6, 81, 117, 0.07));
}
.ic-ts-kicker {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ic-muted, #5a7382);
  font-weight: 600;
}
.ic-ts-title {
  font-size: 1.55rem;
  font-weight: 700;
  color: var(--ic-primary, #065175);
  margin-top: 4px;
  letter-spacing: -0.02em;
}
.ic-ts-sub {
  color: var(--ic-muted, #5a7382);
  max-width: 46rem;
  margin-top: 6px;
  font-size: 13.5px;
  line-height: 1.45;
}
.ic-ts-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

.ic-ts-tabs {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
  padding: 4px;
  background: #eef4f8;
  border: 1px solid #d5e4ee;
  border-radius: 999px;
  width: fit-content;
  max-width: 100%;
}
.ic-ts-tab {
  appearance: none;
  border: 1px solid transparent;
  background: transparent;
  color: var(--ic-muted, #5a7382);
  border-radius: 999px;
  padding: 6px 14px;
  cursor: pointer;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  text-align: left;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.2;
  min-height: 34px;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.ic-ts-tab-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.55;
  flex: 0 0 auto;
}
.ic-ts-tab-label { display: block; font-weight: 700; font-size: 13px; }
.ic-ts-tab-hint { display: none; }
.ic-ts-tab-num { display: none; }
.ic-ts-tab-gen { color: var(--ic-primary, #065175); }
.ic-ts-tab-manage { color: var(--ic-accent, #EC691F); }
.ic-ts-tab:hover {
  background: #fff;
  box-shadow: 0 1px 4px rgba(6, 81, 117, 0.08);
}
.ic-ts-tab-gen.is-active {
  background: var(--ic-primary, #065175);
  color: #fff !important;
  border-color: var(--ic-primary, #065175);
  box-shadow: 0 4px 12px rgba(6, 81, 117, 0.22);
}
.ic-ts-tab-manage.is-active {
  background: var(--ic-accent, #EC691F);
  color: #fff !important;
  border-color: var(--ic-accent, #EC691F);
  box-shadow: 0 4px 12px rgba(236, 105, 31, 0.25);
}
.ic-ts-tab.is-active .ic-ts-tab-label,
.ic-ts-tab.is-active .ic-ts-tab-hint {
  color: #fff !important;
}
.ic-ts-tab.is-active .ic-ts-tab-dot { opacity: 1; background: #fff; }
.ic-ts-panel { min-width: 0; }

.ic-ts-gen-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 300px);
  gap: 16px;
  align-items: start;
}
@media (max-width: 980px) {
  .ic-ts-gen-layout { grid-template-columns: 1fr; }
  .ic-ts-summary { position: static !important; }
}

.ic-ts-card {
  background: #fff;
  border: 1px solid var(--ic-mist, #c9dce8);
  border-radius: 16px;
  padding: 18px 18px 20px;
  box-shadow: var(--ic-shadow, 0 10px 28px rgba(6, 81, 117, 0.07));
}
.ic-ts-card-head { margin-bottom: 4px; }
.ic-ts-card-title {
  font-weight: 700;
  color: var(--ic-primary, #065175);
  font-size: 1.05rem;
  letter-spacing: -0.01em;
}
.ic-ts-card-sub {
  color: var(--ic-muted, #5a7382);
  font-size: 13px;
  margin: 4px 0 12px;
  line-height: 1.45;
}
.ic-ts-actions { margin-top: 14px; }

.ic-ts-summary {
  position: sticky;
  top: 72px;
  background:
    linear-gradient(180deg, #fff 0%, #f7fbfe 100%);
  border-top: 3px solid var(--ic-accent, #EC691F);
}
.ic-ts-summary-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ic-accent-deep, #c44710);
  background: var(--ic-accent-soft, #fff1e6);
  padding: 3px 8px;
  border-radius: 999px;
  margin-bottom: 8px;
}
.ic-ts-summary .btn-block { width: 100%; }
.ic-ts-btn-create { margin-bottom: 8px; font-weight: 600; }
.ic-ts-sum-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid #e8f0f5;
  font-size: 13px;
}
.ic-ts-sum-row:last-child { border-bottom: 0; }
.ic-ts-sum-row span { color: var(--ic-muted, #5a7382); }
.ic-ts-sum-row b {
  color: var(--ic-primary, #065175);
  text-align: right;
  max-width: 62%;
  word-break: break-word;
  font-weight: 650;
}
.ic-ts-summary-body { margin: 8px 0 16px; }
.ic-ts-price-edit {
  margin: 0 0 14px;
  padding: 10px 12px;
  border: 1.5px solid #9eb8c8;
  border-radius: 10px;
  background: #f5fafc;
}
.ic-ts-price-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 10px;
}
.ic-ts-price-grid label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  font-weight: 600;
  color: #065175;
  margin: 0;
}
.ic-ts-price-grid label:last-child { grid-column: 1 / -1; }
.ic-ts-price-grid input { font-weight: 500; }

.ic-ts-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}
.ic-ts-step {
  font-size: 12px;
  font-weight: 600;
  padding: 7px 12px;
  border-radius: 999px;
  background: #eef4f8;
  color: #789;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.ic-ts-step b {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #cfd8dc;
  color: #234;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
}
.ic-ts-step.is-on {
  background: var(--ic-primary-soft, #e4f1f8);
  color: var(--ic-primary, #065175);
}
.ic-ts-step.is-on b {
  background: #9fc8de;
  color: var(--ic-primary, #065175);
}
.ic-ts-step.is-current {
  background: var(--ic-primary, #065175);
  color: #fff;
}
.ic-ts-step.is-current b {
  background: #fff;
  color: var(--ic-primary, #065175);
}

.ic-ts-form-shell {
  background: linear-gradient(180deg, #f7fbfe, #ffffff);
  border: 1px solid #dceaf2;
  border-radius: 14px;
  padding: 14px 14px 6px;
  margin-bottom: 4px;
}
.ic-ts-form .form-group { margin-bottom: 12px; }
.ic-ts-form .control-label {
  font-weight: 600 !important;
  color: var(--ic-primary, #065175) !important;
  font-size: 12px !important;
}

.ic-ts-section { margin-top: 18px; }
.ic-ts-section-head { margin-bottom: 10px; }
.ic-ts-section-title {
  font-weight: 700;
  color: var(--ic-primary, #065175);
  margin-bottom: 4px;
  font-size: 14px;
}

.ic-ts-table-wrap {
  overflow-x: auto;
  background: #fff;
  border: 2px solid #4f738a;
  border-radius: 10px;
}
.ic-ts-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0;
  font-size: 13px;
}
.ic-ts-table th,
.ic-ts-table td {
  padding: 10px 12px;
  border: 1.5px solid #7a9eb3;
  vertical-align: middle;
  text-align: left;
}
.ic-ts-table thead th {
  background: linear-gradient(180deg, #e8f1f7, #dce8f0);
  color: var(--ic-primary, #065175);
  font-weight: 650;
  white-space: nowrap;
  font-size: 12px;
  letter-spacing: 0.01em;
  position: sticky;
  top: 0;
  z-index: 1;
  border-bottom: 2.5px solid #3d5f73;
}
.ic-ts-table tbody tr:hover { background: #f7fbfe; }
.ic-ts-table-select tbody tr { cursor: pointer; }
.ic-ts-table tbody tr.is-selected {
  background: #e8f4fb;
  box-shadow: inset 3px 0 0 var(--ic-primary, #065175);
}
.ic-ts-empty-row { padding: 18px 14px !important; text-align: center; }
.ic-ts-radio-cell { width: 36px; }
.ic-ts-radio {
  display: inline-block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid #b7c9d4;
  background: #fff;
  vertical-align: middle;
}
.ic-ts-radio.is-on {
  border-color: var(--ic-primary, #065175);
  box-shadow: inset 0 0 0 4px var(--ic-primary, #065175);
}
.ic-ts-cell-sub {
  font-size: 11.5px;
  color: var(--ic-muted, #5a7382);
  margin-top: 2px;
}
.ic-ts-labs-cell,
.ic-ts-addr-cell,
.ic-ts-desc-cell {
  max-width: 240px;
  color: #3a5563;
  line-height: 1.35;
}
.ic-ts-money { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ic-ts-money-buy { font-weight: 700; color: var(--ic-accent, #EC691F); }
.ic-ts-price-btn {
  display: block;
  width: 100%;
  text-align: right;
  padding: 2px 4px !important;
  color: inherit !important;
  text-decoration: none !important;
  line-height: 1.25;
}
.ic-ts-price-btn:hover {
  background: #e8f1f7;
  border-radius: 6px;
}

.ic-ts-manage-card { padding-bottom: 12px; }
.ic-ts-manage-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.ic-ts-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-end;
  margin-bottom: 12px;
  padding: 12px;
  background: #f7fbfe;
  border: 1px solid #e0ecf3;
  border-radius: 12px;
}
.ic-ts-filter { min-width: 180px; flex: 1; }
.ic-ts-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 12px;
  font-size: 11px;
  color: var(--ic-muted, #5a7382);
  align-items: center;
}
.ic-ts-legend-label { font-weight: 700; color: var(--ic-primary, #065175); }
.ic-ts-legend-item { display: inline-flex; align-items: center; gap: 4px; }

.ic-ts-board { display: block; }
.ic-ts-manage-table-wrap {
  border-radius: 10px;
  border: 2px solid #4f738a;
  box-shadow: 0 1px 0 #fff inset, 0 8px 20px rgba(6, 81, 117, 0.06);
  overflow: auto;
  background: #fff;
}
.ic-ts-manage-table {
  min-width: 920px;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
.ic-ts-manage-table thead th,
.ic-ts-manage-table tbody td {
  border: 1.5px solid #5f8499 !important;
}
.ic-ts-manage-table thead th {
  border-bottom: 2.5px solid #3d5f73 !important;
  background: linear-gradient(180deg, #e8f1f7, #dce8f0);
}
.ic-ts-manage-table .ic-ts-tr-row td {
  background: #fff;
  border-bottom: 2.5px solid #3d5f73 !important;
}
.ic-ts-manage-table .ic-ts-tr-row.is-alt td {
  background: #f3f8fb;
}
.ic-ts-manage-table .ic-ts-tr-row.is-open td {
  background: #eef6fb;
  border-bottom: 1px solid #c5d8e4 !important;
}
.ic-ts-manage-table .ic-ts-tr-detail td {
  border: 1.5px solid #5f8499 !important;
  border-top: none !important;
  border-bottom: 2.5px solid #3d5f73 !important;
  background: #f5fafc;
  padding: 0;
}
.ic-ts-manage-table .ic-ts-tr-detail.is-alt td {
  background: #eef5f9;
}
.ic-ts-manage-table .ic-ts-tr-detail .ic-ts-detail-inner {
  margin: 0;
  padding: 12px 14px 14px;
  border-top: 1px dashed #b7cdd9;
}
.ic-ts-manage-table .ic-ts-tr-group.ic-ts-flash td {
  box-shadow: inset 0 0 0 2px var(--ic-primary, #065175);
  background: #eaf5fb;
}
.ic-ts-status-cell {
  min-width: 128px;
  vertical-align: middle !important;
}
.ic-ts-status {
  display: inline-block;
  max-width: 160px;
  padding: 4px 9px;
  border-radius: 6px;
  border: 1px solid #b7cdd9;
  background: #eef4f8;
  color: #065175;
  font-size: 11.5px;
  font-weight: 650;
  line-height: 1.25;
  white-space: normal;
}
.ic-ts-status.is-new { background: #e3f2fd; border-color: #90caf9; color: #1565c0; }
.ic-ts-status.is-wait { background: #fff3e0; border-color: #ffcc80; color: #ef6c00; }
.ic-ts-status.is-progress { background: #e8f5e9; border-color: #a5d6a7; color: #2e7d32; }
.ic-ts-status.is-done { background: #e0f2f1; border-color: #80cbc4; color: #00695c; }
.ic-ts-status.is-hold { background: #ffebee; border-color: #ef9a9a; color: #c62828; }
.ic-ts-show-more-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 12px;
  padding: 12px 14px;
  border: 1.5px solid #8eafc0;
  border-radius: 10px;
  background: #f5fafc;
}
.ic-ts-show-more-bar.is-all {
  background: #fff;
}
.ic-ts-show-more-meta {
  font-size: 13px;
  color: #3a5563;
  font-weight: 600;
}
.ic-ts-btn-qr {
  background: var(--ic-primary, #065175) !important;
  border-color: var(--ic-primary, #065175) !important;
  color: #fff !important;
  font-weight: 700;
  min-width: 36px;
}
.ic-ts-btn-qr:hover {
  background: #04425f !important;
  color: #fff !important;
}
.ic-ts-tr-row { cursor: pointer; transition: background 0.15s ease; }
.ic-ts-tr-row.is-open { background: #f3f9fc; }
.ic-ts-expand-cell { width: 40px; }
.ic-ts-expand-btn {
  appearance: none;
  border: 1px solid #c9dce8;
  background: #fff;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  cursor: pointer;
  color: var(--ic-primary, #065175);
  font-size: 14px;
  line-height: 1;
  padding: 0;
}
.ic-ts-expand-btn:hover { background: var(--ic-primary-soft, #e4f1f8); }
.ic-ts-tr-id {
  font-weight: 700;
  color: var(--ic-primary, #065175);
  text-decoration: none;
}
.ic-ts-tr-id:hover { text-decoration: underline; }
.ic-ts-count {
  display: inline-flex;
  min-width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #eef4f8;
  color: var(--ic-primary, #065175);
  font-weight: 700;
  font-size: 12px;
  padding: 0 7px;
}
.ic-ts-tr-detail td {
  padding: 0 !important;
  background: #f7fbfe;
  border-bottom: 1px solid #dceaf2 !important;
}
.ic-ts-detail-inner { padding: 12px 14px 16px 44px; }
.ic-ts-samples-title {
  font-weight: 700;
  color: var(--ic-primary, #065175);
  margin-bottom: 8px;
  font-size: 13px;
}
.ic-ts-samples-title .ic-ts-samples-count {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #e4f1f8;
  border: 1px solid #9eb8c8;
  font-size: 12px;
}
.ic-ts-nested-wrap {
  border-radius: 8px;
  border: 2px solid #4f738a;
  box-shadow: none;
  overflow: hidden;
  background: #fff;
}
.ic-ts-samples-table {
  border-collapse: collapse !important;
  width: 100%;
}
.ic-ts-samples-table thead th,
.ic-ts-samples-table tbody td {
  border: 1.5px solid #7a9eb3 !important;
}
.ic-ts-samples-table thead th {
  background: #e8f1f6;
  font-size: 11.5px;
  border-bottom: 2px solid #3d5f73 !important;
}
.ic-ts-samples-table tbody tr:nth-child(even) td {
  background: #f7fbfd;
}
.ic-ts-nested-empty {
  padding: 14px;
  background: #fff;
  border: 1.5px dashed #7a9eb3;
  border-radius: 10px;
  text-align: center;
}
.ic-ts-loc-select {
  min-width: 130px;
  font-size: 12px !important;
  height: 30px !important;
  border-radius: 8px !important;
}
.ic-ts-pill {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
}
.ic-ts-track-mini {
  display: inline-flex;
  gap: 3px;
  align-items: center;
  vertical-align: middle;
}
.ic-ts-track-mini-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #d5dee6;
  display: inline-block;
}
.ic-ts-track-mini-dot.is-on { background: #8ebfd8; }
.ic-ts-track-mini-dot.is-current {
  background: var(--ic-primary, #065175);
  transform: scale(1.25);
  box-shadow: 0 0 0 2px rgba(6, 81, 117, 0.18);
}

.ic-ts-jdot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #d5dee6;
  display: inline-block;
}
.ic-ts-jdot.is-on { background: #8ebfd8; }

.ic-ts-empty {
  padding: 40px 24px;
  text-align: center;
  color: var(--ic-muted, #5a7382);
  border: 1px dashed #c9dce8;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, #f7fbfe);
}
.ic-ts-empty-title {
  font-weight: 700;
  margin-bottom: 6px;
  color: var(--ic-primary, #065175);
  font-size: 15px;
}

/* Sample QR label dialog after Generate / Manage QR click */
.ic-ts-qr-dialog { padding: 2px 2px 8px; }
.ic-ts-qr-intro {
  font-size: 13px;
  color: var(--ic-muted, #5a7382);
  margin-bottom: 14px;
  line-height: 1.4;
}
.ic-ts-qr-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}
.ic-ts-qr-card {
  border: 1.5px solid #9eb8c8;
  border-radius: 12px;
  background: #fff;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ic-ts-qr-size-tag {
  font-size: 11px;
  font-weight: 700;
  color: var(--ic-primary, #065175);
  letter-spacing: 0.02em;
}
.ic-ts-qr-sticker-50 {
  width: 200px; /* visual scale of 50mm */
  height: 100px; /* visual scale of 25mm */
  object-fit: contain;
  image-rendering: pixelated;
  border: 1px solid #cfd8dc;
  background: #fff;
  border-radius: 4px;
  display: block;
}
.ic-ts-qr-missing {
  display: flex !important;
  align-items: center;
  justify-content: center;
  color: #c62828;
  font-size: 12px;
  text-align: center;
  padding: 8px;
}
.ic-ts-qr-only {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ic-ts-qr-only img {
  width: 96px;
  height: 96px;
  image-rendering: pixelated;
  border: 1px solid #d5e4ee;
  border-radius: 6px;
  background: #fff;
}
.ic-ts-qr-sticker-fallback {
  box-sizing: border-box;
  display: flex !important;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  width: 200px;
  height: 100px;
}
.ic-ts-qr-sticker-fallback .qr {
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  image-rendering: pixelated;
}
.ic-ts-qr-sticker-fallback .lbl {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #333;
}
.ic-ts-qr-sticker-fallback .trk {
  font-family: ui-monospace, monospace;
  font-size: 12px;
  font-weight: 700;
  word-break: break-all;
  margin: 2px 0 4px;
}
.ic-ts-qr-sticker-fallback .info {
  font-size: 10px;
  line-height: 1.25;
  color: #222;
}
.ic-ts-qr-code-line {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
  color: #5a7382;
  border-top: 1px dashed #d5e4ee;
  padding-top: 8px;
}
.ic-ts-qr-code-line b {
  color: var(--ic-primary, #065175);
  font-family: ui-monospace, monospace;
  word-break: break-all;
  text-align: right;
}
.ic-ts-qr-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

@media (max-width: 980px) {
  .ic-ts-gen-layout { grid-template-columns: 1fr; }
  .ic-ts-summary { position: static !important; }
}
@media (max-width: 720px) {
  .ic-ts-tabs { width: 100%; justify-content: stretch; }
  .ic-ts-tab { flex: 1 1 auto; justify-content: center; }
  .ic-ts-detail-inner { padding-left: 12px; }
  .ic-ts-head { padding: 14px; }
}


/* ==========================================================================
   Contrast & highlight uniformity (desk-wide)
   Dark fill → light text. Light fill → dark ink. No brand-blue-on-blue.
   Highlights share the same soft brightness (--ic-hl-*).
   ========================================================================== */

:root,
[data-theme="light"],
html {
  --btn-primary-color: #ffffff !important;
  --text-on-primary: #ffffff;
  --text-on-accent: #ffffff;
  --text-on-danger: #ffffff;
  --ic-hl-bg: rgba(6, 81, 117, 0.08);
  --ic-hl-bg-strong: rgba(6, 81, 117, 0.12);
  --ic-hl-edge: rgba(236, 105, 31, 0.55);
}

/* ——— Filled actions: always white (and light icons) ——— */
.btn-primary,
.btn.btn-primary,
a.btn-primary,
button.btn-primary,
.btn-primary:not(:disabled),
.btn-primary:active,
.btn-primary:focus,
.btn-primary:hover,
.btn-primary:focus-visible,
.btn-primary:disabled,
.btn-primary.disabled,
.btn-warning,
.btn.btn-warning,
a.btn-warning,
.btn-orange,
.btn.btn-accent,
.btn-accent,
.page-actions .btn-primary-dark,
.standard-actions .btn-primary,
.modal-footer .btn-primary,
.page-actions .btn-primary,
.ic-btn-primary,
.ic-btn-accent,
.ic-ts-btn-qr,
.ic-ts-tab-gen.is-active,
.ic-ts-tab-manage.is-active,
.ic-ts-step.is-current,
.ic-quote-lib-tag.active,
.ic-doclib-cat.is-active,
.btn-danger,
.btn.btn-danger,
.btn-success,
.btn.btn-success,
.btn-info,
.btn.btn-info,
.primary-action,
.btn.btn-primary-dark {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.btn-primary *,
.btn.btn-primary *,
a.btn-primary *,
.btn-warning *,
.btn-orange *,
.btn-accent *,
.btn.btn-accent *,
.btn-danger *,
.btn-success *,
.btn-info *,
.ic-btn-primary *,
.ic-btn-accent *,
.ic-ts-btn-qr *,
.ic-ts-tab-gen.is-active *,
.ic-ts-tab-manage.is-active *,
.ic-ts-step.is-current *,
.ic-quote-lib-tag.active *,
.ic-doclib-cat.is-active *,
.primary-action * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

.btn-primary .es-icon use,
.btn-primary svg,
.btn-primary .icon,
.btn-warning svg,
.btn-warning .es-icon use,
.btn-accent svg,
.btn-danger svg,
.btn-success svg {
  stroke: #ffffff !important;
  color: #ffffff !important;
}

/* Soft / outline buttons: dark ink on light surface */
.btn-default,
.btn.btn-default,
.btn-secondary,
.btn.btn-secondary,
.btn-light,
.ic-btn-ghost,
.ic-ts-expand-btn,
.ic-list-cat-btn,
.filter-button {
  color: var(--ic-ink, #152833) !important;
  -webkit-text-fill-color: var(--ic-ink, #152833) !important;
}
.btn-default:hover,
.btn-secondary:hover,
.btn-default:focus,
.btn-secondary:focus {
  color: var(--ic-primary-deep, #033447) !important;
  -webkit-text-fill-color: var(--ic-primary-deep, #033447) !important;
}

/* Category chips stay tinted light + dark label (never dark fill + dark text) */
.ic-list-cat-btn.cat-consulting,
.ic-list-cat-btn.cat-testing,
.ic-list-cat-btn.cat-renewal,
.ic-list-cat-btn.cat-other,
.ic-list-cat-btn.cat-all {
  background-image: none !important;
}
.ic-list-cat-btn.btn-primary {
  /* if Frappe flips category filter to primary, keep soft surface + dark label */
  background: var(--ic-primary-soft, #e4f1f8) !important;
  border-color: var(--ic-primary, #065175) !important;
  color: var(--ic-primary-deep, #033447) !important;
  -webkit-text-fill-color: var(--ic-primary-deep, #033447) !important;
  box-shadow: none !important;
}

/* Active Testing & Samples tabs — force light labels on dark pills */
.ic-ts-tab-gen.is-active,
.ic-ts-tab-gen.is-active .ic-ts-tab-label,
.ic-ts-tab-gen.is-active .ic-ts-tab-hint,
.ic-ts-tab-manage.is-active,
.ic-ts-tab-manage.is-active .ic-ts-tab-label,
.ic-ts-tab-manage.is-active .ic-ts-tab-hint {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Soft surfaces → dark readable ink */
.ic-explore-count,
.ic-lead-prompt-when,
.ic-lead-hub-counts,
.ic-lead-hub-chip.overdue,
.ic-lead-hub-chip.upcoming,
.ic-lead-hub-chip.today {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.ic-explore-card,
.ic-summary-card,
.ic-workdesk-panel,
.ic-lead-prompt,
.ic-lead-hub-card,
.indicator-pill,
.indicator-pill.blue,
.indicator-pill.orange,
.indicator-pill.green,
.indicator-pill.yellow,
.desk-sidebar .standard-sidebar-item.selected,
.workspace-sidebar .item-anchor.active,
.list-sidebar .list-link.active a {
  color: var(--ic-ink, #152833);
}
.indicator-pill.blue,
.indicator.blue,
.indicator-pill.green {
  background: var(--ic-primary-soft, #e4f1f8) !important;
  color: var(--ic-primary-deep, #033447) !important;
}
.indicator-pill.orange,
.indicator.orange,
.indicator-pill.yellow {
  background: var(--ic-accent-soft, #fff1e6) !important;
  color: var(--ic-accent-deep, #c44710) !important;
}
.indicator-pill.red,
.indicator.red {
  background: #ffe5e0 !important;
  color: #922b21 !important;
}

/* Uniform soft highlights — same brightness, no random word boxes */
::selection {
  background: var(--ic-hl-bg-strong) !important;
  color: var(--ic-ink, #152833) !important;
}
::-moz-selection {
  background: var(--ic-hl-bg-strong) !important;
  color: var(--ic-ink, #152833) !important;
}

mark,
.highlight,
.hljs-highlight,
.search-highlight,
.frappe-list .highlight,
.ql-editor mark,
span.highlight,
.matched,
.awesomplete mark {
  background: var(--ic-hl-bg) !important;
  color: var(--ic-ink, #152833) !important;
  border-radius: 2px;
  box-shadow: none !important;
  padding: 0 1px;
}

.list-row:hover,
.list-row.list-row-highlight,
.list-row-container .list-row:hover,
.grid-row:hover .data-row,
.grid-row > .data-row.highlight,
.grid-body .data-row:hover,
.awesomplete > ul > li[aria-selected="true"],
.awesomplete > ul > li:hover,
.dropdown-item.active,
.dropdown-item:active,
.dropdown-menu .dropdown-item:hover,
.ic-ts-table tbody tr:hover,
.ic-ts-tr-row.is-open,
.ic-ts-table tbody tr.is-selected {
  background: var(--ic-hl-bg) !important;
  color: var(--ic-ink, #152833) !important;
  box-shadow: inset 3px 0 0 var(--ic-hl-edge);
}

.list-row.list-row-highlight {
  background: var(--ic-hl-bg-strong) !important;
}

/* Sidebar active — soft tint + dark ink (not dark-on-dark) */
.desk-sidebar .standard-sidebar-item.selected,
.desk-sidebar .standard-sidebar-item.active,
.workspace-sidebar .item-anchor.active,
.sidebar-item-container .item-anchor.active {
  background: var(--ic-hl-bg-strong) !important;
  color: var(--ic-primary-deep, #033447) !important;
}

.desk-sidebar .standard-sidebar-item:hover,
.workspace-sidebar .item-anchor:hover {
  background: var(--ic-hl-bg) !important;
  color: var(--ic-primary-deep, #033447) !important;
}

/* Soften always-on checkbox “random box” outlines to match highlight weight */
.frappe-control input[type="checkbox"],
.frappe-control input[type="radio"] {
  outline: 1px solid rgba(6, 81, 117, 0.28) !important;
  outline-offset: 1px !important;
}

/* Modal / dialog primary actions */
.modal .btn-primary,
.modal-dialog .btn-primary,
.msgprint-dialog .btn-primary,
.frappe-control .btn-primary {
  background: var(--ic-primary, #065175) !important;
  border-color: var(--ic-primary, #065175) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Disabled filled buttons stay readable */
.btn-primary:disabled,
.btn-primary.disabled,
.btn-warning:disabled {
  color: #ffffff !important;
  opacity: 0.65;
}

/* ==========================================================================
   Dark action icons on light backgrounds (Cut, Minimize, Next, menu icons)
   ========================================================================== */

:root,
[data-theme="light"],
html {
  --icon-stroke: #152833 !important;
  --text-muted: #334955;
}

/* Desk Lucide / es-icons — dark ink, not washed gray */
.desk-page svg.icon,
.desk-page svg.es-icon,
.page-container svg.icon,
.page-container svg.es-icon,
.form-layout svg.icon,
.modal svg.icon,
.dropdown-menu svg.icon,
.list-row-container svg.icon,
.workspace-sidebar svg.icon,
.navbar svg.icon,
.navbar svg.es-icon,
.ic-action-icon svg.icon,
.menu-item-icon svg.icon {
  stroke: #152833 !important;
  color: #152833 !important;
  --icon-stroke: #152833 !important;
  opacity: 1 !important;
}

.desk-page svg.icon use,
.desk-page svg.es-icon use,
.page-container svg.icon use,
.modal svg.icon use,
.dropdown-menu svg.icon use,
.ic-action-icon svg use,
.menu-item-icon svg use {
  stroke: #152833 !important;
  fill: none;
}

/* Page head icon buttons: previous / next / print / menu */
.page-icon-group .icon-btn,
.page-icon-group button,
.page-head .btn-default,
.page-actions .btn-default,
.standard-actions .btn-default,
.menu-btn-group > .btn-default,
.btn-modal-close,
.btn-modal-minimize,
.modal-header .btn,
.btn[data-label="Cut"],
.btn[aria-label="Cut"],
.btn[title="Cut"],
.btn[data-original-title="Cut"],
button[aria-label="Cut"],
button[title="Cut"],
button[aria-label="Minimize"],
button[title="Minimize"],
.btn-modal-minimize,
.grid-row .btn,
.row-check,
.btn-open-row {
  color: #152833 !important;
  -webkit-text-fill-color: #152833 !important;
  opacity: 1 !important;
}

.page-icon-group .icon-btn svg,
.page-icon-group button svg,
.btn-modal-close svg,
.btn-modal-minimize svg,
.modal-header .btn svg,
.btn[data-label="Cut"] svg,
.btn[aria-label="Cut"] svg,
.btn[title="Cut"] svg,
.section-head .icon,
.section-head .octicon,
.collapse-indicator,
.form-section .section-head svg,
.grid-body .btn-open-row svg,
.grid-row-open .close-btn svg,
.link-btn svg,
.btn-search svg,
.control-input .link-btn svg,
.form-sidebar .sidebar-menu svg,
.form-sidebar .form-stats svg,
.form-sidebar .sidebar-image-section ~ .sidebar-menu svg,
.comment-box .btn svg,
.filter-section svg,
.sort-selector svg {
  stroke: #152833 !important;
  color: #152833 !important;
  --icon-stroke: #152833 !important;
  opacity: 1 !important;
}

/* Quill / text editor toolbar (Cut, bold, etc.) */
.ql-toolbar.ql-snow,
.ql-toolbar {
  color: #152833 !important;
}
.ql-toolbar button,
.ql-toolbar .ql-picker,
.ql-toolbar .ql-picker-label {
  color: #152833 !important;
  opacity: 1 !important;
}
.ql-toolbar .ql-stroke {
  stroke: #152833 !important;
  stroke-width: 1.6 !important;
}
.ql-toolbar .ql-fill,
.ql-toolbar .ql-stroke.ql-fill {
  fill: #152833 !important;
}
.ql-toolbar button:hover,
.ql-toolbar button.ql-active,
.ql-toolbar .ql-picker-label:hover {
  color: #033447 !important;
}
.ql-toolbar button:hover .ql-stroke,
.ql-toolbar button.ql-active .ql-stroke {
  stroke: #033447 !important;
}

/* Cancel / Cut text buttons on light chrome */
.page-actions .btn-default,
.standard-actions .btn-secondary,
.btn.btn-default.btn-sm,
.btn.btn-default.ellipsis {
  color: #152833 !important;
  border-color: rgba(21, 40, 51, 0.35) !important;
}
.page-actions .btn-default:hover,
.btn-modal-close:hover,
.btn-modal-minimize:hover {
  color: #033447 !important;
  background: rgba(6, 81, 117, 0.08) !important;
}

/* Keep white strokes only on filled dark buttons */
.btn-primary svg.icon,
.btn-primary svg.es-icon,
.btn-warning svg.icon,
.btn-accent svg.icon,
.btn-danger svg.icon,
.btn-success svg.icon {
  stroke: #ffffff !important;
  color: #ffffff !important;
  --icon-stroke: #ffffff !important;
}

/* ==========================================================================
   Lead Reminders page — branded buttons + outlined table + Show more (20)
   ========================================================================== */

.ic-lead-reminders-page .layout-main-section { max-width: none; }
.ic-lr-page { padding: 4px 2px 28px; }
.ic-lr-hero {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 14px;
  padding: 18px 18px 16px;
  border-radius: 14px;
  background: linear-gradient(125deg, #0A3380 0%, #0D47A1 42%, #1565C0 78%, #ec691f 145%);
  color: #fff;
  box-shadow: 0 10px 28px rgba(13, 71, 161, 0.12);
}
.ic-lr-kicker {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-weight: 600;
  color: rgba(255,255,255,0.78);
}
.ic-lr-title {
  margin: 4px 0 6px;
  font-size: 1.55rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #EC691F !important;
  font-family: "Poppins", "Segoe UI", sans-serif !important;
}
.ic-lr-sub {
  margin: 0;
  max-width: 40rem;
  color: rgba(255,255,255,0.9);
  font-size: 0.9rem;
}
.ic-lr-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}
.ic-lr-counts {
  background: rgba(255,255,255,0.16);
  border: 1px solid rgba(255,255,255,0.28);
  color: #fff !important;
  font-weight: 700;
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 0.82rem;
}
.ic-lr-btn.btn-primary {
  background: #EC691F !important;
  border-color: #EC691F !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 0 rgba(196, 85, 18, 0.35);
}
.ic-lr-btn.btn-primary:hover {
  background: #c44710 !important;
  border-color: #c44710 !important;
  color: #ffffff !important;
}
.ic-lr-btn.btn-default {
  background: #ffffff !important;
  border-color: rgba(255,255,255,0.85) !important;
  color: #0A3380 !important;
  font-weight: 650 !important;
}
.ic-lr-btn.btn-default:hover {
  background: #fff1e6 !important;
  color: #c44710 !important;
}

.ic-lr-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
  padding: 4px;
  background: #eef4f8;
  border: 1px solid #d5e4ee;
  border-radius: 999px;
  width: fit-content;
  max-width: 100%;
}
.ic-lr-filter {
  appearance: none;
  border: 1px solid transparent;
  background: transparent;
  color: #5a7382;
  border-radius: 999px;
  padding: 7px 14px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.2;
  min-height: 34px;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.ic-lr-filter:hover {
  background: #fff;
  color: #033447;
}
.ic-lr-filter.is-active,
.ic-lr-filter.active {
  background: #065175 !important;
  border-color: #065175 !important;
  color: #ffffff !important;
}

.ic-lr-table-wrap { min-width: 0; }
.ic-lr-table-scroll {
  overflow-x: auto;
  background: #fff;
  border: 2px solid #4f738a;
  border-radius: 10px;
}
.ic-lr-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0;
  font-size: 13px;
}
.ic-lr-table th,
.ic-lr-table td {
  padding: 10px 12px;
  border: 1.5px solid #7a9eb3;
  vertical-align: top;
  text-align: left;
}
.ic-lr-table thead th {
  background: linear-gradient(180deg, #e8f1f7, #dce8f0);
  color: #065175;
  font-weight: 650;
  white-space: nowrap;
  font-size: 12px;
  letter-spacing: 0.01em;
  border-bottom: 2.5px solid #3d5f73;
}
.ic-lr-row { cursor: pointer; transition: background 0.12s ease; }
.ic-lr-row:hover { background: #f7fbfe; }
.ic-lr-row.overdue { box-shadow: inset 3px 0 0 #c0392b; }
.ic-lr-row.today { box-shadow: inset 3px 0 0 #EC691F; }
.ic-lr-row.upcoming { box-shadow: inset 3px 0 0 #1565C0; }
.ic-lr-person { font-weight: 700; color: #152833; }
.ic-lr-company { font-size: 12px; color: #5a7382; margin-top: 2px; }
.ic-lr-id { font-size: 11px; color: #7a93a3; margin-top: 2px; font-family: ui-monospace, monospace; }
.ic-lr-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 8px;
  padding: 3px 8px;
  font-size: 12px;
  font-weight: 700;
  color: #fff !important;
  white-space: nowrap;
}
.ic-lr-badge.overdue { background: #c0392b; }
.ic-lr-badge.today { background: #EC691F; }
.ic-lr-badge.upcoming { background: #1565C0; }
.ic-lr-urg-label { font-size: 11px; color: #5a7382; margin-top: 4px; }
.ic-lr-phone { color: #065175; font-weight: 650; text-decoration: none; }
.ic-lr-phone:hover { color: #EC691F; text-decoration: underline; }
.ic-lr-remarks { max-width: 280px; color: #3a5563; line-height: 1.35; }
.ic-lr-remarks .muted { color: #8aa0ad; font-style: italic; }
.ic-lr-actions { white-space: nowrap; width: 1%; }
.ic-lr-actions .btn-primary {
  background: #065175 !important;
  border-color: #065175 !important;
  color: #fff !important;
  font-weight: 650;
}
.ic-lr-empty {
  padding: 28px 16px;
  text-align: center;
  color: #5a7382;
  background: #fff;
  border: 2px dashed #9eb8c8;
  border-radius: 10px;
}
.ic-lr-show-more-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
  padding: 12px 14px;
  background: #eef4f8;
  border: 1.5px solid #c9dce8;
  border-radius: 10px;
}
.ic-lr-show-more-bar.is-all { background: #fff; }
.ic-lr-show-more-meta {
  font-size: 13px;
  color: #3a5563;
  font-weight: 600;
}
.ic-lr-show-more-bar .btn-primary {
  background: #065175 !important;
  border-color: #065175 !important;
  color: #fff !important;
  font-weight: 700;
}

@media (max-width: 720px) {
  .ic-lr-hero { padding: 14px; }
  .ic-lr-filters { width: 100%; }
  .ic-lr-filter { flex: 1 1 auto; justify-content: center; text-align: center; }
}
