/* BTS Stage 2B — progressive visual layer. Preserves all existing form and JS behavior. */
:root{--bts-ink:#14243b;--bts-navy:#102b53;--bts-blue:#2563b8;--bts-soft:#f3f6fb;--bts-stroke:#dfe7f1;--bts-radius:14px}
html{scroll-behavior:smooth}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--bts-ink)}
body:not(.bts-login){background-color:var(--bts-soft)}
:where(main,section,article,aside,nav){min-width:0}
:where(input:not([type=checkbox]):not([type=radio]),select,textarea){border-radius:10px;max-width:100%;transition:border-color .15s ease,box-shadow .15s ease}
:where(input:not([type=checkbox]):not([type=radio]),select,textarea):focus-visible{outline:2px solid #2563eb;outline-offset:2px}
:where(button,a,[role=button]):focus-visible{outline:3px solid #3b82f6!important;outline-offset:3px!important}
:where(button,[type=submit]){transition:filter .15s ease,transform .15s ease}
:where(button,[type=submit]):not(:disabled):hover{filter:brightness(.96)}
:where(table){border-collapse:separate;border-spacing:0;max-width:100%}
:where(th){letter-spacing:.025em}
:where(td,th){overflow-wrap:anywhere}
:where(.rounded-xl,.rounded-2xl,.rounded-3xl){border-radius:var(--bts-radius)}
#app-sidebar{background:rgba(255,255,255,.96)!important;border-color:var(--bts-stroke)!important;box-shadow:0 10px 36px rgba(16,43,83,.08)!important}
#app-sidebar nav a{transition:background .16s ease,color .16s ease,border-color .16s ease}
#app-sidebar nav a:hover{background:#eaf1fb!important;color:var(--bts-navy)!important}
:where(.shadow-xl,.shadow-2xl){box-shadow:0 12px 34px rgba(16,43,83,.09)}
@media(max-width:767px){:where(main){max-width:100%;min-width:0}:where(.overflow-x-auto){-webkit-overflow-scrolling:touch}:where(input,select,textarea){font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{#app-sidebar,#sidebar-backdrop,.no-print{display:none!important}body{background:#fff!important}}
