/* Orizon Gestão V6.3.13 · Design System Enterprise
   Camada sistêmica: composição, navegação, controles compactos, wizard e responsividade. */
:root{
  --og-control-compact:38px;
  --og-header-expanded:82px;
  --og-header-compact:58px;
  --og-report-ink:#10251b;
  --og-report-muted:#66786f;
}
button,.primary,.secondary,.mini,.danger-outline,.mini-link{white-space:nowrap;word-break:normal;overflow-wrap:normal;min-width:max-content}
button svg,.icon-btn svg,.compact-icon-button svg{flex:0 0 auto}
.compact-icon-button{width:var(--og-control-compact);height:var(--og-control-compact);min-width:var(--og-control-compact);padding:0;display:inline-grid;place-items:center;border-radius:10px}
.compact-icon-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* Cabeçalho recolhível */
.topbar{min-height:var(--og-header-expanded);transition:min-height .2s ease,padding .2s ease,box-shadow .2s ease;position:sticky;top:0;z-index:52;background:rgba(255,255,255,.97);backdrop-filter:blur(14px)}
body.topbar-compact .topbar{min-height:var(--og-header-compact);padding-top:7px;padding-bottom:7px}
body.topbar-compact .topbar .company-switch>span,body.topbar-compact .topbar .environment-badge,body.topbar-compact .topbar .user-meta span,body.topbar-compact .topbar .mini-link[title="Portal da Contabilidade"]{display:none}
body.topbar-compact .topbar .company-switch-row select{min-height:38px}
#topbarToggle{transition:transform .18s ease}
body.topbar-compact #topbarToggle{transform:rotate(180deg)}

/* Menu lateral em accordion */
.nav-group{gap:4px}
.nav-group-toggle{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;background:transparent;color:#93a69b;padding:5px 12px 4px;border-radius:8px;font:inherit;font-size:9px;font-weight:850;letter-spacing:.115em;text-transform:uppercase;cursor:pointer;text-align:left}
.nav-group-toggle:hover{background:rgba(255,255,255,.055);color:#d5e0da}
.nav-group-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .18s ease}
.nav-group-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.nav-group-items{display:grid;gap:4px;overflow:hidden}
.nav-group-items[hidden]{display:none}
.nav-group:has(.nav.active)>.nav-group-toggle{color:#dce8e1}

/* Wizard fiscal real */
.invoice-wizard-shell{display:grid;gap:14px}
.invoice-wizard-step[hidden]{display:none}
.invoice-wizard-step{animation:ogWizardIn .18s ease}
@keyframes ogWizardIn{from{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:none}}
.stepper{position:sticky;top:calc(var(--og-header-compact) + 8px);z-index:12;background:rgba(246,249,247,.94);backdrop-filter:blur(10px);padding:9px;border:1px solid var(--og-line);border-radius:14px;box-shadow:0 8px 24px rgba(4,29,18,.06)}
.stepper .step{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stepper .step.done{cursor:pointer}
.wizard-step-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:2px}
.wizard-step-heading h2{margin:0;font-size:18px}
.wizard-step-heading p{margin:4px 0 0;color:#64776d;font-size:12px}
.invoice-wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;bottom:12px;z-index:13;padding:12px;border:1px solid var(--og-line);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 12px 32px rgba(4,29,18,.12);backdrop-filter:blur(12px)}
.invoice-wizard-actions .wizard-right{display:flex;align-items:center;gap:8px;margin-left:auto}
.invoice-field-error{margin-top:5px;color:#a03028;font-size:11px;font-weight:700}
.invoice-wizard-step [aria-invalid="true"]{border-color:#c24e44;box-shadow:0 0 0 3px rgba(194,78,68,.1)}
.invoice-draft-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px 12px;border:1px solid #bcdccc;border-radius:12px;background:#eef9f3}

/* Campos obrigatórios e ajuda contextual */
.field-required::after{content:' *';color:#b63b32;font-weight:900}
.field-optional::after{content:' (opcional)';color:#798980;font-weight:500;font-size:10px}
.field-help{display:block;color:#6a7d72;font-size:10.5px;line-height:1.35;margin-top:3px}
.form-legend-required{margin:8px 0 0;color:#6c7b73;font-size:11px}
.field-error{color:#ad322a;font-size:11px;font-weight:700;margin-top:4px}

/* Cadastros e fichas */
.registry-actions{display:flex;flex-wrap:wrap;gap:6px}
.company-registry-list{display:grid;gap:8px;margin-top:12px}
.company-registry-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--og-line);border-radius:12px;background:#fff}
.company-registry-row small{display:block;color:#63766c;margin-top:3px}

/* Composição e Planos */
.plan-benefit-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));align-items:stretch}
.plan-benefit{min-width:0;height:auto;display:flex;flex-direction:column;overflow:hidden}
.plan-benefit>*{max-width:100%;word-break:normal;overflow-wrap:break-word}
.plan-benefit .primary,.plan-benefit>.badge{margin-top:auto}
.farm-module-head,.section-title,.module-identity{min-width:0}
.farm-module-head>*,.section-title>*,.module-identity>*{min-width:0}


/* Feedback e composição operacional */
@keyframes ogSpin{to{transform:rotate(360deg)}}
.compact-icon-button.is-loading svg{animation:ogSpin .8s linear infinite}
.compact-icon-button[aria-busy="true"]{cursor:progress}
.compensation-balance-grid{align-items:start}
.compensation-balance-card{padding:16px 18px}
.compensation-balance-card h3{margin:0 0 10px;font-size:15px}
.compensation-execution-card{display:grid;gap:10px;padding:16px 18px}
.compensation-execution-card .toolbar{justify-content:space-between;margin-top:0}
.role-card.is-inactive{opacity:.62}
.registry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* Relatórios executivos */
.report-actions{display:flex;flex-wrap:wrap;gap:8px}
.report-quality-note{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.report-quality-note>span{padding:8px 10px;border:1px solid var(--og-line);border-radius:10px;background:#fafcfb;color:#5f7167;font-size:11px}

/* Tabelas e cards sistêmicos */
.table-wrap{max-width:100%;overflow:auto}
table{table-layout:auto}
th,td{vertical-align:top}
td .registry-actions{min-width:180px}
.card{min-width:0}
.toolbar{flex-wrap:wrap}

@media(max-width:1100px){
  .nav-group-toggle{justify-content:center;padding:5px}.nav-group-toggle span,.nav-group-toggle svg{display:none}
  .nav-group-items[hidden]{display:grid}.stepper{top:68px}
}
@media(max-width:760px){
  button,.primary,.secondary,.mini,.danger-outline,.mini-link{min-width:0}
  .invoice-wizard-actions{bottom:calc(var(--og-mobile-nav) + 12px + env(safe-area-inset-bottom));align-items:stretch;flex-direction:column}
  .invoice-wizard-actions .wizard-right{width:100%;margin-left:0}.invoice-wizard-actions button{flex:1 1 auto}
  .stepper{position:static;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden}.stepper .step{font-size:0}.stepper .step i{font-size:11px;margin:0 auto}
  .company-registry-row{grid-template-columns:1fr}.report-quality-note{grid-template-columns:1fr}
  .right-summary{position:static}
}
@media print{
  .sidebar,.topbar,.page-header,.orizon-ai-assistant,.mobile-primary-nav,.mobile-nav-drawer,.no-print,.invoice-wizard-actions{display:none!important}
  .shell{margin-left:0}.shell main{max-width:none;padding:0}
}
