*{box-sizing:border-box}body{margin:0;font:15px Inter,Arial,sans-serif;background:#f7f5f1;color:#232323}a{text-decoration:none;color:inherit}.top{height:72px;background:#fff;border-bottom:1px solid #e7e0d5;display:flex;align-items:center;padding:0 4%;gap:34px;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px}.brandmark{width:40px;height:40px;border-radius:12px;background:#9b7d43;color:#fff;display:grid;place-items:center;font-weight:800}.brand b,.brand small{display:block}.brand small{color:#6f6b63;font-size:11px}.top nav{display:flex;gap:24px;flex:1}.top nav a:hover{color:#9b7d43}.who{display:flex;gap:14px;align-items:center}.who a{color:#8e3f35}.wrap{max-width:1180px;margin:34px auto;padding:0 22px;min-height:calc(100vh - 150px)}footer{text-align:center;color:#777168;padding:28px}.hero{background:linear-gradient(120deg,#7f673b,#a98b53);color:#fff;padding:38px;border-radius:22px;display:flex;justify-content:space-between;gap:30px;align-items:center}.hero h1,.pagehead h1{font-size:32px;margin:6px 0 10px}.hero p{max-width:680px;color:#f7f1e6}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.6px;color:#9b7d43}.privacy{background:#ffffff55;border:1px solid #ffffff88;padding:18px;border-radius:14px}.modulegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:22px}.modulecard{background:#fff;border:1px solid #e6dfd3;border-radius:18px;padding:24px;display:flex;align-items:center;gap:16px}.modulecard.active:hover{transform:translateY(-2px);box-shadow:0 12px 30px #6b552019}.modulecard .icon{width:48px;height:48px;border-radius:14px;background:#f3ede2;color:#9b7d43;display:grid;place-items:center;font-size:20px;font-weight:800}.modulecard p{color:#766f64;margin:5px 0}.modulecard em{margin-left:auto;font-style:normal;color:#9b7d43}.disabled{opacity:.55}.pagehead{margin-bottom:22px}.pagehead p{color:#766f64}.tabs{display:flex;gap:8px;margin-bottom:14px}.tab{border:0;background:#eee9e1;padding:12px 18px;border-radius:10px;font-weight:700;cursor:pointer}.tab.active{background:#9b7d43;color:#fff}.panel{background:#fff;border:1px solid #e6dfd3;border-radius:18px;padding:24px}.formgrid,.subgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.subgrid{grid-column:1/-1}.wide{grid-column:1/-1}label{display:block;font-weight:700;font-size:13px}input,select,textarea{width:100%;margin-top:7px;border:1px solid #d7cfc3;border-radius:10px;padding:12px;font:inherit;background:#fff}input:focus,select:focus,textarea:focus{outline:2px solid #b2935833;border-color:#b29358}.hint{font-weight:400;color:#817a70}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.btn{border:0;border-radius:10px;background:#9b7d43;color:#fff;padding:12px 18px;font-weight:800;cursor:pointer;display:inline-block}.secondary{background:#eee9e1;color:#3e3a34}.full{width:100%}.hidden{display:none!important}.preview{margin-top:22px}.paper{background:#fff;max-width:800px;margin:auto;padding:55px 70px;min-height:650px;box-shadow:0 8px 30px #4c3c2018}.paper h2{text-align:center}.paper #pvBody{line-height:1.8;text-align:justify}.signature{text-align:center;margin-top:70px}.loginbg{background:#eef3f8;min-height:100vh;display:grid;place-items:center}.loginbox{width:min(460px,92vw);background:#fff;padding:34px;border-radius:22px;box-shadow:0 20px 60px #4c3c2018}.brand.big{margin-bottom:28px}.loginbox h1{font-size:25px}.loginbox label{margin:14px 0}.muted{color:#766f64}.alert{background:#fff0f0;color:#a52a2a;padding:12px;border-radius:10px}.success{background:#eefaf2;color:#25643b;padding:14px;border-radius:10px}.twocol{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.list{display:flex;flex-direction:column;gap:9px}.listitem{text-align:left;background:#fff;border:1px solid #e6dfd3;border-radius:12px;padding:14px;cursor:pointer}.listitem b,.listitem span{display:block}.listitem span{color:#766f64;margin-top:4px}.tablewrap{overflow:auto;background:#fff;border-radius:15px;border:1px solid #e6dfd3}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #eee9e1}th{background:#faf8f4}dialog{border:0;border-radius:18px;padding:28px;box-shadow:0 20px 60px #0003}dialog::backdrop{background:#2f291f99}@media(max-width:760px){.top nav{display:none}.who span{display:none}.hero{display:block}.modulegrid,.twocol,.formgrid,.subgrid{grid-template-columns:1fr}.wide{grid-column:auto}.paper{padding:30px 24px}.wrap{margin-top:22px}}
/* Identidade Dr Prime v1.0.3 */
.brandlogo{display:block;width:170px;max-height:52px;object-fit:contain;object-position:left center}.top{background:#fffdf9}.top nav a:hover{color:#8f713a}.eyebrow{color:#8f713a}.hero{box-shadow:inset 0 0 0 1px #ffffff24}.modulecard .icon{background:#f4eee3;color:#8f713a}.modulecard em{color:#8f713a}.tab.active{background:#8f713a;color:#fff}.btn{background:#9b7d43}.btn:hover{background:#856a37}.secondary{background:#eee9e1;color:#3f3a33}.paper{position:relative;min-height:900px;padding:46px 64px 84px}.paperhead{text-align:center;margin-bottom:24px}.paperhead img{width:260px;max-height:72px;object-fit:contain}.paper h2{font-size:27px;margin:16px 0 36px}.paper #pvBody{line-height:1.75}.signature{width:360px;margin:78px auto 0;border-top:1px solid #222;padding-top:6px}.signature span{display:block}.paperfooter{position:absolute;left:48px;right:48px;bottom:28px;border-top:1px solid #a4874d;padding-top:12px;text-align:center;font-size:12px;color:#4b4740}.loginbg{background:#f3efe8}.brand.big .brandlogo{width:190px}footer{color:#6f685e}@media(max-width:760px){.brandlogo{width:135px}.paper{min-height:720px;padding:30px 24px 90px}.paperfooter{left:20px;right:20px;font-size:10px}.signature{width:80%}}


/* Módulo Etiquetas v1.1.0 */
.labels-upload{margin-bottom:18px}.labels-upload form{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end}.labels-upload .actions{margin:0}.labels-work{margin-top:18px}.labels-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:12px}.labels-toolbar>div b,.labels-toolbar>div span{display:block}.labels-toolbar>div span{color:#766f64;margin-top:4px}.labels-toolbar label{min-width:260px}.labels-selectbar{display:flex;justify-content:space-between;align-items:center;margin:18px 0 10px}.checkline{display:flex;align-items:center;gap:8px}.checkline input,.patient-check{width:auto;margin:0}.labels-print-area{display:none}.patient-label{font-family:Arial,sans-serif;color:#000;break-inside:avoid;page-break-inside:avoid;min-height:0}.patient-label strong,.patient-label span{display:block}.patient-label strong{font-size:12.5pt;line-height:1.2;margin-bottom:2mm}.patient-label span{font-size:11.5pt;line-height:1.25;margin-bottom:1mm}
@media(max-width:760px){.labels-upload form{grid-template-columns:1fr}.labels-toolbar{display:block}.labels-toolbar label{margin-top:14px;min-width:0}.labels-selectbar{align-items:flex-start;gap:12px}}
@media print{
  @page{size:A4;margin:12mm 11mm}
  body{background:#fff!important}
  .top,.wrap>section:not(#labelsPrintArea),.wrap>.panel,.wrap>footer,body>footer,.no-print{display:none!important}
  .wrap{max-width:none;margin:0;padding:0;min-height:0}
  #labelsPrintArea.labels-print-area{display:grid!important;grid-template-columns:1fr 1fr;column-gap:12mm;row-gap:10mm;width:100%}
  .patient-label{display:block!important;padding:0 0 1mm 0;margin:0;min-height:21mm}
}

/* Termos de consentimento */
.term-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:16px;margin:18px 0}.term-card{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid #e4dccb;border-radius:16px;background:#fff;text-decoration:none;color:inherit;box-shadow:0 5px 18px rgba(76,61,27,.06)}.term-card:hover{border-color:#b89b5e}.term-card b{font-size:16px}.term-card small{color:#786f62}.term-badge{align-self:flex-start;font-size:11px;font-weight:700;padding:5px 8px;border-radius:999px;background:#f5efe3;color:#80692f}.term-workflow{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:18px;align-items:start}.term-form label{display:block;margin-bottom:12px;font-weight:600}.term-form input,.term-form select,.term-form textarea{width:100%;box-sizing:border-box}.term-preview-shell{background:#ebe7df;padding:20px;border-radius:16px}.term-paper{background:#fff;max-width:210mm;margin:auto;box-shadow:0 4px 22px rgba(0,0,0,.12);padding:18mm 18mm 22mm;box-sizing:border-box;color:#222;font-family:Arial,sans-serif}.term-letterhead{text-align:center;margin-bottom:12px}.term-letterhead img{max-width:58mm;max-height:20mm}.term-title{text-align:center;font-size:16px;line-height:1.25;font-weight:700;margin:8px 0 15px}.term-body{font-size:11.5px;line-height:1.48;text-align:justify;white-space:normal}.term-body p{margin:0 0 10px}.term-body .term-section{text-align:center;font-weight:700;margin:13px 0 10px}.term-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px;page-break-inside:avoid}.term-sign{min-width:0;text-align:center;font-size:9px;line-height:1.3}.term-sign-space{height:34px}.term-sign img{display:block;max-width:90%;height:34px;object-fit:contain;margin:0 auto 4px}.term-sign-line{border-top:1px solid #333;padding-top:5px}.term-sign strong{display:block;font-size:9px}.term-doc-footer{border-top:1px solid #a68b51;text-align:center;font-size:8px;padding-top:6px;margin-top:18px;color:#4c463c}.term-patient-list{max-height:430px;overflow:auto;border:1px solid #e5dfd4;border-radius:12px}.term-patient-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-bottom:1px solid #eee8de;cursor:pointer}.term-patient-item:last-child{border-bottom:0}.term-patient-item:hover{background:#faf7f1}.term-patient-item.active{background:#f5efe3}.term-patient-item span{display:block;font-size:12px;color:#746b5e}.admin-term-editor textarea{min-height:360px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.45}@media(max-width:900px){.term-workflow{grid-template-columns:1fr}.term-paper{padding:12mm}.term-signatures{grid-template-columns:1fr}.term-sign{margin-bottom:16px}}@media print{body *{visibility:hidden!important}.term-paper,.term-paper *{visibility:visible!important}.term-paper{position:absolute;left:0;top:0;width:100%;max-width:none;box-shadow:none;padding:17mm 18mm 18mm}.top,.wrap>.pagehead,.no-print,footer,.term-preview-shell{display:none!important}.term-preview-shell{display:block!important;background:none!important;padding:0!important}.term-title{font-size:13pt}.term-body{font-size:8.4pt;line-height:1.35}.term-signatures{grid-template-columns:repeat(3,1fr)!important}.term-doc-footer{position:relative}@page{size:A4;margin:0}}

.term-batch-controls{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}
.term-batch-controls .btn{padding:9px 12px;font-size:12px}
.term-patient-item{justify-content:flex-start}
.term-patient-data{flex:1;min-width:0}
.term-patient-item em{font-style:normal;white-space:nowrap;color:#8a6e38;font-size:12px}
.term-check{display:flex!important;align-items:center!important;margin:0!important;width:auto!important;cursor:pointer}
.term-check input{width:18px!important;height:18px;margin:0}
.term-batch-print{display:none}
@media print{
 body.term-batch-printing .term-preview-shell{display:none!important}
 body.term-batch-printing .term-batch-print,
 body.term-batch-printing .term-batch-print *{visibility:visible!important}
 body.term-batch-printing .term-batch-print{display:block!important;position:absolute;left:0;top:0;width:100%}
 body.term-batch-printing .term-batch-print .term-paper{position:relative!important;left:auto!important;top:auto!important;width:100%!important;max-width:none!important;box-shadow:none!important;padding:17mm 18mm 18mm!important;margin:0!important}
 body.term-batch-printing .term-batch-print .batch-term{page-break-after:always}
 body.term-batch-printing .term-batch-print .batch-term:last-child{page-break-after:auto}
}


/* Termos v1.2.2 - impressão paginada, cabeçalho/rodapé fixos e fechamento com assinaturas */
.term-closing-text{font-size:11.5px;line-height:1.48;text-align:justify}
.term-closing-text p{margin:0 0 10px}
.term-closing-block{break-inside:avoid-page;page-break-inside:avoid}
.term-sign-line span{display:block;margin-top:2px}
.term-sign-line strong{display:block;margin-bottom:2px}
.term-doc-footer{margin-top:20px}
.term-batch-letterhead,.term-batch-footer{display:none}
@media print{
  @page{size:A4;margin:27mm 18mm 22mm 18mm}
  html,body{margin:0!important;padding:0!important;background:#fff!important}
  body *{visibility:hidden!important}
  .term-preview-shell,.term-paper,.term-paper *{visibility:visible!important}
  .term-preview-shell{display:block!important;background:none!important;padding:0!important;margin:0!important}
  .term-paper{position:static!important;width:auto!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;box-shadow:none!important;background:#fff!important;overflow:visible!important}
  .term-letterhead{position:fixed!important;top:-20mm!important;left:0!important;right:0!important;height:18mm!important;margin:0!important;text-align:center!important;z-index:10}
  .term-letterhead img{max-width:58mm!important;max-height:18mm!important}
  .term-doc-footer{position:fixed!important;left:0!important;right:0!important;bottom:-15mm!important;margin:0!important;padding-top:5px!important;border-top:1px solid #a68b51!important;text-align:center!important;font-size:8px!important;background:#fff!important;z-index:10}
  .term-title{font-size:13pt!important;margin:0 0 12px!important}
  .term-body,.term-closing-text{font-size:8.4pt!important;line-height:1.34!important}
  .term-body p,.term-closing-text p{margin:0 0 7px!important;orphans:3;widows:3}
  .term-body .term-section,.term-closing-text .term-section{break-after:avoid-page;page-break-after:avoid}
  .term-closing-block{break-inside:avoid-page!important;page-break-inside:avoid!important;margin-top:0!important}
  .term-signatures{grid-template-columns:repeat(3,1fr)!important;gap:10px!important;margin-top:18px!important;break-inside:avoid-page!important;page-break-inside:avoid!important}
  .term-sign-space{height:30px!important}
  .term-sign img{height:30px!important;max-width:88%!important;margin:0 auto 4px!important}
  .term-sign-line{padding-top:4px!important;line-height:1.25!important}
  .term-sign-line strong,.term-sign-line span{display:block!important;margin:0 0 2px!important}
  .top,.wrap>.pagehead,.no-print,body>footer{display:none!important}

  /* impressão em lote usa um único cabeçalho/rodapé global, repetido em todas as páginas */
  body.term-batch-printing .term-preview-shell{display:none!important}
  body.term-batch-printing .term-batch-print,
  body.term-batch-printing .term-batch-print *{visibility:visible!important}
  body.term-batch-printing .term-batch-print{display:block!important;position:static!important;width:auto!important;margin:0!important;padding:0!important}
  body.term-batch-printing .term-batch-letterhead{display:block!important;position:fixed!important;top:-20mm!important;left:0!important;right:0!important;height:18mm!important;text-align:center!important;z-index:20}
  body.term-batch-printing .term-batch-letterhead img{max-width:58mm!important;max-height:18mm!important}
  body.term-batch-printing .term-batch-footer{display:block!important;position:fixed!important;left:0!important;right:0!important;bottom:-15mm!important;border-top:1px solid #a68b51!important;padding-top:5px!important;text-align:center!important;font-size:8px!important;background:#fff!important;z-index:20}
  body.term-batch-printing #termBatchPages{display:block!important}
  body.term-batch-printing .batch-term{display:block!important;position:static!important;width:auto!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;box-shadow:none!important;background:#fff!important;break-after:page!important;page-break-after:always!important}
  body.term-batch-printing .batch-term:last-child{break-after:auto!important;page-break-after:auto!important}
  body.term-batch-printing .batch-term>.term-letterhead,
  body.term-batch-printing .batch-term>.term-doc-footer{display:none!important}
}
