/* ============================================================
   INFUSEO — Apple-Style Theme for Frappe / ERPNext  v2
   Patch: 13 visual fixes from form audit (2026-03-19)
   ============================================================ */

/* ── Google Font import (closest open alternative to SF Pro) ── */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&family=DM+Mono:wght@400;500&display=swap');

/* ════════════════════════════════════════════════════════════
   1.  DESIGN TOKENS
   ════════════════════════════════════════════════════════════ */
:root {
  /* Palette */
  --apple-bg:           #f7f9fd;
  --apple-surface:      #ffffff;
  --apple-surface-2:    #f2f2f2;
  --apple-surface-3:    #e8e8ed;
  --apple-input-bg:     #f9f9f9;
  --control-bg:         #f9f8f8;
  --apple-tab-active-bg:#f0f0f0;
  --apple-tab-bar-bg:   #f6f6f6;
  --apple-border:       rgba(0, 0, 0, 0.08);
  --apple-border-strong:rgba(0, 0, 0, 0.15);

  /* Accent — Apple Blue */
  --apple-blue:         #0071e3;
  --apple-blue-hover:   #0077ed;
  --apple-blue-light:   rgba(0, 113, 227, 0.06);
  --apple-blue-glow:    rgba(0, 113, 227, 0.25);

  /* Semantic */
  --apple-red:          #ff3b30;
  --apple-green:        #34c759;
  --apple-orange:       #ff9500;
  --apple-yellow:       #ffcc00;
  --apple-purple:       #af52de;
  --apple-teal:         #32ade6;

  /* Typography */
  --apple-text-primary:   #1d1d1f;
  --apple-text-secondary: #6e6e73;
  --apple-text-tertiary:  #aeaeb2;
  --apple-text-on-blue:   #ffffff;

  /* Radius — v2: reduced from v1 for cleaner look */
  --r-xs:  4px;
  --r-sm:  6px;
  --r-md:  7px;
  --r-lg:  8px;
  --r-xl:  12px;
  --r-pill:100px;

  /* Shadows */
  --shadow-sm:  0 1px 1px rgba(0,0,0,0.02);
  --shadow-md:  0 2px 5px rgba(0,0,0,0.05);
  --shadow-lg:  0 3px 10px rgba(0,0,0,0.07);
  --shadow-xl:  0 4px 14px rgba(0,0,0,0.09);
  --shadow-blue: 0 4px 20px var(--apple-blue-glow);

  /* Motion */
  --ease-apple: cubic-bezier(0.25, 0.1, 0.25, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --t-fast:   120ms;
  --t-normal: 220ms;
  --t-slow:   400ms;

  /* Sidebar width */
  --sidebar-width: 288px;
}

/* ════════════════════════════════════════════════════════════
   2.  BASE / RESET OVERRIDES
   ════════════════════════════════════════════════════════════ */
*, *::before, *::after {
  box-sizing: border-box;
}

html, body {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 15px;
  color: var(--apple-text-primary);
  background: var(--apple-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Monospaced elements */
code, pre, .frappe-code, kbd {
  font-family: 'DM Mono', 'SF Mono', ui-monospace, monospace;
  font-size: 0.875em;
}

/* ════════════════════════════════════════════════════════════
   3.  NAVBAR
   ════════════════════════════════════════════════════════════ */
.navbar,
.navbar-main {
  background: rgba(255, 255, 255, 0.82) !important;
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid var(--apple-border) !important;
  box-shadow: none !important;
  height: 52px;
  padding: 0 20px;
  transition: background var(--t-normal) var(--ease-apple);
}

.navbar .navbar-brand {
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.3px;
  color: var(--apple-text-primary) !important;
}

.navbar .nav-link,
.navbar-light .navbar-nav .nav-link {
  color: var(--apple-text-secondary) !important;
  font-size: 14px;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: var(--r-xs);
  transition: color var(--t-fast) var(--ease-apple),
              background var(--t-fast) var(--ease-apple);
}

.navbar .nav-link:hover,
.navbar-light .navbar-nav .nav-link:hover {
  color: var(--apple-text-primary) !important;
  background: var(--apple-surface-3);
}

/* Search bar — FIX #9: white inner background, wider */
.navbar .search-bar,
.navbar .search-bar .input-group {
  width: 320px !important;
  max-width: 400px !important;
}

.navbar .search-bar input,
.navbar-search input,
#navbar-search {
  background: var(--apple-surface) !important;
  border: 1px solid var(--apple-border-strong) !important;
  border-radius: var(--r-pill) !important;
  padding: 6px 14px 6px 36px !important;
  font-size: 14px;
  color: var(--apple-text-primary) !important;
  transition: all var(--t-normal) var(--ease-apple);
}

.navbar .search-bar input:focus,
#navbar-search:focus {
  background: var(--apple-surface) !important;
  border-color: var(--apple-blue) !important;
  box-shadow: 0 0 0 3px var(--apple-blue-light) !important;
  outline: none !important;
}

/* ════════════════════════════════════════════════════════════
   4.  DESK SIDEBAR (workspace navigation)
   ════════════════════════════════════════════════════════════ */

/* Top-level sidebar containers — fixed width */
.desk-sidebar,
.layout-side-section {
  background: var(--apple-bg) !important;
  border-right: 1px solid rgba(0, 0, 0, 0.06) !important;
  width: var(--sidebar-width) !important;
  padding: 16px 12px;
  overflow: hidden !important;
}

/* Sidebar menu — fills its parent, no own border */
.sidebar-menu {
  background: var(--apple-bg) !important;
  border-right: none !important;
  width: 100% !important;
  padding: 0;
}

/* Sidebar items */
.desk-sidebar .standard-sidebar-item,
.sidebar-menu .sidebar-item,
.sidebar-menu li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  margin-bottom: 1px;
  border-radius: 8px;
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: var(--apple-text-primary);
  transition: all var(--t-fast) var(--ease-apple);
  cursor: pointer;
  text-decoration: none !important;
  line-height: 1.3;
}

/* Sidebar item icons */
.desk-sidebar .standard-sidebar-item .icon,
.desk-sidebar .standard-sidebar-item svg,
.sidebar-menu .sidebar-item .icon,
.sidebar-menu .sidebar-item svg {
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0;
  opacity: 0.55;
}

.desk-sidebar .standard-sidebar-item:hover,
.sidebar-menu .sidebar-item:hover {
  background: rgba(0, 0, 0, 0.04);
  color: var(--apple-text-primary);
}

.desk-sidebar .standard-sidebar-item.selected,
.desk-sidebar .standard-sidebar-item.active,
.sidebar-menu .sidebar-item.active {
  background: var(--apple-blue-light);
  color: var(--apple-blue);
  font-weight: 500;
}

/* Active item icon gets blue */
.desk-sidebar .standard-sidebar-item.selected .icon,
.desk-sidebar .standard-sidebar-item.selected svg,
.desk-sidebar .standard-sidebar-item.active .icon,
.desk-sidebar .standard-sidebar-item.active svg,
.sidebar-menu .sidebar-item.active .icon,
.sidebar-menu .sidebar-item.active svg {
  opacity: 1;
  color: var(--apple-blue) !important;
}

/* Sidebar section labels */
.sidebar-menu .sidebar-label,
.desk-sidebar .sidebar-section-label {
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--apple-text-tertiary);
  padding: 20px 12px 6px;
}

/* List view sidebar — override Bootstrap col-lg-2 constraint */
.col-lg-2.layout-side-section {
  flex: 0 0 var(--sidebar-width) !important;
  max-width: var(--sidebar-width) !important;
  min-width: var(--sidebar-width) !important;
}

/* Compensate main content area */
.col-lg-2.layout-side-section + .col.layout-main-section-wrapper {
  flex: 1 1 0% !important;
  max-width: calc(100% - var(--sidebar-width)) !important;
}

/* When form sidebar is hidden, let main content go full width */
.col-lg-2.layout-side-section.hide-sidebar + .col.layout-main-section-wrapper {
  max-width: 100% !important;
}

/* ════════════════════════════════════════════════════════════
   5.  MAIN CONTENT AREA
   ════════════════════════════════════════════════════════════ */
.main-section {
  background: var(--apple-bg) !important;
  padding: 0 0 24px 0 !important;
}

.page-content {
  background: var(--apple-bg) !important;
  padding: 0 !important;
}

.layout-main-section {
  background: var(--apple-bg) !important;
  padding: 15px 20px !important;
}

.layout-main-section::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 100px !important;
  background: none !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* ════════════════════════════════════════════════════════════
   6.  PAGE HEADER & ACTION BUTTONS
   ════════════════════════════════════════════════════════════ */
.page-title h1,
.title-text,
.page-head h3,
h1.title {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.5px;
  color: var(--apple-text-primary);
}

.page-head {
  background: var(--apple-bg) !important;
  border-bottom: 1px solid var(--apple-border) !important;
  padding: 16px 24px !important;
  margin-bottom: 20px;
}

.breadcrumb-area .breadcrumb {
  background: transparent;
  padding: 0;
  margin: 0;
}

.breadcrumb-area .breadcrumb-item a {
  color: var(--apple-blue);
  font-size: 13px;
}

/* FIX #10: Action buttons (prev/next/print/menu) — near-white background */
.page-actions .standard-actions .btn-default,
.page-actions .standard-actions .btn-secondary,
.page-actions .standard-actions .btn:not(.btn-primary):not(.btn-danger) {
  background: var(--apple-surface) !important;
  border: 1px solid var(--apple-border) !important;
  color: var(--apple-text-secondary) !important;
  box-shadow: none !important;
}

.page-actions .standard-actions .btn-default:hover,
.page-actions .standard-actions .btn:not(.btn-primary):not(.btn-danger):hover {
  background: var(--apple-surface-3) !important;
  color: var(--apple-text-primary) !important;
}

/* ════════════════════════════════════════════════════════════
   7.  CARDS & SECTIONS
   ════════════════════════════════════════════════════════════ */
.frappe-card,
.card,
.layout-panel {
  background: var(--apple-surface) !important;
  border: 1px solid var(--apple-border) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-sm) !important;
  padding: 20px !important;
  transition: box-shadow var(--t-normal) var(--ease-apple);
}

.frappe-card:hover,
.card:hover {
  box-shadow: var(--shadow-md) !important;
}

/* FIX #1 & #2: Form sections — reduced radius, proper spacing */
.form-section {
  background: var(--apple-surface) !important;
  border: 1px solid var(--apple-border) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-sm) !important;
  padding: 20px !important;
  margin-bottom: 16px !important;
}

/* Remove shadow/border from section-body inside form-section to prevent nesting */
.form-section .section-body {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 0 4px !important;
}

/* Section heading */
.section-head,
.card-title,
.frappe-card .card-header {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--apple-text-secondary);
  text-transform: uppercase;
  background: transparent !important;
  border-bottom: 1px solid var(--apple-border);
  padding-bottom: 12px !important;
  margin-bottom: 16px !important;
}

/* ════════════════════════════════════════════════════════════
   8.  FORM CONTROLS
   ════════════════════════════════════════════════════════════ */

/* FIX #8: More vertical padding between fields */
.frappe-control {
  margin-bottom: 12px !important;
}

.frappe-control input,
.frappe-control select,
.frappe-control textarea,
.form-control,
input.input-with-feedback,
select.input-with-feedback,
textarea.input-with-feedback {
  background: var(--apple-input-bg) !important;
  border: 1px solid rgb(0 0 0 / 6%) !important;
  border-radius: var(--r-sm) !important;
  padding: 20px 14px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 16px !important;
  font-weight: 300 !important;
  color: var(--apple-text-primary) !important;
  transition: all var(--t-normal) var(--ease-apple) !important;
  box-shadow: none !important;
}

/* Override padding only for toggle checkboxes — prevents toggle inflation from general input padding */
.frappe-control[data-fieldtype="Check"] .input-area input[type="checkbox"],
.frappe-control[data-fieldtype="Check"] .disp-area input[type="checkbox"] {
  padding: 0 !important;
}

.frappe-control input:focus,
.frappe-control select:focus,
.frappe-control textarea:focus,
.form-control:focus {
  background-color: var(--apple-surface) !important;
  border-color: var(--apple-blue) !important;
  box-shadow: 0 0 0 3px var(--apple-blue-light) !important;
  outline: none !important;
}

/* Field labels */
.frappe-control label,
.control-label,
.form-control-label {
  font-size: 15px;
  font-weight: 500;
  color: var(--apple-text-secondary);
  margin-bottom: 5px !important;
}

/* Required asterisk */
.frappe-control label .reqd,
.reqd-asterisk {
  color: var(--apple-red);
}

/* Field description / help text */
.help-box {
  line-height: 1.45;
  word-break: break-word;
  font-weight: 300;
  font-size: 12px;
}

/* Form message / info banner */
.form-message {
  position: relative;
  border-radius: var(--border-radius);
  padding: 15px 19px;
  font-size: var(--text-lg, 16px);
  margin-bottom: var(--margin-sm);
}

/* Read-only */
.frappe-control[data-fieldtype] .like-disabled-input,
.frappe-control .read-only-value,
.frappe-control .control-value {
  background: var(--apple-surface-2) !important;
  color: var(--apple-text-secondary) !important;
  border: 1px solid transparent !important;
  padding: 10px 14px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 16px !important;
  font-weight: 300 !important;
  line-height: 1.4 !important;
  border-radius: var(--r-sm) !important;
  min-height: unset !important;
}

/* FIX #3: Select dropdown — full consistency with input fields */
select.form-control,
.frappe-control[data-fieldtype="Select"] select,
.frappe-control[data-fieldtype="Select"] .form-control {
  appearance: none;
  -webkit-appearance: none;
  background-color: var(--apple-input-bg) !important;
  color: var(--apple-text-primary) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 16px !important;
  font-weight: 300 !important;
  padding: 9px 40px 9px 13px !important;
  height: auto !important;
  line-height: 1.4 !important;
  border: 1px solid rgb(0 0 0 / 6%) !important;
  border-radius: var(--r-sm) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%236e6e73' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 13px center !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}

select.form-control:focus,
.frappe-control[data-fieldtype="Select"] select:focus,
.frappe-control[data-fieldtype="Select"] .form-control:focus {
  background-color: var(--apple-surface) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%236e6e73' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 13px center !important;
  border-color: var(--apple-blue) !important;
  box-shadow: 0 0 0 3px var(--apple-blue-light) !important;
}

/* Hide Frappe's native SVG chevron — we use our own CSS background-image chevron */
.frappe-control[data-fieldtype="Select"] .select-icon,
.frappe-control[data-fieldtype="Select"] .control-input .select-icon,
.frappe-control[data-fieldtype="Select"] svg.icon-sm {
  display: none !important;
}

/* Select native option styling */
select.form-control option,
.frappe-control[data-fieldtype="Select"] select option {
  background: var(--apple-surface) !important;
  color: var(--apple-text-primary) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  padding: 10px 14px !important;
}

/* Frappe awesomplete / autocomplete dropdown (used by Link and some Select fields) */
.awesomplete > ul,
.frappe-control .link-field .awesomplete > ul,
ul.awesomplete-list {
  background: var(--apple-surface) !important;
  border: 1px solid var(--apple-border) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-lg) !important;
  padding: 4px !important;
  margin-top: 4px !important;
}

.awesomplete > ul > li,
.awesomplete > ul > li[aria-selected="true"] {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--apple-text-primary) !important;
  padding: 8px 12px !important;
  border-radius: var(--r-xs) !important;
  cursor: pointer;
}

.awesomplete > ul > li:hover,
.awesomplete > ul > li[aria-selected="true"] {
  background: var(--apple-surface-3) !important;
}

.awesomplete > ul > li mark,
.awesomplete > ul > li[aria-selected="true"] mark {
  background: var(--apple-blue-light) !important;
  color: var(--apple-blue) !important;
  font-weight: 500;
}

/* Global checkbox — square corners */
input[type=checkbox] {
  border-radius: 0;
}

/* FIX #4: Checkbox / Toggle — clear on/off distinction */
.frappe-control[data-fieldtype="Check"] .checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* Checkbox description — stack below the toggle, not beside it */
.frappe-control[data-fieldtype="Check"] .checkbox .help-box {
  width: 100%;
  margin-top: 2px;
  margin-bottom: 0;
  padding-left: 48px; /* align with label text: 40px toggle + 8px gap */
}

.frappe-control[data-fieldtype="Check"] .input-area input[type="checkbox"],
.frappe-control[data-fieldtype="Check"] .disp-area input[type="checkbox"],
input[type="checkbox"].input-with-feedback {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 40px !important;
  height: 22px !important;
  border-radius: 11px !important;
  background: #d1d1d6 !important;
  border: none !important;
  position: relative;
  cursor: pointer;
  transition: all var(--t-normal) var(--ease-apple) !important;
  flex-shrink: 0;
}

/* Disabled toggles keep visual but show non-interactive */
.frappe-control[data-fieldtype="Check"] .disp-area input[type="checkbox"] {
  cursor: default;
  opacity: 0.7;
}

/* Override Frappe's disabled-selected / disabled-deselected styles (desk.bundle.css) */
.frappe-control[data-fieldtype="Check"] .disp-area input[type="checkbox"].disabled-selected,
.frappe-control[data-fieldtype="Check"] .disp-area input[type="checkbox"].disabled-deselected,
.frappe-control[data-fieldtype="Check"] .disp-area input[type="checkbox"]:disabled {
  width: 40px !important;
  height: 22px !important;
  border-radius: 11px !important;
  background-color: #d1d1d6 !important;
  background-image: none !important;
  background-size: unset !important;
  box-shadow: none !important;
  border: none !important;
  pointer-events: none;
}

.frappe-control[data-fieldtype="Check"] .disp-area input[type="checkbox"].disabled-selected {
  background-color: var(--apple-blue) !important;
}

.frappe-control[data-fieldtype="Check"] .input-area input[type="checkbox"]::after,
.frappe-control[data-fieldtype="Check"] .disp-area input[type="checkbox"]::after,
input[type="checkbox"].input-with-feedback::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #ffffff !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.25), 0 0 1px rgba(0,0,0,0.1);
  transition: transform var(--t-normal) var(--ease-spring) !important;
}

.frappe-control[data-fieldtype="Check"] .input-area input[type="checkbox"]:checked,
.frappe-control[data-fieldtype="Check"] .disp-area input[type="checkbox"]:checked,
.frappe-control[data-fieldtype="Check"] .disp-area input[type="checkbox"].disabled-selected,
input[type="checkbox"].input-with-feedback:checked {
  background: var(--apple-blue) !important;
}

.frappe-control[data-fieldtype="Check"] .input-area input[type="checkbox"]:checked::after,
.frappe-control[data-fieldtype="Check"] .disp-area input[type="checkbox"]:checked::after,
.frappe-control[data-fieldtype="Check"] .disp-area input[type="checkbox"].disabled-selected::after,
input[type="checkbox"].input-with-feedback:checked::after {
  transform: translateX(18px);
}

/* Ensure the label next to checkbox is fully visible */
.frappe-control[data-fieldtype="Check"] .label-area,
.frappe-control[data-fieldtype="Check"] .disp-area {
  font-size: 14px;
  color: var(--apple-text-primary);
}

/* Display-mode checkbox container needs proper sizing */
.frappe-control[data-fieldtype="Check"] .disp-area {
  display: inline-flex;
  align-items: center;
  width: 40px !important;
  height: 22px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 40px !important;
  max-height: 22px !important;
  margin-right: 8px !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border-radius: 0 !important;
  overflow: visible;
}

/* Child table checkboxes and toggles — smaller size */
.frappe-control[data-fieldtype="Table"] input[type="checkbox"],
.dt-cell input[type="checkbox"],
.dt-row input[type="checkbox"],
.rows .row-check input[type="checkbox"],
.row-index input[type="checkbox"],
.select-like input[type="checkbox"],
.list-row input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 16px !important;
  height: 16px !important;
  border-radius: 0 !important;
  background: var(--apple-surface) !important;
  border: 1.5px solid var(--apple-border-strong) !important;
  position: relative;
  cursor: pointer;
  transition: all var(--t-fast) var(--ease-apple) !important;
  flex-shrink: 0;
  padding: 0 !important;
}

.frappe-control[data-fieldtype="Table"] input[type="checkbox"]::after,
.dt-cell input[type="checkbox"]::after,
.dt-row input[type="checkbox"]::after,
.rows .row-check input[type="checkbox"]::after,
.row-index input[type="checkbox"]::after,
.select-like input[type="checkbox"]::after,
.list-row input[type="checkbox"]::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 5px;
  width: 5px;
  height: 9px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity var(--t-fast) var(--ease-apple) !important;
}

.frappe-control[data-fieldtype="Table"] input[type="checkbox"]:checked,
.dt-cell input[type="checkbox"]:checked,
.dt-row input[type="checkbox"]:checked,
.rows .row-check input[type="checkbox"]:checked,
.row-index input[type="checkbox"]:checked,
.select-like input[type="checkbox"]:checked,
.list-row input[type="checkbox"]:checked {
  background: var(--apple-blue) !important;
  border-color: var(--apple-blue) !important;
}

.frappe-control[data-fieldtype="Table"] input[type="checkbox"]:checked::after,
.dt-cell input[type="checkbox"]:checked::after,
.dt-row input[type="checkbox"]:checked::after,
.rows .row-check input[type="checkbox"]:checked::after,
.row-index input[type="checkbox"]:checked::after,
.select-like input[type="checkbox"]:checked::after,
.list-row input[type="checkbox"]:checked::after {
  opacity: 1;
}

/* Child table toggle (Check field inside table) — compact toggle */
.frappe-control[data-fieldtype="Table"] .frappe-control[data-fieldtype="Check"] input[type="checkbox"],
.dt-cell .frappe-control[data-fieldtype="Check"] input[type="checkbox"] {
  width: 28px !important;
  height: 16px !important;
  border-radius: 8px !important;
  background: var(--apple-surface-3) !important;
  border: 1.5px solid var(--apple-border-strong) !important;
}

.frappe-control[data-fieldtype="Table"] .frappe-control[data-fieldtype="Check"] input[type="checkbox"]::after,
.dt-cell .frappe-control[data-fieldtype="Check"] input[type="checkbox"]::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--apple-surface) !important;
  border: none;
  box-shadow: 0 1px 2px rgba(0,0,0,0.2);
  transform: rotate(0deg);
  opacity: 1;
  transition: transform var(--t-normal) var(--ease-spring) !important;
}

.frappe-control[data-fieldtype="Table"] .frappe-control[data-fieldtype="Check"] input[type="checkbox"]:checked,
.dt-cell .frappe-control[data-fieldtype="Check"] input[type="checkbox"]:checked {
  background: var(--apple-blue) !important;
  border-color: var(--apple-blue) !important;
}

.frappe-control[data-fieldtype="Table"] .frappe-control[data-fieldtype="Check"] input[type="checkbox"]:checked::after,
.dt-cell .frappe-control[data-fieldtype="Check"] input[type="checkbox"]:checked::after {
  transform: translateX(12px);
}

/* FIX #5: Phone field — prevent number overlapping with country flag */
.frappe-control[data-fieldtype="Phone"] input,
.phone-picker .phone-input,
.iti input[type="tel"],
input.phone-input {
  padding-left: 52px !important;
}

/* FIX #6: Phone country picker dropdown polish */
.phone-picker .country-picker,
.iti__country-list {
  background: var(--apple-surface) !important;
  border: 1px solid var(--apple-border) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-lg) !important;
  max-height: 250px;
  overflow-y: auto;
}

.phone-picker .country-picker .country-item:hover,
.iti__country:hover {
  background: var(--apple-surface-3) !important;
}

.phone-picker .search-input,
.iti__search-input {
  background: var(--apple-surface) !important;
  border: 1px solid var(--apple-border-strong) !important;
  border-radius: var(--r-sm) !important;
  padding: 6px 10px !important;
  font-size: 13px !important;
  margin: 4px !important;
}

/* ════════════════════════════════════════════════════════════
   9.  BUTTONS
   ════════════════════════════════════════════════════════════ */

/* Primary */
.btn-primary,
.btn.btn-primary {
  background: var(--apple-blue) !important;
  border: none !important;
  border-radius: var(--r-pill) !important;
  padding: 9px 22px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: -0.1px;
  color: #fff !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.18) inset, var(--shadow-blue) !important;
  transition: all var(--t-fast) var(--ease-apple) !important;
  cursor: pointer;
}

.btn-primary:hover, .btn.btn-primary:hover {
  background: var(--apple-blue-hover) !important;
  transform: translateY(-1px);
  box-shadow: 0 1px 0 rgba(255,255,255,0.2) inset, 0 6px 24px var(--apple-blue-glow) !important;
}

.btn-primary:active, .btn.btn-primary:active {
  transform: translateY(0);
  box-shadow: none !important;
}

/* Secondary / Default */
.btn-default,
.btn.btn-default,
.btn-secondary,
.btn.btn-secondary {
  background: var(--apple-surface-2) !important;
  border: 1px solid var(--apple-border-strong) !important;
  border-radius: var(--r-pill) !important;
  padding: 8px 20px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--apple-text-primary) !important;
  box-shadow: var(--shadow-sm) !important;
  transition: all var(--t-fast) var(--ease-apple) !important;
}

.btn-default:hover, .btn.btn-default:hover,
.btn-secondary:hover, .btn.btn-secondary:hover {
  background: var(--apple-surface) !important;
  border-color: var(--apple-border-strong) !important;
  transform: translateY(-1px);
  box-shadow: var(--shadow-md) !important;
}

/* Danger */
.btn-danger, .btn.btn-danger {
  background: var(--apple-red) !important;
  border: none !important;
  border-radius: var(--r-pill) !important;
  color: #fff !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 9px 22px !important;
  transition: all var(--t-fast) var(--ease-apple) !important;
}

.btn-danger:hover { opacity: 0.88; transform: translateY(-1px); }

/* Icon buttons */
.btn-icon,
.btn.icon-btn {
  border-radius: var(--r-sm) !important;
  padding: 6px 8px !important;
  color: var(--apple-text-secondary) !important;
  background: transparent !important;
  border: none !important;
  transition: background var(--t-fast) var(--ease-apple) !important;
}

.btn-icon:hover { background: var(--apple-surface-3) !important; }

/* ════════════════════════════════════════════════════════════
   10.  BADGES & INDICATORS (Status Pills)
   ════════════════════════════════════════════════════════════ */
.badge,
.indicator-pill,
.label-pill {
  border-radius: var(--r-pill) !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  padding: 3px 10px !important;
  border: none !important;
}

.indicator-pill.green, .badge-success {
  background: rgba(52, 199, 89, 0.15) !important;
  color: #248a3d !important;
}

.indicator-pill.red, .badge-danger {
  background: rgba(255, 59, 48, 0.12) !important;
  color: #c9181b !important;
}

.indicator-pill.blue, .badge-info, .badge-primary {
  background: var(--apple-blue-light) !important;
  color: var(--apple-blue) !important;
}

.indicator-pill.yellow, .badge-warning {
  background: rgba(255, 204, 0, 0.2) !important;
  color: #a07200 !important;
}

.indicator-pill.orange {
  background: rgba(255, 149, 0, 0.15) !important;
  color: #c25400 !important;
}

.indicator-pill.gray, .indicator-pill.grey {
  background: var(--apple-surface-3) !important;
  color: var(--apple-text-secondary) !important;
}

/* ════════════════════════════════════════════════════════════
   11.  LIST / DATA TABLE
   ════════════════════════════════════════════════════════════ */
.dt-wrapper,
.datatable,
.list-row-container {
  border-radius: 12px !important;
  border: 0 solid rgba(0, 0, 0, 0.06) !important;
  overflow: hidden;
  background: var(--apple-surface) !important;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.04) !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

.dt-header,
.datatable .dt-row-header,
.list-row-head {
  cursor: default;
  background-color: var(--subtle-accent);
  height: 30px;
  margin: .5rem var(--padding-xs);
  border-radius: var(--border-radius-tiny);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.dt-header .dt-cell__content,
.list-row-head .list-row-col span {
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--apple-text-secondary) !important;
}

.dt-row,
.list-row,
.frappe-list .list-row,
.list-view .list-row,
.list-row-container .list-row,
.result .list-row {
  border-bottom: 1px solid rgba(0, 0, 0, 0.04) !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: var(--apple-surface) !important;
  transition: background var(--t-fast) var(--ease-apple);
  margin: 0 !important;
}

.dt-row:hover,
.list-row:hover,
.frappe-list .list-row:hover,
.result .list-row:hover {
  background: var(--apple-input-bg) !important;
}

.dt-row:last-child,
.list-row:last-child,
.frappe-list .list-row:last-child,
.result:last-child .list-row {
  border-bottom: none !important;
}

.dt-cell__content,
.list-row .list-row-col {
  font-size: 14px;
  color: var(--apple-text-primary);
  padding: 16px 16px !important;
}

/* List row checkbox */
.list-row .select-like input[type="checkbox"],
.dt-cell input[type="checkbox"] {
  accent-color: var(--apple-blue);
}

/* Strip .result wrapper — prevents double border around list rows */
.result,
.frappe-list .result,
.list-view .result {
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── List view sidebar alignment ── */
.list-sidebar {
  padding: 12px 4px !important;
}

.list-sidebar .sidebar-menu {
  padding: 0 !important;
}

/* Filter section — stack items vertically (exclude views-section) */
.list-sidebar .sidebar-section:not(.views-section) {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  margin-bottom: 16px !important;
}

/* Respect Frappe's .hide class */
.list-sidebar .sidebar-section.hide {
  display: none !important;
}

/* Sidebar labels (FILTER BY, SAVE FILTER) */
.list-sidebar .sidebar-label {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--apple-text-tertiary) !important;
  padding: 8px 4px 4px !important;
  margin: 0 !important;
}

/* Group-by fields container — stack vertically */
.list-sidebar .list-group-by-fields {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 4px !important;
  width: 100% !important;
}

/* Sidebar buttons (Assigned To, Tags, Created By) — scoped to filter-section */
.list-sidebar .filter-section .list-sidebar-button,
.list-sidebar .filter-section .group-by-field .btn,
.list-sidebar .filter-section .list-sidebar-button a,
.list-sidebar .filter-section .group-by-field a {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--apple-text-primary) !important;
  padding: 6px 8px !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  text-align: left !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.list-sidebar .filter-section .list-sidebar-button:hover,
.list-sidebar .filter-section .group-by-field .btn:hover,
.list-sidebar .filter-section .group-by-field a:hover {
  background: rgba(0, 0, 0, 0.04) !important;
}

/* Views section — hidden (List View selector is in the page header) */
.list-sidebar .sidebar-section.views-section,
.list-sidebar .views-section,
.sidebar-section.views-section,
.list-sidebar .current-view,
.current-view {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  visibility: hidden !important;
}

/* Edit Filters / Show Tags links */
.list-sidebar .sidebar-action a,
.list-sidebar .add-list-group-by a {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--apple-text-secondary) !important;
  padding: 6px 8px !important;
}

/* Save Filter section */
.list-sidebar .save-filter input {
  width: 100% !important;
}

.list-sidebar .list-sidebar-stat,
.list-sidebar .sidebar-stat,
.list-sidebar .frappe-control {
  margin-bottom: 4px !important;
  width: 100% !important;
}

/* List tags section */
.list-sidebar .list-tags {
  width: 100% !important;
}

/* ── Pagination (20 / 100 / 500 / 2500) ── */
.list-paging-area,
.footer-section,
.list-view .list-paging-area {
  padding: 16px 0 !important;
  border-top: none !important;
}

.btn-paging,
.list-paging-area .btn-group .btn,
.list-paging-area .btn {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--apple-text-tertiary) !important;
  padding: 4px 10px !important;
  border-radius: var(--r-sm) !important;
  transition: all var(--t-fast) var(--ease-apple) !important;
}

.btn-paging:hover,
.list-paging-area .btn-group .btn:hover,
.list-paging-area .btn:hover {
  color: var(--apple-text-primary) !important;
  background: rgba(0, 0, 0, 0.04) !important;
}

.btn-paging.btn-info,
.btn-paging.active,
.list-paging-area .btn-group .btn.active {
  color: var(--apple-blue) !important;
  font-weight: 600 !important;
  background: transparent !important;
}

/* Remove the outer border/container around pagination buttons */
.list-paging-area .btn-group {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  gap: 2px;
}

/* ── Filter / Sort / Created On toolbar ── */
.filter-section,
.sort-selector {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Toolbar button group — even spacing */
.filter-section .filter-button + .filter-button,
.filter-section .btn + .btn {
  margin-left: 0 !important;
}

/* Toolbar buttons — shared style */
.filter-section .filter-button,
.sort-selector .btn,
.filter-section .btn,
.list-filter-area .btn,
.filter-x-button,
.btn-order {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--apple-text-secondary) !important;
  background: var(--apple-surface) !important;
  border: 1px solid var(--apple-border-strong) !important;
  border-radius: var(--r-pill) !important;
  padding: 6px 14px !important;
  box-shadow: none !important;
  transition: all var(--t-fast) var(--ease-apple) !important;
  margin: 0 !important;
}

.filter-section .filter-button:hover,
.sort-selector .btn:hover,
.filter-section .btn:hover,
.list-filter-area .btn:hover,
.btn-order:hover {
  background: var(--apple-surface-3) !important;
  color: var(--apple-text-primary) !important;
  border-color: var(--apple-border-strong) !important;
}

/* Filter/Sort active state */
.filter-section .filter-button.btn-primary-dark,
.sort-selector .btn.btn-primary-dark {
  background: var(--apple-blue) !important;
  color: var(--apple-text-on-blue) !important;
  border-color: var(--apple-blue) !important;
}

/* ════════════════════════════════════════════════════════════
   12.  MODALS & DIALOGS — macOS Alert Style
   ════════════════════════════════════════════════════════════ */

/* --- Base modal shell (all dialogs) --- */
.modal-content,
.dialog-body {
  border: none !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-xl) !important;
  background: var(--apple-surface) !important;
  overflow: hidden;
  width: 100% !important;
}

/* --- macOS "brushed metal" title bar strip --- */
.modal-header {
  border-bottom: 1px solid var(--apple-border) !important;
  padding: 0 !important;
  background: linear-gradient(
    180deg,
    rgba(200, 200, 200, 0.35) 0%,
    rgba(180, 180, 180, 0.18) 100%
  ) !important;
  height: 22px !important;
  min-height: 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

/* Hide the default modal title text — macOS alerts don't show title bar labels */
.modal-header .modal-title,
.modal-header .title-text {
  display: none !important;
}

/* Subtle x close button (top-right of title bar) */
.modal-header .btn-modal-close,
.modal-header .close,
.modal-header [data-dismiss="modal"] {
  opacity: 0.3 !important;
  font-size: 14px !important;
  color: var(--apple-text-secondary) !important;
  padding: 0 8px !important;
  margin: 0 !important;
  line-height: 22px !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: opacity var(--t-fast) var(--ease-apple);
}

.modal-header .btn-modal-close:hover,
.modal-header .close:hover,
.modal-header [data-dismiss="modal"]:hover {
  opacity: 0.7 !important;
}

/* --- Modal body: centered text, compact --- */
.modal-body {
  padding: 24px 28px 8px !important;
  text-align: center !important;
}

.modal-body .msgprint {
  text-align: left !important;
  font-size: 18px !important;
  color: var(--apple-text-primary) !important;
  line-height: 1.45 !important;
}

/* --- Modal footer: centered buttons --- */
.modal-footer {
  border-top: none !important;
  padding: 12px 28px 22px !important;
  background: transparent !important;
  display: flex !important;
  gap: 10px !important;
  justify-content: center !important;
}

/* Footer buttons — macOS rounded rect style (override the global pill) */
.modal-footer .btn {
  border-radius: 8px !important;
  padding: 7px 22px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  min-width: 100px;
  letter-spacing: 0 !important;
}

.modal-footer .btn-primary {
  box-shadow: none !important;
}

.modal-footer .btn-primary:hover {
  transform: none !important;
  box-shadow: none !important;
}

.modal-footer .btn-default,
.modal-footer .btn-secondary {
  box-shadow: none !important;
}

.modal-footer .btn-default:hover,
.modal-footer .btn-secondary:hover {
  transform: none !important;
  box-shadow: none !important;
}

/* --- Vertical centering for ALL dialogs --- */
.modal-dialog {
  display: flex !important;
  align-items: center !important;
  min-height: calc(100% - 1rem) !important;
  margin: 0.5rem auto !important;
}

/* --- Compact width for message/confirm dialogs --- */
.msgprint-dialog .modal-dialog,
.modal-dialog[data-modal-type="confirm"] {
  max-width: 360px !important;
}

/* --- Error styling inside modals --- */
.modal-body .alert-danger {
  background: rgba(255, 59, 48, 0.08) !important;
  border: none !important;
  border-radius: var(--r-sm) !important;
  color: var(--apple-red) !important;
  text-align: center !important;
  font-size: 14px !important;
}

/* Red primary button for error/danger modals */
.modal-footer .btn-danger {
  border-radius: 8px !important;
  padding: 7px 22px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  min-width: 100px;
  box-shadow: none !important;
}

.modal-footer .btn-danger:hover {
  transform: none !important;
  opacity: 0.92;
}

/* --- Modal backdrop --- */
.modal-backdrop.show {
  opacity: 0.25;
  background: #1d1d1f;
}

/* --- Preserve full-width for NON-message modals (form editors, etc.) --- */
.modal-dialog:not(.msgprint-dialog):not([data-modal-type="confirm"]) {
  max-width: 600px;
}

/* Large modals (report views, print preview) stay large */
.modal-lg .modal-dialog,
.modal-dialog.modal-lg {
  max-width: 900px !important;
}

/* --- Restore standard layout for non-message modals --- */
.modal:not(.msgprint) .modal-header {
  height: auto !important;
  min-height: auto !important;
  padding: 20px 24px 16px !important;
  background: #00000008 !important;
  justify-content: space-between !important;
}

.modal:not(.msgprint) .modal-header .modal-title,
.modal:not(.msgprint) .modal-header .title-text {
  display: block !important;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.3px;
  color: var(--apple-text-primary);
}

.modal:not(.msgprint) .modal-header .btn-modal-close,
.modal:not(.msgprint) .modal-header .close,
.modal:not(.msgprint) .modal-header [data-dismiss="modal"] {
  opacity: 0.6 !important;
  padding: 0 4px !important;
}

.modal:not(.msgprint) .modal-body {
  text-align: left !important;
  padding: 20px 24px !important;
}

.modal:not(.msgprint) .modal-footer {
  border-top: 0 solid var(--apple-border) !important;
  justify-content: flex-end !important;
  padding: 16px 24px !important;
}

.modal:not(.msgprint) .modal-footer .btn {
  border-radius: var(--r-pill) !important;
}

/* ════════════════════════════════════════════════════════════
   12b. CHILD TABLE CONFIG MODALS (Configure Columns, etc.)
   ════════════════════════════════════════════════════════════ */

/* Remove dashed border and card nesting inside modals */
.modal-body .form-section {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
}

.modal-body .section-body {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
}

.modal-body .form-column {
  border: none !important;
  background: transparent !important;
}

/* The selected-fields wrapper — clean container */
.modal-body .control-input-wrapper.selected-fields {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Compact inputs inside modals — override form-level padding */
.modal-body .frappe-control input,
.modal-body .frappe-control select,
.modal-body .form-control {
  padding: 8px 12px !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  height: 36px !important;
}

/* Each sortable field row */
.modal-body .control-input.fields_order {
  display: flex !important;
  align-items: center !important;
  padding: 0 8px !important;
  margin-bottom: 0 !important;
  height: 40px !important;
  min-height: unset !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--apple-border) !important;
  border-radius: 0 !important;
  cursor: pointer;
  transition: background var(--t-fast) var(--ease-apple);
}

.modal-body .control-input.fields_order:last-of-type {
  border-bottom: none !important;
}

.modal-body .control-input.fields_order:hover {
  background: rgba(0, 0, 0, 0.02) !important;
}

/* The inner .row — force flex alignment */
.modal-body .control-input.fields_order > .row {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  flex-wrap: nowrap !important;
}

/* Drag handle column */
.modal-body .control-input.fields_order .row > .col-1:first-child {
  flex: 0 0 24px !important;
  max-width: 24px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--apple-text-tertiary) !important;
  cursor: grab;
}

/* Field name column */
.modal-body .control-input.fields_order .row > .col-6 {
  flex: 1 1 auto !important;
  max-width: none !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--apple-text-primary) !important;
  padding: 0 12px !important;
  display: flex !important;
  align-items: center !important;
}

/* Column width column */
.modal-body .control-input.fields_order .row > .col-4 {
  flex: 0 0 72px !important;
  max-width: 72px !important;
  padding: 0 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
}

/* Column width input — compact */
.modal-body .control-input.fields_order .col-4 input {
  width: 48px !important;
  height: 26px !important;
  padding: 2px 6px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-align: center !important;
  border-radius: var(--r-xs) !important;
  background: var(--apple-surface-2) !important;
  border: 1px solid var(--apple-border) !important;
}

/* Delete icon column — far right */
.modal-body .control-input.fields_order .row > .col-1:last-child {
  flex: 0 0 28px !important;
  max-width: 28px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.modal-body .control-input.fields_order .col-1:last-child .btn,
.modal-body .control-input.fields_order .col-1:last-child a,
.modal-body .control-input.fields_order .col-1:last-child svg {
  color: var(--apple-text-tertiary) !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 2px !important;
  font-size: 13px !important;
  transition: color var(--t-fast) var(--ease-apple) !important;
}

.modal-body .control-input.fields_order .col-1:last-child .btn:hover,
.modal-body .control-input.fields_order .col-1:last-child a:hover {
  color: var(--apple-red) !important;
}

/* Header row — "Fieldname" / "Column Width" */
.modal-body .control-input-wrapper.selected-fields > .row:first-child {
  display: flex !important;
  align-items: center !important;
  padding: 0 8px 8px !important;
  margin-bottom: 4px !important;
  border-bottom: 1px solid var(--apple-border) !important;
}

.modal-body .control-input-wrapper.selected-fields > .row:first-child > div {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--apple-text-tertiary) !important;
}

/* "+ Add / Remove Columns" link */
.modal-body p.help-box.small.text-muted {
  color: var(--apple-blue) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  margin-top: 10px !important;
  padding-left: 8px !important;
  cursor: pointer;
}

.modal-body p.help-box.small.text-muted:hover {
  color: var(--apple-blue-hover) !important;
  text-decoration: underline !important;
}

/* Modal form field description text */
.modal-content .frappe-control p {
  color: var(--text-muted);
  font-size: 14px;
  margin-top: 8px;
  font-weight: 400;
  line-height: 1.45;
}

/* ════════════════════════════════════════════════════════════
   12c. MULTICHECK / SELECT FIELDS MODAL
   ════════════════════════════════════════════════════════════ */

/* The checkbox grid container */
.checkbox-options {
  padding: 4px 0 !important;
}

/* Each checkbox item — compact row */
.checkbox.unit-checkbox {
  margin-bottom: 4px !important;
}

.checkbox.unit-checkbox label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 6px 8px !important;
  border-radius: var(--r-sm) !important;
  cursor: pointer;
  transition: background var(--t-fast) var(--ease-apple);
}

.checkbox.unit-checkbox label:hover {
  background: rgba(0, 0, 0, 0.03) !important;
}

/* The actual checkbox — compact square, NOT a toggle */
.checkbox.unit-checkbox input[type="checkbox"],
.frappe-control[data-fieldtype="MultiCheck"] input[type="checkbox"] {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  min-height: unset !important;
  border-radius: 4px !important;
  background: var(--apple-surface) !important;
  border: 1.5px solid var(--apple-border-strong) !important;
  position: relative !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: all var(--t-fast) var(--ease-apple) !important;
}

/* Checkmark pseudo-element */
.checkbox.unit-checkbox input[type="checkbox"]::after,
.frappe-control[data-fieldtype="MultiCheck"] input[type="checkbox"]::after {
  content: '' !important;
  position: absolute !important;
  top: 2px !important;
  left: 5px !important;
  width: 6px !important;
  height: 10px !important;
  border: solid white !important;
  border-width: 0 2px 2px 0 !important;
  border-radius: 0 !important;
  transform: rotate(45deg) !important;
  opacity: 0 !important;
  transition: opacity var(--t-fast) var(--ease-apple) !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Checked state */
.checkbox.unit-checkbox input[type="checkbox"]:checked,
.frappe-control[data-fieldtype="MultiCheck"] input[type="checkbox"]:checked {
  background: var(--apple-blue) !important;
  border-color: var(--apple-blue) !important;
}

.checkbox.unit-checkbox input[type="checkbox"]:checked::after,
.frappe-control[data-fieldtype="MultiCheck"] input[type="checkbox"]:checked::after {
  opacity: 1 !important;
}

/* Field name labels next to checkboxes */
.checkbox.unit-checkbox .label-area {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--apple-text-primary) !important;
}

/* MultiCheck heading */
.frappe-control[data-fieldtype="MultiCheck"] .control-label {
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--apple-text-tertiary) !important;
  margin-bottom: 8px !important;
}

/* ════════════════════════════════════════════════════════════
   12d. DOCTYPE BUILDER CHECKBOXES (sidebar + canvas)
   ════════════════════════════════════════════════════════════ */

/* Override toggle → compact square checkbox in builder sidebar and canvas */
.sidebar-container .frappe-control[data-fieldtype="Check"] .checkbox,
.form-builder-container .frappe-control[data-fieldtype="Check"] .checkbox,
.form-builder-container .control.checkbox .checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Spacing between checkbox and label */
.sidebar-container .frappe-control[data-fieldtype="Check"] label,
.form-builder-container .frappe-control[data-fieldtype="Check"] label,
.form-builder-container .control.checkbox label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.sidebar-container .frappe-control[data-fieldtype="Check"] input[type="checkbox"],
.form-builder-container .frappe-control[data-fieldtype="Check"] input[type="checkbox"],
.form-builder-container .control.checkbox input[type="checkbox"] {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  min-height: unset !important;
  border-radius: 4px !important;
  background: var(--apple-surface) !important;
  border: 1.5px solid var(--apple-border-strong) !important;
  position: relative !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  opacity: 1 !important;
  transition: all var(--t-fast) var(--ease-apple) !important;
}

/* Checkmark pseudo-element */
.sidebar-container .frappe-control[data-fieldtype="Check"] input[type="checkbox"]::after,
.form-builder-container .frappe-control[data-fieldtype="Check"] input[type="checkbox"]::after,
.form-builder-container .control.checkbox input[type="checkbox"]::after {
  content: '' !important;
  position: absolute !important;
  top: 2px !important;
  left: 5px !important;
  width: 6px !important;
  height: 10px !important;
  border: solid white !important;
  border-width: 0 2px 2px 0 !important;
  border-radius: 0 !important;
  transform: rotate(45deg) !important;
  opacity: 0 !important;
  transition: opacity var(--t-fast) var(--ease-apple) !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Checked state — blue with checkmark */
.sidebar-container .frappe-control[data-fieldtype="Check"] input[type="checkbox"]:checked,
.form-builder-container .frappe-control[data-fieldtype="Check"] input[type="checkbox"]:checked,
.form-builder-container .control.checkbox input[type="checkbox"]:checked {
  background: var(--apple-blue) !important;
  border-color: var(--apple-blue) !important;
}

.sidebar-container .frappe-control[data-fieldtype="Check"] input[type="checkbox"]:checked::after,
.form-builder-container .frappe-control[data-fieldtype="Check"] input[type="checkbox"]:checked::after,
.form-builder-container .control.checkbox input[type="checkbox"]:checked::after {
  opacity: 1 !important;
}

/* Label styling */
.sidebar-container .frappe-control[data-fieldtype="Check"] .label-area,
.sidebar-container .frappe-control[data-fieldtype="Check"] .field-label,
.form-builder-container .frappe-control[data-fieldtype="Check"] .label-area,
.form-builder-container .frappe-control[data-fieldtype="Check"] .field-label,
.form-builder-container .control.checkbox .field-label {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--apple-text-primary) !important;
}

/* ════════════════════════════════════════════════════════════
   12e. WORKSPACE PAGE — iCLOUD-INSPIRED DASHBOARD
   ════════════════════════════════════════════════════════════ */

/* ── Workspace main section — clean card ── */
[data-page-route="Workspaces"] .layout-main-section {
  background: #fcfdff !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04) !important;
  margin: 8px !important;
  position: relative !important;
  padding-bottom: 35px !important;
}

/* Header band — disabled */
[data-page-route="Workspaces"] .layout-main-section::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 100px !important;
  background: none !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* Ensure content sits above the gradient */
[data-page-route="Workspaces"] .layout-main-section > * {
  position: relative !important;
  z-index: 1 !important;
}

/* Editor area */
[data-page-route="Workspaces"] .codex-editor__redactor {
  padding-bottom: 60px !important;
  padding-top: 28px !important;
}

/* ── Workspace heading — white text on gradient ── */
.ce-block .ce-header {
  font-family: 'DM Sans', sans-serif !important;
  margin-bottom: 4px !important;
}

[data-page-route="Workspaces"] .ce-block .ce-header {
  color: var(--apple-text-primary) !important;
}

[data-page-route="Workspaces"] .ce-block h2.ce-header {
  font-size: 32px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}

[data-page-route="Workspaces"] .ce-block h3.ce-header,
[data-page-route="Workspaces"] .ce-block h4.ce-header {
  font-size: 18px !important;
  font-weight: 400 !important;
  color: var(--apple-text-secondary) !important;
}

/* Paragraph text in workspace */
[data-page-route="Workspaces"] .ce-block .ce-paragraph {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  color: var(--apple-text-secondary) !important;
}

/* ── Shortcut widget cards ── */
.ce-block__content .shortcut-widget-box {
  background: var(--apple-surface) !important;
  border: 1px solid var(--apple-border) !important;
  border-radius: 4px !important;
  padding: 16px 28px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.03) !important;
  transition: all var(--t-normal) var(--ease-apple) !important;
  cursor: pointer;
  min-height: 52px !important;
  display: flex !important;
  align-items: center !important;
}

.ce-block__content .shortcut-widget-box:hover {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.03) !important;
  border-color: var(--apple-border-strong) !important;
  transform: none;
}

/* Shortcut card — link text */
.shortcut-widget-box .widget-head .widget-title,
.shortcut-widget-box .widget-head a {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--apple-text-primary) !important;
  text-decoration: none !important;
}

/* Shortcut card — external arrow icon — hidden */
.shortcut-widget-box .widget-head .indicator-pill .icon,
.shortcut-widget-box .widget-head .icon-arrow-up-right,
.shortcut-widget-box .widget-head .widget-control svg,
.shortcut-widget-box .widget-head .widget-control .es-icon,
.shortcut-widget-box .widget-control svg.es-line {
  display: none !important;
}

/* Shortcut card — count badge */
.shortcut-widget-box .widget-head .count {
  background: var(--apple-surface-3) !important;
  color: var(--apple-text-secondary) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 2px 8px !important;
  border-radius: var(--r-pill) !important;
  min-width: 24px !important;
  text-align: center !important;
}

/* Shortcut card — zero count dimmed */
.shortcut-widget-box .widget-head .count:empty,
.shortcut-widget-box .widget-head .count[title="0"] {
  opacity: 0.4;
}

/* ── Number widget cards ── */
.number-widget-box {
  background: var(--apple-surface) !important;
  border: 2px solid var(--apple-border) !important;
  border-radius: 4px !important;
  padding: 16px 15px !important;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.06), 0 0 0 rgba(0, 0, 0, 0.03) !important;
  transition: all var(--t-normal) var(--ease-apple) !important;
}

.number-widget-box:hover {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02) !important;
  border-color: var(--apple-border-strong) !important;
}

/* Number widget — title */
.widget.number-widget-box .widget-head .widget-title {
  font-weight: var(--weight-semibold);
  color: var(--text-gray-700);
  text-transform: uppercase;
  font-size: var(--text-base);
  margin-top: var(--margin-xs);
}

/* Number widget — percentage stat area */
.widget.number-widget-box .widget-body .widget-content .percentage-stat-area {
  font-size: .9325rem;
  margin-top: var(--margin-lg);
}

/* Number widget — main number */
.widget.number-widget-box .widget-body .widget-content .number {
  font-size: var(--text-9xl);
  font-weight: var(--weight-semibold);
  letter-spacing: .01em;
  line-height: var(--text-line-height-3xl);
  color: var(--text-color);
  text-align: center;
}

/* Number widget — green stat override to blue */
.widget.number-widget-box .widget-body .widget-content .green-stat {
  color: var(--blue-700);
}

.widget.number-widget-box .widget-body .widget-content .green-stat use {
  stroke: var(--blue-500);
}

/* Number widget — card stats layout */
.widget.number-widget-box .widget-body .widget-content .card-stats {
  display: flex;
  align-items: flex-end;
  flex-direction: row;
  justify-content: center;
}

/* Number widget — centered widget head */
.widget .widget-head {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Indicator pill round green — blue override */
.indicator-pill-round.green {
  background: var(--bg-blue);
  color: var(--text-on-blue);
}

/* ── Generic widget container cleanup ── */
.ce-block__content .widget {
  margin-bottom: 0 !important;
  border: 1px solid var(--apple-border) !important;
  border-radius: var(--r-lg) !important;
  padding: 20px 25px !important;
}

/* Links widget — item font size */
.widget.links-widget-box .link-item {
  font-size: var(--text-lg);
}

/* Links widget — section title */
.widget.links-widget-box .widget-head .widget-label .widget-title {
  font-size: var(--text-2xl);
}

/* Workspace heading h4 */
.codex-editor .codex-editor__redactor .ce-block .ce-block__content .ce-header .h4 {
  font-size: var(--text-3xl);
  font-weight: var(--weight-medium);
  letter-spacing: .01em;
}

/* Card row spacing */
.ce-block {
  margin-bottom: 14px !important;
}

/* ── Workspace editor overlay — hide in view mode ── */
.codex-editor-overlay {
  pointer-events: none;
}

/* ── Workspace page head ── */
[data-page-route="Workspaces"] .page-head {
  background: transparent !important;
  border-bottom: none !important;
}

/* ── Workspace sidebar — remains as-is (themed by section 4) ── */

[data-page-route=Workspaces] .sidebar-item-container {
  position: relative;
  margin-left: 10px;
}

/* ── Workspace footer ── */
.workspace-footer {
  border-top: 1px solid var(--apple-border) !important;
  padding: 20px 20px !important;
  margin-top: 32px !important;
  display: flex !important;
  gap: 12px !important;
  justify-content: flex-end !important;
}

/* Workspace footer buttons — shared base */
.workspace-footer .btn {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  border-radius: var(--r-pill) !important;
  padding: 16px 32px !important;
  transition: all var(--t-normal) var(--ease-apple) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border: none !important;
  cursor: pointer;
  letter-spacing: 0.01em !important;
}

/* Edit button — outline pill */
.workspace-footer .btn-edit-workspace {
  background: var(--apple-surface) !important;
  color: var(--apple-blue) !important;
  border: 1.5px solid var(--apple-blue) !important;
  box-shadow: none !important;
}

.workspace-footer .btn-edit-workspace:hover {
  background: var(--apple-blue-light) !important;
  color: var(--apple-blue) !important;
  border-color: var(--apple-blue) !important;
}

/* New button — primary blue pill */
.workspace-footer .btn-new-workspace {
  background: var(--apple-blue) !important;
  color: var(--apple-text-on-blue) !important;
  box-shadow: none !important;
  border: none !important;
}

.workspace-footer .btn-new-workspace:hover {
  background: var(--apple-blue-hover) !important;
  box-shadow: var(--shadow-blue) !important;
}

/* Button icons — hidden for clean pill look */
.workspace-footer .btn .icon,
.workspace-footer .btn svg {
  display: none !important;
}

/* ════════════════════════════════════════════════════════════
   13.  DROPDOWN MENUS
   ════════════════════════════════════════════════════════════ */
.dropdown-menu {
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: saturate(180%) blur(20px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(20px) !important;
  border: 1px solid var(--apple-border) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-lg) !important;
  padding: 6px !important;
  min-width: 180px;
}

/* Dropdown animation removed — spring timing caused position flash */

.dropdown-item {
  border-radius: var(--r-xs) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px;
  font-weight: 500;
  color: var(--apple-text-primary) !important;
}

.navbar .navbar-nav .dropdown-item {
  padding: 10px 8px !important;
}

.dropdown-item:hover, .dropdown-item:focus {
  background: var(--apple-surface-3) !important;
  color: var(--apple-text-primary) !important;
}

.dropdown-item.text-danger {
  color: var(--apple-red) !important;
}

.dropdown-item.text-danger:hover {
  background: rgba(255, 59, 48, 0.1) !important;
}

.dropdown-divider {
  margin: 4px 0 !important;
  border-color: var(--apple-border) !important;
}

/* ════════════════════════════════════════════════════════════
   14.  TABS
   ════════════════════════════════════════════════════════════ */

/* Tab bar container — the sticky wrapper */
.form-tabs-list,
.form-page .form-tabs-list,
div.form-tabs-list {
  background: var(--apple-tab-bar-bg) !important;
  background-color: var(--apple-tab-bar-bg) !important;
  border-bottom: 1px solid var(--apple-border) !important;
  margin-bottom: 8px !important;
  padding: 0 4px !important;
}

.nav-tabs {
  border-bottom: none !important;
  gap: 2px;
  padding: 4px 0 0;
  margin-bottom: 0 !important;
  background: transparent !important;
}

.nav-tabs .nav-link {
  border: none !important;
  border-radius: var(--r-sm) !important;
  padding: 8px 16px !important;
  font-size: 14px;
  font-weight: 500;
  color: var(--apple-text-secondary) !important;
  background: transparent !important;
  background-color: transparent !important;
  transition: all var(--t-fast) var(--ease-apple);
  margin-bottom: -1px;
}

/* Ensure Frappe's specific selector doesn't override with var(--card-bg) */
.form-tabs-list .form-tabs .nav-item .nav-link,
.form-tabs-list .nav-tabs .nav-item .nav-link {
  background-color: transparent !important;
}

.nav-tabs .nav-link:hover {
  color: var(--apple-text-primary) !important;
  background: var(--apple-surface-3) !important;
}

.nav-tabs .nav-link.active {
  color: var(--apple-blue) !important;
  font-weight: 600;
  background: var(--apple-tab-active-bg) !important;
  border-bottom: 2px solid var(--apple-blue) !important;
  border-radius: var(--r-sm) var(--r-sm) 0 0 !important;
}

/* ════════════════════════════════════════════════════════════
   15.  ALERTS & TOASTS — macOS Banner Notification Style
   ════════════════════════════════════════════════════════════ */

/* --- Inline alerts (inside forms, pages) --- */
.alert, .msgprint {
  border: none !important;
  border-radius: var(--r-md) !important;
  font-size: 14px;
  padding: 12px 18px !important;
}

.alert-info    { background: rgba(0,113,227,0.1) !important; color: #004bab !important; }
.alert-success { background: rgba(52,199,89,0.12) !important; color: #248a3d !important; }
.alert-warning { background: rgba(255,149,0,0.12) !important; color: #c25400 !important; }
.alert-danger  { background: rgba(255,59,48,0.10) !important; color: #c9181b !important; }

/* --- Toast / desk notifications — macOS banner style, top-right --- */
.desk-alert,
.frappe-alert {
  position: fixed !important;
  top: 64px !important;
  right: 16px !important;
  left: auto !important;
  bottom: auto !important;
  width: 340px !important;
  max-width: calc(100vw - 32px) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-lg) !important;
  background: var(--apple-surface) !important;
  border: 1px solid var(--apple-border) !important;
  padding: 14px 16px !important;
  z-index: 1060 !important;
  animation: toast-macos-slide var(--t-slow) var(--ease-spring) !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
}

/* Infuseo app icon on toast */
.desk-alert::before,
.frappe-alert::before {
  content: "I";
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--apple-blue), var(--apple-green));
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  font-family: 'DM Sans', sans-serif;
}

/* Toast text */
.desk-alert .alert-message,
.frappe-alert .alert-message,
.desk-alert .desk-alert-message,
.frappe-alert .frappe-alert-message {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--apple-text-secondary) !important;
  line-height: 1.4 !important;
}

/* Toast close button */
.desk-alert .close,
.frappe-alert .close,
.desk-alert .btn-close,
.frappe-alert .btn-close {
  opacity: 0.35 !important;
  font-size: 12px !important;
  margin-left: auto !important;
  flex-shrink: 0;
}

/* Success toast — green icon */
.desk-alert.alert-success::before,
.frappe-alert.alert-success::before {
  background: var(--apple-green) !important;
}

/* Warning toast — orange icon */
.desk-alert.alert-warning::before,
.frappe-alert.alert-warning::before {
  background: var(--apple-orange) !important;
  content: "!";
}

/* Error toast — red icon */
.desk-alert.alert-danger::before,
.frappe-alert.alert-danger::before {
  background: var(--apple-red) !important;
  content: "!";
}

/* Slide in from right (macOS style) */
@keyframes toast-macos-slide {
  from { opacity: 0; transform: translateX(24px) scale(0.97); }
  to   { opacity: 1; transform: translateX(0) scale(1); }
}

/* Stacked toasts — push down subsequent ones */
.desk-alert + .desk-alert,
.frappe-alert + .frappe-alert {
  top: 128px !important;
}

.desk-alert + .desk-alert + .desk-alert,
.frappe-alert + .frappe-alert + .frappe-alert {
  top: 192px !important;
}

/* ════════════════════════════════════════════════════════════
   16.  WORKFLOW / STATUS BAR
   ════════════════════════════════════════════════════════════ */
.workflow-state-indicator,
.form-workflow-btn-section,
.workflow-action-buttons {
  background: var(--apple-surface-2) !important;
  border: 1px solid var(--apple-border) !important;
  border-radius: var(--r-md) !important;
  padding: 10px 16px !important;
  margin-bottom: 16px;
}

/* Workflow pill */
.workflow-state {
  border-radius: var(--r-pill) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 4px 12px !important;
}

/* ════════════════════════════════════════════════════════════
   17.  DOCTYPE FORM LAYOUT
   ════════════════════════════════════════════════════════════ */
.form-layout {
  background: var(--apple-bg) !important;
}

.form-page {
  background: var(--apple-bg) !important;
}

.std-form-layout > .form-layout > .form-page {
  border-radius: var(--border-radius-md);
  border: 0;
  box-shadow: none;
}

.form-section .section-head {
  padding: 16px 20px 12px !important;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--apple-text-secondary);
  background: transparent !important;
}

.form-column {
  padding: 4px 12px !important;
}

/* ════════════════════════════════════════════════════════════
   18.  LINKED DOCUMENT / QUICK ENTRY BUTTON PILL
   ════════════════════════════════════════════════════════════ */
.link-field-icon,
.input-group-addon,
.link-open {
  color: var(--apple-blue) !important;
  background: transparent !important;
  border: none !important;
}

/* ════════════════════════════════════════════════════════════
   19.  SCROLLBARS (WebKit)
   ════════════════════════════════════════════════════════════ */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.18);
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.30);
}

/* ════════════════════════════════════════════════════════════
   20.  UTILITIES & MICRO-INTERACTIONS
   ════════════════════════════════════════════════════════════ */

/* Clickable list items animate in */
.list-row {
  animation: row-fade-in var(--t-normal) var(--ease-apple) both;
  animation-delay: calc(var(--row-index, 0) * 30ms);
}

@keyframes row-fade-in {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Page transition */
.page-container,
.layout-main {
  animation: page-in var(--t-slow) var(--ease-apple);
}

/* Page background layers */
.page-container {
  background-color: var(--apple-bg) !important;
}

.container.page-body {
  background-color: var(--apple-bg) !important;
}

/* ── Force Full-Width Layout ── */
.container.page-body,
.container.page-head,
.page-head .container,
.page-head.flex .container,
.navbar .container {
  max-width: 100% !important;
}

@keyframes page-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Focus ring — consistent system */
*:focus-visible {
  outline: 2px solid var(--apple-blue) !important;
  outline-offset: 2px !important;
  border-radius: var(--r-xs) !important;
}

/* Dividers */
hr, .divider {
  border-color: var(--apple-border) !important;
}

/* Helper: glass surface class you can apply manually */
.glass {
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: saturate(200%) blur(24px);
  -webkit-backdrop-filter: saturate(200%) blur(24px);
  border: 1px solid rgba(255,255,255,0.5);
}

/* ════════════════════════════════════════════════════════════
   21.  FORM SIDEBAR (left panel: Assigned To, Tags, etc.)
   FIX #11
   ════════════════════════════════════════════════════════════ */
.form-sidebar {
  padding: 16px 12px !important;
}

.form-sidebar .sidebar-menu {
  background: transparent !important;
  border-right: none !important;
  width: 100% !important;
  padding: 0 !important;
}

.form-sidebar .form-assignments,
.form-sidebar .form-attachments,
.form-sidebar .form-tags,
.form-sidebar .form-shared,
.form-sidebar .form-reviews,
.form-sidebar .sidebar-image-section {
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--apple-border) !important;
  margin-bottom: 4px !important;
}

.form-sidebar .sidebar-label,
.form-sidebar .form-sidebar-section-label {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--apple-text-tertiary) !important;
}

/* Like / Comment / Follow row */
.form-sidebar .like-action,
.form-sidebar .comment-count,
.form-sidebar .form-stats {
  font-size: 13px;
  color: var(--apple-text-secondary);
}

.form-sidebar .form-stats .stat-label {
  color: var(--apple-text-tertiary);
  font-size: 12px;
}

/* ════════════════════════════════════════════════════════════
   22.  COMMENTS & ACTIVITY SECTION
   FIX #7
   ════════════════════════════════════════════════════════════ */
.comment-box {
  background: var(--apple-surface) !important;
  border: 1px solid var(--apple-border) !important;
  border-radius: var(--r-lg) !important;
  padding: 16px !important;
  margin-top: 16px !important;
}

.comment-box .comment-input-header {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--apple-text-primary) !important;
  margin-bottom: 12px !important;
}

.comment-box .reply-editor,
.comment-box .ql-editor,
.comment-box textarea {
  background: var(--apple-surface-2) !important;
  border: 1px solid var(--apple-border-strong) !important;
  border-radius: var(--r-sm) !important;
  min-height: 60px;
  font-size: 14px !important;
}

/* Comment input — tighter styling for inline comment box */
.comment-box .comment-input-container .frappe-control .ql-editor {
  background-color: var(--control-bg) !important;
  min-height: 24px;
  padding: 16px 9px 16px 14px;
}

.comment-input-wrapper .ql-editor.ql-blank:before {
  left: 18px;
  color: var(--text-muted);
  font-style: normal;
}

.comment-box .reply-editor:focus-within,
.comment-box textarea:focus {
  border-color: var(--apple-blue) !important;
  box-shadow: 0 0 0 3px var(--apple-blue-light) !important;
}

/* Activity timeline — card container aligned with Comments */
.form-footer {
  margin-top: 12px !important;
  padding: 0 !important;
}

.form-footer .new-timeline {
  background: var(--apple-surface) !important;
  border: 1px solid var(--apple-border) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-sm) !important;
  padding: 16px 20px !important;
  margin-top: 12px !important;
}

.form-footer .new-timeline .activity-title h4 {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--apple-text-primary) !important;
  margin: 0 0 8px !important;
}

.form-footer .timeline-item {
  padding: 8px 0 !important;
  border-bottom: 1px solid var(--apple-border) !important;
  font-size: 13px;
  color: var(--apple-text-secondary);
}

.form-footer .timeline-item:last-child {
  border-bottom: none !important;
}

.form-footer .timeline-dot {
  background: var(--apple-surface-3) !important;
  border: 2px solid var(--apple-border-strong) !important;
}

/* New Email button */
.form-footer .timeline-heading .btn {
  font-size: 13px !important;
}

/* ════════════════════════════════════════════════════════════
   22b. CONNECTIONS TAB
   ════════════════════════════════════════════════════════════ */

/* Connections section container — card background */
.form-dashboard-section,
.form-links {
  background: var(--apple-surface) !important;
  border: 1px solid var(--apple-border) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-sm) !important;
  padding: 20px !important;
  margin-bottom: 16px !important;
}

/* Group headings (Profile, Logs, Settings, Activity, Integrations) */
.form-dashboard-section .head,
.form-links .module-category {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--apple-text-tertiary) !important;
  padding: 12px 0 8px !important;
  margin-bottom: 4px !important;
  border-bottom: 1px solid var(--apple-border) !important;
}

/* Each connection item row */
.form-dashboard-section .document-link,
.form-links .document-link {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 10px !important;
  border-radius: var(--r-sm) !important;
  transition: background var(--t-fast) var(--ease-apple) !important;
}

.form-dashboard-section .document-link:hover,
.form-links .document-link:hover {
  background: rgba(0, 0, 0, 0.03) !important;
}

/* Count badge */
.form-dashboard-section .count,
.form-links .document-link .count,
.form-links .badge-link .count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 22px !important;
  height: 22px !important;
  padding: 0 6px !important;
  border-radius: var(--r-pill) !important;
  background: var(--apple-surface-3) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--apple-text-secondary) !important;
}

/* Link name text */
.form-dashboard-section .document-link a,
.form-links .document-link a,
.form-links .badge-link a {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--apple-text-primary) !important;
  text-decoration: none !important;
  transition: color var(--t-fast) var(--ease-apple) !important;
}

.form-dashboard-section .document-link a:hover,
.form-links .document-link a:hover {
  color: var(--apple-blue) !important;
}

/* The "+" button */
.form-dashboard-section .btn-new,
.form-links .document-link .btn-new,
.form-links .btn-new-doc {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  padding: 0 !important;
  border-radius: var(--r-xs) !important;
  background: transparent !important;
  border: 1px solid var(--apple-border) !important;
  color: var(--apple-text-tertiary) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  cursor: pointer;
  transition: all var(--t-fast) var(--ease-apple) !important;
  box-shadow: none !important;
}

.form-dashboard-section .btn-new:hover,
.form-links .document-link .btn-new:hover,
.form-links .btn-new-doc:hover {
  background: var(--apple-surface-3) !important;
  border-color: var(--apple-border-strong) !important;
  color: var(--apple-blue) !important;
}

/* Group columns — add spacing between groups */
.form-dashboard-section .row > div[class*="col"],
.form-links .row > div[class*="col"] {
  padding-bottom: 16px !important;
}

/* ════════════════════════════════════════════════════════════
   23.  DOCTYPE BUILDER / CUSTOMIZATION VIEW
   FIX #12 & #13 — reduce visual clutter in developer views
   ════════════════════════════════════════════════════════════ */
.form-builder .form-section {
  border: 1px dashed var(--apple-border-strong) !important;
  box-shadow: none !important;
  background: var(--apple-surface) !important;
}

.form-builder .form-section .section-body {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.form-builder .form-column {
  border: 1px dashed var(--apple-border) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.form-builder .frappe-control {
  border: 1px dashed rgba(0,0,0,0.06) !important;
  border-radius: var(--r-sm) !important;
  box-shadow: none !important;
  background: var(--apple-surface) !important;
}

/* ════════════════════════════════════════════════════════════
   24.  DARK MODE (Frappe theme switcher: data-theme="dark")
   ════════════════════════════════════════════════════════════ */

/* Dark mode design tokens — applied when Frappe's theme is set to dark */
[data-theme="dark"] {
  --apple-bg:            #000000;
  --apple-surface:       #1c1c1e;
  --apple-surface-2:     #2c2c2e;
  --apple-surface-3:     #3a3a3c;
  --apple-input-bg:      #2c2c2e;
  --apple-tab-active-bg: #2c2c2e;
  --apple-tab-bar-bg:    #1c1c1e;
  --control-bg:          #2c2c2e;
  --apple-border:        rgba(255, 255, 255, 0.10);
  --apple-border-strong: rgba(255, 255, 255, 0.16);

  --apple-blue:          #0a84ff;
  --apple-blue-hover:    #409cff;
  --apple-blue-light:    rgba(10, 132, 255, 0.18);
  --apple-blue-glow:     rgba(10, 132, 255, 0.30);

  --apple-text-primary:   #f5f5f7;
  --apple-text-secondary: #98989d;
  --apple-text-tertiary:  #636366;
  --apple-text-on-blue:   #ffffff;
}

/* Navbar */
[data-theme="dark"] .navbar,
[data-theme="dark"] .navbar-main {
  background: rgba(28, 28, 30, 0.82) !important;
}

/* Modals */
[data-theme="dark"] .modal-content,
[data-theme="dark"] .dialog-body {
  background: rgba(28, 28, 30, 0.95) !important;
}

[data-theme="dark"] .modal .modal-content {
  border: 1px solid var(--apple-surface-3) !important;
}

/* Dropdowns */
[data-theme="dark"] .dropdown-menu {
  background: rgba(44, 44, 46, 0.95) !important;
}

/* Form sections */
[data-theme="dark"] .form-section,
[data-theme="dark"] .frappe-card,
[data-theme="dark"] .card {
  background: var(--apple-surface) !important;
  border-color: var(--apple-border) !important;
}

/* Input fields */
[data-theme="dark"] .frappe-control input,
[data-theme="dark"] .frappe-control select,
[data-theme="dark"] .frappe-control textarea,
[data-theme="dark"] .form-control,
[data-theme="dark"] input.input-with-feedback,
[data-theme="dark"] select.input-with-feedback,
[data-theme="dark"] textarea.input-with-feedback {
  background: var(--apple-input-bg) !important;
  border-color: var(--apple-border-strong) !important;
  color: var(--apple-text-primary) !important;
}

[data-theme="dark"] .frappe-control input:focus,
[data-theme="dark"] .frappe-control select:focus,
[data-theme="dark"] .frappe-control textarea:focus,
[data-theme="dark"] .form-control:focus {
  background-color: var(--apple-surface) !important;
}

/* Select fields */
[data-theme="dark"] select.form-control,
[data-theme="dark"] .frappe-control[data-fieldtype="Select"] select,
[data-theme="dark"] .frappe-control[data-fieldtype="Select"] .form-control {
  background-color: var(--apple-input-bg) !important;
  color: var(--apple-text-primary) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%2398989d' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

[data-theme="dark"] select.form-control option,
[data-theme="dark"] .frappe-control[data-fieldtype="Select"] select option {
  background: var(--apple-surface) !important;
  color: var(--apple-text-primary) !important;
}

[data-theme="dark"] select.form-control:focus,
[data-theme="dark"] .frappe-control[data-fieldtype="Select"] select:focus,
[data-theme="dark"] .frappe-control[data-fieldtype="Select"] .form-control:focus {
  background-color: var(--apple-surface) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%2398989d' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 13px center !important;
}

/* Read-only fields */
[data-theme="dark"] .frappe-control[data-fieldtype] .like-disabled-input,
[data-theme="dark"] .frappe-control .read-only-value,
[data-theme="dark"] .frappe-control .control-value {
  background: var(--apple-surface-3) !important;
  color: var(--apple-text-secondary) !important;
}

/* Connections tab */
[data-theme="dark"] .form-dashboard-section,
[data-theme="dark"] .form-links {
  background: var(--apple-surface) !important;
  border-color: var(--apple-border) !important;
}

[data-theme="dark"] .form-dashboard-section .document-link:hover,
[data-theme="dark"] .form-links .document-link:hover {
  background: rgba(255, 255, 255, 0.03) !important;
}

[data-theme="dark"] .form-dashboard-section .count,
[data-theme="dark"] .form-links .document-link .count {
  background: var(--apple-surface-3) !important;
  color: var(--apple-text-secondary) !important;
}

[data-theme="dark"] .form-dashboard-section .document-link a,
[data-theme="dark"] .form-links .document-link a {
  color: var(--apple-text-primary) !important;
}

[data-theme="dark"] .form-dashboard-section .btn-new,
[data-theme="dark"] .form-links .btn-new-doc {
  border-color: var(--apple-border) !important;
  color: var(--apple-text-tertiary) !important;
}

[data-theme="dark"] .form-dashboard-section .btn-new:hover,
[data-theme="dark"] .form-links .btn-new-doc:hover {
  background: var(--apple-surface-3) !important;
  color: var(--apple-blue) !important;
}

/* Activity card */
[data-theme="dark"] .form-footer .new-timeline {
  background: var(--apple-surface) !important;
  border-color: var(--apple-border) !important;
}

/* Sidebar */
[data-theme="dark"] .desk-sidebar,
[data-theme="dark"] .layout-side-section {
  background: var(--apple-surface) !important;
}

[data-theme="dark"] .sidebar-menu {
  background: var(--apple-surface) !important;
}

/* Form sidebar */
[data-theme="dark"] .form-sidebar {
  background: transparent !important;
}

/* Comment box */
[data-theme="dark"] .comment-box {
  background: var(--apple-surface) !important;
  border-color: var(--apple-border) !important;
}

[data-theme="dark"] .comment-box .reply-editor,
[data-theme="dark"] .comment-box .ql-editor,
[data-theme="dark"] .comment-box .comment-input-container .frappe-control .ql-editor,
[data-theme="dark"] .comment-box textarea {
  background: var(--apple-input-bg) !important;
  background-color: var(--apple-input-bg) !important;
  border-color: var(--apple-border-strong) !important;
  color: var(--apple-text-primary) !important;
}

/* Text editor toolbar */
[data-theme="dark"] .ql-toolbar,
[data-theme="dark"] .note-toolbar {
  background: var(--apple-surface-3) !important;
  border-color: var(--apple-border) !important;
}

[data-theme="dark"] .ql-toolbar button,
[data-theme="dark"] .ql-toolbar .ql-picker-label {
  color: var(--apple-text-secondary) !important;
}

/* Link field open/arrow button — force transparent in dark mode */
[data-theme="dark"] .link-field-icon,
[data-theme="dark"] .input-group-addon,
[data-theme="dark"] .link-open {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
}

/* Child table */
[data-theme="dark"] .dt-wrapper,
[data-theme="dark"] .datatable,
[data-theme="dark"] .list-row-container {
  background: var(--apple-surface) !important;
  border-color: var(--apple-border) !important;
}

[data-theme="dark"] .dt-header,
[data-theme="dark"] .datatable .dt-row-header,
[data-theme="dark"] .list-row-head {
  background: var(--apple-surface-2) !important;
}

[data-theme="dark"] .dt-row:hover,
[data-theme="dark"] .list-row:hover {
  background: var(--apple-surface-2) !important;
}

/* Checkbox toggle — dark mode off state */
[data-theme="dark"] .frappe-control[data-fieldtype="Check"] .input-area input[type="checkbox"],
[data-theme="dark"] .frappe-control[data-fieldtype="Check"] .disp-area input[type="checkbox"],
[data-theme="dark"] input[type="checkbox"].input-with-feedback {
  background: #636366 !important;
}

/* Checkbox toggle — dark mode ON state */
[data-theme="dark"] .frappe-control[data-fieldtype="Check"] .input-area input[type="checkbox"]:checked,
[data-theme="dark"] .frappe-control[data-fieldtype="Check"] .disp-area input[type="checkbox"]:checked,
[data-theme="dark"] .frappe-control[data-fieldtype="Check"] .disp-area input[type="checkbox"].disabled-selected,
[data-theme="dark"] input[type="checkbox"].input-with-feedback:checked {
  background: var(--apple-blue) !important;
  background-color: var(--apple-blue) !important;
}

[data-theme="dark"] .frappe-control[data-fieldtype="Check"] .input-area input[type="checkbox"]::after,
[data-theme="dark"] .frappe-control[data-fieldtype="Check"] .disp-area input[type="checkbox"]::after,
[data-theme="dark"] input[type="checkbox"].input-with-feedback::after {
  background: #ffffff !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.4);
}

/* Child table compact checkboxes */
[data-theme="dark"] .frappe-control[data-fieldtype="Table"] input[type="checkbox"],
[data-theme="dark"] .dt-cell input[type="checkbox"],
[data-theme="dark"] .select-like input[type="checkbox"],
[data-theme="dark"] .list-row input[type="checkbox"] {
  background: var(--apple-surface-2) !important;
  border-color: var(--apple-border-strong) !important;
}

/* MultiCheck checkboxes — global */
[data-theme="dark"] .checkbox.unit-checkbox input[type="checkbox"],
[data-theme="dark"] .frappe-control[data-fieldtype="MultiCheck"] input[type="checkbox"] {
  background: var(--apple-surface-2) !important;
  border-color: var(--apple-border-strong) !important;
}

[data-theme="dark"] .checkbox.unit-checkbox label:hover {
  background: rgba(255, 255, 255, 0.03) !important;
}

/* DocType builder checkboxes — dark mode (sidebar + canvas) */
[data-theme="dark"] .sidebar-container .frappe-control[data-fieldtype="Check"] input[type="checkbox"],
[data-theme="dark"] .form-builder-container .frappe-control[data-fieldtype="Check"] input[type="checkbox"],
[data-theme="dark"] .form-builder-container .control.checkbox input[type="checkbox"] {
  background: var(--apple-surface-2) !important;
  border-color: var(--apple-border-strong) !important;
}

[data-theme="dark"] .sidebar-container .frappe-control[data-fieldtype="Check"] input[type="checkbox"]:checked,
[data-theme="dark"] .form-builder-container .frappe-control[data-fieldtype="Check"] input[type="checkbox"]:checked,
[data-theme="dark"] .form-builder-container .control.checkbox input[type="checkbox"]:checked {
  background: var(--apple-blue) !important;
  border-color: var(--apple-blue) !important;
}

/* Workspace — dark mode */

/* Main section card */
[data-theme="dark"] [data-page-route="Workspaces"] .layout-main-section {
  background: var(--apple-surface) !important;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2) !important;
}

[data-theme="dark"] [data-page-route="Workspaces"] .layout-main-section::before {
  background: none !important;
}

[data-theme="dark"] .ce-block__content .shortcut-widget-box {
  background: var(--apple-surface) !important;
  border-color: var(--apple-border) !important;
}

[data-theme="dark"] .ce-block__content .shortcut-widget-box:hover {
  border-color: var(--apple-border-strong) !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.2), 0 1px 2px rgba(0,0,0,0.1) !important;
}

[data-theme="dark"] .shortcut-widget-box .widget-head .count {
  background: var(--apple-surface-3) !important;
  color: var(--apple-text-secondary) !important;
}

[data-theme="dark"] .number-widget-box {
  background: var(--apple-surface) !important;
  border-color: var(--apple-border) !important;
}

/* Workspace footer — dark mode */
[data-theme="dark"] .workspace-footer {
  border-color: var(--apple-border) !important;
}

[data-theme="dark"] .workspace-footer .btn-edit-workspace {
  background: transparent !important;
  color: var(--apple-blue) !important;
  border-color: var(--apple-blue) !important;
}

[data-theme="dark"] .workspace-footer .btn-edit-workspace:hover {
  background: var(--apple-blue-light) !important;
  color: var(--apple-blue) !important;
}

[data-theme="dark"] .workspace-footer .btn-new-workspace {
  background: var(--apple-blue) !important;
  color: #ffffff !important;
}

[data-theme="dark"] .workspace-footer .btn-new-workspace:hover {
  background: var(--apple-blue-hover) !important;
}

/* Page head */
[data-theme="dark"] .page-head {
  background: var(--apple-bg) !important;
  border-color: var(--apple-border) !important;
}

/* Workflow bar */
[data-theme="dark"] .workflow-state-indicator,
[data-theme="dark"] .form-workflow-btn-section,
[data-theme="dark"] .workflow-action-buttons {
  background: var(--apple-surface-2) !important;
  border-color: var(--apple-border) !important;
}

/* Alerts */
[data-theme="dark"] .alert-info    { background: rgba(10,132,255,0.15) !important; color: #409cff !important; }
[data-theme="dark"] .alert-success { background: rgba(48,209,88,0.15) !important; color: #30d158 !important; }
[data-theme="dark"] .alert-warning { background: rgba(255,159,10,0.15) !important; color: #ff9f0a !important; }
[data-theme="dark"] .alert-danger  { background: rgba(255,69,58,0.15) !important; color: #ff453a !important; }

/* Toast */
[data-theme="dark"] .desk-alert,
[data-theme="dark"] .frappe-alert {
  background: rgba(28, 28, 30, 0.92) !important;
  border-color: var(--apple-border) !important;
}

/* Awesomplete dropdown */
[data-theme="dark"] .awesomplete > ul,
[data-theme="dark"] ul.awesomplete-list {
  background: var(--apple-surface) !important;
  border-color: var(--apple-border) !important;
}

[data-theme="dark"] .awesomplete > ul > li:hover,
[data-theme="dark"] .awesomplete > ul > li[aria-selected="true"] {
  background: var(--apple-surface-3) !important;
}

/* Phone picker */
[data-theme="dark"] .phone-picker .country-picker,
[data-theme="dark"] .iti__country-list {
  background: var(--apple-surface) !important;
  border-color: var(--apple-border) !important;
}

/* Config modal rows */
[data-theme="dark"] .modal-body .control-input.fields_order {
  border-bottom-color: var(--apple-border) !important;
}

[data-theme="dark"] .modal-body .control-input.fields_order:hover {
  background: rgba(255, 255, 255, 0.03) !important;
}

[data-theme="dark"] .modal-body .control-input.fields_order .col-4 input {
  background: var(--apple-surface-3) !important;
  border-color: var(--apple-border) !important;
  color: var(--apple-text-primary) !important;
}

/* Scrollbars */
[data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.18);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.30);
}

/* Glass utility */
[data-theme="dark"] .glass {
  background: rgba(28, 28, 30, 0.75);
  border-color: rgba(255, 255, 255, 0.08);
}

/* No Data placeholder */
[data-theme="dark"] .dt-wrapper .dt-empty,
[data-theme="dark"] .no-data {
  color: var(--apple-text-tertiary) !important;
}

/* macOS title bar strip — dark mode */
[data-theme="dark"] .modal-header {
  background: linear-gradient(
    180deg,
    rgba(80, 80, 80, 0.35) 0%,
    rgba(60, 60, 60, 0.18) 100%
  ) !important;
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

/* Toast — dark mode */
[data-theme="dark"] .desk-alert,
[data-theme="dark"] .frappe-alert {
  background: rgba(28, 28, 30, 0.95) !important;
  border-color: rgba(255, 255, 255, 0.10) !important;
}

/* Notification dropdown — dark mode */
[data-theme="dark"] .notifications-list,
[data-theme="dark"] .notification-list-wrapper,
[data-theme="dark"] #notifications-list,
[data-theme="dark"] .navbar .notifications-list.dropdown-menu {
  background: rgba(28, 28, 30, 0.95) !important;
  border-color: rgba(255, 255, 255, 0.10) !important;
}

[data-theme="dark"] .notifications-list .notification-item:hover,
[data-theme="dark"] .notifications-list .notification-list-item:hover,
[data-theme="dark"] .notifications-list .list-group-item:hover,
[data-theme="dark"] .notifications-list .activity-item:hover {
  background: rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .notifications-list .notification-item.unread,
[data-theme="dark"] .notifications-list .notification-list-item.unread {
  background: rgba(10, 132, 255, 0.12) !important;
}

/* ════════════════════════════════════════════════════════════
   25.  RESPONSIVE
   ════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .desk-sidebar { display: none; }
  .main-section { padding: 16px !important; }
  .modal-content { border-radius: var(--r-lg) !important; }
  .btn-primary, .btn-default { padding: 10px 18px !important; }

  /* macOS dialog — responsive */
  .msgprint-dialog .modal-dialog,
  .modal-dialog[data-modal-type="confirm"] {
    max-width: calc(100vw - 32px) !important;
    margin: 20vh auto !important;
  }

  /* Toasts — responsive */
  .desk-alert,
  .frappe-alert {
    width: calc(100vw - 32px) !important;
    right: 16px !important;
    top: 56px !important;
  }

  /* Notification dropdown — responsive */
  .notifications-list,
  .notification-list-wrapper,
  #notifications-list,
  .navbar .notifications-list.dropdown-menu {
    width: calc(100vw - 16px) !important;
    right: 8px !important;
  }
}

/* ════════════════════════════════════════════════════════════
   26.  NOTIFICATION BELL DROPDOWN — macOS Notification Center
   ════════════════════════════════════════════════════════════ */

/* --- Bell icon button --- */
.navbar .notifications-icon,
.navbar .navbar-nav .nav-item .notifications-icon {
  width: 34px !important;
  height: 34px !important;
  border-radius: var(--r-sm) !important;
  border: 1px solid var(--apple-border) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  transition: all var(--t-fast) var(--ease-apple) !important;
}

.navbar .notifications-icon:hover {
  background: var(--apple-surface-3) !important;
}

/* Badge count on bell */
.navbar .notifications-icon .badge,
.navbar .notifications-icon .notification-badge {
  position: absolute !important;
  top: -3px !important;
  right: -3px !important;
  min-width: 17px !important;
  height: 17px !important;
  border-radius: 50% !important;
  background: var(--apple-red) !important;
  color: #fff !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid var(--apple-surface) !important;
  padding: 0 4px !important;
}

/* --- Dropdown panel --- */
.notifications-list,
.notification-list-wrapper,
#notifications-list,
.navbar .notifications-list.dropdown-menu {
  width: 360px !important;
  max-width: calc(100vw - 24px) !important;
  max-height: 480px !important;
  overflow-y: auto !important;
  border-radius: var(--r-md) !important;
  border: 1px solid var(--apple-border) !important;
  background: var(--apple-surface) !important;
  box-shadow: var(--shadow-xl) !important;
  padding: 0 !important;
  animation: notification-panel-appear var(--t-normal) var(--ease-spring) !important;
}

@keyframes notification-panel-appear {
  from { opacity: 0; transform: scale(0.96) translateY(-6px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}

/* --- Notification category tabs --- */
.notifications-list .notification-item-tabs .notifications-category {
  padding: var(--padding-md) 0px;
  margin-bottom: -1px;
  margin-right: var(--margin-sm);
  color: var(--text-light);
  font-weight: var(--weight-medium);
  cursor: pointer;
  font-size: 0.825rem;
}

/* --- Panel header --- */
.notifications-list .notification-list-header,
.notifications-list .panel-heading,
.notifications-list > header,
.notifications-list .notifications-header {
  padding: 14px 16px 10px !important;
  border-bottom: 1px solid var(--apple-border) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: transparent !important;
}

.notifications-list .notification-list-header strong,
.notifications-list .panel-heading strong,
.notifications-list .notifications-header .title {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--apple-text-primary) !important;
}

/* "Mark all read" / "See all" links */
.notifications-list .notification-list-header a,
.notifications-list .notifications-header a {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--apple-blue) !important;
  text-decoration: none !important;
}

.notifications-list .notification-list-header a:hover,
.notifications-list .notifications-header a:hover {
  text-decoration: underline !important;
}

/* --- Time group headers (Today, Earlier) --- */
.notifications-list .notification-group-header,
.notifications-list .section-label {
  padding: 10px 16px 4px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--apple-text-tertiary) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  background: transparent !important;
}

/* --- Individual notification items --- */
.notifications-list .notification-item,
.notifications-list .notification-list-item,
.notifications-list .list-group-item,
.notifications-list .activity-item {
  display: flex !important;
  gap: 10px !important;
  padding: 10px 16px !important;
  border: none !important;
  border-bottom: none !important;
  background: transparent !important;
  cursor: pointer !important;
  transition: background var(--t-fast) var(--ease-apple) !important;
  border-radius: 0 !important;
}

.notifications-list .notification-item:hover,
.notifications-list .notification-list-item:hover,
.notifications-list .list-group-item:hover,
.notifications-list .activity-item:hover {
  background: var(--apple-surface-2) !important;
}

/* Notification icon circle */
.notifications-list .notification-item .avatar,
.notifications-list .notification-item .notification-icon,
.notifications-list .list-group-item .avatar,
.notifications-list .activity-item .avatar {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
}

/* Notification text block */
.notifications-list .notification-item .notification-text,
.notifications-list .notification-item .notification-body,
.notifications-list .list-group-item .activity,
.notifications-list .activity-item .activity {
  flex: 1 !important;
  min-width: 0 !important;
}

/* Notification title */
.notifications-list .notification-item .notification-text .title,
.notifications-list .notification-item .notification-body .title,
.notifications-list .list-group-item .activity a:first-child {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--apple-text-primary) !important;
  display: block !important;
  line-height: 1.35 !important;
}

/* Notification description */
.notifications-list .notification-item .notification-text .description,
.notifications-list .notification-item .notification-body .description,
.notifications-list .list-group-item .activity > span:not(:first-child) {
  font-size: 12px !important;
  color: var(--apple-text-secondary) !important;
  line-height: 1.35 !important;
  margin-top: 2px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

/* Notification timestamp */
.notifications-list .notification-item .timestamp,
.notifications-list .notification-item .when,
.notifications-list .list-group-item .activity span:last-child {
  font-size: 11px !important;
  color: var(--apple-text-tertiary) !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
}

/* Unread notification indicator */
.notifications-list .notification-item.unread,
.notifications-list .notification-list-item.unread {
  background: var(--apple-blue-light) !important;
}

.notifications-list .notification-item.unread:hover,
.notifications-list .notification-list-item.unread:hover {
  background: rgba(0, 113, 227, 0.08) !important;
}

/* --- Panel footer --- */
.notifications-list .notification-list-footer,
.notifications-list .panel-footer,
.notifications-list > footer {
  padding: 10px 16px !important;
  border-top: 1px solid var(--apple-border) !important;
  text-align: center !important;
  background: transparent !important;
}

.notifications-list .notification-list-footer a,
.notifications-list .panel-footer a {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--apple-blue) !important;
  text-decoration: none !important;
}

.notifications-list .notification-list-footer a:hover,
.notifications-list .panel-footer a:hover {
  text-decoration: underline !important;
}

/* --- Empty state --- */
.notifications-list .notification-empty,
.notifications-list .text-muted.text-center {
  padding: 32px 16px !important;
  text-align: center !important;
  color: var(--apple-text-tertiary) !important;
  font-size: 13px !important;
}

/* ════════════════════════════════════════════════════════════
   LOGIN PAGE
   Targets: section.for-login, .page-card-head, .login-content,
   .form-signin, .page-card-body, .page-card-actions,
   .social-logins, .forgot-password-message
   Loaded via website_include_css in hooks.py
   ════════════════════════════════════════════════════════════ */

/* ── Page background — subtle gray gradient ── */
#page-login,
#page-login .page-content-wrapper,
#page-login .page_content {
  background: none !important;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

@media (min-width: 576px) {
  body {
    background-color: var(--bg-dark-gray);
  }
}

/* Ensure full-height gradient — shifted upward */
#page-login .container.my-4 {
  min-height: 60vh !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  margin-top: 0.75rem !important;
  padding-bottom: 3rem !important;
}

/* ── Hide "Login to Infuseo" heading ── */
.page-card-head h4 {
  display: none !important;
}

/* ── Logo sizing ── */
.page-card-head .app-logo {
  max-height: 52px !important;
  margin-bottom: 8px !important;
}

/* ── Login card container ── */
.login-content.page-card {
  background: var(--apple-surface, #ffffff) !important;
  border: 1px solid var(--apple-border, rgba(0,0,0,0.08)) !important;
  border-radius: var(--r-lg, 20px) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.08), 0 2px 8px rgba(0,0,0,0.04) !important;
  max-width: 500px !important;
  margin: 0 auto !important;
  overflow: hidden !important;
}

/* Card body padding */
.login-content .page-card-body {
  padding: 36px 0 20px !important;
}

/* ── Form fields ── */
.form-signin .form-control,
.form-signin input[type="text"],
.form-signin input[type="password"],
.form-signin input[type="email"] {
  background: var(--apple-input-bg, #f9f9f9) !important;
  border: 1px solid rgba(0,0,0,0.07) !important;
  border-radius: var(--r-sm, 10px) !important;
  padding: 13px 13px 13px 42px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--apple-text-primary, #1d1d1f) !important;
  transition: all 220ms cubic-bezier(0.25, 0.1, 0.25, 1) !important;
  box-shadow: none !important;
  height: auto !important;
  width: 100% !important;
  display: block !important;
}

.form-signin .form-control:focus,
.form-signin input:focus {
  border-color: var(--apple-blue, #0071e3) !important;
  box-shadow: 0 0 0 3px var(--apple-blue-light, rgba(0,113,227,0.12)) !important;
  outline: none !important;
  background: #ffffff !important;
}

.form-signin .form-control::placeholder,
.form-signin input::placeholder {
  color: var(--apple-text-tertiary, #aeaeb2) !important;
  font-weight: 400 !important;
}

/* ── Field icons (SVG) — centered vertically, 25% larger ── */
.form-signin svg.field-icon {
  color: var(--apple-text-tertiary, #aeaeb2) !important;
  opacity: 0.7;
  width: 20px !important;
  height: 20px !important;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  left: 12px !important;
}

/* ── Show/hide password toggle ── */
.form-signin .toggle-password {
  color: var(--apple-text-tertiary, #aeaeb2) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 450 !important;
  cursor: pointer;
}

.form-signin .toggle-password:hover {
  color: var(--apple-blue, #0071e3) !important;
}

/* ── Form groups — spacing ── */
.form-signin .form-group {
  margin-bottom: 16px !important;
}

/* Field containers — full width (position set in icon section above) */
.form-signin .email-field,
.form-signin .password-field {
  width: 100% !important;
  position: relative !important;
}

/* ── Forgot Password link ── */
p.forgot-password-message {
  margin: 4px 0 20px !important;
  text-align: right !important;
}

p.forgot-password-message a {
  color: var(--apple-blue, #0071e3) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 450 !important;
  text-decoration: none !important;
}

p.forgot-password-message a:hover {
  text-decoration: underline !important;
}

/* ── Primary Login button — Apple blue pill ── */
.page-card-actions .btn-login,
.page-card-actions .btn.btn-primary {
  background: var(--apple-blue, #0071e3) !important;
  border: none !important;
  border-radius: var(--r-pill, 100px) !important;
  padding: 13px 22px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: #fff !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.18) inset,
              0 4px 20px var(--apple-blue-glow, rgba(0,113,227,0.25)) !important;
  transition: all 120ms cubic-bezier(0.25, 0.1, 0.25, 1) !important;
  letter-spacing: -0.1px;
}

.page-card-actions .btn-login:hover,
.page-card-actions .btn.btn-primary:hover {
  background: var(--apple-blue-hover, #0077ed) !important;
  transform: translateY(-1px);
  box-shadow: 0 1px 0 rgba(255,255,255,0.2) inset,
              0 6px 24px var(--apple-blue-glow, rgba(0,113,227,0.25)) !important;
}

.page-card-actions .btn-login:active,
.page-card-actions .btn.btn-primary:active {
  transform: translateY(0);
  box-shadow: none !important;
}

/* ── "or" divider ── */
.social-logins p.login-divider,
.social-logins p.text-muted {
  color: var(--apple-text-tertiary, #aeaeb2) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  margin: 16px 0 !important;
}

/* ── Login with Email Link — plain link (not button) ── */
.btn-login-with-email-link,
.social-logins .btn-login-option {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 450 !important;
  color: var(--apple-blue, #0071e3) !important;
  padding: 0 !important;
  transition: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  display: inline !important;
  width: auto !important;
}

.btn-login-with-email-link:hover,
.social-logins .btn-login-option:hover {
  background: none !important;
  transform: none !important;
  box-shadow: none !important;
  text-decoration: underline !important;
  color: var(--apple-blue-hover, #0077ed) !important;
}

/* ── Social logins container ── */
.social-logins {
  padding: 0 36px 32px !important;
  text-align: center !important;
}

/* Login button wrapper — no block display needed */
.social-logins .login-button-wrapper {
  display: inline !important;
}

/* ── Hide the empty page-header-wrapper on login ── */
#page-login .page-header-wrapper {
  display: none !important;
}

/* ── Hide empty breadcrumbs ── */
#page-login .page-breadcrumbs {
  display: none !important;
}

/* ── Navbar on login page — frosted glass to match desk ── */
#page-login .navbar {
  background: rgba(255, 255, 255, 0.82) !important;
  backdrop-filter: saturate(200%) blur(24px) !important;
  -webkit-backdrop-filter: saturate(200%) blur(24px) !important;
  border-bottom: 1px solid var(--apple-border, rgba(0,0,0,0.08)) !important;
  box-shadow: none !important;
}

/* ── Dark mode overrides for login ── */
[data-theme="dark"] #page-login,
[data-theme="dark"] #page-login .page-content-wrapper,
[data-theme="dark"] #page-login .page_content {
  background: linear-gradient(180deg, #1c1c1e 0%, #000000 100%) !important;
}

[data-theme="dark"] .login-content.page-card {
  background: var(--apple-surface, #1c1c1e) !important;
  border-color: var(--apple-border, rgba(255,255,255,0.10)) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.4), 0 2px 8px rgba(0,0,0,0.2) !important;
}

[data-theme="dark"] .form-signin .form-control,
[data-theme="dark"] .form-signin input {
  background: var(--apple-input-bg, #2c2c2e) !important;
  border-color: var(--apple-border, rgba(255,255,255,0.10)) !important;
  color: var(--apple-text-primary, #f5f5f7) !important;
}

[data-theme="dark"] .form-signin .form-control:focus,
[data-theme="dark"] .form-signin input:focus {
  border-color: var(--apple-blue, #0a84ff) !important;
  box-shadow: 0 0 0 3px var(--apple-blue-light, rgba(10,132,255,0.18)) !important;
  background: var(--apple-surface-2, #2c2c2e) !important;
}

[data-theme="dark"] .btn-login-with-email-link,
[data-theme="dark"] .social-logins .btn-login-option {
  background: none !important;
  border: none !important;
  color: var(--apple-blue, #0a84ff) !important;
}

[data-theme="dark"] .social-logins p.login-divider {
  color: var(--apple-text-tertiary, #636366) !important;
}

[data-theme="dark"] #page-login .navbar {
  background: rgba(28, 28, 30, 0.82) !important;
  border-bottom-color: var(--apple-border, rgba(255,255,255,0.10)) !important;
}

/* ════════════════════════════════════════════════════════════
   CALENDAR VIEW — Today / Month / Week / Day buttons
   ════════════════════════════════════════════════════════════ */

/* ── Button group — add spacing between buttons ── */
.fc-right .btn-group {
  gap: 4px !important;
  display: inline-flex !important;
}

/* Remove Bootstrap btn-group border-radius override so each button is independent */
.fc-right .btn-group > .btn:not(:first-child):not(:last-child),
.fc-right .btn-group > .btn:first-child:not(:last-child),
.fc-right .btn-group > .btn:last-child:not(:first-child) {
  border-radius: var(--r-sm, 10px) !important;
}

/* ── All calendar buttons — base style ── */
.fc-button,
.fc-right .btn-group .btn {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--apple-text-primary, #1d1d1f) !important;
  background: var(--apple-surface, #ffffff) !important;
  border: 1px solid var(--apple-border-strong, rgba(0,0,0,0.15)) !important;
  border-radius: var(--r-sm, 10px) !important;
  padding: 6px 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  box-shadow: 0 0.5px 1px rgba(0,0,0,0.04) !important;
  transition: all var(--t-fast, 120ms) var(--ease-apple, cubic-bezier(0.25, 0.1, 0.25, 1)) !important;
  cursor: pointer;
}

/* ── Hover state ── */
.fc-button:hover,
.fc-right .btn-group .btn:hover {
  background: var(--apple-surface-2, #f5f5f7) !important;
  border-color: var(--apple-border-strong, rgba(0,0,0,0.15)) !important;
}

/* ── Active / selected button — Apple blue highlight ── */
.fc-button.fc-state-active,
.fc-right .btn-group .btn.active,
.fc-right .btn-group .btn-default.active {
  background: var(--apple-blue-light, rgba(0,113,227,0.12)) !important;
  color: var(--apple-blue, #0071e3) !important;
  border-color: rgba(0,113,227,0.25) !important;
  font-weight: 600 !important;
  box-shadow: 0 0.5px 1px rgba(0,113,227,0.08) !important;
}

.fc-button.fc-state-active:hover,
.fc-right .btn-group .btn.active:hover {
  background: rgba(0,113,227,0.18) !important;
}

/* ── Today button — same base style ── */
.fc-today-button {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  padding: 6px 14px !important;
  border-radius: var(--r-sm, 10px) !important;
  box-shadow: 0 0.5px 1px rgba(0,0,0,0.04) !important;
}

/* ── Dark mode ── */
[data-theme="dark"] .fc-button,
[data-theme="dark"] .fc-right .btn-group .btn {
  background: var(--apple-surface, #1c1c1e) !important;
  color: var(--apple-text-primary, #f5f5f7) !important;
  border-color: var(--apple-border-strong, rgba(255,255,255,0.16)) !important;
  box-shadow: 0 0.5px 1px rgba(0,0,0,0.15) !important;
}

[data-theme="dark"] .fc-button:hover,
[data-theme="dark"] .fc-right .btn-group .btn:hover {
  background: var(--apple-surface-2, #2c2c2e) !important;
}

[data-theme="dark"] .fc-button.fc-state-active,
[data-theme="dark"] .fc-right .btn-group .btn.active {
  background: var(--apple-blue-light, rgba(10,132,255,0.18)) !important;
  color: var(--apple-blue, #0a84ff) !important;
  border-color: rgba(10,132,255,0.30) !important;
}


/* ════════════════════════════════════════════════════════════
   CALENDAR VIEW — Date Navigator (prev/next arrows + heading)
   ════════════════════════════════════════════════════════════ */

/* ── Layout: inline row — ‹ Mar 22 – 28, 2026 › ── */
.fc-left {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}

/* Force all direct children of fc-left into the flex row */
.fc-left > * {
  display: inline-flex !important;
  align-items: center !important;
}

/* The prev button lives inside an extra wrapper div — order the wrapper */
.fc-left > div:first-child {
  order: 1 !important;
}

.fc-left > h2 {
  order: 2 !important;
}

.fc-left > button.fc-next-button {
  order: 3 !important;
}

/* ── Date heading ── */
.fc-left h2 {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--apple-text-primary, #1d1d1f) !important;
  letter-spacing: -0.02em !important;
  margin: 0 !important;
  padding: 0 8px !important;
  white-space: nowrap !important;
  line-height: 24px !important;
}

/* ── Prev / Next buttons — circular icon buttons ── */
.fc-prev-button,
.fc-next-button {
  background: var(--apple-surface, #ffffff) !important;
  border: 1px solid var(--apple-border, rgba(0,0,0,0.08)) !important;
  border-radius: 50% !important;
  width: 24px !important;
  height: 24px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 0.25px 0.5px rgba(0,0,0,0.03) !important;
  transition: all var(--t-fast, 120ms) var(--ease-apple, cubic-bezier(0.25, 0.1, 0.25, 1)) !important;
  cursor: pointer;
  flex-shrink: 0 !important;
}


.fc-prev-button:hover,
.fc-next-button:hover {
  background: var(--apple-surface-2, #f5f5f7) !important;
  border-color: var(--apple-border-strong, rgba(0,0,0,0.15)) !important;
  box-shadow: 0 0.5px 2px rgba(0,0,0,0.05) !important;
  transform: scale(1.05);
}

.fc-prev-button:active,
.fc-next-button:active {
  transform: scale(0.95);
  box-shadow: none !important;
}

/* ── Arrow icons inside buttons ── */
.fc-prev-button .icon,
.fc-next-button .icon,
.fc-prev-button svg,
.fc-next-button svg {
  width: 12px !important;
  height: 12px !important;
  color: var(--apple-text-secondary, #6e6e73) !important;
}

.fc-prev-button:hover .icon,
.fc-prev-button:hover svg,
.fc-next-button:hover .icon,
.fc-next-button:hover svg {
  color: var(--apple-text-primary, #1d1d1f) !important;
}

/* ── Remove the span wrapper's block behavior ── */
.fc-prev-button > span,
.fc-next-button > span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ── Dark mode ── */
[data-theme="dark"] .fc-left h2 {
  color: var(--apple-text-primary, #f5f5f7) !important;
}

[data-theme="dark"] .fc-prev-button,
[data-theme="dark"] .fc-next-button {
  background: var(--apple-surface, #1c1c1e) !important;
  border-color: var(--apple-border, rgba(255,255,255,0.10)) !important;
  box-shadow: 0 0.25px 1px rgba(0,0,0,0.1) !important;
}

[data-theme="dark"] .fc-prev-button:hover,
[data-theme="dark"] .fc-next-button:hover {
  background: var(--apple-surface-2, #2c2c2e) !important;
  border-color: var(--apple-border-strong, rgba(255,255,255,0.16)) !important;
}

[data-theme="dark"] .fc-prev-button .icon,
[data-theme="dark"] .fc-prev-button svg,
[data-theme="dark"] .fc-next-button .icon,
[data-theme="dark"] .fc-next-button svg {
  color: var(--apple-text-secondary, #98989d) !important;
}

[data-theme="dark"] .fc-prev-button:hover .icon,
[data-theme="dark"] .fc-prev-button:hover svg,
[data-theme="dark"] .fc-next-button:hover .icon,
[data-theme="dark"] .fc-next-button:hover svg {
  color: var(--apple-text-primary, #f5f5f7) !important;
}
/* ════════════════════════════════════════════════════════════
   NAVBAR — Organization Name
   ════════════════════════════════════════════════════════════ */
.infuseo-org-name {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: var(--apple-text-secondary, #6e6e73);
  letter-spacing: -0.2px;
  padding: 0 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 280px;
  display: flex;
  align-items: center;
}

[data-theme="dark"] .infuseo-org-name {
  color: rgba(255, 255, 255, 0.55);
}

/* Workflow Guidance Banner — spacing */
.infuseo-wfg-banner {
    margin: 12px 50px !important;
}
