/* Ajustes próprios sobre a interface compilada (interface.css). As cores vêm das variáveis do tema
   (cadpol-tema.css), por isso as telas de cartão (login, conta, usuários) acompanham o modo escuro. */
:root{color-scheme:light}
.dark{color-scheme:dark}
html{scroll-padding-top:4rem}
body{padding-bottom:env(safe-area-inset-bottom)}
a,button,input{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:3px}
input{scroll-margin-block:6rem}
img{max-width:100%}

/* Barra de acesso acima da interface */
.utility-nav{position:relative;z-index:40;display:flex;justify-content:flex-end;align-items:center;gap:1rem;padding:.65rem max(1rem,env(safe-area-inset-right));font-size:.875rem;background:hsl(var(--card));border-bottom:1px solid hsl(var(--border));color:hsl(var(--muted-foreground))}
.utility-nav a{text-decoration:underline;text-underline-offset:3px}
.utility-nav a:hover,.utility-nav button:hover{color:hsl(var(--foreground))}

/* Telas de cartão: login, primeiro acesso, recuperação, conta, usuários e origem dos dados */
.account-page{background:hsl(var(--background));color:hsl(var(--foreground));min-height:100dvh;padding:1.5rem}
.account-card{max-width:48rem;margin:3rem auto;background:hsl(var(--card));color:hsl(var(--card-foreground));border:1px solid hsl(var(--border));border-radius:14px;padding:clamp(1.25rem,4vw,2.5rem);box-shadow:var(--shadow-card)}
.account-card h1{font-size:clamp(1.5rem,4vw,2rem);font-weight:800;line-height:1.2;margin:1.5rem 0 1rem}
.account-card h1::after{content:"";display:block;width:42px;height:4px;border-radius:4px;background:#e3262f;margin-top:.5rem}
.account-card h2{font-weight:700}
.account-card p{margin:1rem 0;line-height:1.65}
.account-card .brand{height:2rem;width:auto}
.account-card a:not(.action){color:hsl(var(--ring));text-decoration:underline;text-underline-offset:3px}
.account-card a.action,.account-card button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.75rem 1.1rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:0;border-radius:10px;font-weight:600;text-decoration:none;cursor:pointer}
.account-card a.action:hover,.account-card button:hover{opacity:.9}
.account-card .secondary{background:hsl(var(--secondary))!important;color:hsl(var(--secondary-foreground))!important}
.account-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.5rem 0}
.trash-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid hsl(var(--border))}
.trash-row span{overflow-wrap:anywhere}
.state-message{padding:1rem;border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));white-space:pre-wrap}
.data-detail{font-size:.875rem;color:hsl(var(--muted-foreground))}
/* Contato de suporte no pé do cartão: discreto, separado do conteúdo por um fio. */
.account-card .support{margin:2rem 0 0;padding-top:1rem;border-top:1px solid hsl(var(--border));font-size:.875rem;line-height:1.5;color:hsl(var(--muted-foreground));overflow-wrap:anywhere}

@media(max-width:767px){input,select,textarea{font-size:16px!important}button:not([aria-hidden="true"]),a.action{min-height:44px}.utility-nav{justify-content:space-between;gap:.5rem;font-size:.8rem;flex-wrap:wrap}.utility-nav a{display:flex;align-items:center;min-height:32px}.account-page{padding:.75rem}.account-card{margin:1rem auto}.account-actions>*{flex:1 1 auto}.trash-row{align-items:flex-start}.trash-row button{flex-shrink:0}[class*="text-[10px]"],[class*="text-[11px]"]{font-size:12px!important}main{min-width:0}table{font-variant-numeric:tabular-nums}div[role="dialog"]{max-height:calc(100dvh - 1rem);overflow:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media print{.utility-nav{display:none!important}}
