/* app.css — Global styles for Indivo.Starter */

/* Smooth scrolling */
html { scroll-behavior: smooth; }

/* Custom scrollbar (webkit) */
::-webkit-scrollbar          { width: 6px; }
::-webkit-scrollbar-track    { background: transparent; }
::-webkit-scrollbar-thumb    { background: #d1d5db; border-radius: 3px; }
.dark ::-webkit-scrollbar-thumb { background: #4b5563; }

/* Blazor validation colours */
.valid.modified:not([type=checkbox]) { outline: 1px solid #22c55e; }
.invalid { outline: 1px solid #ef4444; }
.validation-message { color: #ef4444; font-size: 0.75rem; margin-top: 0.25rem; }

/* Blazor error UI */
#blazor-error-ui {
    background: #fef2f2;
    border-top: 1px solid #fecaca;
    color: #b91c1c;
    display: none;
    left: 0; right: 0; bottom: 0;
    position: fixed;
    padding: 0.6rem 1.25rem;
    z-index: 1000;
}
#blazor-error-ui .dismiss { cursor: pointer; }

/* Sidebar: highlight the current page */
aside nav a.active {
    background-color: hsl(var(--sidebar-accent));
    color: hsl(var(--sidebar-accent-foreground));
    font-weight: 600;
}
aside nav a.active i {
    color: hsl(var(--primary));
}

/* Numeric inputs without spinner arrows (used in estimate qty fields) */
input.no-spinner::-webkit-outer-spin-button,
input.no-spinner::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input.no-spinner { -moz-appearance: textfield; appearance: textfield; }

/* ── Mobile / installed-app feel ─────────────────────────── */

/* FocusOnNavigate moves focus to the page heading; keep the focus, drop the ring */
h1:focus, h1:focus-visible { outline: none; }

/* iOS Safari zooms into any field smaller than 16px */
@media (max-width: 1023px) {
    input:not([type="checkbox"]):not([type="radio"]), select, textarea { font-size: 16px !important; }
}

/* No blue tap flash, no rubber-band on the shell */
* { -webkit-tap-highlight-color: transparent; }
html, body { overscroll-behavior-y: none; }

/* Bottom tab bar: highlight the current section */
nav.tabbar a.active, nav.tabbar a.active i { color: hsl(var(--primary)); }
nav.tabbar a, nav.tabbar button { -webkit-user-select: none; user-select: none; }
