:root{
  --accent:#8fbf3d;
  --line:#89b83a;
  --dark:#2d2d2d;
  --pagebg:#fff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Arial,Helvetica,sans-serif;background:#e9ece9;color:var(--dark)}
a{text-decoration:none;color:inherit}
button,input,textarea{font:inherit}
.topbar{display:flex;justify-content:space-between;gap:12px;padding:16px 22px;background:#1f3423;color:#fff;align-items:center}
.top-actions{display:flex;gap:10px;flex-wrap:wrap}
.page-wrap{min-height:100vh;padding:24px}
.sheet{width:min(930px,100%);margin:0 auto;background:var(--pagebg);box-shadow:0 25px 70px rgba(0,0,0,.14);overflow:hidden}
.header-band{height:74px;background:linear-gradient(180deg,var(--accent),#9ccb52)}
.sheet-body{padding:24px 78px 34px;position:relative;min-height:1180px}
.letter-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.brand-left{width:220px;min-height:90px;display:flex;align-items:center}
.brand-logo{max-width:180px;max-height:85px;object-fit:contain}
.brand-placeholder{width:170px;height:74px;border:1px dashed #b7c6b7;border-radius:8px}
.brand-right{width:260px;text-align:center;padding-top:4px}
.professional-name{font-size:18px;margin-bottom:4px}
.name-line{height:2px;background:var(--line);margin:0 6px 8px}
.professional-role,.professional-registry{font-size:15px;line-height:1.25}
.document-title{text-align:center;font-size:20px;margin:34px 0 74px;letter-spacing:.5px}
.declaration-text{max-width:100%;padding:0 56px 0 50px;font-size:18px;line-height:2.1}
.declaration-text p{margin:0 0 10px}
.spacer-p{margin-top:36px!important;margin-bottom:12px!important}
.line-input{border:none;border-bottom:1.5px solid #6b6b6b;background:transparent;outline:none;color:#1c1c1c;padding:0 4px 3px;border-radius:0}
.purpose-input{width:280px}
.patient-input{width:420px}
.short-input{width:146px}
.time-input{width:92px;text-align:center}
.city-date-block{margin:230px 0 0 72px;font-size:18px}
.city-date-input{width:170px;margin-left:6px}
.signature-area{position:relative;margin:90px auto 0;width:300px;text-align:center;min-height:170px}
.watermark-symbol{position:absolute;left:50%;top:-12px;transform:translateX(-50%);font-size:172px;line-height:1;color:rgba(143,191,61,.16);font-family:serif;pointer-events:none}
.signature-image{position:relative;z-index:2;display:block;max-width:180px;max-height:110px;object-fit:contain;margin:0 auto -10px}
.signature-line{position:relative;z-index:2;height:2px;background:#313131;width:240px;margin:26px auto 4px}
.signature-caption{position:relative;z-index:2;font-size:16px}
.footer-contact{position:absolute;left:58px;bottom:34px;font-size:13px;line-height:1.15;color:#585858}
.actions{display:flex;gap:12px;flex-wrap:wrap;padding:0 24px 24px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:none;border-radius:12px;cursor:pointer;background:#2b6d43;color:#fff;font-weight:700;box-shadow:0 10px 24px rgba(43,109,67,.18)}
.btn.secondary{background:#eef5ef;color:#1f4338;box-shadow:none;border:1px solid #c7ddd0}
.btn.danger{background:#8f2e2e}
.notice{max-width:930px;margin:0 auto 14px;padding:14px 16px;border-radius:12px}
.notice.ok{background:#e9f8f1;color:#14563f}
.notice.error{background:#fdecec;color:#8f2e2e}
.admin-wrap{max-width:1120px;margin:24px auto;padding:0 18px}
.card{background:#fff;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.08);padding:24px;margin-bottom:22px}
.card h2{margin:0 0 16px;font-size:28px;color:#24432d}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
label{display:block;font-weight:700;color:#285b50;margin-bottom:6px}
.inline-check{display:flex;align-items:center;gap:8px;font-weight:700}
.input, textarea.input{width:100%;border:1px solid #cce0d8;background:#fbfefd;border-radius:12px;padding:13px 14px;outline:none}
.color-group{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding:8px 10px;background:#f7fbf7;border-radius:10px;border:1px solid #dfeadd}
.color-input{padding:2px;height:42px;max-width:90px}
.preview-box{margin-top:10px;padding:10px;border:1px dashed #d0ddd0;border-radius:12px;background:#fafcfa}
.preview-image{max-width:100%;max-height:90px;object-fit:contain;display:block}
.signature-preview{max-height:120px}
.history-list{display:grid;gap:14px;margin-top:16px}
.history-card{background:#fbfefd;border:1px solid #d7e8e1;border-radius:14px;padding:14px}
.muted{color:#5b726b}
.login-box{max-width:480px;margin:80px auto;background:#fff;padding:28px;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.08)}
@media print{
  body{background:#fff}
  .no-print,.topbar,.actions{display:none!important}
  .page-wrap{padding:0}
  .sheet{box-shadow:none;width:100%}
}
@media (max-width:860px){
  .sheet-body{padding:20px 22px 32px;min-height:auto}
  .letter-top{flex-direction:column;align-items:flex-start}
  .brand-right,.brand-left{width:100%}
  .document-title{margin:24px 0 38px}
  .declaration-text{padding:0;font-size:17px}
  .purpose-input,.patient-input{width:100%;max-width:100%}
  .short-input{width:150px}
  .city-date-block{margin:80px 0 0 0}
  .footer-contact{position:static;margin-top:48px}
  .grid-2,.grid-3{grid-template-columns:1fr}
}
@media print {
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }

  body {
    background: #fff !important;
  }

  .topo-verde,
  .faixa-verde,
  .header-green,
  .barra-topo {
    background: #8bc34a !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .linha-verde,
  .borda-verde,
  .assinatura-linha {
    border-color: #7fb23a !important;
  }

  .texto-verde,
  .subtitulo,
  .rodape,
  .crm {
    color: #4f6f2a !important;
  }

  img {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}
