
:root {
  color-scheme: light;
  --color-bg-canvas:#F7FAF9; --color-bg-surface:#FFFFFF; --color-bg-subtle:#F0F5F5;
  --color-text-primary:#17282E; --color-text-secondary:#52666D; --color-text-link:#0F6374;
  --color-border-default:#C4D2D6; --color-border-strong:#71878F; --color-focus-ring:#0F6374;
  --color-action-primary:#41D6A3; --color-action-primary-hover:#30C796; --color-action-primary-active:#24B888;
  --color-action-primary-text:#123B4A; --color-action-primary-border:#087F62; --color-status-danger-bg:#FFF1F0; --color-status-danger-border:#F6C5C0;
  --color-status-danger-text:#76170F; --color-status-success-bg:#EDF8F1; --color-status-success-border:#B7DEC6;
  --color-status-success-text:#104A2F; --color-status-info-bg:#EFF5FC; --color-status-info-border:#BED3EF;
  --color-status-info-text:#183D6E; --font-sans:Sora,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box} html{font-size:100%} body{margin:0;background:var(--color-bg-canvas);color:var(--color-text-primary);font:400 .875rem/1.375rem var(--font-sans)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
a{color:var(--color-text-link);text-decoration:underline;text-underline-offset:.15em} a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}
.auth{min-height:100dvh}.auth-wrap{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem}.marca{width:10rem;height:auto;margin:0 0 1.5rem}.auth-card{width:100%;max-width:25rem;padding:1.5rem;background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:.75rem}
h1{font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.02em;margin:0 0 .5rem} h2{font-size:1.125rem;line-height:1.625rem;margin:0 0 .5rem}.sub{color:var(--color-text-secondary);margin:0}.auth-card .sub{margin-bottom:1.5rem}
.campo{margin-top:1.25rem}.campo label,.rotulo{display:block;font-weight:500;margin-bottom:.5rem}.campo small{display:block;color:var(--color-text-secondary);font-size:.75rem;line-height:1.125rem;margin-top:.25rem}
input:not([type=checkbox]),select{width:100%;min-height:2.5rem;padding:.5rem .75rem;border:1px solid var(--color-border-strong);border-radius:.375rem;background:var(--color-bg-surface);color:var(--color-text-primary);font:inherit} input[aria-invalid=true]{border-color:var(--color-status-danger-text)}
.senha-wrap{position:relative}.senha-wrap input{padding-right:5.5rem}.senha-toggle{position:absolute;right:.25rem;top:.25rem;min-height:2rem;border:0;background:transparent;color:var(--color-text-link);font:500 .75rem/1rem var(--font-sans);padding:.5rem;cursor:pointer;text-decoration:underline}
.checkbox{display:flex;gap:.5rem;align-items:flex-start;min-height:2.75rem;margin-top:1.25rem}.checkbox input{width:1.125rem;height:1.125rem;margin:.125rem 0 0;flex:0 0 auto}.checkbox label{margin:0}
.botao{display:inline-flex;align-items:center;justify-content:center;min-height:2.5rem;min-width:5rem;border:1px solid var(--color-action-primary-border);border-radius:.375rem;background:var(--color-action-primary);color:var(--color-action-primary-text);font:600 .875rem/1.25rem var(--font-sans);padding:.5rem 1rem;cursor:pointer;text-decoration:none}.botao:hover{background:var(--color-action-primary-hover)}.botao:active{background:var(--color-action-primary-active)}.botao.full{width:100%;min-height:3rem;margin-top:1.5rem}.botao.secundario{background:var(--color-bg-surface);border-color:var(--color-border-strong)}.botao.link{background:transparent;border:0;color:var(--color-text-link);text-decoration:underline;padding:.25rem;min-height:2rem;min-width:0}
.links{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem}.centro{text-align:center}.alerta{padding:1rem;border:1px solid;border-radius:.5rem;margin:1rem 0}.alerta.erro{background:var(--color-status-danger-bg);border-color:var(--color-status-danger-border);color:var(--color-status-danger-text)}.alerta.sucesso{background:var(--color-status-success-bg);border-color:var(--color-status-success-border);color:var(--color-status-success-text)}.alerta.info{background:var(--color-status-info-bg);border-color:var(--color-status-info-border);color:var(--color-status-info-text)}
.topbar{min-height:4rem;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border-default);display:flex;align-items:center;justify-content:space-between;padding:.75rem 2rem;gap:1rem}.topbar img{display:block;height:auto}.topbar-usuario{display:flex;align-items:center;gap:1rem}.topbar form{margin:0}.portal{max-width:75rem;margin:0 auto;padding:2rem}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:2rem}.page-header p{color:var(--color-text-secondary);margin:.25rem 0 0}.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem}.card{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:.75rem;padding:1.25rem}.card h2{margin-bottom:.5rem}.card-form{max-width:36rem;margin-top:2rem}.meta{color:var(--color-text-secondary)}.acoes{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.acoes form{margin:0}.tabela-wrap{overflow:auto;border:1px solid var(--color-border-default);border-radius:.75rem;background:var(--color-bg-surface)}table{border-collapse:collapse;width:100%;min-width:40rem}th,td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--color-border-default)}th{background:var(--color-bg-subtle);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.vazio{padding:2rem;text-align:center;color:var(--color-text-secondary)}.resumo-dados{display:grid;grid-template-columns:minmax(8rem,auto) 1fr;gap:.5rem 1rem;margin:0 0 1.5rem}.resumo-dados dt{font-weight:600;color:var(--color-text-secondary)}.resumo-dados dd{margin:0}.checklist{list-style:none;margin:0;padding:0;max-width:36rem}.checklist li{position:relative;padding:.75rem 1rem .75rem 2.5rem;border-left:2px solid var(--color-border-default)}.checklist li:before{content:'○';position:absolute;left:.75rem}.checklist li.feito:before{content:'✓';color:var(--color-status-success-text)}.checklist li.atual:before{content:'●';color:var(--color-text-link)}.checklist li.erro:before{content:'!';color:var(--color-status-danger-text);font-weight:700}.saldo-card{display:flex;align-items:baseline;gap:.5rem;background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:.75rem;padding:1.25rem;max-width:24rem}.saldo-card span{color:var(--color-text-secondary);margin-right:auto}.saldo-card strong{font-size:2rem;line-height:1}.saldo-card small{color:var(--color-text-secondary)}.pacote{display:flex;flex-direction:column;justify-content:space-between;gap:1rem}.pacote form{margin:0}.pacote .preco{font-size:1.125rem;font-weight:600}.status{display:inline-flex;border-radius:999px;padding:.125rem .5rem;background:var(--color-bg-subtle);white-space:nowrap}.status-paga{color:var(--color-status-success-text);background:var(--color-status-success-bg)}.status-estornada,.status-encerrada{color:var(--color-status-danger-text);background:var(--color-status-danger-bg)}.nota-pagamento{margin-top:1rem}
@media(max-width:40rem){.auth-wrap{justify-content:flex-start;padding-top:2rem}.auth-card{padding:1rem}.campo input:not([type=checkbox]),.campo select{min-height:3rem;font-size:1rem}.topbar{min-height:3.5rem;padding:.75rem 1rem}.topbar-usuario>span{display:none}.portal{padding:1.5rem 1rem}.page-header{display:block}.botao:not(.link){min-height:3rem}.acoes .botao{width:100%}.links{flex-direction:column;align-items:center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
