/* Shared Aureum foundation tokens and accessibility behavior. */
:root {
  --aureum-cream: #f7f1e6;
  --aureum-ivory: #fffdf9;
  --aureum-soft-beige: #efe4d2;
  --aureum-gold: #c6a15b;
  --aureum-soft-gold: #e2c67a;
  --aureum-deep-brown: #2a2118;
  --aureum-charcoal: #111111;
  --aureum-muted: #7a7167;
  --aureum-success: #2f6b4f;
  --aureum-warning: #c88a2d;
  --aureum-error: #b94a48;
  --aureum-gold-border: rgba(198, 161, 91, .35);
  --aureum-focus: 0 0 0 3px rgba(198, 161, 91, .28);
}

.aureum-icon { width: 1em; height: 1em; display: inline-block; vertical-align: -.12em; flex: 0 0 auto; }
.skip-link { position: fixed; left: 14px; top: -60px; z-index: 100; padding: 10px 14px; color: var(--aureum-charcoal); border-radius: 9px; background: var(--aureum-soft-gold); transition: top .18s ease; }
.skip-link:focus { top: 14px; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 0; box-shadow: var(--aureum-focus); }
[aria-disabled="true"], button:disabled { cursor: not-allowed; opacity: .58; }
.aureum-loading { min-height: 120px; display: grid; place-items: center; gap: 7px; }
.skeleton-line { display: block; width: min(220px, 70%); height: 9px; border-radius: 99px; background: linear-gradient(90deg, #efe4d2, #fffdf9, #efe4d2); background-size: 200% 100%; animation: aureumShimmer 1.4s ease-in-out infinite; }
.aureum-error { border: 1px solid rgba(185, 74, 72, .28); background: rgba(185, 74, 72, .05); }
.drawer, .card, .btn, .nav-item, .table-action { transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease, background-color .18s ease; }
.card:hover { box-shadow: 0 12px 30px rgba(42, 33, 24, .07); }
.drawer { animation: aureumDrawerIn .2s ease-out; }
.table-wrap { scrollbar-color: var(--aureum-gold) var(--aureum-soft-beige); }
.form-field > span { display: block; margin-bottom: 6px; color: var(--aureum-muted); font-size: 11px; font-weight: 700; }
.form-field input[type="date"], .form-field input[type="time"] { min-height: 38px; }
.aureum-tooltip { position: relative; }
.aureum-tooltip:hover::after, .aureum-tooltip:focus-visible::after { content: attr(data-tooltip); position: absolute; left: 50%; bottom: calc(100% + 7px); z-index: 20; width: max-content; max-width: 220px; padding: 6px 8px; color: var(--aureum-ivory); border-radius: 6px; background: var(--aureum-charcoal); font-size: 10px; transform: translateX(-50%); }
@keyframes aureumShimmer { to { background-position: -200% 0; } }
@keyframes aureumDrawerIn { from { opacity: .2; transform: translateX(20px); } to { opacity: 1; transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }
@media (max-width: 760px) { .top-search { max-width: 150px; } .filter-bar .form-field { min-width: 130px !important; } .drawer { width: 100%; padding: 20px; } }

/* Keep the follow-up editor focused on the latest call and next contact. */
[data-next-contact-date][hidden], [data-next-contact-time][hidden] { display: none; }
.followup-table-wrap tr[data-followup-module-open] { cursor: pointer; }
.followup-latest-response { max-width: 360px; white-space: normal; overflow-wrap: anywhere; }
.app-shell .followup-table-wrap table { width: 100%; min-width: 1260px; table-layout: auto; }
.followup-table-wrap th, .followup-table-wrap td { white-space: nowrap; }
.followup-table-wrap .badge { white-space: nowrap; overflow-wrap: normal; }
.followup-table-wrap .followup-action-menu[open] { padding-bottom: 76px; }
.followup-table-wrap .followup-action-options { top: 30px; }
.followup-drawer-tabs { padding-left: 0; }
html[data-theme="light"] .app-shell .followup-action-menu summary,
html[data-theme="light"] .app-shell .followup-drawer-tabs .tab.active { color: var(--ink); }
.app-shell .followup-contacted-badge { color: #22536f; background: #e0edf5; }
html[data-theme="dark"] .app-shell .followup-contacted-badge { color: #b6ddf6; background: #233b4d; }
html[data-theme="light"] .followup-registry-card .badge-overdue,
html[data-theme="light"] .followup-detail-drawer .badge-overdue { color: #8d2727; background: #f8dddd; }
.lead-customer-followup { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); }
.lead-customer-schedule-toggle { display: flex; align-items: center; gap: 10px; font-weight: 600; cursor: pointer; }
.lead-customer-schedule-toggle input { width: 18px; height: 18px; margin: 0; }
.lead-customer-followup fieldset { border: 0; margin: 16px 0 0; padding: 0; min-width: 0; }
.lead-customer-followup fieldset[hidden] { display: none; }
.lead-customer-followup legend { margin-bottom: 12px; font-weight: 600; }
[data-lead-customer-error]:not(:empty) { color: var(--danger, #e57373); }
.form-field select.tag-multi-select[hidden] { display: none; }
.form-field[data-customer-other-property][hidden] { display: none; }
.tag-dropdown { position: relative; min-width: 0; }
.tag-dropdown > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 38px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); color: var(--ink); cursor: pointer; list-style: none; font-size: 12px; }
.tag-dropdown > summary::-webkit-details-marker { display: none; }
.tag-dropdown > summary [data-tag-summary] { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.tag-dropdown-options { position: absolute; top: calc(100% + 5px); left: 0; right: 0; z-index: 60; max-height: 240px; overflow-y: auto; padding: 6px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); box-shadow: var(--shadow); }
.form-field .tag-dropdown-option { display: flex; align-items: center; gap: 10px; margin: 0; padding: 9px 8px; border-radius: 6px; color: var(--ink); cursor: pointer; font-size: 12px; font-weight: 500; }
.tag-dropdown-option:hover { background: rgba(198, 161, 91, .12); }
.form-field .tag-dropdown-option input { width: 16px; height: 16px; min-height: 0; margin: 0; flex: 0 0 auto; accent-color: var(--aureum-gold); }
