:root{
  --cream:#f2ead7;--paper:#f8f1e3;--ink:#11100e;--muted:#6f6556;--gold:#b98a32;--gold2:#e0bd74;--red:#6d1118;--dark:#080605;--line:rgba(48,37,25,.22);
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",serif;background:#161210;color:var(--ink)}
body{display:flex;justify-content:center;align-items:flex-start;padding:0}.phone-shell{width:min(430px,100vw);min-height:100vh;background:#0d0b0a;box-shadow:0 0 50px rgba(0,0,0,.55);position:relative;overflow:hidden}.safari-bar{position:sticky;top:0;z-index:50;padding:8px 12px 10px;background:linear-gradient(#14110f,#0b0908);border-bottom:1px solid rgba(255,255,255,.08)}.status-line{display:flex;justify-content:space-between;color:#fff;font-size:12px;font-weight:700;margin:0 4px 7px}.address-bar{height:32px;border-radius:18px;background:#2a2724;color:#e9e3d8;display:flex;align-items:center;justify-content:center;font-size:13px;letter-spacing:.01em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.lock{color:var(--gold2);margin-right:6px}.screen{display:none;min-height:100vh;padding:14px;background:#0b0908}.screen.active{display:block}.loading-screen{align-items:center;justify-content:center;background:radial-gradient(circle at 50% 35%,#302923,#050403 62%);padding:28px}.loading-screen.active{display:flex}.loader-card{text-align:center;color:#fff;width:100%;max-width:350px;animation:rise .6s ease both}.apple-mark,.crest{margin:auto;width:78px;height:78px;border:1px solid rgba(224,189,116,.7);border-radius:22px;display:flex;align-items:center;justify-content:center;color:var(--gold2);font-weight:800;letter-spacing:.08em;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.01));box-shadow:0 18px 40px rgba(0,0,0,.35)}.loader-card h1{font-size:20px;line-height:1.25;margin:26px 0 9px;letter-spacing:.03em}.loader-card p{color:#cfc6b8;margin:0 0 28px}.progress-track{height:8px;background:#2b2520;border-radius:99px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.progress-fill{width:0;height:100%;border-radius:99px;background:linear-gradient(90deg,#8f6424,#e6c477,#9c701f);box-shadow:0 0 18px rgba(224,189,116,.45)}#progressText{display:block;margin:13px 0 8px;color:var(--gold2)}#loadingMessage{color:#bcb2a4;font-size:13px}.contract-screen,.certificate-screen{background:linear-gradient(#18130f,#0b0908);overflow:auto}.document{position:relative;background:var(--paper);border-radius:8px;padding:20px 15px;margin:0 auto 18px;box-shadow:0 22px 60px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.55);overflow:hidden}.document:before{content:"";position:absolute;inset:9px;border:1px solid rgba(109,17,24,.28);border-radius:4px;pointer-events:none}.document:after{content:"";position:absolute;inset:15px;border:1px solid rgba(185,138,50,.28);border-radius:2px;pointer-events:none}.paper-texture{position:absolute;inset:0;opacity:.19;background:radial-gradient(circle at 20% 20%,#fff 0 1px,transparent 1px),radial-gradient(circle at 80% 30%,#7c6b4d 0 1px,transparent 1px);background-size:13px 17px,19px 23px;pointer-events:none}.doc-header,.intro,.clauses,.signature-area,.security-note,.actions{position:relative;z-index:1}.doc-header{text-align:center;padding:8px 8px 18px;border-bottom:1px solid var(--line)}.crest{width:70px;height:70px;border-radius:50%;color:var(--red);background:#fbf6ea;font-family:Georgia,serif}.crest span{color:var(--gold);margin:0 4px}.doc-header h1{font-family:Georgia,serif;font-size:20px;line-height:1.15;margin:16px 0 5px;letter-spacing:.035em}.doc-header p{margin:0;color:var(--muted);font-weight:700}.stamp{position:absolute;right:3px;top:86px;transform:rotate(-14deg);border:3px solid rgba(109,17,24,.78);color:rgba(109,17,24,.82);border-radius:6px;padding:7px 10px;font-weight:900;letter-spacing:.14em;font-size:15px}.intro{text-align:center;padding:18px 4px}.intro p{margin:0 0 10px;color:var(--muted)}.intro h2{font-size:14px;margin:8px 0 2px;letter-spacing:.02em}.intro small,.sign-box small{color:var(--muted)}.divider{margin:13px auto;color:var(--gold);font-style:italic}.clause{display:grid;grid-template-columns:33px 1fr;gap:10px;margin:12px 0;padding:13px 12px;border:1px solid rgba(61,44,29,.18);background:rgba(255,255,255,.35);border-radius:8px;box-shadow:0 4px 14px rgba(87,64,36,.05)}.clause-icon{width:28px;height:28px;border-radius:50%;border:1px solid rgba(185,138,50,.45);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:14px}.clause h3{margin:2px 0 8px;color:var(--red);font-size:14px;line-height:1.2;border-bottom:1px solid rgba(109,17,24,.13);padding-bottom:7px}.clause p{margin:0;color:#322b23;font-size:13.2px;line-height:1.5;text-align:justify}.signature-area{display:grid;grid-template-columns:1fr;gap:14px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);text-align:center}.sign-box{min-height:122px;border:1px dashed rgba(77,55,37,.32);border-radius:8px;padding:12px;background:rgba(255,255,255,.26)}.sign-box span{display:block;font-size:11px;color:var(--muted);font-weight:800;letter-spacing:.08em}.script-sign{font-family:"Brush Script MT","Segoe Script",cursive;font-size:36px;color:#141414;margin:10px 0 0;border-bottom:1px solid rgba(0,0,0,.33)}.sign-box strong{display:block;font-size:11px;margin-top:8px}.wax-seal{width:86px;height:86px;border-radius:50%;margin:auto;background:radial-gradient(circle,#9b1a24,#5f1016 70%);color:#f6d7bd;display:flex;align-items:center;justify-content:center;font-weight:900;box-shadow:inset 0 0 0 6px rgba(255,255,255,.05),0 8px 18px rgba(0,0,0,.2)}.digital-field{width:100%;height:48px;margin:12px 0 8px;border:1px solid rgba(109,17,24,.28);border-radius:6px;background:#fffaf0;color:var(--red);font-weight:800}.signature-preview{display:none;width:100%;max-height:58px;object-fit:contain;border-bottom:1px solid rgba(0,0,0,.33);margin:6px 0}.actions{display:flex;gap:10px;margin:18px 0 8px}.btn{border:0;border-radius:10px;padding:14px 16px;font-weight:900;letter-spacing:.04em;cursor:pointer;transition:.22s transform,.22s box-shadow,.22s opacity}.btn:active{transform:scale(.98)}.primary{background:linear-gradient(180deg,#8f1b25,#5d1017);color:#fff;box-shadow:0 10px 22px rgba(109,17,24,.28)}.secondary{background:#fffaf3;color:#221b15;border:1px solid rgba(32,24,17,.18)}.actions .btn{flex:1}.security-note{font-size:10px;text-align:center;color:var(--muted);margin:12px 0 2px}.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:100;display:none;align-items:center;justify-content:center;padding:18px}.modal.active{display:flex}.modal-card{width:min(390px,100%);background:#f8f1e3;border-radius:16px;padding:18px;box-shadow:0 28px 80px rgba(0,0,0,.6)}.modal-card h2{margin:0 0 7px;font-size:20px}.modal-card p{margin:0 0 12px;color:var(--muted)}canvas{width:100%;height:170px;background:#fff;border:1px solid rgba(0,0,0,.2);border-radius:8px;touch-action:none}.modal-actions{display:flex;gap:10px;margin-top:12px}.certificate{background:#fff;padding:12px;position:relative;box-shadow:0 24px 60px rgba(0,0,0,.5);overflow:hidden}.cert-border{position:relative;border:4px double #0d0d0d;padding:24px 14px;min-height:720px;text-align:center}.cert-border:before{content:"";position:absolute;inset:8px;border:1px solid #111;pointer-events:none}.watermark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:76px;font-weight:900;color:rgba(0,0,0,.035);transform:rotate(-20deg)}.cursive{font-family:"Brush Script MT","Segoe Script",cursive;font-size:44px;margin:12px 0;color:#151515}.certificate h1{font-family:Georgia,serif;font-size:23px;margin:0 0 30px;letter-spacing:.04em}.certificate h2{font-family:Georgia,serif;font-size:19px;margin:22px 0;border-bottom:1px solid #111;display:inline-block;padding:0 8px 7px}.cert-text{font-size:14px;line-height:1.7;color:#242424}.cert-info{display:grid;grid-template-columns:1fr;gap:9px;margin:24px 0;text-align:left}.cert-info div{border:1px solid #d0d0d0;padding:10px}.cert-info span{display:block;color:#666;font-size:11px;text-transform:uppercase}.cert-info strong{font-size:13px}.certificate footer{display:grid;grid-template-columns:1fr;gap:24px;align-items:end;margin-top:32px}.certificate footer span{display:block;color:#666;font-size:12px}.iso-seal{width:118px;height:118px;border-radius:50%;border:3px solid #111;margin:auto;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;line-height:1.35}.final-btn{width:100%;margin:14px 0 20px}@media(min-width:390px){.signature-area{grid-template-columns:1fr 86px 1fr}.cert-info{grid-template-columns:1fr 1fr}.certificate footer{grid-template-columns:1fr 130px}.document{padding:24px 18px}.doc-header h1{font-size:22px}}@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media print{.no-print,.safari-bar{display:none!important}.phone-shell{box-shadow:none;width:100%;background:white}.screen{display:block;padding:0;background:white}.document,.certificate{box-shadow:none;margin:0;border-radius:0}}


/* Atualização oficial: documento direto na tela, sem simulação de celular/Safari */
body{display:block;background:linear-gradient(180deg,#15110e,#070605);padding:0;overflow-x:hidden}.page-shell{width:100%;max-width:760px;margin:0 auto;min-height:100vh;background:transparent;box-shadow:none;overflow:visible}.phone-shell{width:100%;max-width:760px;margin:0 auto;min-height:100vh;background:transparent;box-shadow:none;overflow:visible}.safari-bar{display:none!important}.screen{min-height:100vh;padding:14px 10px}.contract-screen,.certificate-screen{background:linear-gradient(180deg,#17120e,#0b0908)}
.document{border-radius:3px;margin:0 auto 18px;padding:22px 14px;max-width:720px;overflow:hidden}.doc-header{padding:8px 4px 18px}.official-crest{display:block;width:min(172px,45vw);height:auto;margin:0 auto 14px;filter:grayscale(1) contrast(1.15);mix-blend-mode:multiply}.crest,.stamp,.wax-seal{display:none!important}.doc-header h1{margin-top:12px}.signature-area{grid-template-columns:1fr;gap:12px;align-items:stretch}.sign-box{width:100%;min-width:0}.digital-field{max-width:100%;white-space:normal}.signature-preview{max-width:100%}.actions{position:relative}.alert-card{text-align:center;background:rgba(248,241,227,.96);border-radius:18px;border:1px solid rgba(255,255,255,.55);box-shadow:0 30px 90px rgba(0,0,0,.65), inset 0 1px 0 rgba(255,255,255,.65);backdrop-filter:blur(14px)}.alert-card h2{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;font-size:19px;line-height:1.25;margin-bottom:10px}.alert-card p{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;font-size:14px;line-height:1.45;color:#332b23}.two-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two-actions .btn{width:100%;padding:13px 10px}
@media(min-width:390px){.signature-area{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.official-crest{width:190px}.document{padding:26px 18px}}
@media(min-width:640px){.screen{padding:24px 18px}.document{padding:34px 32px}.official-crest{width:215px}.signature-area{gap:18px}}
@media print{.page-shell,.phone-shell{box-shadow:none;width:100%;max-width:none;background:white}.screen{min-height:auto;padding:0;background:white}.safari-bar{display:none!important}}

/* Atualizações finais: loading estendido, avatar e contrato persistente */
.loading-screen{background:radial-gradient(circle at 50% 28%,#2b241f,#050403 66%)}
.loader-card{max-width:380px}
.apple-mark{display:none!important}
.loading-avatar{display:block;width:min(245px,72vw);max-height:330px;object-fit:contain;margin:0 auto 22px;filter:drop-shadow(0 24px 42px rgba(0,0,0,.62)) drop-shadow(0 0 26px rgba(224,189,116,.25));animation:avatarFloat 3.2s ease-in-out infinite}
.loader-card h1{font-size:18px;margin:16px 0 9px}.loader-card p{margin-bottom:24px}.progress-track{height:7px}#loadingMessage{display:block;min-height:18px;transition:opacity .25s ease;color:#d8cbb9}
.official-crest{width:min(150px,39vw)!important;max-height:190px;object-fit:contain;filter:grayscale(1) contrast(1.18);mix-blend-mode:multiply;margin-bottom:10px!important}
.signed-status{position:relative;z-index:1;margin:18px 0 12px;padding:16px 14px;border:1px solid rgba(109,17,24,.22);background:rgba(255,255,255,.28);text-align:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.24)}
.signed-status h2{font-family:Georgia,serif;margin:0 0 10px;color:var(--red);letter-spacing:.08em;font-size:18px}.signed-status p{margin:0 0 4px;color:var(--muted);font-size:13px}.signed-status>strong{font-size:13px}.signed-status small{display:block;margin-top:12px;color:var(--muted);font-style:italic}.signed-grid{display:grid;grid-template-columns:1fr;gap:8px;margin:14px 0 2px;text-align:left}.signed-grid div{border:1px solid rgba(48,37,25,.16);background:rgba(248,241,227,.55);padding:9px}.signed-grid span{display:block;text-transform:uppercase;font-size:10px;color:var(--muted);letter-spacing:.05em}.signed-grid b{font-size:12px;color:var(--ink)}
#signedActions .btn{width:100%}.modal.active{display:flex!important}.modal{z-index:999}.signature-preview{object-fit:contain;background:rgba(255,255,255,.34)}
@media(min-width:430px){.signed-grid{grid-template-columns:1fr 1fr}.loading-avatar{width:260px}.loader-card h1{font-size:20px}.official-crest{width:170px!important}}
@media(min-width:640px){.official-crest{width:188px!important}.signed-status{padding:18px}.loading-avatar{width:290px}}
@keyframes avatarFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}


/* Atualização premium: loading longo com jardim noturno */
.loading-screen{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 38%, rgba(185,138,50,.20), transparent 32%),
    radial-gradient(circle at 18% 75%, rgba(95,24,32,.34), transparent 28%),
    radial-gradient(circle at 86% 72%, rgba(25,74,47,.30), transparent 26%),
    linear-gradient(180deg,#050403 0%,#0b0807 44%,#130d0b 100%)!important;
}
.loading-screen:before{
  content:"";position:absolute;inset:-20%;opacity:.58;pointer-events:none;
  background:
    radial-gradient(circle at 12% 18%, rgba(224,189,116,.55) 0 1px, transparent 2px),
    radial-gradient(circle at 72% 12%, rgba(255,255,255,.50) 0 1px, transparent 2px),
    radial-gradient(circle at 82% 44%, rgba(224,189,116,.35) 0 1px, transparent 2px),
    radial-gradient(circle at 27% 58%, rgba(255,255,255,.36) 0 1px, transparent 2px);
  background-size:120px 140px,150px 130px,180px 160px,210px 170px;
  animation:particlesDrift 13s linear infinite;
}
.loading-screen:after{
  content:"";position:absolute;left:0;right:0;bottom:-10px;height:42%;pointer-events:none;opacity:.95;
  background:
    radial-gradient(ellipse at 12% 91%, rgba(242,234,215,.92) 0 3px, transparent 4px),
    radial-gradient(ellipse at 19% 88%, rgba(120,18,28,.95) 0 5px, transparent 6px),
    radial-gradient(ellipse at 27% 94%, rgba(242,234,215,.88) 0 4px, transparent 5px),
    radial-gradient(ellipse at 74% 88%, rgba(125,18,30,.95) 0 5px, transparent 6px),
    radial-gradient(ellipse at 84% 92%, rgba(242,234,215,.88) 0 4px, transparent 5px),
    linear-gradient(115deg, transparent 0 46%, rgba(84,113,65,.82) 47% 49%, transparent 50%),
    linear-gradient(65deg, transparent 0 42%, rgba(74,106,60,.82) 43% 45%, transparent 46%),
    radial-gradient(ellipse at bottom, rgba(18,42,28,.92), transparent 68%);
  filter:drop-shadow(0 -12px 30px rgba(185,138,50,.10));
  animation:gardenBreathe 5s ease-in-out infinite;
}
.loader-card{position:relative;z-index:2;max-width:380px;padding:24px 18px 10px;border-radius:30px;background:linear-gradient(180deg,rgba(10,8,7,.38),rgba(10,8,7,.12));backdrop-filter:blur(4px)}
.loading-avatar{display:block;margin:0 auto 12px;width:min(78vw,310px);max-height:44vh;object-fit:contain;filter:drop-shadow(0 24px 38px rgba(0,0,0,.70)) drop-shadow(0 0 30px rgba(224,189,116,.26));animation:avatarFloat 4.2s ease-in-out infinite}
.loader-card h1{margin-top:14px!important;text-shadow:0 2px 18px rgba(0,0,0,.70)}
.progress-track{height:9px;background:rgba(255,255,255,.10);border:1px solid rgba(224,189,116,.18)}
#loadingMessage{display:block;min-height:18px;color:#d6c6a6!important;letter-spacing:.02em}
.official-crest{width:210px!important;max-width:62%;height:128px!important;object-fit:contain;margin-bottom:-18px!important;filter:contrast(1.1) drop-shadow(0 6px 10px rgba(0,0,0,.10))}
.doc-header h1{position:relative;z-index:2}
@media(min-width:430px){.official-crest{width:238px!important;height:146px!important;margin-bottom:-22px!important}.loading-avatar{width:330px!important}}
@media(min-width:640px){.official-crest{width:270px!important;height:164px!important;margin-bottom:-26px!important}.loading-avatar{width:360px!important}}
@keyframes particlesDrift{from{transform:translate3d(0,0,0)}to{transform:translate3d(3%,5%,0)}}
@keyframes gardenBreathe{0%,100%{transform:translateY(0);opacity:.88}50%{transform:translateY(-4px);opacity:1}}


/* Ajustes finais solicitados: fundo real do loading, textos inferiores e estado assinado consistente */
.hidden{display:none!important}
.loading-screen{
  position:relative!important;
  min-height:100vh!important;
  padding:0!important;
  overflow:hidden!important;
  background:
    linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.55) 20%,rgba(0,0,0,.15) 45%,transparent 70%),
    url("assets/loading-garden.png") center/cover no-repeat!important;
}
.loading-screen:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  opacity:.38!important;
  pointer-events:none!important;
  background:
    radial-gradient(circle at 18% 16%, rgba(224,189,116,.62) 0 1px, transparent 2px),
    radial-gradient(circle at 78% 22%, rgba(255,255,255,.50) 0 1px, transparent 2px),
    radial-gradient(circle at 48% 72%, rgba(224,189,116,.48) 0 1px, transparent 2px),
    radial-gradient(circle at 88% 68%, rgba(224,189,116,.45) 0 1px, transparent 2px);
  background-size:130px 150px,170px 150px,190px 180px,230px 210px;
  animation:particlesDrift 18s linear infinite!important;
}
.loading-screen:after{display:none!important}
.loading-screen.active{display:flex!important;align-items:flex-end!important;justify-content:center!important}
.loader-card{
  width:100%!important;
  max-width:520px!important;
  margin:0 auto!important;
  padding:0 22px calc(28px + env(safe-area-inset-bottom))!important;
  border-radius:0!important;
  background:transparent!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
  text-align:center!important;
}
.loading-avatar{display:none!important}
.loader-card h1{
  max-width:360px!important;
  margin:0 auto 7px!important;
  color:#fff!important;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif!important;
  font-size:clamp(15px,4.1vw,20px)!important;
  line-height:1.22!important;
  letter-spacing:.035em!important;
  text-shadow:0 2px 18px rgba(0,0,0,.85)!important;
}
.loader-card p{
  margin:0 auto 8px!important;
  color:rgba(255,255,255,.82)!important;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif!important;
  font-size:clamp(12px,3.3vw,14px)!important;
  text-shadow:0 2px 14px rgba(0,0,0,.78)!important;
}
#loadingMessage{
  display:block!important;
  min-height:18px!important;
  margin:0 auto 12px!important;
  color:#e0bd74!important;
  font-size:clamp(11px,3vw,13px)!important;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif!important;
  letter-spacing:.02em!important;
  text-shadow:0 2px 13px rgba(0,0,0,.86)!important;
}
.progress-track{
  width:min(340px,82vw)!important;
  height:6px!important;
  margin:0 auto!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.16)!important;
  border:1px solid rgba(224,189,116,.20)!important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.18),0 8px 28px rgba(0,0,0,.35)!important;
}
.progress-fill{background:linear-gradient(90deg,#8f6424,#e6c477,#b98a32)!important;box-shadow:0 0 18px rgba(224,189,116,.48)!important}
#progressText{
  display:block!important;
  margin:9px 0 0!important;
  color:rgba(255,255,255,.88)!important;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif!important;
  font-size:12px!important;
  font-weight:700!important;
  text-shadow:0 2px 14px rgba(0,0,0,.80)!important;
}
.official-crest{width:250px!important;height:150px!important;max-width:68%!important;margin-bottom:-22px!important;object-fit:contain!important}
.action-buttons.signed,#contractActions.signed{display:none!important}
.certificate-button.hidden,#signedActions.hidden{display:none!important}
#signedActions:not(.hidden){display:flex!important}
#contractActions:not(.hidden){display:flex!important}
.cert-approval{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;min-height:118px}
.cert-signature-preview{display:none;width:180px;max-width:80%;height:54px;object-fit:contain;border-bottom:1px solid #111;margin-top:4px;filter:contrast(1.08) grayscale(1)}
.cert-signature-preview.visible{display:block!important}
@media(min-width:430px){.official-crest{width:285px!important;height:168px!important;margin-bottom:-26px!important}.loader-card{padding-bottom:34px!important}}
@media(min-width:640px){.official-crest{width:315px!important;height:184px!important;margin-bottom:-30px!important}}
