@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(nunito-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(nunito-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(nunito-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Libre Baskerville';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(baskerville-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(baskerville-1.ttf) format('truetype');
}
/* Paleta oficial: lavanda #8d89ad, dourado #d1b08b,
   lavanda clara #d6d4e0 e rosé #f4e8e0. */
.portal-page{background:#f4e8e0;color:#393348;font-family:'Nunito Sans',Arial,sans-serif;isolation:isolate;min-height:100vh}.portal-page header{position:relative;background:#ffffff99;border-bottom:1px solid #8d89ad30;display:flex;align-items:center;justify-content:space-between;padding:12px max(24px,calc((100vw - 1120px)/2));gap:20px}.portal-page header>img{width:122px;height:90px;max-height:90px;object-fit:contain}.portal-page header nav{margin:0;padding:0;max-width:initial;font-size:12px;gap:14px}.portal-page header nav>span{display:none}.portal-page header nav a{color:#615a79}.portal-page main{position:relative;max-width:1120px;margin:40px auto 24px}.portal-intro{position:relative;text-align:center;margin:0 auto 30px}.portal-intro .eyebrow{font-size:11px;letter-spacing:.22em;color:#6b6084}.portal-intro h1{font:400 clamp(30px,3.5vw,45px)/1.25 'Libre Baskerville',Georgia,serif;letter-spacing:-1px;margin:15px 0}.portal-intro h1 em{color:#766e96;font-weight:400}.portal-intro>p:not(.eyebrow){color:#635b72;font-size:15px}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:900px;margin:0 auto}.portal-card{position:relative;padding:30px 36px 24px;border-radius:22px;border:1px solid #fff;box-shadow:0 16px 70px #51446810;background:#fffaf5ed;overflow:hidden}.doctor-card{background:#ebe9f3ed;border-color:#ffffffb3}.portal-tag{font-size:10px;letter-spacing:.2em;font-weight:700;color:#736386}.portal-icon{position:absolute;right:30px;top:26px;width:40px;height:40px;display:grid;place-items:center;border:1px solid #8d89ad50;border-radius:50%;font:26px Georgia;color:#77678e}.portal-card h2{font:400 28px 'Libre Baskerville',Georgia,serif;margin:18px 0 12px}.portal-card>p{color:#655d73;font-size:14px;max-width:320px;min-height:42px}.portal-card form{margin-top:24px}.portal-card label{font-size:13px;color:#51485f;margin-bottom:18px}.portal-card input{background:#fffaf8;border:1px solid #b5aec5;border-radius:9px;min-height:48px;font-size:16px;margin-top:8px;padding:12px 14px}.portal-card input::placeholder{color:#7c7588;opacity:1}.portal-card button{width:100%;min-height:49px;display:flex;justify-content:space-between;align-items:center;background:#75698e;border-color:#75698e;border-radius:9px;font-size:14px}.doctor-card button{background:#fff9;border-color:#9286a6;color:#514363}.portal-card button:hover{background:#615376;color:white}.portal-card .portal-footnote{font-size:11px;text-align:center;min-height:0;margin:20px 0 0;max-width:none;color:#696172}.portal-page footer{font-size:11px;color:#675d74;line-height:1.8;position:relative;padding:18px 20px 25px}.portal-scene{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 8% 10%,#d6d4e0 0,transparent 55%),radial-gradient(ellipse at 90% 90%,#d1b08b44 0,transparent 60%)}.portal-scene i{position:absolute;width:210px;height:190px;left:-6%;top:24%;border:2px solid #8d89ad48;border-radius:48% 52% 60% 40% / 54% 40% 60% 46%;background:radial-gradient(ellipse at 46% 44%,#8d89ad60 0 11%,#d6d4e088 13% 24%,transparent 28%),radial-gradient(ellipse,#d6d4e035 42%,#8d89ad18 68%,#ffffff44 73%);box-shadow:inset 0 0 24px #8d89ad30,0 0 24px #ffffff50;animation:cell-drift 12s ease-in-out infinite alternate}.portal-scene i:after{content:'';position:absolute;inset:12px;border:1px solid #8d89ad28;border-radius:inherit}.portal-scene i:nth-child(2){left:84%;top:12%;width:270px;height:245px;animation-delay:-7s;animation-duration:16s}.portal-scene i:nth-child(3){left:10%;top:76%;width:130px;height:150px;animation-delay:-11s}.portal-scene i:nth-child(4){left:77%;top:74%;width:155px;height:140px;animation-delay:-15s}.portal-scene i:nth-child(5){left:50%;top:8%;width:75px;height:85px;opacity:.5;animation-delay:-8s}.portal-scene i:nth-child(6){left:28%;top:42%;width:160px;height:140px;opacity:.4;animation-delay:-12s}.portal-scene i:nth-child(7){left:66%;top:50%;width:100px;height:120px;opacity:.4;animation-delay:-5s}.portal-scene i:nth-child(8){left:45%;top:91%;width:240px;height:160px;opacity:.5;animation-delay:-19s}@keyframes cell-drift{from{transform:translate3d(-32px,-28px,0) rotate(-12deg)}to{transform:translate3d(44px,38px,0) rotate(18deg)}}.motion-control{font-size:10px;padding:5px 9px;background:transparent;color:#6f6482;border:1px solid #8d89ad50;border-radius:20px}.motion-control:hover{background:#d6d4e0;color:#393348}.motion-paused .portal-scene i{animation-play-state:paused}.portal-error{max-width:900px;margin:0 auto 22px;padding:16px 20px;background:#fff7f1;border:1px solid #b37171;border-radius:12px;color:#71383d}.report-code{font-family:monospace;font-size:1.3em;letter-spacing:.12em}.code-input{text-transform:uppercase;letter-spacing:.14em}[data-copy-status]{margin-left:12px;font-size:13px}#patient-message{min-height:175px}#acesso-paciente h2{margin-top:5px}
@media(max-width:650px){.portal-page header{padding:12px 22px}.portal-page header>img{width:95px;height:74px}.portal-page header nav{font-size:11px;max-width:170px;justify-content:flex-end}.portal-page main{margin-top:28px;padding:0 18px}.portal-intro{margin-bottom:25px}.portal-intro h1{font-size:30px;letter-spacing:-.7px}.portal-intro .eyebrow{font-size:9px}.portal-intro>p:not(.eyebrow){font-size:13px}.portal-grid{grid-template-columns:1fr;gap:18px;max-width:440px}.portal-card{padding:26px;border-radius:20px}.portal-card h2{font-size:26px}.portal-scene i{opacity:.55}.portal-page footer{max-width:360px;margin:auto}.portal-card>p{min-height:0}.portal-page nav span{width:auto}}


.portal-page header>img{background:transparent;padding:7px;object-fit:contain;object-position:center;}
@media(max-width:700px){.table-scroll td:nth-child(2)::before{content:"Número: ";}.table-scroll td:nth-child(3)::before{content:"Nascimento: ";font-size:.85rem;}}

/* Área médica: mesma identidade do portal, com foco no preenchimento. */
.medical-page{--ink:#75698e;--gold:#d1b08b;color:#393348;background:radial-gradient(ellipse at 0 0,#d6d4e080,transparent 55%),linear-gradient(125deg,#f8f3ef,#f1eff6);font-family:'Nunito Sans',Arial,sans-serif;min-height:100vh}
.medical-page header{background:#ffffffcc;border-bottom:1px solid #d6d4e0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px max(24px,calc((100vw - 1180px)/2))}
.medical-page header>img{width:90px;height:82px;object-fit:contain;background:transparent;padding:5px;flex-shrink:0}
.medical-page header nav{margin:0;padding:0;gap:8px;font-size:13px;justify-content:flex-end}
.medical-page header nav>span{display:none}.medical-page header nav>a{padding:10px 14px;text-decoration:none;border-radius:10px;color:#655876;min-height:44px;display:flex;align-items:center}.medical-page header nav>a:hover{background:#eeebf3}.medical-page header nav>a[href="?a=new"]{background:#75698e;color:white}.medical-page header nav form{margin-left:6px}.medical-page header .quiet{border-color:#d6d4e0;background:transparent;color:#675977}
.medical-page main{max-width:1180px;margin:38px auto;padding:0 24px}.medical-page h1{font:400 clamp(27px,3vw,38px)/1.25 'Libre Baskerville',Georgia,serif;letter-spacing:-.8px;overflow-wrap:anywhere}.medical-page h2,.medical-page legend{color:#514460;font-weight:700}.medical-page .eyebrow{color:#7d6b8e;letter-spacing:.17em;font-size:10px}.medical-page .heading{padding:25px 30px;background:linear-gradient(115deg,#fffaf4dd,#e6e1efaa);border:1px solid #fff;border-radius:20px;margin-bottom:24px;position:relative;overflow:hidden}.medical-page .heading:after{content:'';position:absolute;right:180px;top:-75px;width:230px;height:230px;border:1px solid #8d89ad18;border-radius:50%;pointer-events:none}.medical-page .heading p:last-child{color:#73677e;font-size:14px;margin-bottom:0}.medical-page .heading .button{white-space:nowrap;flex-shrink:0}.medical-page .card{background:#fffdfbeF;border:1px solid #e1dce7;border-radius:20px;padding:28px 30px;box-shadow:0 12px 40px #51446807}
.medical-page button,.medical-page .button{background:#75698e;border-color:#75698e;border-radius:10px;font-family:inherit;font-size:14px;min-height:46px}.medical-page button:hover,.medical-page .button:hover{background:#625475;border-color:#625475}.medical-page .secondary,.medical-page .quiet{background:#fffaf7;color:#675977;border-color:#b6abc5}.medical-page .secondary:hover,.medical-page .quiet:hover{background:#ece6f3;color:#514460}.medical-page button.danger{background:#964b55;border-color:#964b55}.medical-page a{color:#695a7c}.medical-page input,.medical-page textarea,.medical-page select{font-family:inherit;font-size:16px;background:#fffdfb;border:1px solid #c8c0d1;border-radius:9px;padding:12px;color:#393348}.medical-page input::placeholder{color:#8a8193}.medical-page input:focus,.medical-page textarea:focus,.medical-page select:focus{outline:2px solid #8d89ad;outline-offset:2px}.medical-page label{color:#5c5069;font-size:13px}.medical-page .hint{color:#7b7087}.medical-page .notice{border:1px solid #e3d4c2;border-radius:12px;background:#faf0e5;color:#6d573d}.medical-page .list-intro h2{font:400 22px 'Libre Baskerville',Georgia,serif;margin:0 0 8px}.medical-page .list-intro p{font-size:13px;color:#7b7087;margin-bottom:24px}.medical-page .search{padding:18px 20px;background:#f3f0f7;border-radius:12px;margin-bottom:20px}.medical-page .search label{font-weight:600}.medical-page .search button{min-width:112px}.medical-page th{color:#8b7c99;text-transform:uppercase;letter-spacing:.1em;font-size:10px;background:#faf8fc;padding:14px}.medical-page td{padding:20px 14px;border-color:#eee9f2;font-size:14px}.medical-page td:first-child{font-weight:700;color:#4b3f59}.medical-page tbody tr:hover{background:#f8f5fb}.medical-page .report-code{display:inline-block;font-size:12px;color:#77668b;background:#f0ecf5;padding:6px 9px;border-radius:6px;letter-spacing:.08em}.medical-page .badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;border-radius:20px;padding:6px 11px}.medical-page .badge:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.medical-page .badge-issued{background:#eeeaf6;color:#6e5a8c}.medical-page .badge-draft{background:#f7ecde;color:#896439}.medical-page td:last-child a{display:inline-flex;min-height:44px;align-items:center;text-decoration:none;font-size:12px;font-weight:700;padding:8px 12px;border:1px solid #d6ccdf;border-radius:8px;white-space:nowrap}.medical-page td:last-child .delete-link{border-color:transparent;color:#a16d77;margin-left:4px;font-weight:400}.medical-page td:last-child .delete-link:hover{background:#faedf0}.medical-page .actions:empty{display:none}.medical-page .empty{color:#7b6c87;padding:50px 20px}
.medical-page .section-nav{gap:8px;padding:10px;background:#ebe6f1;border-radius:14px;max-width:none;position:relative}.medical-page .section-nav a{background:transparent;border:0;color:#675676;border-radius:9px;font-size:13px;padding:10px 18px}.medical-page .section-nav a:hover{background:#fffaf7}.medical-page .grid{gap:8px 28px}.medical-page .quick-field{border-color:#e9e3ef;padding:15px 0;margin-bottom:12px}.medical-page .quick-preview{color:#7d6a91;background:#f4f0f8;border-radius:7px;padding:7px 10px;font-size:12px}.medical-page .choice{background:#fffaf7;color:#766382;border:1px solid #d6ccdf;border-radius:22px;font-size:13px;padding:10px 15px;font-weight:500}.medical-page .choice:hover{background:#ebe4f3;color:#514460;border-color:#b6a6c6}.medical-page .choice[aria-pressed="true"]{background:#75698e;color:white;border-color:#75698e;box-shadow:none}.medical-page .choice[aria-pressed="true"]:hover{background:#625475}.medical-page .radio-buttons span{border-color:#d6ccdf;background:#fffaf7;border-radius:20px;color:#766382;font-size:13px}.medical-page .radio-buttons input:checked+span{background:#75698e;border-color:#75698e;color:white}.medical-page .custom-text summary{color:#8a769b;font-size:12px}.medical-page [data-dirty-form]>fieldset>h2{border-top:1px solid #e6dfea;padding-top:26px;margin-top:30px}.medical-page [data-dirty-form]>fieldset>legend{font-size:19px;margin-top:0;margin-bottom:22px}.medical-page .draft-save{background:#f6f0faf5;border:1px solid #ded3e8;border-radius:12px;padding:12px 16px;backdrop-filter:blur(8px);margin-top:20px}.medical-page .draft-save span{color:#7b6a8d;font-size:12px}.medical-page .gallery article{background:#f2edf6;border:1px solid #e1d7eb;border-radius:13px;padding:15px}.medical-page [data-crop-editor] fieldset{border-color:#d7cae2;border-radius:9px}.medical-page input[type="range"]{accent-color:#8d89ad}.medical-page input[type="checkbox"],.medical-page input[type="radio"]{accent-color:#75698e}.medical-page .issue{border-color:#e3dbe9}.medical-page .narrow{max-width:530px;margin:40px auto}.medical-page footer{color:#8a7f95;font-size:11px;line-height:1.8;padding-top:10px}.medical-page #acesso-paciente>p .report-code{font-size:17px}.medical-page .check{line-height:1.65}
@media(max-width:760px){.medical-page header{padding:12px 16px;gap:12px;align-items:flex-start}.medical-page header>img{width:65px;height:65px}.medical-page header nav{gap:3px;flex:1;font-size:11px}.medical-page header nav>a{padding:8px 9px}.medical-page header .quiet{padding:7px 10px;font-size:11px}.medical-page header nav form{margin:0}.medical-page main{padding:0 16px;margin:24px auto}.medical-page .heading{padding:23px}.medical-page .heading .button{align-self:flex-start}.medical-page .card{padding:22px 19px;border-radius:16px}.medical-page .search{padding:15px}.medical-page .section-nav{padding:8px;gap:4px}.medical-page .section-nav a{padding:9px 13px;font-size:12px}.medical-page .draft-save{bottom:8px}.medical-page .narrow{margin:24px auto}.medical-page h2{font-size:18px}.medical-page .list-intro h2{font-size:20px}}
@media(max-width:700px){.medical-page .table-scroll tr{margin:12px 0;padding:17px;background:#faf7fc;border:1px solid #e6dfed;border-radius:13px}.medical-page .table-scroll td{padding:5px 0;font-size:13px}.medical-page .table-scroll td:first-child{font-size:16px;margin-bottom:8px}.medical-page .table-scroll td:nth-child(2):before,.medical-page .table-scroll td:nth-child(3):before{color:#92829e;font-size:11px}.medical-page .table-scroll td:last-child{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.medical-page .table-scroll td:last-child a{min-height:44px}.medical-page .table-scroll td:last-child .delete-link{margin:0}.medical-page .choice{font-size:13px}.medical-page .heading:after{right:-110px;top:-30px}.medical-page .search button{width:100%}}
.medical-page a.button{color:#fff}.medical-page a.button.secondary{color:#675977}.medical-page a.button.secondary:hover{color:#514460}

/* Animação automática, sem controles visíveis. */
.portal-scene i{animation-play-state:running}
