/* Texas Service Animals shared web theme. Document/email artwork is intentionally separate. */
:root{--tsa-brand-navy:#07164f;--tsa-brand-blue:#142675;--tsa-brand-red:#c8102e;--tsa-brand-border:#b7c6df;--tsa-brand-gradient:radial-gradient(circle at 88% 15%,#682fa557,transparent 28%),linear-gradient(135deg,#07164f 0%,#102572 62%,#1e3d94 100%);--bs-primary:#142675;--bs-primary-rgb:20,38,117;--bs-font-sans-serif:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
body[data-tsa-brand]{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;font-size:16px;line-height:1.6;background:#f3f6fc!important;color:#17264a}
body[data-tsa-brand] :is(h1,h2,h3,h4,h5,h6,p,label,input,select,textarea,.btn,.primary,table,small){font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important}
body[data-tsa-brand] :is(h1,h2,h3,h4,h5,h6){font-weight:800;line-height:1.25;letter-spacing:-.025em}
body[data-tsa-brand] h1{font-size:clamp(1.85rem,3vw,2.65rem)}
body[data-tsa-brand] :is(.main-navbar,.navbar-white,.navbar-customer,.navbar-v1),body[data-tsa-brand]>header{background:var(--tsa-brand-gradient)!important;border-top:4px solid var(--tsa-brand-red)!important;border-bottom:1px solid #5774b3!important;color:#fff!important;box-shadow:0 6px 22px #07164f1a}
body[data-tsa-brand] :is(.main-navbar,.navbar-white,.navbar-customer,.navbar-v1) .nav-link,body[data-tsa-brand]>header :is(strong,h1,p),body[data-tsa-brand]>header>a:not(.btn),body[data-tsa-brand]>header nav a{color:#fff!important}
body[data-tsa-brand] :is(.navbar-nav .nav-link,header nav a){font-family:Rubik,Inter,sans-serif!important;font-weight:600;border-radius:9px;padding:10px 12px}
body[data-tsa-brand] :is(.navbar-nav .nav-link,header nav a):hover{background:#ffffff1a}
body[data-tsa-brand] :is(.navbar-brand img,header>a img){background:#fff;border-radius:10px;padding:8px;max-height:76px;object-fit:contain}
body[data-tsa-brand] .navbar-toggler{border:2px solid #abbce5!important;background:#ffffff!important;min-width:44px;min-height:44px}
body[data-tsa-brand] .navbar-toggler-icon{filter:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%2307164f' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}
body[data-tsa-brand] :is(.card,.modal-content){border-radius:16px;border-color:var(--tsa-brand-border);box-shadow:0 8px 26px #07164f0b}
body[data-tsa-brand] .card-header:not(.bg-success):not(.bg-danger):not(.bg-warning):not(.bg-info){background:var(--tsa-brand-gradient)!important;color:#fff!important;border-bottom:2px solid #7691bf}
body[data-tsa-brand] .card-header:not(.bg-success):not(.bg-danger):not(.bg-warning):not(.bg-info) :is(h2,h3,h4,h5,h6){color:inherit!important}
body[data-tsa-brand] :is(.btn,.primary){border-radius:12px;font-weight:700;line-height:1.4}
body[data-tsa-brand] .btn-primary{--bs-btn-bg:#142675;--bs-btn-border-color:#142675;--bs-btn-hover-bg:#07164f;--bs-btn-hover-border-color:#07164f;--bs-btn-active-bg:#07164f;background-color:#142675;border-color:#142675;color:white}
body[data-tsa-brand] :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]){font-size:16px;border-radius:9px}
body[data-tsa-brand] :is(.form-control,.form-select){border-width:2px;border-color:#9caecc;min-height:44px}
body[data-tsa-brand] :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #d09500!important;outline-offset:3px}
body[data-tsa-brand] footer:not(.card-footer){background:var(--tsa-brand-gradient)!important;color:#e7edff!important;border-top:4px solid var(--tsa-brand-red);padding-top:28px;padding-bottom:28px}
body[data-tsa-brand] footer:not(.card-footer) :is(a,p,h2,h3,h4,h5,h6){color:#e7edff!important}
/* Staff screens retain semantic row and action colors, with navy surfaces. */
html[data-bs-theme=dark] body[data-tsa-brand]{background:#0b1648!important;color:#edf2ff;--bs-body-bg:#0b1648;--bs-body-color:#edf2ff;--bs-secondary-bg:#16265b;--bs-tertiary-bg:#142451;--bs-border-color:#7086af}
html[data-bs-theme=dark] body[data-tsa-brand] .card{background-color:#132452;border-color:#7086af}
html[data-bs-theme=dark] body[data-tsa-brand] :is(.form-control,.form-select){background-color:#0e1c43;color:#fff}
html[data-bs-theme=dark] body[data-tsa-brand] .text-muted{color:#c0cbe2!important}
/* Maintain roomy touch targets without widening desktop case rows. */
@media(max-width:767px){body[data-tsa-brand] :is(.btn,.primary){min-height:44px;display:inline-flex;align-items:center;justify-content:center;white-space:normal}body[data-tsa-brand] .navbar-brand img{max-width:190px}body[data-tsa-brand]>header{padding:18px 16px;gap:14px;flex-wrap:wrap}body[data-tsa-brand]>header nav{flex-wrap:wrap;gap:6px}body[data-tsa-brand]>header nav a{padding:10px 8px}body[data-tsa-brand] h1{overflow-wrap:break-word}}
@media(prefers-reduced-motion:reduce){body[data-tsa-brand] *{scroll-behavior:auto!important;transition:none!important}}
@media print{body[data-tsa-brand]{background:#fff!important;color:#111!important}body[data-tsa-brand] .card{box-shadow:none}}

body[data-tsa-brand]>header .actions a{color:#142b50!important}

/* Blue outside edges, light reading surface and white application progress. */
html:not([data-bs-theme=dark]) body[data-tsa-brand]{background:var(--tsa-brand-gradient)!important}
html:not([data-bs-theme=dark]) body[data-tsa-brand]>main{background:#f3f6fc;border-radius:16px;padding:24px;max-width:calc(100% - 32px);margin-bottom:24px}
html:not([data-bs-theme=dark]) body[data-tsa-brand]>main.container{max-width:min(1140px,calc(100% - 32px))}
html:not([data-bs-theme=dark]) body[data-tsa-brand]>main:not(.container):not(.container-fluid){max-width:min(1000px,calc(100% - 32px))}
body[data-tsa-brand] .row:has(> .col-12 > .progress-thin){background:#142675;border-radius:12px;padding:16px 8px;margin-left:0;margin-right:0}
body[data-tsa-brand] .row:has(> .col-12 > .progress-thin) small{color:#fff!important}
body[data-tsa-brand] .progress-thin{background:#5b70ac!important;border:1px solid #8d9dcc;height:9px}
body[data-tsa-brand] .progress-thin .progress-bar{background:#fff!important}
@media(max-width:767px){html:not([data-bs-theme=dark]) body[data-tsa-brand]>main{padding:16px;max-width:calc(100% - 20px)!important;border-radius:12px}}
