:root {
    --driver-font: "Segoe UI Variable Text", "Segoe UI", "Trebuchet MS", Tahoma, sans-serif;
    --driver-safe-top: env(safe-area-inset-top, 0px);
    --driver-safe-right: env(safe-area-inset-right, 0px);
    --driver-safe-bottom: env(safe-area-inset-bottom, 0px);
    --driver-safe-left: env(safe-area-inset-left, 0px);
}

html,
body,
button,
input,
select,
textarea {
    font-family: var(--driver-font);
}

html {
    background: linear-gradient(180deg, #dbeafe 0%, #f8fafc 22%, #f8fafc 100%);
}

body {
    min-height: 100vh;
    padding-left: var(--driver-safe-left);
    padding-right: var(--driver-safe-right);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    -webkit-tap-highlight-color: transparent;
    overscroll-behavior-y: contain;
}

svg {
    flex-shrink: 0;
}

.pb-safe {
    padding-bottom: max(0.75rem, var(--driver-safe-bottom));
}

.driver-sheet {
    border-top-left-radius: 1.75rem;
    border-top-right-radius: 1.75rem;
    padding-bottom: max(1.25rem, var(--driver-safe-bottom));
    box-shadow: 0 -18px 36px rgba(15, 23, 42, 0.14);
}

.driver-bottom-bar {
    padding-bottom: max(1rem, var(--driver-safe-bottom));
    backdrop-filter: blur(18px);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 -16px 30px rgba(15, 23, 42, 0.1);
}

.driver-top-shell {
    padding-top: max(1rem, var(--driver-safe-top));
}
