/* Cedro Gestão SST — UI R16
   Camada final de consistência visual. Não contém regras de negócio. */
:root{
  --cedro-brand:#0b6b3a;--cedro-brand-dark:#07522d;--cedro-brand-soft:#eaf6ee;
  --cedro-info:#2563eb;--cedro-technical:#7c3aed;--cedro-warning:#b45309;--cedro-danger:#b42318;
  --cedro-ink:#1f2937;--cedro-muted:#5f6f66;--cedro-line:#d8e0da;--cedro-soft:#f6f8f6;
  --cedro-control-height:44px;--cedro-control-radius:10px;
}

/* Administração: identidade por módulo sem perder a marca Cedro. */
body.vs-app{--cedro-accent:#0b6b3a;--cedro-accent-rgb:11,107,58;--cedro-accent-soft:#eaf6ee;--cedro-accent-line:#c9e6d2;color:var(--cedro-ink);font-size:14px}
body.vs-app[data-cedro-module="people"]{--cedro-accent:#2563eb;--cedro-accent-rgb:37,99,235;--cedro-accent-soft:#eff6ff;--cedro-accent-line:#bfdbfe}
body.vs-app[data-cedro-module="jobs"]{--cedro-accent:#0f766e;--cedro-accent-rgb:15,118,110;--cedro-accent-soft:#f0fdfa;--cedro-accent-line:#99f6e4}
body.vs-app[data-cedro-module="works"]{--cedro-accent:#4f46e5;--cedro-accent-rgb:79,70,229;--cedro-accent-soft:#eef2ff;--cedro-accent-line:#c7d2fe}
body.vs-app[data-cedro-module="pgr"]{--cedro-accent:#7c3aed;--cedro-accent-rgb:124,58,237;--cedro-accent-soft:#f5f3ff;--cedro-accent-line:#ddd6fe}
body.vs-app[data-cedro-module="field"]{--cedro-accent:#0f766e;--cedro-accent-rgb:15,118,110;--cedro-accent-soft:#f0fdfa;--cedro-accent-line:#99f6e4}
body.vs-app[data-cedro-module="inventory"]{--cedro-accent:#b45309;--cedro-accent-rgb:180,83,9;--cedro-accent-soft:#fffbeb;--cedro-accent-line:#fde68a}
body.vs-app[data-cedro-module="companies"]{--cedro-accent:#0369a1;--cedro-accent-rgb:3,105,161;--cedro-accent-soft:#f0f9ff;--cedro-accent-line:#bae6fd}
body.vs-app[data-cedro-module="records"]{--cedro-accent:#047857;--cedro-accent-rgb:4,120,87;--cedro-accent-soft:#ecfdf5;--cedro-accent-line:#a7f3d0}
body.vs-app[data-cedro-module="checklists"]{--cedro-accent:#9333ea;--cedro-accent-rgb:147,51,234;--cedro-accent-soft:#faf5ff;--cedro-accent-line:#e9d5ff}
body.vs-app[data-cedro-module="planning"]{--cedro-accent:#c2410c;--cedro-accent-rgb:194,65,12;--cedro-accent-soft:#fff7ed;--cedro-accent-line:#fed7aa}
body.vs-app[data-cedro-module="fiscal"]{--cedro-accent:#334155;--cedro-accent-rgb:51,65,85;--cedro-accent-soft:#f8fafc;--cedro-accent-line:#cbd5e1}
body.vs-app[data-cedro-module="access"]{--cedro-accent:#be123c;--cedro-accent-rgb:190,18,60;--cedro-accent-soft:#fff1f2;--cedro-accent-line:#fecdd3}
body.vs-app{
  background:radial-gradient(circle at 92% 0,rgba(var(--cedro-accent-rgb),.07),transparent 26rem),linear-gradient(180deg,#f8faf8 0,#f1f4f1 260px)!important;
}
body.vs-app .vs-page-heading{border-color:var(--cedro-accent-line)!important;background:linear-gradient(100deg,var(--cedro-accent-soft),#fff 42%)!important}
body.vs-app .vs-page-heading::before{background:var(--cedro-accent)!important}
body.vs-app .vs-eyebrow{color:var(--cedro-accent)!important}
body.vs-app .vs-section__head{background:linear-gradient(100deg,rgba(var(--cedro-accent-rgb),.045),#fff 38%)}
body.vs-app .vs-section{box-shadow:0 3px 12px rgba(31,41,55,.045)!important;border-color:#dbe3dd}

/* Semântica: não converte azul/índigo em verde. Apenas reforça contraste dos neutros. */
body.vs-app .text-slate-400{color:#64748b!important}
body.vs-app .text-slate-500{color:#475569!important}
body.vs-app .text-gray-400{color:#6b7280!important}
body.vs-app .text-gray-500{color:#4b5563!important}
body.vs-app .text-zinc-400{color:#71717a!important}
body.vs-app .text-emerald-400{color:#059669!important}

/* Piso tipográfico: elimina microtextos usados em excesso durante o uso diário. */
body.vs-app .text-\[8px\],body.vs-app .text-\[8\.5px\],body.vs-app .text-\[9px\],body.vs-app .text-\[9\.5px\],body.vs-app .text-\[10px\]{font-size:11.5px!important;line-height:1.35!important}
body.vs-app .text-\[10\.5px\],body.vs-app .text-\[11px\]{font-size:12px!important;line-height:1.4!important}
body.vs-app .vs-nav-section__title{font-size:10px!important;color:#94aa9c}
body.vs-app .vs-nav-link{font-size:13px!important}
body.vs-app .vs-brand__text small{font-size:10.5px!important;color:#a9beaf}
body.vs-app .vs-sidebar-user__text strong{font-size:12px!important}
body.vs-app .vs-sidebar-user__text small{font-size:10px!important;color:#9bb1a2}
body.vs-app .vs-page-heading p:not(.vs-eyebrow),body.vs-app .vs-section__head p:not(.vs-eyebrow){font-size:13px!important;color:#5f6f66!important}
body.vs-app .vs-metric-strip span,body.vs-app .vs-data-table th,body.vs-app .vs-status{font-size:11px!important}
body.vs-app .vs-subline,body.vs-app .vs-muted-text{font-size:12px!important;color:#607067!important}
body.vs-app .vs-record-field dt{font-size:11px!important;color:#66766c}
body.vs-app .vs-record-field dd{font-size:13px!important}
body.vs-app .vs-details__summary-text span{font-size:12px!important;color:#607067}
body.vs-app .vs-notification-item__body strong{font-size:12.5px!important}
body.vs-app .vs-notification-item__body span{font-size:11.5px!important;color:#52645a}
body.vs-app .vs-notification-item__body small{font-size:10.5px!important;color:#6c7d73}

/* Controles administrativos uniformes. */
body.vs-app :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="submit"]):not([type="button"]),select){min-height:var(--cedro-control-height);font-size:13px;color:#1f2937}
body.vs-app textarea{font-size:13px;color:#1f2937;line-height:1.5}
body.vs-app :where(input,select,textarea)::placeholder{color:#7b8790;opacity:1}
body.vs-app .vs-field-group label,body.vs-app .vs-field-label{font-size:12px!important;color:#46564d!important;letter-spacing:.02em!important}
body.vs-app .vs-field-group input,body.vs-app .vs-field-group select,body.vs-app .vs-field-group textarea,body.vs-app .field{min-height:44px!important;padding:10px 12px!important;border:1px solid #c5d0c7!important;border-radius:10px!important;background:#fff!important;color:#1f2937!important;font-size:13px!important;font-weight:600!important}
body.vs-app .vs-field-group textarea,body.vs-app textarea.field{min-height:108px!important}
body.vs-app .vs-field-group input:focus,body.vs-app .vs-field-group select:focus,body.vs-app .vs-field-group textarea:focus,body.vs-app .field:focus{border-color:var(--cedro-accent)!important;box-shadow:0 0 0 3px rgba(var(--cedro-accent-rgb),.11)!important}

/* Componentes que possuíam uma segunda escala própria. */
body.vs-app .chk-field label{font-size:12px!important;color:#3f5146!important}
body.vs-app .chk-field input,body.vs-app .chk-field select,body.vs-app .chk-field textarea{min-height:44px!important;padding:10px 12px!important;font-size:13px!important;border-radius:10px!important;border-color:#c5d0c7!important}
body.vs-app .chk-help,body.vs-app .chk-switch span,body.vs-app .chk-card p,body.vs-app .chk-panel__head p{font-size:12px!important;color:#5f6f66!important}
body.vs-app .chk-stat span,body.vs-app .chk-tag,body.vs-app .chk-card__metrics span,body.vs-app .chk-result{font-size:11px!important}
body.vs-app .chk-card{box-shadow:0 2px 10px rgba(31,41,55,.04)!important}
body.vs-app .chk-panel__head{border-left:3px solid var(--cedro-accent)}

body.vs-app .pgr-field label{font-size:.75rem!important;color:#415247!important}
body.vs-app .pgr-field input:not([type="checkbox"]):not([type="radio"]),body.vs-app .pgr-field select{min-height:44px!important;font-size:.82rem!important}
body.vs-app .pgr-field textarea{font-size:.82rem!important;line-height:1.5!important}
body.vs-app .pgr-panel,body.vs-app .pgr-template-card,body.vs-app .pgr-action-group{box-shadow:0 2px 10px rgba(31,41,55,.04)!important}
body.vs-app .pgr-panel__head{border-left:3px solid var(--cedro-accent)}
body.vs-app .pgr-action-item__meta span,body.vs-app .pgr-agent,body.vs-app .pgr-status{font-size:.7rem!important}

body.vs-app .prog-panel{box-shadow:0 2px 10px rgba(31,41,55,.04)!important}
body.vs-app .prog-panel__head{border-left:3px solid var(--cedro-accent)}
body.vs-app .prog-filters input,body.vs-app .prog-filters select,body.vs-app .prog-form-grid input,body.vs-app .prog-form-grid select,body.vs-app .prog-form-grid textarea,body.vs-app .prog-prof-tools input{min-height:44px!important;font-size:13px!important;border-color:#c5d0c7!important}

/* Tabelas com leitura mais confortável sem aumentar desnecessariamente a altura. */
body.vs-app table th{font-size:11px!important;color:#536359!important}
body.vs-app table td{font-size:13px;color:#34443a}
body.vs-app .vs-data-table th{padding-top:12px!important;padding-bottom:12px!important}
body.vs-app .vs-data-table td{padding-top:13px!important;padding-bottom:13px!important}

/* Mobile administrativo */
@media(max-width:860px){
  body.vs-app main{padding-left:12px!important;padding-right:12px!important}
  body.vs-app .vs-page-heading{padding:15px!important;gap:14px!important}
  body.vs-app .vs-page-heading h1{font-size:clamp(24px,7.5vw,30px)!important}
  body.vs-app .vs-page-actions .vs-btn{min-height:44px}
  body.vs-app :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),select){min-height:46px}
}

/* Central de Campo: leitura/touch mais confortáveis, mantendo a lógica existente. */
body.campo-app{--campo-muted:#53665a;font-size:14px}
body.campo-app .campo-brand__text small{font-size:11px;color:#b4cbbc}
body.campo-app .campo-user__text strong{font-size:12.5px}
body.campo-app .campo-user__text small{font-size:10.5px;color:#b3cbbc}
body.campo-app .campo-eyebrow{font-size:11.5px}
body.campo-app .campo-btn{min-height:46px;font-size:13px}
body.campo-app .campo-btn--small{min-height:40px;font-size:12px}
body.campo-app .campo-panel{box-shadow:0 3px 14px rgba(27,58,38,.055)}
body.campo-app .campo-panel__head p,body.campo-app .campo-section__head p,body.campo-app .campo-launch__body span{font-size:12.5px;color:#53665a}
body.campo-app .campo-summary span,body.campo-app .campo-launch__meta{font-size:11px}
body.campo-app .campo-field label{font-size:12px;color:#405348}
body.campo-app .campo-field input,body.campo-app .campo-field select,body.campo-app .campo-field textarea{min-height:47px;padding:11px 13px;border-color:#c4d0c6;border-radius:10px;font-size:14px;color:#18271e}
body.campo-app .campo-field textarea{min-height:116px}
body.campo-app .campo-field input:focus,body.campo-app .campo-field select:focus,body.campo-app .campo-field textarea:focus{border-color:#2d8a50;box-shadow:0 0 0 4px rgba(11,107,58,.11)}
body.campo-app .campo-step{min-height:50px;font-size:12.5px}
body.campo-app .campo-step__n{font-size:11px}
body.campo-app.campo-document-app .campo-section__head{border-left:4px solid #2563eb;background:linear-gradient(90deg,#eff6ff,#fbfdfb 42%)}
body.campo-app.campo-checklist-app .campo-section__head{border-left:4px solid #7c3aed;background:linear-gradient(90deg,#f5f3ff,#fbfdfb 42%)}
body.campo-app.campo-sign-participant-app .campo-section__head,body.campo-app.campo-emitter-sign-app .campo-section__head{border-left:4px solid #b45309;background:linear-gradient(90deg,#fffbeb,#fbfdfb 42%)}
@media(max-width:700px){
  body.campo-app .campo-container{padding:16px 12px 28px}
  body.campo-app .campo-topbar{height:64px;padding:0 10px}
  body.campo-app .campo-brand__logo{width:48px;height:38px;flex-basis:48px}
  body.campo-app .campo-brand__text small{display:none}
  body.campo-app .campo-user__text{display:none}
  body.campo-app .campo-icon-link{width:42px;height:42px}
  body.campo-app .campo-page-head{gap:14px;margin-bottom:18px}
  body.campo-app .campo-page-head h1{font-size:clamp(25px,8vw,32px)}
  body.campo-app .campo-actions{width:100%}
  body.campo-app .campo-actions .campo-btn{flex:1}
  body.campo-app .campo-section__body,body.campo-app .campo-panel__body{padding:16px}
  body.campo-app .campo-form-grid,body.campo-app .campo-form-grid--3{grid-template-columns:1fr}
  body.campo-app .campo-span-2,body.campo-app .campo-span-3{grid-column:auto}
}

/* Portal do fiscal: somente leitura e controles; sem alterar autorização/rotas. */
.pf-shell{font-size:14px}
.pf-brand__eyebrow{font-size:11px!important;color:#9fd4ae!important}
.pf-user__org{font-size:12px!important;color:#a9b7c8!important}
.pf-page-subtitle{color:#53665a!important}
.pf-expiry small{font-size:11px!important}
.pf-shell :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea){min-height:44px;font-size:13px}
@media(max-width:720px){.pf-container{width:min(100% - 24px,1440px)}.pf-main{padding-top:20px}.pf-page-title{font-size:clamp(25px,8vw,32px)}}

/* Login: a camada é neutra; o desenho principal permanece em cedro-login.css. */
.login-shell{font-size:14px}

/* R17 - cadastro de empresa / identidade visual */
.company-editor-card{border-radius:16px!important;box-shadow:0 8px 28px rgba(20,38,28,.06)!important;border-color:#dce5df!important}
.company-editor-hero{padding:1.25rem 1.5rem!important;background:linear-gradient(120deg,#1f3f31,#285c46 60%,#315d70)!important}
.company-editor-icon{padding:.7rem!important;border-radius:12px!important;background:#fff!important;color:#285c46!important;border:0!important;box-shadow:none!important}
.company-editor-icon svg{width:24px!important;height:24px!important;color:#285c46!important}
.company-editor-form{padding:1.5rem!important}.company-editor-form input,.company-editor-form select{min-height:43px}.company-editor-form label{line-height:1.3}
@media(max-width:720px){.company-editor-hero{padding:1rem!important}.company-editor-form{padding:1rem!important}}
