/* A shared finish for the existing application. No layout or permission hooks. */
:root {
  --ahi-polish-ink: #142540;
  --ahi-polish-surface: rgba(255, 255, 255, .88);
  --ahi-polish-input: #ffffff;
  --ahi-polish-line: rgba(36, 69, 110, .15);
  --ahi-polish-highlight: rgba(255, 255, 255, .92);
  --ahi-polish-shadow: 0 14px 38px -25px rgba(19, 46, 80, .30), 0 3px 10px -7px rgba(19, 46, 80, .14);
  --ahi-polish-warm: linear-gradient(135deg, rgba(255, 252, 244, .96), rgba(247, 239, 219, .86));
  --ahi-polish-page: radial-gradient(ellipse at 3% 0%, #e8eff9 0%, transparent 43%), radial-gradient(ellipse at 98% 30%, #f5ecd9 0%, transparent 34%), #f6f8fc;
  --ahi-polish-ease: cubic-bezier(.22, .7, .24, 1);
}
html[data-ahi-theme="dark"] {
  --ahi-polish-ink: #edf3fc;
  --ahi-polish-surface: rgba(24, 42, 65, .90);
  --ahi-polish-input: #102037;
  --ahi-polish-line: rgba(145, 172, 208, .26);
  --ahi-polish-highlight: rgba(199, 218, 244, .11);
  --ahi-polish-shadow: 0 16px 42px -24px #020914b3, 0 3px 12px -8px #0008;
  --ahi-polish-warm: linear-gradient(135deg, #383126ed, #262d37ed);
  --ahi-polish-page: radial-gradient(ellipse at 2% 0%, #1b3554 0%, transparent 45%), radial-gradient(ellipse at 100% 34%, #39302580 0%, transparent 35%), #0c1727;
}
body { background: var(--ahi-polish-page); }
html :is(.ahi-directory:not(.ahi-dir-container), .ahi-account-page, .ahi-approval-page, .ahi-eco-page, .ahi-partner-page) {
  background: var(--ahi-polish-page);
}
html :is(.ahi-admin-page, .ahi-business-page) { background: transparent; }

/* The tint remains legible even on browsers without backdrop filtering. */
.ahi-dir-header {
  background: linear-gradient(115deg, #102039f2, #203e60e8);
  border-block-end: 1px solid #d2e2f524;
  box-shadow: 0 8px 32px -16px #05142f66, inset 0 1px 0 #ffffff0f;
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
}
.ahi-dir-header .ahi-dir-mobile-menu,
.ahi-dir-header .ahi-dir-ecosystem-menu>div {
  background: linear-gradient(135deg, #152b46f5, #1c3755f5);
  border: 1px solid #d6e3f52e;
  box-shadow: 0 20px 48px -24px #07152bba, inset 0 1px 0 #ffffff12;
}
.ahi-dir-desktop-nav>a { transition: color .18s, text-shadow .18s; }
.ahi-dir-desktop-nav>a:hover { text-shadow: 0 0 18px #f7d68e60; }
html .ahi-dir-bottom-nav,
html.ahi-pwa-mode .ahi-dir-bottom-nav {
  background: linear-gradient(145deg, #ffffffed, #f4f7fce8);
  border-color: #c8d6e5b3;
  box-shadow: 0 14px 40px -17px #132d5066, inset 0 1px 0 #fff;
  backdrop-filter: blur(14px) saturate(130%);
  -webkit-backdrop-filter: blur(14px) saturate(130%);
}
html[data-ahi-theme="dark"] .ahi-dir-bottom-nav,
html[data-ahi-theme="dark"].ahi-pwa-mode .ahi-dir-bottom-nav {
  background: linear-gradient(145deg, #20364fec, #13263eeb);
  border-color: #7b95b64d;
  box-shadow: 0 14px 40px -17px #000b, inset 0 1px 0 #ffffff16;
}
html .ahi-dir-bottom-nav a.is-current { background: linear-gradient(135deg, #fbf1d5, #f0e4c9); }
html[data-ahi-theme="dark"] .ahi-dir-bottom-nav a.is-current { background: linear-gradient(135deg, #57462a, #38332a); }

.ahi-dir-page-banner {
  background: radial-gradient(ellipse at 82% -10%, #cfaa5840 0%, transparent 52%), linear-gradient(125deg, #edf3fb, #f8fafd 58%, #f8f1e3);
  border-block-end: 1px solid #cfdbe95c;
  box-shadow: inset 0 1px 0 #fff;
}
html[data-ahi-theme="dark"] .ahi-dir-page-banner {
  background: radial-gradient(ellipse at 88% -15%, #b9955030, transparent 54%), linear-gradient(125deg, #162d49, #1e3854 65%, #2c3440);
  border-color: #d5dfec20;
  box-shadow: inset 0 1px 0 #ffffff0a;
}
.ahi-dir-hero {
  background-color: #132944;
  box-shadow: inset 0 1px 0 #d9e8fb1a, 0 16px 42px -31px #06152b99;
}
.ahi-dir-credit-banner, .ahi-support-about, .ahi-support-intro, .ahi-eco-card {
  background: radial-gradient(ellipse at 95% 0%, #cda45426, transparent 58%), linear-gradient(125deg, #152a46, #254969);
  border: 1px solid #7392b540;
  box-shadow: 0 20px 48px -30px #0b1a33b3, inset 0 1px 0 #ffffff1a;
}

/* Translucent cards use shared surfaces; blur is reserved for a few fixed layers. */
html :is(.ahi-dir-card, .ahi-dir-category-card, .ahi-dir-dashboard-card, .ahi-dir-plan,
  .ahi-dir-ecosystem-grid article, .ahi-admin-card, .ahi-admin-panel, .ahi-admin-detail,
  .ahi-admin-filters, .ahi-business-panel, .ahi-account-card, .ahi-approval-card,
  .ahi-dir-detail-block, .ahi-dir-contact-panel, .ahi-support-status, .ahi-preferences-panel,
  .ahi-appointment-card, .ahi-field-card, .ahi-membership-card) {
  background: linear-gradient(145deg, var(--ahi-polish-highlight), transparent 60%), var(--ahi-polish-surface);
  border: 1px solid var(--ahi-polish-line);
  border-radius: 22px;
  box-shadow: var(--ahi-polish-shadow), inset 0 1px 0 var(--ahi-polish-highlight);
}
html[data-ahi-theme="dark"] :is(.ahi-dir-card, .ahi-dir-category-card, .ahi-dir-dashboard-card, .ahi-dir-plan,
  .ahi-dir-ecosystem-grid article, .ahi-admin-card, .ahi-admin-panel, .ahi-admin-detail,
  .ahi-admin-filters, .ahi-business-panel, .ahi-account-card, .ahi-approval-card,
  .ahi-dir-detail-block, .ahi-dir-contact-panel, .ahi-support-status, .ahi-preferences-panel,
  .ahi-appointment-card, .ahi-field-card, .ahi-membership-card) {
  background: linear-gradient(145deg, var(--ahi-polish-highlight), transparent 60%), var(--ahi-polish-surface);
  border-color: var(--ahi-polish-line);
}
html .ahi-dir-ecosystem-grid .is-gold,
html[data-ahi-theme="dark"] .ahi-dir-ecosystem-grid .is-gold {
  background: var(--ahi-polish-warm);
  border-color: #be9b5552;
}
.ahi-dir-category-icon { box-shadow: inset 0 1px 0 #fff9, 0 4px 10px -7px #9a752e99; }
html[data-ahi-theme="dark"] .ahi-dir-category-icon { box-shadow: inset 0 1px 0 #ffffff18, 0 4px 10px -7px #0009; }
.ahi-dir-search-form {
  background: linear-gradient(135deg, #fff, #f8fbff);
  border-color: #d7e1ef;
  box-shadow: 0 20px 54px -25px #06152bac, 0 0 0 5px #ffffff16, inset 0 1px 0 #fff;
}
html[data-ahi-theme="dark"] .ahi-dir-search-form {
  background: linear-gradient(135deg, #1a304b, #16263e);
  border-color: #7186a65c;
}
.ahi-admin-filters { padding: 24px; gap: 16px; }
.ahi-admin-filters label, .ahi-admin-card, .ahi-dir-dashboard-card { min-inline-size: 0; }
.ahi-admin-table thead { background: linear-gradient(110deg, #e9f0f9, #f8f5ec); }
html[data-ahi-theme="dark"] .ahi-admin-table thead { background: linear-gradient(110deg, #1f3a57, #2b343e); }
.ahi-admin-table tbody tr { transition: background-color .18s; }
.ahi-admin-table tbody tr:hover { background: #d7e6f72e; }
html[data-ahi-theme="dark"] .ahi-admin-table tbody tr:hover { background: #91b5e210; }
.ahi-admin-table td { vertical-align: middle; }

/* Native inputs, validity messages, checkboxes and disabled states remain native. */
:is(.ahi-account-page, .ahi-admin-page, .ahi-business-page, .ahi-approval-page, .ahi-contact-recovered) :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]), select, textarea) {
  color: var(--ahi-polish-ink);
  background: var(--ahi-polish-input);
  border: 1px solid var(--ahi-polish-line);
  border-radius: 13px;
  box-shadow: inset 0 1px 3px #162d4c08;
  transition: border-color .18s, box-shadow .18s, background-color .18s;
}
:is(.ahi-account-page, .ahi-admin-page, .ahi-business-page, .ahi-approval-page) :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]), select) { min-block-size: 44px; }
:is(.ahi-account-page, .ahi-admin-page, .ahi-business-page, .ahi-approval-page, .ahi-contact-recovered) :is(input, select, textarea):focus-visible {
  outline: 3px solid #c59c466b;
  outline-offset: 2px;
  border-color: #ae842e;
  box-shadow: 0 4px 14px -8px #9c762a80;
}
:is(.ahi-dir-button, .ahi-business-button, .ahi-account-button, .ahi-approval-button,
  .ahi-eco-button, .ahi-support-action, .ahi-admin-page button, .ahi-dir-header .ahi-dir-login) {
  max-inline-size: 100%;
  transition: transform .2s var(--ahi-polish-ease), box-shadow .2s, border-color .2s, background-color .2s;
  box-shadow: inset 0 1px 0 #ffffff28, 0 6px 16px -12px #07182c80;
}
.ahi-dir-header .ahi-dir-account.ahi-dir-login,
.ahi-dir-button:not(.ahi-dir-button-outline), .ahi-support-action,
.ahi-admin-actions button[type="submit"] {
  background: linear-gradient(120deg, #f1d18a, #d8aa4b 58%, #e1b75d);
  color: #10213b !important;
  border-color: #c79a3f;
  box-shadow: inset 0 1px 0 #fff9, 0 8px 18px -12px #a37825a6;
}
html[data-ahi-theme="dark"] .ahi-admin-actions button[type="submit"] {
  background: linear-gradient(120deg, #f1d18a, #d8aa4b 58%, #e1b75d);
  color: #10213b;
  border-color: #c79a3f;
}
:is(.ahi-dir-button, .ahi-business-button, .ahi-account-button, .ahi-approval-button,
  .ahi-eco-button, .ahi-support-action, .ahi-admin-page button):focus-visible {
  outline: 3px solid #b58b35;
  outline-offset: 4px;
}
:is(.ahi-dir-button, .ahi-business-button, .ahi-account-button, .ahi-approval-button,
  .ahi-eco-button, .ahi-support-action, .ahi-admin-page button):active:not(:disabled) { transform: translateY(1px) scale(.985); }

@media (hover: hover) and (pointer: fine) {
  :is(.ahi-dir-card, .ahi-dir-category-card, .ahi-dir-dashboard-card, .ahi-dir-plan,
    .ahi-dir-ecosystem-grid article, .ahi-admin-card) {
    transition: transform .24s var(--ahi-polish-ease), box-shadow .24s, border-color .24s;
  }
  :is(.ahi-dir-card, .ahi-dir-category-card, .ahi-dir-dashboard-card, .ahi-dir-plan,
    .ahi-dir-ecosystem-grid article, .ahi-admin-card):hover {
    transform: translateY(-4px);
    border-color: #bb995b8c;
    box-shadow: 0 22px 46px -27px #142f5299, inset 0 1px 0 var(--ahi-polish-highlight);
  }
  :is(.ahi-dir-button, .ahi-business-button, .ahi-account-button, .ahi-approval-button,
    .ahi-eco-button, .ahi-support-action, .ahi-admin-page button):hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -16px #876427cc, inset 0 1px 0 #ffffff38;
  }
}
@media (prefers-reduced-motion: no-preference) {
  :is(.ahi-dir-page-banner .ahi-dir-container, .ahi-dir-about-intro, .ahi-dir-ecosystem-grid article,
    .ahi-dir-dashboard-card, .ahi-admin-header, .ahi-eco-intro, .ahi-support-intro) {
    animation: ahi-polish-arrive .55s var(--ahi-polish-ease) backwards;
  }
  .ahi-dir-ecosystem-grid article:nth-child(2), .ahi-dir-dashboard-card:nth-child(2) { animation-delay: 60ms; }
  .ahi-dir-ecosystem-grid article:nth-child(3), .ahi-dir-dashboard-card:nth-child(3) { animation-delay: 120ms; }
}
@keyframes ahi-polish-arrive { from { opacity: .65; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (max-width: 640px) {
  .ahi-dir-header { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
  html :is(.ahi-dir-card, .ahi-dir-category-card, .ahi-dir-dashboard-card, .ahi-dir-plan,
    .ahi-dir-ecosystem-grid article, .ahi-admin-card, .ahi-admin-filters, .ahi-account-card) { border-radius: 19px; }
  .ahi-admin-filters { padding: 20px 16px; }
  :is(.ahi-admin-page, .ahi-business-page, .ahi-account-page, .ahi-approval-page) :is(input, select, textarea) { font-size: 16px; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .ahi-dir-header { background: #172d49; }
  html .ahi-dir-bottom-nav { background: #fcfdff; }
  html[data-ahi-theme="dark"] .ahi-dir-bottom-nav { background: #192e47; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  :is(.ahi-directory, .ahi-dir-header, .ahi-dir-bottom-nav, .ahi-admin-page, .ahi-business-page,
    .ahi-account-page, .ahi-approval-page, .ahi-eco-page, .ahi-support-page) *,
  :is(.ahi-directory, .ahi-admin-page, .ahi-business-page, .ahi-account-page, .ahi-eco-page) *::before,
  :is(.ahi-directory, .ahi-admin-page, .ahi-business-page, .ahi-account-page, .ahi-eco-page) *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  :is(.ahi-dir-card, .ahi-dir-category-card, .ahi-dir-dashboard-card, .ahi-dir-plan,
    .ahi-dir-ecosystem-grid article, .ahi-admin-card, .ahi-dir-button, .ahi-business-button,
    .ahi-account-button, .ahi-approval-button, .ahi-eco-button, .ahi-support-action):hover { transform: none; }
}
