@font-face{font-family:"Vida Sans";src:url("fonts/vida-sans.woff2") format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
:root{--vida-font:"Arlon","Vida Sans","Avenir Next","Helvetica Neue","Segoe UI",Arial,sans-serif;--bs-body-font-family:var(--vida-font);--bs-body-font-size:1rem;--bs-body-color:#292A24;--bs-body-bg:#F7F4ED}
html{-webkit-text-size-adjust:100%;scroll-padding-top:100px}
body{font-family:var(--vida-font);font-size:1rem;line-height:1.55;min-height:100vh;min-height:100svh}
h1,h2,h3,h4,h5,h6,input,textarea,select,button,.btn{font-family:var(--vida-font)}
h1{font-weight:800;letter-spacing:-.025em;line-height:1.2}h2,h3{font-weight:750;line-height:1.35}
input,textarea,select,.form-control,.form-select{font-size:1rem;min-height:46px;line-height:1.5}
input[type=checkbox],input[type=radio]{min-height:0;flex-shrink:0;accent-color:#788B6B}
input[data-username]{text-transform:lowercase}
textarea.form-control{resize:vertical;min-height:120px}
input[type=date],input[type=datetime-local]{min-width:0;max-width:100%}
.form-control:focus,.form-select:focus{border-color:#788B6B;box-shadow:0 0 0 3px rgba(120,139,107,.2)}
.btn{font-size:1rem;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:normal;line-height:1.4;padding:11px 17px}
.btn i{flex-shrink:0}.text-btn{min-height:44px;display:inline-flex;align-items:center;font-size:.9375rem;padding:9px 5px;line-height:1.4}
button:disabled{cursor:wait;opacity:.65}.nav-btn{min-height:46px;font-size:.9375rem;line-height:1.35}
a,button,summary,input,select,textarea{-webkit-tap-highlight-color:rgba(120,139,107,.18)}
:focus-visible{outline:3px solid #76552B;outline-offset:3px}
.main,.content,.workspace-grid>*,.field-grid>*,.topbar>*{min-width:0}.page-head h1,.detail-value,.notice,.panel p,.row-person,.profile strong{overflow-wrap:anywhere}
.brand-logo{width:126px;height:auto;display:block;max-width:100%;object-fit:contain}
.brand-wrap{padding:0 14px 18px}.auth-logo{width:150px;margin:0 auto 24px}.brand{letter-spacing:normal}
.sidebar{padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));overscroll-behavior:contain}
.side-bottom{flex-shrink:0}.profile{align-items:flex-start}.profile strong{line-height:1.4}
.topbar{gap:12px;min-height:76px}.content{padding-bottom:calc(36px + env(safe-area-inset-bottom))}
.auth-page{padding:calc(24px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));height:auto;min-height:100vh;min-height:100svh;align-content:center}
.auth-box{max-width:460px;padding:32px;box-shadow:0 12px 45px rgba(52,67,50,.045)}
.auth-box h1{text-align:center;font-size:1.65rem}.auth-box>p{text-align:center}
.auth-box label,.edit-box label,.module-form label{font-size:.9375rem;line-height:1.4}.auth-foot{font-size:.875rem}
.tag{font-size:.8125rem;line-height:1.4;white-space:normal}.sub{font-size:.8125rem;line-height:1.5}
.eyebrow{font-size:.75rem;letter-spacing:.1em;line-height:1.5}.stat-top{font-size:.9375rem}.stat-note{font-size:.8125rem}
.check-item{min-height:50px;font-size:1rem;align-items:flex-start;padding-top:13px;padding-bottom:13px}.check-item input{width:20px;height:20px;margin-top:3px}
.check-role{min-height:44px;padding:5px 0}.check-role input{width:20px;height:20px}
.form-help{font-size:.875rem;line-height:1.6}.dialog-actions{flex-wrap:wrap}
.panel-head{flex-wrap:wrap}.panel-head h2{font-size:1.125rem}.footer{font-size:.8125rem;line-height:1.6}
.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.close-menu,.mobile-title,.cell-label{display:none}
.install-help{border:1px solid #e0e3d9;border-radius:12px;background:#fff;margin:24px 0;overflow:hidden}
.install-help>summary{font-size:.9375rem;font-weight:750;min-height:52px;padding:14px 18px;cursor:pointer;color:#405238;line-height:1.5}
.install-help>summary i{margin-right:8px}.install-help-body{padding:4px 20px 20px}
.install-heading{display:flex;gap:12px;align-items:center;margin:12px 0 18px}.install-heading img{border-radius:10px;flex-shrink:0}.install-heading p{font-size:.875rem;line-height:1.5;margin:4px 0 0}
.install-help ol{font-size:.9375rem;padding-left:22px;margin:14px 0}.install-help li{margin:12px 0;line-height:1.65}.install-help [data-install-feedback]:empty{display:none}
.auth-box .install-help{margin-bottom:0;background:#fbfcf9}.install-help [hidden],.install-help[hidden]{display:none!important}
.connection-note{position:relative;z-index:100;padding:12px max(18px,env(safe-area-inset-right)) 12px max(18px,env(safe-area-inset-left));color:#763f23;background:#f7e6d2;font-size:.9375rem;text-align:center;line-height:1.6}
.connection-note[hidden]{display:none}.is-installed .install-help{display:none}
.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}.table-wrap th{font-size:.8125rem}.table-wrap td{font-size:.9375rem}.table-wrap .form-select{min-width:0}
.guide-nav a{min-height:44px;display:inline-flex;align-items:center;font-size:.9375rem}.guide-role summary{min-height:44px;padding:5px 0}.guide-role li{font-size:1rem}.guide-section{scroll-margin-top:96px}
@media(max-width:1150px){.content{padding-left:24px;padding-right:24px}.stat{padding:18px}}
@media(max-width:900px){
 .topbar{position:sticky;top:0;z-index:20;background:#F7F4ED;border-bottom:1px solid #e0e3d9;padding:calc(10px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));min-height:68px}
 .mobile-menu{min-width:44px;min-height:44px;border-radius:9px;padding:8px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e0e3d9;flex-shrink:0}
 .mobile-title{display:flex;align-items:center;gap:8px;font-size:1.0625rem;font-weight:800;margin-right:auto}.mobile-title img{border-radius:7px}
 .topbar>.tag{font-size:.75rem;max-width:135px;text-align:center}.sidebar{width:min(320px,calc(100vw - 48px));height:100vh;height:100dvh;padding:calc(24px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));box-shadow:8px 0 40px rgba(41,42,36,.12);visibility:hidden;transition:transform .2s,visibility .2s;z-index:60}
 .sidebar.open{visibility:visible}.sidebar .brand-wrap{padding-left:14px}.sidebar .brand-logo{width:132px}.close-menu{display:flex;align-items:center;justify-content:center;position:absolute;right:16px;top:calc(18px + env(safe-area-inset-top));height:44px;width:44px;border:1px solid #e0e3d9;border-radius:10px;background:white;font-size:20px;color:#344332}
 .mobile-overlay.open{z-index:59}.sidebar .nav-btn{padding:12px 14px;margin:4px 0;min-height:48px}.sidebar .nav-label{margin-top:14px}.sidebar .side-bottom{margin-top:20px;padding-top:20px}
 body.menu-open{overflow:hidden}.content{padding:24px max(18px,env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}
 .page-head{align-items:flex-start;gap:18px;flex-wrap:wrap}.page-head>div{flex:1 1 240px}.page-head .btn{flex:0 1 auto}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-grid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .edit-box{max-width:100%}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
}
@media(max-width:767px){
 .page-head h1{font-size:1.75rem}.page-head p{font-size:1rem}.panel-head{padding:18px}.panel-head .text-btn{padding-top:4px;padding-bottom:4px}
 .toolbar{flex-direction:column;align-items:stretch;gap:10px}.toolbar>.form-control,.toolbar>.form-select{max-width:none!important;width:100%}.toolbar .btn{align-self:flex-start}
 .field-grid,.detail-grid{grid-template-columns:1fr}.module-actions .btn{flex:1 1 180px}.dashboard-links a{flex:1 1 220px}
 /* Cabeçalhos reais permanecem disponíveis para leitores de tela. */
 .stack-table{display:block;width:100%;table-layout:fixed}.stack-table thead{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
 .stack-table tbody{display:block;width:100%;padding:10px;box-sizing:border-box}.stack-table tr{display:block;margin:0 0 12px;padding:8px 12px;border:1px solid #e0e3d9;border-radius:10px;background:#fff}.stack-table tr:last-child{margin-bottom:0}
 .stack-table td{display:grid;grid-template-columns:minmax(76px,28%) minmax(0,1fr);gap:12px;padding:11px 0;border:0;border-bottom:1px solid #f0f1ea;width:auto;max-width:none!important;text-align:left;align-items:start}.stack-table td:last-child{border-bottom:0}
 .stack-table .cell-label{display:block;font-size:.8125rem;color:#676b60;font-weight:700;padding-top:2px;line-height:1.5;overflow-wrap:normal}.stack-table .cell-content{min-width:0;overflow-wrap:anywhere;font-size:.9375rem;line-height:1.55}
 .stack-table .cell-content .sub{max-width:none}.stack-table .cell-content .form-select{width:100%;min-width:0!important;max-width:100%!important;flex:1 1 100%}.stack-table .cell-content form{flex-wrap:wrap;max-width:100%}.stack-table .cell-content .btn{width:100%;min-width:0}.stack-table .cell-content .text-btn{padding-left:0;text-decoration:underline;text-underline-offset:3px}.stack-table .cell-content .row-person{align-items:flex-start;gap:8px}
 .stack-table .cell-content .tag{display:inline-block;max-width:100%}.table-wrap:has(>.stack-table){overflow:visible}.panel:has(>.stack-table){background:#f9faf6}
 .detail-grid{gap:20px;padding:20px}.detail-text{padding:20px}.history-item{padding:16px 18px}.history-item summary{font-size:.9375rem}.history-item .sub{margin-top:8px}
 .guide-section table{min-width:610px}.guide-section table th,.guide-section table td{font-size:.875rem;min-width:130px}.guide-section table td:first-child{min-width:190px}.guide-nav{gap:8px}.guide-nav a{padding:10px 12px}.guide-section{padding:20px}.guide-highlight{padding:18px}.guide-columns{grid-template-columns:1fr;gap:18px}
}
@media(max-width:480px){
 .content{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.topbar{gap:8px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.mobile-title{font-size:1rem;gap:6px}.topbar>.tag{max-width:110px;font-size:.75rem;padding:5px 7px}
 .stats{gap:10px}.stat{padding:15px 13px}.stat-top{font-size:.8125rem;gap:8px}.stat-top i{font-size:1rem}.stat-value{font-size:1.8rem}.stat-note{font-size:.75rem}.cards{grid-template-columns:1fr}
 .page-head>.btn{width:100%}.page-head{margin-bottom:22px}.page-head h1{font-size:1.65rem}.panel{margin-bottom:18px}.panel-head h2{font-size:1.0625rem}.edit-box{padding:18px}.dialog-actions{gap:10px}.dialog-actions>.btn{flex:1 1 120px}
 .auth-page{padding-left:12px;padding-right:12px}.auth-box{padding:25px 20px;border-radius:14px}.auth-logo{width:135px;margin-bottom:18px}.auth-box h1{font-size:1.5rem}
 .install-help-body{padding:0 16px 18px}.install-help>summary{padding:14px 16px}.install-heading{gap:10px}.footer{display:flex;flex-direction:column;gap:4px}.footer span{margin:0}.stack-table tbody{padding:8px}.stack-table tr{padding:6px 10px}.stack-table td{gap:10px}.event{padding:20px}.event-footer{flex-wrap:wrap;gap:12px}.role-card{padding:20px}
}
@media(max-height:600px){.auth-page{align-content:start}.auth-logo{width:108px;margin-bottom:16px}.auth-box{padding-top:22px}.sidebar .brand-logo{width:100px}.sidebar .nav-btn{min-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sidebar{transition:none}}
