:root{--navy:#0F1B2D;--navy2:#1E3150;--ouro:#C9A24B;--creme:#F4EFE6;--linha:#E2DACB;--borda:#C9C2B5;--texto2:#4A5568;--ok:#1F5A33;--okbg:#DDEFE3;--erro:#8A2E1F;--errobg:#F6E0DC}
*{box-sizing:border-box}
body{margin:0;font:15px/1.5 Inter,Arial,sans-serif;color:var(--navy);background:var(--creme)}
a{color:#9A7A2E}
h1{margin:0;font:700 38px/1.15 'Cormorant Garamond',Georgia,serif;text-wrap:balance}
h2{margin:0;font-size:18px}
.app{min-height:100vh;display:flex;flex-wrap:wrap}
.menu{flex:1 1 220px;max-width:260px;background:var(--navy);color:var(--creme);padding:28px 20px;display:flex;flex-direction:column;gap:28px}
.marca{font:700 19px 'Cormorant Garamond',Georgia,serif;letter-spacing:.2em}
.menu nav{display:flex;flex-direction:column;gap:4px}
.menu nav a{padding:11px 14px;border-radius:8px;color:#C8CFDA;text-decoration:none}
.menu nav a.ativo{background:var(--navy2);color:var(--creme);font-weight:600}
.menu .rodape{margin-top:auto;font-size:13px;color:#8C97A8;display:flex;flex-direction:column;gap:6px}
.menu .rodape a{color:#C8CFDA}
main{flex:999 1 560px;min-width:0;padding:40px clamp(16px,4vw,48px);display:flex;flex-direction:column;gap:22px}
.sub{margin:0;color:var(--texto2);max-width:760px}
.cartao{background:#fff;border:1px solid var(--linha);border-radius:16px;padding:22px 24px;display:flex;flex-direction:column;gap:14px}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
label.campo{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600}
input[type=text],input[type=email],input[type=password],input[type=tel],select,textarea{height:44px;border:1px solid var(--borda);border-radius:10px;padding:0 12px;font:15px Inter,Arial,sans-serif;background:#fff;color:var(--navy);width:100%}
textarea{height:auto;padding:10px 12px;resize:vertical}
label.check{display:flex;align-items:center;gap:10px;font-size:15px}
input[type=checkbox]{width:19px;height:19px;accent-color:var(--navy)}
.botoes{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;align-items:center}
.btn{height:46px;padding:0 22px;border-radius:10px;border:1px solid var(--borda);background:#fff;color:var(--navy);font:600 15px Inter,Arial,sans-serif;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
.btn.principal{background:var(--navy);color:var(--creme);border-color:var(--navy)}
.btn.ouro{background:var(--ouro);border-color:var(--ouro);font-weight:700}
.aviso{padding:12px 16px;border-radius:10px;background:var(--okbg);color:var(--ok);font-weight:500}
.aviso.erro{background:var(--errobg);color:var(--erro)}
.tabela{overflow-x:auto;background:#fff;border:1px solid var(--linha);border-radius:16px}
table{width:100%;border-collapse:collapse;min-width:560px}
th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--texto2);padding:12px 16px;border-bottom:1px solid var(--linha)}
td{padding:10px 16px;border-bottom:1px solid #F0EBE1;vertical-align:middle}
td input[type=text]{height:38px}
.centro{text-align:center}
.etapas{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px;font-size:14px}
.etapas li{padding:7px 13px;border-radius:999px;background:#E9E3D7;font-weight:600}
.etapas li.feito{background:var(--okbg);color:var(--ok)}
.etapas li.atual{background:var(--navy);color:var(--creme)}
.previa{border-radius:12px;background:#E7F3EC;padding:12px 14px}
.previa small{display:block;font-size:12px;font-weight:600;color:var(--ok);letter-spacing:.06em;text-transform:uppercase}
.servico{border:1px solid var(--linha);border-radius:14px;padding:18px;background:#fff;display:flex;flex-direction:column;gap:6px}
.tag{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;align-self:flex-start}
.tag.on{background:var(--okbg);color:var(--ok)}.tag.off{background:#ECE7DD;color:var(--texto2)}
.entrar{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--navy)}
.entrar form{width:100%;max-width:420px;background:var(--creme);border-radius:18px;padding:36px 32px;display:flex;flex-direction:column;gap:16px}
