/*
 * DaxNaija shared UI layer.
 * Loaded on every page by includes/theme.php. Every rule uses :where() (zero specificity),
 * so a page's own styles always win; this only fills in consistent defaults where a page
 * has none. Colours come from the admin global theme variables (--site-*).
 */
:root{--dax-radius:12px;--dax-border:#e3e9ed;--dax-ink:#17232b;--dax-muted:#66757f;--dax-shadow:0 1px 2px rgba(16,24,40,.05),0 6px 20px rgba(16,24,40,.06)}
:where(html){-webkit-text-size-adjust:100%;scroll-behavior:smooth}
:where(body){font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
::selection{background:color-mix(in srgb,var(--site-primary,#00a83b) 22%,transparent)}
:where(img){max-width:100%}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb,var(--site-primary,#00a83b) 45%,transparent);outline-offset:2px}

/* Forms */
:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),select,textarea){font:inherit;color:inherit;border:1px solid var(--dax-border);border-radius:10px;background:#fff;transition:border-color .15s,box-shadow .15s}
:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea):focus{outline:none;border-color:var(--site-primary,#00a83b);box-shadow:0 0 0 3px color-mix(in srgb,var(--site-primary,#00a83b) 14%,transparent)}
:where(input[type=checkbox],input[type=radio]){accent-color:var(--site-primary,#00a83b)}
:where(textarea){line-height:1.5}
:where(label){cursor:default}
:where(button,[type=submit],[type=button]){font:inherit;cursor:pointer;transition:background-color .15s,box-shadow .15s,transform .05s}
:where(button,[type=submit],[type=button]):active{transform:translateY(1px)}
:where(button[disabled],[type=submit][disabled]){cursor:not-allowed;opacity:.6}

/* Tables (admin lists, wallet history, etc.) */
:where(table){border-collapse:collapse}
:where(th){text-align:left;font-weight:800;color:var(--dax-muted);font-size:12px;letter-spacing:.03em}
:where(tbody tr){transition:background-color .12s}
:where(tbody tr:hover){background:#f8faf9}

/* Thin, quiet scrollbars */
*{scrollbar-width:thin;scrollbar-color:#c9d3da transparent}
*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:#c9d3da;border-radius:8px}*::-webkit-scrollbar-track{background:transparent}

/* Admin area: tables scroll sideways on phones instead of breaking the layout */
@media(max-width:760px){
  :where(body[data-dax-area=admin]) :where(table){display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  :where(body[data-dax-area=admin]) :where(table td,table th){white-space:normal;min-width:110px}
}

@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
