/* Identidade visual oficial do Novaris. */
:root{--novaris-navy:#123B5D;--novaris-blue:#176B87;--novaris-aqua:#35B7A5;--novaris-green:#2E9E6F;--novaris-offwhite:#F6F7F5;--novaris-slate:#263238;--novaris-line:#dfe6e5;--novaris-shadow:0 18px 55px rgba(18,59,93,.10)}
body.novaris-app,body.novaris-login{font-family:Sora,"Segoe UI",Arial,sans-serif;color:var(--novaris-slate);background:var(--novaris-offwhite)}
body.novaris-app .sidebar{background:linear-gradient(180deg,#0f3858 0%,#123B5D 58%,#0c304d 100%)}
body.novaris-app .topbar{background:rgba(255,255,255,.94);border-bottom-color:#e3e9e8}
body.novaris-app .brand{gap:10px}.brand-symbol{width:36px;height:36px;color:#fff;filter:brightness(0) invert(1)}
body.novaris-app .brand-copy{font-size:17px;letter-spacing:1.2px;font-weight:700}.brand-copy small{font-size:7px;letter-spacing:1.5px;color:#b9dfe2;margin-top:4px}
body.novaris-app .nav-item.active{color:var(--novaris-navy);border-radius:12px}.brand-accent-line{width:34px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--novaris-aqua),var(--novaris-green))}

/* Login */
.login-page-brand{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(480px,.92fr);background:var(--novaris-offwhite);overflow:hidden}
.login-brand-hero{position:relative;display:flex!important;color:var(--novaris-slate)!important;padding:clamp(44px,7vw,112px);background:radial-gradient(circle at 4% 4%,rgba(53,183,165,.14),transparent 26%),radial-gradient(circle at 5% 96%,rgba(46,158,111,.12),transparent 24%),#fbfcfa}
.login-brand-hero:before,.login-brand-hero:after{content:"";position:absolute;pointer-events:none;border:2px solid rgba(53,183,165,.16);border-radius:0 0 0 56px;border-top:0;border-right:0}
.login-brand-hero:before{width:240px;height:170px;left:-55px;bottom:90px}.login-brand-hero:after{width:190px;height:125px;right:-55px;top:-15px;transform:rotate(180deg)}
.login-brand-content{width:min(690px,100%);margin:auto 0}.login-main-logo{width:min(540px,88%);display:block}.login-brand-message{margin-top:62px}.login-brand-message h1{font-size:clamp(28px,2.1vw,42px);line-height:1.22;letter-spacing:-1.1px;color:var(--novaris-navy);margin:0 0 22px}.login-brand-message h1 span{color:var(--novaris-aqua)}.login-brand-message p{max-width:600px;font-size:15px!important;line-height:1.75!important;color:#566675!important;margin:24px 0 0!important;opacity:1!important}.login-verticals{display:flex;align-items:center;gap:26px;margin-top:40px}.login-verticals img{width:min(265px,42%);height:auto}.login-verticals>span{width:1px;height:72px;background:#d7dfde}.login-copyright{position:absolute;left:clamp(44px,7vw,112px);bottom:28px;color:#6f7e89;font-size:11px}
.login-brand-panel{position:relative;display:flex;align-items:center;justify-content:center;padding:45px;background:var(--novaris-offwhite)!important;border-left:1px solid #e3e7e3!important}.login-brand-box{width:min(520px,100%)!important;padding:42px!important;border-radius:20px!important;border:1px solid #dde4e2!important;box-shadow:var(--novaris-shadow)!important;background:rgba(255,255,255,.97)!important}.login-box-head{display:flex;gap:14px;align-items:flex-start}.login-mobile-symbol{display:none}.login-eyebrow{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--novaris-aqua);font-weight:750;margin-bottom:7px}.login-brand-box h2{font-size:33px!important;line-height:1.15;color:var(--novaris-navy);letter-spacing:-.8px;margin:0 0 8px!important}.login-brand-box .muted{margin:0;color:#72808d}.login-demo-box{display:flex;gap:13px;align-items:flex-start;background:#f2f8fb!important;border:1px solid #bfd8e6!important;border-radius:13px!important;padding:15px 16px!important;margin:25px 0!important;color:#385064}.demo-info-icon{width:26px;height:26px;flex:none;border:2px solid var(--novaris-blue);border-radius:50%;display:grid;place-items:center;color:var(--novaris-blue);font-weight:800}.login-demo-box b{font-weight:650;color:#263a4b}.login-demo-box small{color:#71818d}.login-form{display:flex;flex-direction:column;gap:17px}.login-form .field label{display:block;font-size:12px;color:#263a4b;font-weight:700;margin-bottom:7px}.login-input-wrap{height:50px;border:1px solid #ccd8dc;border-radius:11px;background:#fff;display:flex;align-items:center;gap:11px;padding:0 14px;transition:.18s}.login-input-wrap:focus-within{border-color:var(--novaris-aqua);box-shadow:0 0 0 4px rgba(53,183,165,.12)}.login-input-wrap>span{color:#82909d;font-weight:700}.login-input-wrap input{border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;width:100%;height:100%;color:#263238}.login-submit{width:100%;min-height:52px!important;margin-top:5px;border-radius:11px!important;background:linear-gradient(105deg,var(--novaris-navy),var(--novaris-blue))!important;font-size:15px!important;box-shadow:0 10px 25px rgba(18,59,93,.19)!important}.login-submit b{font-size:23px;font-weight:400;margin-left:6px}.login-security{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;padding-top:20px;border-top:1px solid #e5e9e8;color:#6e7d87;font-size:11px}.login-security span{color:var(--novaris-green);font-weight:800}

/* Portais */
.portal-selection-page .app,.portal-selection-page .app-portal-selection{display:block!important;min-height:100vh}.portal-selection-page .main{width:100%;min-width:0;margin:0!important}.portal-selection-page .topbar{height:60px;padding:0 clamp(20px,3vw,42px)}.portal-selection-page .content{width:100%;max-width:none;margin:0;padding:18px clamp(22px,4vw,64px) 16px}.portal-page{width:min(1180px,100%);margin:0 auto;padding:0}.portal-welcome{max-width:720px;margin:0 0 18px}.portal-welcome .eyebrow{font-size:9px;letter-spacing:1.25px;color:var(--novaris-aqua)}.portal-welcome h1{font-size:clamp(28px,2.45vw,38px);line-height:1.05;color:var(--novaris-navy);letter-spacing:-1.2px;margin:6px 0 9px}.portal-welcome .brand-accent-line{margin-bottom:10px}.portal-welcome p{font-size:12.5px;line-height:1.5;color:#62717e;margin:0;max-width:700px}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:none;margin:0}.portal-card{position:relative;overflow:hidden;min-height:342px;padding:24px 28px 22px;border:1px solid #dce6e3;border-radius:18px;color:var(--novaris-slate);background:#fff;box-shadow:0 12px 32px rgba(18,59,93,.075);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s}.portal-card:after{content:"";position:absolute;right:-66px;bottom:-104px;width:235px;height:175px;border:1px solid currentColor;border-radius:50%;opacity:.07;box-shadow:0 0 0 14px currentColor,0 0 0 28px currentColor}.portal-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(18,59,93,.12)}.portal-card.portal-human{color:var(--novaris-aqua);background:linear-gradient(155deg,#fff 58%,rgba(53,183,165,.065))}.portal-card.portal-vet{color:var(--novaris-green);background:linear-gradient(155deg,#fff 58%,rgba(46,158,111,.065))}.portal-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.portal-brand-logo{width:min(280px,72%);height:auto}.portal-round-icon{width:56px;height:56px;flex:none;border-radius:50%;display:grid;place-items:center;border:1px solid currentColor;background:color-mix(in srgb,currentColor 7%,white);font-size:23px;font-weight:400}.portal-card-copy{color:var(--novaris-slate);margin-top:16px}.portal-card-copy h2{font-size:15.5px;line-height:1.38;color:var(--novaris-navy);max-width:500px;margin:0 0 14px}.portal-card-copy ul,.portal-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;list-style:none;padding:0;margin:0}.portal-card-copy li{position:relative;padding-left:22px;font-size:11px;line-height:1.35;color:#51616f}.portal-card-copy li:before{content:"✓";position:absolute;left:0;top:-1px;width:15px;height:15px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;color:inherit;font-size:9px;font-weight:800}.portal-access-btn{position:relative;z-index:1;width:100%;margin-top:auto;min-height:44px;border-radius:10px;color:#fff!important;font-size:12px;box-shadow:0 7px 18px rgba(18,59,93,.14)}.portal-human .portal-access-btn{background:linear-gradient(105deg,var(--novaris-navy),var(--novaris-blue))}.portal-vet .portal-access-btn{background:linear-gradient(105deg,#20865e,var(--novaris-green))}.portal-access-btn b{font-size:19px;font-weight:400;margin-left:5px}.portal-security{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:12px;color:#70808b;font-size:10px}.portal-security span:first-child{color:var(--novaris-green);font-weight:800}

@media(max-width:1050px){.login-page-brand{grid-template-columns:1fr 480px}.login-brand-hero{padding:55px}.login-copyright{left:55px}.login-brand-message{margin-top:42px}.login-brand-panel{padding:28px}.portal-selection-page .content{padding:16px 24px 14px}.portal-card{padding:22px 24px 20px}.portal-brand-logo{width:min(250px,70%)}.portal-card-copy ul,.portal-features{grid-template-columns:1fr;gap:7px}}
@media(max-width:820px){.login-page-brand{grid-template-columns:1fr}.login-brand-hero{display:none!important}.login-brand-panel{min-height:100vh;border:0!important;padding:22px}.login-mobile-symbol{display:grid;width:48px;height:48px;color:var(--novaris-navy)}.login-mobile-symbol img{width:100%;height:100%}.portal-selection-page .topbar{height:58px;padding:0 18px}.portal-selection-page .content{padding:16px 16px 20px}.portal-welcome{margin-bottom:16px}.portal-grid{grid-template-columns:1fr}.portal-card{min-height:320px}.portal-card-copy ul,.portal-features{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.login-brand-box{padding:25px!important;border-radius:16px!important}.login-brand-box h2{font-size:27px!important}.portal-welcome h1{font-size:30px}.portal-welcome p{font-size:12px}.portal-card{min-height:305px;padding:20px 18px}.portal-card-top{gap:10px}.portal-brand-logo{width:min(230px,75%)}.portal-round-icon{width:48px;height:48px;font-size:20px}.portal-card-copy ul,.portal-features{grid-template-columns:1fr}.portal-security{margin-top:10px}}

/* Prescrição inicial da internação. */
.stay-prescription-section{border:1px solid #d7e4eb;border-radius:16px;background:#f7fafb;padding:20px!important;margin-top:8px}.stay-prescription-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:16px}.stay-prescription-intro h3{margin:3px 0 5px;color:#123b5d;font-size:18px}.stay-prescription-intro h3 small{font-size:11px;font-weight:700;color:#647985;background:#e7eef2;border-radius:999px;padding:4px 8px;margin-left:6px;vertical-align:middle}.stay-prescription-intro p{margin:0;color:#60727e}.stay-prescription-intro .inline-alert{max-width:430px;margin:0}.stay-prescription-list{display:grid;gap:12px}.stay-medication-card{display:block!important;padding:0!important;border:1px solid #cfdee6!important;border-radius:13px!important;background:#fff!important;overflow:hidden;transition:border-color .16s,box-shadow .16s!important}.stay-medication-card:hover{border-color:#7eb4d2!important}.stay-medication-card.selected{border-color:#2788bd!important;box-shadow:0 0 0 3px rgba(39,136,189,.09)!important}.stay-medication-head{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 17px;cursor:pointer}.stay-medication-head>input{width:18px!important;height:18px!important;margin:0!important}.stay-medication-title{display:grid;gap:3px}.stay-medication-title strong{font-size:13px;color:#163d58}.stay-medication-title small{font-size:10px;color:#748590}.stay-stock-badge{display:grid;text-align:right;gap:2px;padding-left:18px;border-left:1px solid #e1e8ec}.stay-stock-badge small{font-size:9px;text-transform:uppercase;letter-spacing:.35px;color:#7a8993}.stay-stock-badge strong{font-size:12px;color:#176b87}.stay-prescription-fields{display:grid;grid-template-columns:minmax(140px,1.2fr) minmax(220px,2fr) repeat(3,minmax(150px,1.35fr));gap:12px;padding:16px 17px 18px;border-top:1px solid #e1e9ed;background:#fbfcfd}.stay-prescription-fields .field{margin:0}.stay-prescription-fields .field>label{display:block;min-height:16px;margin-bottom:6px;color:#3d5665;font-size:10px;font-weight:750}.stay-prescription-fields input,.stay-prescription-fields select{width:100%;height:40px}.stay-prescription-fields .input-unit{height:40px}.stay-prescription-fields .input-unit input{height:38px}
.stay-prescription-fields[hidden]{display:none!important}
.stay-prescription-fields{grid-template-columns:repeat(6,minmax(0,1fr))}.calculated-total{border-color:#76b5d7!important;background:#eef8fd!important}.calculated-total input{background:#eef8fd!important;color:#125c83;font-weight:800}.prescription-calculation-note{grid-column:1/-1;display:flex;align-items:center;min-height:34px;padding:8px 11px;border-radius:8px;background:#edf7f5;color:#276b65;font-size:10px;font-weight:650}.prescription-calculation-note strong{color:#114f4a}
@media(max-width:1250px){.stay-prescription-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.stay-guidance-field{grid-column:span 1}.stay-prescription-intro{flex-direction:column;gap:10px}.stay-prescription-intro .inline-alert{max-width:none;width:100%}}
@media(max-width:900px){.stay-prescription-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.stay-prescription-section{padding:13px!important}.stay-medication-head{grid-template-columns:20px minmax(0,1fr);padding:13px}.stay-stock-badge{grid-column:2;text-align:left;border-left:0;padding:0}.stay-prescription-fields{grid-template-columns:1fr;padding:13px}.stay-guidance-field{grid-column:auto}}

.billing-catalog-form{display:grid;grid-template-columns:minmax(320px,1fr) 160px auto;gap:12px;align-items:end}.billing-catalog-form .field{margin:0}.billing-catalog-select select{width:100%}@media(max-width:900px){.billing-catalog-form{grid-template-columns:1fr}}

/* Estoque estruturado e formulários mestres. */
.category-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;margin-bottom:8px;scrollbar-width:thin}.category-tab{white-space:nowrap;padding:9px 14px;border:1px solid #d7e2e8;border-radius:999px;background:#fff;color:#405463;font-weight:600;text-decoration:none}.category-tab:hover{border-color:#35b7a5;color:#176b87}.category-tab.active{background:#123b5d;color:#fff;border-color:#123b5d;box-shadow:0 6px 16px rgba(18,59,93,.16)}.inventory-summary-line{display:flex;gap:14px;align-items:center;margin:10px 0;color:#60727e}.inventory-summary-line span{padding-left:14px;border-left:1px solid #d9e2e7}.inventory-form-shell{display:grid;gap:18px;max-width:1180px}.inventory-form-section{padding:22px 24px}.inventory-form-section .section-head{margin-bottom:18px}.inventory-form-section .section-head>div{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}.inventory-form-section .section-head h2{margin:0}.inventory-form-section .section-head span:not(.section-number){grid-column:2;color:#6a7c87}.section-number{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e7f7f5;color:#176b87;font-weight:800}.money-input{display:flex;align-items:center;border:1px solid #c8d7df;border-radius:8px;background:#fff;overflow:hidden}.money-input span{padding:0 12px;color:#60727e;font-weight:700}.money-input input{border:0!important;border-left:1px solid #dce5ea!important;border-radius:0!important}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.option-card{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid #d9e3e8;border-radius:12px;background:#fbfdfd;cursor:pointer}.option-card:hover{border-color:#35b7a5;background:#f3fbfa}.option-card input{margin-top:3px;width:18px;height:18px}.option-card span{display:grid;gap:4px}.option-card strong{color:#123b5d}.option-card small{color:#6a7c87;line-height:1.4}.sticky-form-actions{position:sticky;bottom:0;z-index:3;padding:14px 18px;background:rgba(246,247,245,.96);border:1px solid #d9e3e8;border-radius:12px;backdrop-filter:blur(8px)}.admin-master-form{padding:22px}.admin-master-form h2{margin-top:0}@media(max-width:800px){.option-grid{grid-template-columns:1fr}.inventory-form-section{padding:18px}.category-tabs{margin-right:-12px}.sticky-form-actions{position:static}}

.exam-picker{display:grid;gap:12px;max-height:380px;overflow:auto;padding:10px;border:1px solid var(--line,#d7e2ea);border-radius:12px;background:#fbfdfd}.exam-picker section{display:grid;gap:7px}.check-row{display:flex;gap:10px;align-items:flex-start;padding:9px;border:1px solid #e2eaf0;border-radius:10px;background:#fff}.check-row small{display:block;color:#667785;margin-top:3px}.inline-actions{display:flex;gap:8px;align-items:center}.inline-actions input{flex:1}.booster-date-row{margin-top:10px}

/* Solicitação rápida de exames */
.exam-drawer{width:min(560px,96vw)}.exam-drawer-form{overflow:hidden;padding:20px 22px}.exam-selection-field{min-height:0;flex:1}.exam-selection-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.exam-selection-head>label{font-size:11px}.exam-selection-head>span{font-size:10px;color:#617687;background:#edf3f6;border-radius:999px;padding:4px 8px;font-weight:700}.exam-search-box{display:flex;align-items:center;gap:8px;border:1px solid #ccd7e0;border-radius:9px;padding:0 10px;background:#fff}.exam-search-box:focus-within{border-color:#70a6c9;box-shadow:0 0 0 4px rgba(31,95,146,.08)}.exam-search-box>span{color:#758995;font-size:18px}.exam-selection-field .exam-search-box input{width:100%;height:38px;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}.exam-picker{min-height:0;max-height:none;flex:1;gap:16px;overflow-y:auto;padding:12px;background:#f7fafb;scrollbar-width:thin}.exam-category{gap:8px!important}.exam-category-title{position:sticky;top:-12px;z-index:1;display:block;padding:9px 4px 7px;background:#f7fafb;color:#123b5d;font-size:11px;text-transform:uppercase;letter-spacing:.55px}.exam-category-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.exam-selection-field .check-row{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;min-height:68px;padding:11px 12px;cursor:pointer;transition:.15s}.exam-selection-field .check-row:hover{border-color:#87b5cc;background:#f8fcfe}.exam-selection-field .check-row:has(input:checked){border-color:#2788bd;background:#eef8fd;box-shadow:0 0 0 2px rgba(39,136,189,.08)}.exam-selection-field .check-row input[type="checkbox"]{appearance:auto!important;width:18px!important;height:18px!important;min-width:18px!important;margin:2px 0 0!important;padding:0!important;box-shadow:none!important;accent-color:#176b87}.exam-selection-field .check-row span{min-width:0}.exam-selection-field .check-row b{display:block;color:#173d59;font-size:11px;line-height:1.35}.exam-selection-field .check-row small{font-size:9px;line-height:1.4;color:#6d7f8b}.exam-drawer-form>.field:last-of-type{flex:none}.exam-drawer-form>.field:last-of-type textarea{min-height:82px;max-height:120px}.exam-drawer-form .drawer-actions{flex:none;margin-top:0}.exam-option[hidden]{display:none!important}@media(max-width:600px){.exam-drawer{width:100vw}.exam-category-options{grid-template-columns:1fr}.exam-drawer-form{padding:16px}.exam-selection-field .check-row{min-height:58px}}