/* HNS — acesso e rotina operacional, outubro de 2026. */
.hns-access{min-height:100dvh;display:grid;grid-template-columns:54% 46%;padding:16px;background:#fff;font-family:'Segoe UI',Arial,sans-serif;color:#193324}.access-photo{position:relative;min-height:calc(100dvh - 32px);overflow:hidden;border-radius:12px}.access-farm{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%}.access-brand{position:absolute;left:48px;top:36px;width:108px;height:57px;object-fit:contain;mix-blend-mode:screen}.access-panel{position:relative;display:flex;align-items:center;justify-content:center;padding:100px 56px;min-width:0}.access-private{position:absolute;right:40px;top:30px;color:#738c7d;font-size:12px}.access-form{width:420px;max-width:100%;transform:translateY(-6px)}.access-welcome{font-size:11px;letter-spacing:.14em;font-weight:700;color:#176b43;margin:0 0 16px}.access-form h1{font-family:inherit;font-size:38px;line-height:1.15;letter-spacing:-.045em;margin:0 0 14px;font-weight:650}.access-intro{font-size:15px;line-height:1.5;color:#788e81;margin:0 0 43px}.access-form form{display:flex;flex-direction:column;gap:0}.access-form .field{margin-bottom:30px}.access-form label,.pin-group legend{font-size:14px;font-weight:600;margin-bottom:12px;color:#355040;display:block}.access-form .field input{height:58px;width:100%;border:1px solid #dcede3;background:#f8fcfa;border-radius:10px;padding:0 18px;font-family:inherit;font-size:15px;color:#254633}.pin-group{padding:0;border:0;min-width:0;margin:0}.access-pins{display:flex;justify-content:space-between;gap:10px}.access-pins input{width:60px;height:60px;min-width:0;border:1px solid #c9f5db;background:#f7fffa;color:#25c668;border-radius:50%;font-size:24px;text-align:center;padding:0}.pin-group small{display:block;margin:14px 0 24px;font-size:12px;color:#82978b}.access-submit.btn.primary{position:relative;min-height:58px;justify-content:center;border-radius:10px;font-size:15px;background:#176b43;color:#fff;border:0;width:100%}.access-submit span{position:absolute;right:21px;font-size:22px}.access-legacy{background:none;border:0;padding:0;color:#648b74;font-size:12px;margin-top:20px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.access-form .form-error:empty{display:none}.access-form .form-error{margin-bottom:15px}.access-form input:focus-visible{outline:2px solid #176b43;outline-offset:3px}
.sidebar .brand-mark{justify-content:center!important;align-items:center!important}.sidebar .brand-mark .sidebar-logo{object-position:center!important}.gateway-header-inner{max-width:none!important;width:100%;padding-inline:32px!important}.gateway-main{max-width:1500px!important;padding-inline:32px!important}.gateway-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))!important}.gateway-property{max-width:465px}.gateway-footer{display:none}.gateway-brand{border:0!important}.gateway-brand>span{display:none}.gateway-user{margin-left:auto}
.block{display:block}.full{grid-column:1/-1}.stock-actionbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.stock-count-items{display:grid;gap:0}.stock-count-row{display:grid;grid-template-columns:1fr 150px;gap:20px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.stock-count-row small{display:block;font-size:12px;color:#648b74;margin-top:6px}.stock-count-row input{width:100%}.pasture-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.pasture-map-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;min-width:0}.map-search{display:flex;gap:8px;padding:12px;flex-wrap:wrap}.map-search input{flex:1;min-width:160px;font-size:13px}.map-search .btn{font-size:12px;min-height:38px}.map-note{padding:11px 14px;margin:0;font-size:11px;line-height:1.6;color:#648b74}.map-note a{color:#37ac68}.pasture-map-card #pasture-map{height:610px;background:#e5f1ea;z-index:0}.leaflet-container{font-family:inherit}.pasture-label.leaflet-tooltip{font-size:11px;font-weight:600;color:#184e2e;background:#fffffff0;border:0;box-shadow:0 2px 8px #0002;border-radius:5px;padding:5px 8px;white-space:normal;min-width:110px;max-width:180px;text-align:center}.pasture-side{display:flex;flex-direction:column;gap:16px;max-height:760px;overflow:auto}.pasture-list{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;flex-shrink:0}.pasture-list-item{display:flex;align-items:center;justify-content:space-between;text-align:left;width:100%;gap:10px;padding:16px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}.pasture-list-item:last-child{border:0}.pasture-list-item:hover,.pasture-list-item.selected{background:#edf6f0}.pasture-list-item strong{font-size:14px;display:block}.pasture-list-item small{display:block;font-size:11px;color:#648b74;font-weight:400;line-height:1.5;margin-top:4px}.pasture-list-item b{text-align:right;font-size:20px}.pasture-profile{padding:22px;background:#fff;border:1px solid var(--line);border-radius:10px}.pasture-profile h2{font-size:22px;margin:8px 0 20px}.pasture-profile h3{font-size:14px;margin:23px 0 12px}.pasture-profile .facts{grid-template-columns:1fr 1fr;gap:16px}.pasture-occupant{display:block;width:100%;border:0;background:#f6fcf9;text-align:left;padding:12px;margin-bottom:8px;border-radius:6px;cursor:pointer}.pasture-occupant strong{display:block;font-size:13px}.pasture-occupant span{display:block;font-size:11px;margin-top:5px;color:#648b74}.stack{display:flex;flex-direction:column;gap:8px;margin-top:17px}.map-empty{padding:25px 20px}.map-empty p{font-size:12px;color:#648b74;margin-top:10px;line-height:1.6}.draw-controls{padding:12px;background:#eefff5;font-size:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.draw-controls[hidden]{display:none}.draw-controls .btn{font-size:11px;min-height:30px;padding:6px 9px}#map-search-results:not(:empty){padding:0 12px 12px;display:flex;flex-direction:column;gap:5px;font-size:12px}#map-search-results .btn{text-align:left;justify-content:flex-start;white-space:normal;font-size:12px}#map-search-results small{color:#648b74}
.employee-form-photo{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:5px}.employee-form-photo>img,.employee-photo-placeholder{width:84px;height:112px;object-fit:cover;border-radius:6px;flex-shrink:0;background:#eefaf3;display:flex;align-items:center;justify-content:center;color:#8bb09a}.employee-form-photo label{display:block;margin-bottom:10px;font-weight:600;font-size:14px}.employee-form-photo small{display:block;margin-top:9px;color:#648b74;font-size:12px}.employee-hero{display:flex;gap:24px;align-items:center;margin-bottom:25px}.employee-portrait{width:108px;height:144px;object-fit:cover;border-radius:7px;flex-shrink:0}.employee-hero h2{font-size:26px;margin:10px 0}.employee-hero p{font-size:13px;color:#648b74;margin:0 0 12px}.employee-pay-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;background:#f5fdf8;border:1px solid #e2f5ea;border-radius:10px;padding:20px;margin-bottom:24px}.employee-pay-summary small,.employee-pay-summary span{display:block;font-size:11px;color:#648b74}.employee-pay-summary strong{display:block;font-size:21px;margin:8px 0}.employee-sections{display:grid;gap:14px}.employee-sections details{padding:18px;border:1px solid var(--line);border-radius:8px}.employee-sections summary{cursor:pointer;font-size:14px;font-weight:600}.employee-sections details[open] summary{margin-bottom:20px}.employee-documents{display:grid;grid-template-columns:1fr 1fr;gap:10px}.employee-documents>a{border:1px solid var(--line);border-radius:7px;padding:14px;text-decoration:none;min-width:0;overflow-wrap:anywhere}.employee-documents>a span{display:block;font-size:10px;text-transform:uppercase;color:#648b74;letter-spacing:.06em}.employee-documents>a strong{display:block;font-size:12px;margin:8px 0;font-weight:500}.employee-documents>a small{font-size:11px;color:#176b43}.employee-payment{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:0;border-bottom:1px solid var(--line);padding:14px 0;text-align:left;cursor:pointer;gap:16px;font-size:13px}.employee-payment small{display:block;color:#648b74;font-size:11px;margin-top:5px}.employee-payment>strong{text-align:right;white-space:nowrap}.weighing-summary{padding:18px;border-radius:8px;background:#edfff5;font-size:14px;color:#21894c;line-height:1.6}.weight-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.weight-list>div{padding:12px;border:1px solid var(--line);border-radius:7px}.weight-list span{display:block;font-size:11px;color:#648b74;margin-bottom:7px}.weight-list strong{font-size:17px}
@media(max-width:1200px){.pasture-layout{grid-template-columns:minmax(0,1fr) 280px}.access-panel{padding-inline:32px}.access-pins{gap:9px}.access-pins input{width:calc((100% - 45px)/6);height:auto;aspect-ratio:1}.access-form h1{font-size:34px}}
@media(max-width:900px){.pasture-layout{grid-template-columns:1fr}.pasture-side{max-height:none;display:grid;grid-template-columns:1fr 1fr}.pasture-map-card #pasture-map{height:480px}}
@media(max-width:680px){.hns-access{display:block;padding:0}.access-photo{min-height:330px;border-radius:0}.access-farm{object-position:50% 72%}.access-brand{left:25px;top:20px;width:75px;height:40px}.access-panel{padding:75px 28px 38px}.access-private{right:28px;top:20px;font-size:10px}.access-form{transform:none}.access-form h1{font-size:32px}.access-intro{margin-bottom:33px}.gateway-header-inner,.gateway-main{padding-inline:20px!important}.gateway-grid{grid-template-columns:1fr!important}.employee-hero{gap:16px}.employee-portrait{width:81px;height:108px}.employee-hero h2{font-size:22px}.employee-pay-summary{grid-template-columns:1fr;padding:17px;gap:15px}.employee-pay-summary>div{border-bottom:1px solid var(--line);padding-bottom:12px}.employee-pay-summary>div:last-child{border:0;padding:0}.employee-pay-summary strong{font-size:20px}.employee-documents{grid-template-columns:1fr}.pasture-side{display:flex}.stock-count-row{grid-template-columns:1fr 100px;gap:12px}.stock-count-row input{font-size:14px}.weight-list{grid-template-columns:1fr 1fr}.map-search{padding:10px}.map-search input{min-width:100%;width:100%}.map-search .btn{flex:1}.pasture-map-card #pasture-map{height:430px}.page-title>.row{flex-wrap:wrap}.employee-form-photo{align-items:flex-start}.employee-form-photo>div{min-width:0}.employee-form-photo input{max-width:100%;font-size:11px}}

.map-search input{border:1px solid var(--line);border-radius:7px;padding:9px 12px;background:#f8fcfa;color:var(--ink);font:inherit;font-size:12px}.access-private:before{content:"";display:inline-block;width:9px;height:9px;border:1px solid #94af9f;border-radius:2px;margin-right:7px;vertical-align:-1px}.leaflet-control-attribution{max-width:100%;font-size:9px;line-height:1.5}

/* A senha é um único campo nativo; os seis círculos são sua apresentação. */
html.login-screen,html.login-screen body{height:100%;overflow:hidden;overscroll-behavior:none}
html.login-screen #app{height:100dvh;min-height:0;overflow:hidden}
.hns-access{height:100dvh;min-height:0;box-sizing:border-box;overflow:hidden}
.access-photo{min-height:0;height:100%}.access-panel{min-height:0;padding:32px 56px;overflow:hidden}.access-form{max-height:100%;transform:none}
.pin-group legend label{margin:0}.pin-control{position:relative;width:100%;aspect-ratio:7/1;max-height:60px}
.pin-control .access-pins{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;position:absolute;inset:0;align-items:center;pointer-events:none;z-index:2}
.pin-digit{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border:1px solid #c9f5db;background:#f7fffa;color:#25c668;border-radius:50%;font-size:24px;line-height:1;box-sizing:border-box}
.pin-digit.is-active{border:2px solid #176b43;box-shadow:0 0 0 3px #176b4312}
.pin-native{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;min-height:0;border:0!important;padding:0!important;outline:0!important;background:transparent!important;color:transparent!important;-webkit-text-fill-color:transparent!important;caret-color:transparent;font-size:20px;box-shadow:none!important;border-radius:0;opacity:1}
.pin-native:focus-visible{outline:0!important;box-shadow:none!important}
.pin-native:-webkit-autofill{-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important}
@media(max-width:1200px){.access-panel{padding-inline:32px}.pin-control .access-pins{gap:10px}}
@media(max-height:780px){.access-panel{padding-block:24px}.access-intro{margin-bottom:25px}.access-form .field{margin-bottom:20px}.access-form .field input{height:50px}.access-form h1{font-size:32px}.pin-group small{margin:11px 0 20px}.access-submit.btn.primary{min-height:50px;height:50px}}
@media(max-width:680px){
 .hns-access{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,26%) minmax(0,1fr);padding:0}
 .hns-access[data-mode="setup"],.hns-access[data-mode="migration"]{grid-template-rows:minmax(0,17%) minmax(0,1fr)}
 .access-photo{height:100%;min-height:0;border-radius:0}.access-panel{min-height:0;height:100%;padding:32px 28px 20px}.access-private{top:12px}.access-form{width:100%;max-height:100%}.access-brand{top:16px;left:24px;width:66px;height:35px}.access-intro{margin-bottom:25px}.access-form .field{margin-bottom:22px}.pin-control .access-pins{gap:9px}
}
@media(max-height:640px){
 .access-panel{padding-block:18px}.access-welcome{font-size:10px;margin-bottom:10px}.access-form h1{font-size:28px;margin-bottom:8px}.access-intro{font-size:13px;margin-bottom:18px}.access-form label,.pin-group legend{font-size:12px;margin-bottom:8px}.access-form .field{margin-bottom:17px}.access-form .field input{height:44px;font-size:14px}.pin-group small{font-size:11px;margin:8px 0 16px}.pin-digit{font-size:21px}.access-submit.btn.primary{min-height:44px;height:44px;font-size:14px}.access-private{display:none}.pin-control .access-pins{gap:8px}
}
@media(max-height:460px){.access-welcome,.access-intro{display:none}.access-form h1{font-size:25px;margin-bottom:18px}.access-panel{padding-block:14px}.access-form .field{margin-bottom:12px}.access-form .field input{height:38px}.pin-group small{margin:7px 0 12px}.access-submit.btn.primary{height:40px;min-height:40px}.access-form .form-error{font-size:11px;margin-bottom:8px}}
