        html {
            scroll-behavior: smooth;
            height: 100%;
        }
        
        body {
            font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
            background: var(--gray-50);
            color: var(--gray-800);
            min-height: 100vh;
            min-height: -webkit-fill-available;
            padding-bottom: calc(var(--nav-height) + var(--safe-bottom) + 16px);
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            -webkit-tap-highlight-color: transparent;
        }

        :focus-visible {
            outline: 2px solid var(--primary);
            outline-offset: 2px;
            border-radius: var(--radius-sm);
        }

        .btn-danger-outline {
            background: #fff;
            border: 1px solid var(--danger);
            color: var(--danger);
        }

        .btn-danger-outline:hover {
            background: var(--danger-light);
        }

        body.body-scroll-locked {
            overflow: hidden;
        }

        @media (max-width: 767px) {
            body.body-scroll-locked {
                position: fixed;
                width: 100%;
            }
        }


        @media (min-width: 768px) {
            html {
                background: var(--gray-200);
            }

            body {
                width: 100%;
                max-width: 520px;
                margin: 0 auto;
                box-shadow: 0 20px 60px rgba(0,0,0,0.12);
            }
        }
        
