/* Meu XML — base: reset, tipografia, formulários e utilitários. */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{margin:0;min-height:100%}
body{font-family:var(--font);font-size:var(--fs-base);line-height:1.45;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4{margin:0 0 var(--sp-2);line-height:1.2;font-weight:700;letter-spacing:-.01em}
p{margin:0 0 var(--sp-3)}
a{color:var(--accent-text)}
img,svg{max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none;padding:0}
button:disabled{cursor:not-allowed}
dialog{color:var(--text)}
table{border-collapse:collapse}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Campos */
label{display:grid;gap:var(--sp-2);font-size:var(--fs-md);font-weight:600}
input:where(:not([type=checkbox],[type=radio],[type=file],[type=hidden])),select,textarea{
  width:100%;min-width:0;min-height:var(--control-h);padding:10px 14px;
  border:1px solid var(--line-strong);border-radius:var(--r-md);
  background:var(--surface);color:var(--text);font-size:var(--fs-base);
  transition:border-color .15s,box-shadow .15s}
textarea{min-height:0;resize:vertical;line-height:1.5}
select{appearance:none;padding-right:38px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238d867e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:16px}
input[type=file]{width:100%;padding:10px;border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--surface-2);font-size:var(--fs-md)}
input::placeholder,textarea::placeholder{color:var(--subtle)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus)}
input[readonly]{background:var(--surface-2);color:var(--muted)}
input[type=checkbox],input[type=radio]{width:18px;height:18px;margin:0;accent-color:var(--accent);flex:none}
fieldset{margin:0;min-width:0;border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-4)}
legend{padding:0 var(--sp-1);font-size:var(--fs-md);font-weight:700}
small{font-size:var(--fs-sm)}

/* Utilitários */
.hidden{display:none!important}
[hidden]{display:none!important}
.muted{color:var(--muted)}
.safe-note{color:var(--muted);font-size:var(--fs-sm);line-height:1.5;margin:0}
.form-error{color:var(--red);font-size:var(--fs-md);min-height:0;margin:0}
.form-error:empty{display:none}
.eyebrow{display:block;font-size:var(--fs-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* Logotipo: versão positiva no claro, negativa no escuro */
.meuxml-logo{display:block;width:100%;height:auto}
.meuxml-negative{display:none}
:root[data-theme="dark"] .meuxml-positive{display:none}
:root[data-theme="dark"] .meuxml-negative{display:block}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
